arm_control.h
Go to the documentation of this file.
00001 /*
00002  * arm_control.h
00003  * Copyright 2013 University of Massachusetts Lowell
00004  * Author: Jonathan Hasenzahl
00005  */
00006 
00007 #ifndef ARM_CONTROL_H_
00008 #define ARM_CONTROL_H_
00009 
00010 #include "ros/ros.h"
00011 #include "arm/ManusArm.hpp"
00012 #include "arm/cartesian_move.h"
00013 #include "arm/cartesian_moves.h"
00014 #include "arm/constant_move.h"
00015 #include "arm/constant_move_time.h"
00016 #include "time_server/time_srv.h"
00017 #include "movement_definitions.h"
00018 #include <list>
00019 
00030 class ArmControl 
00031 {
00032 public:
00033     ArmControl();
00034     
00035 private:
00036     void init();
00037     void run();
00038     void cartesianMovesCallback(const arm::cartesian_moves::ConstPtr& cmd);
00039     void constantMoveCallback(const arm::constant_move::ConstPtr& cmd);
00040     void constantMoveTimeCallback(const arm::constant_move_time::ConstPtr& cmd);
00041     
00042     ros::NodeHandle n_;
00043     ros::Subscriber cartesian_sub_;
00044     ros::Subscriber constant_sub_;
00045     ros::Subscriber constant_time_sub_;
00046     ros::ServiceClient time_client_;
00047     ManusArm* arm_;
00048     CartesianMove cartesian_move_;
00049     ConstantMove constant_move_;
00050     bool shutdown_;
00051 };
00052 
00053 #endif


arm
Author(s): Jonathan Hasenzahl
autogenerated on Sun Jan 5 2014 11:12:32