22 #ifndef _GAZEBO_LIGHT_CURTAIN_PLUGIN_HH_ 23 #define _GAZEBO_LIGHT_CURTAIN_PLUGIN_HH_ 25 #include "gazebo/common/Plugin.hh" 26 #include "gazebo/msgs/msgs.hh" 27 #include "gazebo/sensors/SensorTypes.hh" 28 #include "gazebo/sensors/RaySensor.hh" 29 #include "gazebo/util/system.hh" 43 public:
virtual void OnNewLaserScans();
47 public:
virtual bool ProcessScan();
51 public:
void Load(sensors::SensorPtr _parent, sdf::ElementPtr _sdf);
55 protected: std::string Topic(std::string topicName)
const;
91 protected: physics::LinkPtr
link;
94 protected: physics::WorldPtr
world;
97 protected: transport::NodePtr
node;
event::ConnectionPtr newLaserScansConnection
The connection tied to ProximityRayPlugin::OnNewLaserScans()
physics::WorldPtr world
Pointer to world.
bool useLinkFrame
Convert sensor ranges to parent link frame?
physics::LinkPtr link
Pointer to parent link.
transport::NodePtr node
Pointer to this node for publishing.
A Ray Sensor Plugin which makes it act as a proximity sensor.
msgs::Header stateMsg
State message.
bool normallyOpen
Whether or not the output function is normally open (default) or normally closed. ...
double sensingRangeMin
Minimum sensing range in meters.
bool objectDetected
Sensor detection state.
std::mutex mutex
Mutex to protect interruptionMsg.
sensors::RaySensorPtr parentSensor
The parent sensor.
std::string stateTopic
Topic name for state message.
transport::PublisherPtr stateChangePub
Publisher for the sensor state change.
double sensingRangeMax
Maximum sensing range in meters.
transport::PublisherPtr statePub
Publisher for the sensor state.
std::string stateChangeTopic
Topic name for state change message.