specific_actions.h
Go to the documentation of this file.
00001 #ifndef SPECIFIC_ACTIONS_H_
00002 #define SPECIFIC_ACTIONS_H_
00003 
00004 #include <ros/ros.h>
00005 #include <actionlib/server/simple_action_server.h>
00006 #include <actionlib/client/simple_action_client.h>
00007 #include <boost/algorithm/string.hpp>
00008 #include <boost/thread/mutex.hpp>
00009 #include <carl_demos/ObtainObjectAction.h>
00010 #include <rail_manipulation_msgs/ArmAction.h>
00011 #include <rail_manipulation_msgs/PickupAction.h>
00012 #include <rail_manipulation_msgs/StoreAction.h>
00013 #include <rail_manipulation_msgs/SegmentedObjectList.h>
00014 #include <std_srvs/Empty.h>
00015 
00016 #define NUM_JACO_JOINTS 6
00017 #define MAX_HOME_ATTEMPTS 3
00018 
00019 class SpecificActions
00020 {
00021 
00022 public:
00023 
00027   SpecificActions();
00028 
00029 private:
00030   ros::NodeHandle n;
00031 
00032   ros::Subscriber recognizedObjectsSubscriber;
00033 
00034   ros::ServiceClient segmentClient;
00035 
00036   actionlib::SimpleActionClient<rail_manipulation_msgs::ArmAction> armClient;
00037   actionlib::SimpleActionClient<rail_manipulation_msgs::PickupAction> pickupClient;
00038   actionlib::SimpleActionClient<rail_manipulation_msgs::StoreAction> storeClient;
00039   actionlib::SimpleActionServer<carl_demos::ObtainObjectAction> obtainObjectServer;
00040 
00041   int recognizedObjectsCounter;
00042 
00043   boost::mutex recognizedObjectsMutex;
00044 
00045   rail_manipulation_msgs::SegmentedObjectList recognizedObjects;
00046 
00055   void executeObtainObject(const carl_demos::ObtainObjectGoalConstPtr &goal);
00056 
00064   void recognizedObjectsCallback(const rail_manipulation_msgs::SegmentedObjectList &objects);
00065 };
00066 
00067 #endif


carl_demos
Author(s): David Kent , Russell Toris
autogenerated on Thu Jun 6 2019 21:59:32