jaco_interactive_manipulation.h
Go to the documentation of this file.
00001 
00013 #ifndef JACO_INTERACTIVE_MANIPULATION_H_
00014 #define JACO_INTERACTIVE_MANIPULATION_H_
00015 
00016 #include <ros/ros.h>
00017 #include <actionlib/client/simple_action_client.h>
00018 #include <interactive_markers/interactive_marker_server.h>
00019 #include <interactive_markers/menu_handler.h>
00020 #include <rail_manipulation_msgs/GripperAction.h>
00021 #include <rail_manipulation_msgs/LiftAction.h>
00022 #include <wpi_jaco_msgs/CartesianCommand.h>
00023 #include <wpi_jaco_msgs/HomeArmAction.h>
00024 #include <wpi_jaco_msgs/JacoFK.h>
00025 #include <wpi_jaco_msgs/QuaternionToEuler.h>
00026 #include <sensor_msgs/JointState.h>
00027 #include <sensor_msgs/PointCloud.h>
00028 #include <sensor_msgs/point_cloud_conversion.h>
00029 #include <std_srvs/Empty.h>
00030 
00039 class JacoInteractiveManipulation
00040 {
00041 
00042 public:
00043 
00047   JacoInteractiveManipulation();
00048 
00053   void processHandMarkerFeedback(const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback);
00054 
00059   void updateJoints(const sensor_msgs::JointState::ConstPtr& msg);
00060 
00064   void updateMarkerPosition();
00065 
00066 private:
00067 
00068   bool loadParameters(const ros::NodeHandle n);
00069 
00073   void makeHandMarker();
00074 
00078   void sendStopCommand();
00079 
00080   ros::NodeHandle n;
00081 
00082   //messages
00083   ros::Publisher cartesianCmd;
00084   ros::Subscriber jointStateSubscriber;
00085 
00086   //services
00087   ros::ServiceClient eraseTrajectoriesClient;
00088   ros::ServiceClient jacoFkClient;      
00089   ros::ServiceClient qeClient;  
00090 
00091   //actionlib
00092   actionlib::SimpleActionClient<rail_manipulation_msgs::GripperAction> acGripper;
00093   actionlib::SimpleActionClient<rail_manipulation_msgs::LiftAction> acLift;
00094   actionlib::SimpleActionClient<wpi_jaco_msgs::HomeArmAction> acHome;
00095 
00096   boost::shared_ptr<interactive_markers::InteractiveMarkerServer> imServer;     
00097   interactive_markers::MenuHandler menuHandler; 
00098   std::vector<float> joints;    
00099   bool lockPose;
00100   std::string arm_name_;
00101 };
00102 
00103 #endif


jaco_interaction
Author(s): David Kent
autogenerated on Thu Jun 6 2019 19:43:26