21 #ifndef _PLUGINS_AMCL_MAP_LASERGEN_THREAD_H_
22 #define _PLUGINS_AMCL_MAP_LASERGEN_THREAD_H_
26 #include <aspect/blackboard.h>
27 #include <aspect/blocked_timing.h>
28 #include <aspect/clock.h>
29 #include <aspect/configurable.h>
30 #include <aspect/logging.h>
31 #include <aspect/tf.h>
32 #include <core/threading/thread.h>
34 #if __cplusplus > 201100L || defined(__GXX_EXPERIMENTAL_CXX0X__)
39 #include <interfaces/Laser360Interface.h>
40 #include <interfaces/Position3DInterface.h>
66 bool set_laser_pose();
69 std::string cfg_map_file_;
70 float cfg_resolution_;
73 float cfg_origin_theta_;
74 float cfg_occupied_thresh_;
75 float cfg_free_thresh_;
76 bool cfg_send_zero_odom_;
77 bool cfg_use_current_pose_;
79 std::string cfg_laser_ifname_;
80 std::string cfg_pose_ifname_;
81 std::string laser_frame_id_;
82 std::string odom_frame_id_;
83 std::string base_frame_id_;
85 unsigned int map_width_;
86 unsigned int map_height_;
89 fawkes::tf::Transform latest_tf_;
97 float laser_pos_theta_;
101 float cfg_noise_sigma_;
103 std::mt19937 noise_rg_;
104 std::normal_distribution<float> noise_nd_;