18 #ifndef GAZEBO_ROS_LASER_HH 19 #define GAZEBO_ROS_LASER_HH 23 #include <boost/bind.hpp> 24 #include <boost/thread.hpp> 28 #include <sensor_msgs/LaserScan.h> 30 #include <sdf/Param.hh> 31 #include <gazebo/physics/physics.hh> 32 #include <gazebo/transport/TransportTypes.hh> 33 #include <gazebo/msgs/MessageTypes.hh> 34 #include <gazebo/common/Time.hh> 35 #include <gazebo/common/Plugin.hh> 36 #include <gazebo/common/Events.hh> 37 #include <gazebo/sensors/SensorTypes.hh> 38 #include <gazebo/plugins/RayPlugin.hh> 45 class GazeboRosLaser :
public RayPlugin
55 public:
void Load(sensors::SensorPtr _parent, sdf::ElementPtr _sdf);
65 private: physics::WorldPtr
world_;
87 private: sdf::ElementPtr
sdf;
93 private:
void OnScan(ConstLaserScanStampedPtr &_msg);
ros::NodeHandle * rosnode_
pointer to ros node
GazeboRosLaser()
Constructor.
sensors::RaySensorPtr parent_ray_sensor_
The parent sensor.
A collection of PubQueue objects, potentially of different types. This class is the programmer's inte...
std::string tf_prefix_
tf prefix
gazebo::transport::SubscriberPtr laser_scan_sub_
void Load(sensors::SensorPtr _parent, sdf::ElementPtr _sdf)
Load the plugin.
boost::thread deferred_load_thread_
A queue of outgoing messages. Instead of calling publish() directly, you can push() messages here to ...
PubQueue< sensor_msgs::LaserScan >::Ptr pub_queue_
std::string frame_name_
frame transform name, should match link name
std::string robot_namespace_
for setting ROS name space
gazebo::transport::NodePtr gazebo_node_
PubMultiQueue pmq
prevents blocking
~GazeboRosLaser()
Destructor.
void OnScan(ConstLaserScanStampedPtr &_msg)
std::string topic_name_
topic name
int laser_connect_count_
Keep track of number of connctions.