00001 /* 00002 * teleop_arm_dish.h 00003 * Copyright 2013 University of Massachusetts Lowell 00004 * Author: Jonathan Hasenzahl 00005 */ 00006 00007 #ifndef TELEOP_ARM_DISH_H_ 00008 #define TELEOP_ARM_DISH_H_ 00009 00010 #include "ros/ros.h" 00011 #include "burst_calc/cat.h" 00012 #include <queue> 00013 00025 class TeleopArmDish 00026 { 00027 public: 00028 TeleopArmDish(); 00029 00030 private: 00031 void init(); 00032 void getParams(); 00033 void run(); 00034 void callback(const burst_calc::cat::ConstPtr& c); 00035 void publishCartesianMove(); 00036 void publishConstantMove(); 00037 double getArmCoord(double coord); 00038 00039 ros::NodeHandle n_; 00040 ros::Subscriber cat_sub_; 00041 ros::Publisher cmd_pub_; 00042 ros::ServiceClient time_client_; 00043 00044 std::queue<burst_calc::cat> queue_; 00045 00046 int speed_; 00047 double arm_safe_range_; 00048 double max_range_from_midpoint_; 00049 }; 00050 00051 #endif