22 #ifndef __PLUGINS_ROS_LASERSCAN_THREAD_H_
23 #define __PLUGINS_ROS_LASERSCAN_THREAD_H_
25 #include <core/threading/thread.h>
26 #include <aspect/blocked_timing.h>
27 #include <aspect/configurable.h>
28 #include <aspect/logging.h>
29 #include <aspect/blackboard.h>
30 #include <plugins/ros/aspect/ros.h>
31 #include <blackboard/interface_listener.h>
32 #include <blackboard/interface_observer.h>
33 #include <interfaces/Laser360Interface.h>
34 #include <interfaces/Laser720Interface.h>
35 #include <core/threading/mutex.h>
36 #include <utils/time/time.h>
41 #include <ros/node_handle.h>
42 #include <sensor_msgs/LaserScan.h>
68 unsigned int instance_serial)
throw();
70 unsigned int instance_serial)
throw();
73 void laser_scan_message_cb(
const sensor_msgs::LaserScan::ConstPtr &msg);
75 std::string topic_name(
const char *if_id,
const char *suffix);
81 std::list<fawkes::Laser360Interface *> __ls360_ifs;
82 std::list<fawkes::Laser720Interface *> __ls720_ifs;
84 ros::Subscriber __sub_ls;
89 sensor_msgs::LaserScan msg;
92 std::map<std::string, PublisherInfo> __pubs;
95 unsigned int __active_queue;
96 std::queue<sensor_msgs::LaserScan::ConstPtr> __ls_msg_queues[2];
98 std::map<std::string, fawkes::Laser360Interface *> __ls360_wifs;
101 unsigned int __seq_num;