ContactSensorPlugin.hh
Go to the documentation of this file.
1 
10 #ifndef _CONTACT_SENSOR_PLUGIN_HH_
11 #define _CONTACT_SENSOR_PLUGIN_HH_
12 
13 // Gazebo
14 #include "gazebo/common/Plugin.hh"
15 #include <gazebo/msgs/msgs.hh>
16 #include <gazebo/transport/transport.hh>
17 #include <gazebo/sensors/sensors.hh>
18 
19 // Custom messages
20 #include "contact_sensor_request.pb.h"
21 #include "contact_sensor_response.pb.h"
22 
24 
25  // Plugin messages
26 
28  #define REQUEST_TOPIC "~/grasp/contact"
29  #define RESPONSE_TOPIC "~/grasp/contact/response"
31 
33  #define REQ_IN_CONTACT grasp::msgs::ContactSensorRequest::IN_CONTACT
34 
36  #define RES_IN_CONTACT grasp::msgs::ContactSensorResponse::IN_CONTACT
37 }
38 
39 namespace gazebo {
40 
44  typedef const boost::shared_ptr<const grasp::msgs::ContactSensorRequest>
49  typedef const boost::shared_ptr<const grasp::msgs::ContactSensorResponse>
51 
52  // Forward declaration of private data class
54 
56  class ContactSensorPlugin : public SensorPlugin
57  {
58  // Private attributes
59 
61  private: std::unique_ptr<ContactSensorPluginPrivate> data_ptr;
63  private: sensors::ContactSensorPtr sensor;
65  private: event::ConnectionPtr update_connection;
66 
67  // Public methods
68 
70  public: ContactSensorPlugin();
71 
73  public: virtual ~ContactSensorPlugin();
74 
78  public: virtual void Load(sensors::SensorPtr _sensor, sdf::ElementPtr _sdf);
79 
81  public: void onUpdate();
82 
85  public: void onRequest(ContactSensorRequestPtr & _msg);
86 
90  private: bool inContact(std::string & name);
91 
92  };
93 }
94 
95 #endif
Definition: ContactSensorPlugin.cc:12
grasp::msgs::ContactSensorResponse ContactSensorResponse
Declaration for response message type.
Definition: ContactSensorPlugin.hh:47
std::unique_ptr< ContactSensorPluginPrivate > data_ptr
Class with private attributes.
Definition: ContactSensorPlugin.hh:61
sensors::ContactSensorPtr sensor
Sensor to which the plugin is attached.
Definition: ContactSensorPlugin.hh:63
const boost::shared_ptr< const grasp::msgs::ContactSensorResponse > ContactSensorResponsePtr
Shared pointer declaration for response message type.
Definition: ContactSensorPlugin.hh:50
Class for private ContactSensor plugin data.
Definition: ContactSensorPlugin.cc:16
event::ConnectionPtr update_connection
Connection to world update event.
Definition: ContactSensorPlugin.hh:65
const boost::shared_ptr< const grasp::msgs::ContactSensorRequest > ContactSensorRequestPtr
Shared pointer declaration for request message type.
Definition: ContactSensorPlugin.hh:45
Definition: ContactSensorPlugin.hh:23
grasp::msgs::ContactSensorRequest ContactSensorRequest
Declaration for request message type.
Definition: ContactSensorPlugin.hh:42