3 #ifndef GMAPPING_TASK_TASK_HPP 4 #define GMAPPING_TASK_TASK_HPP 6 #include "gmapping/TaskBase.hpp" 7 #include <gmapping/gmappingTypes.hpp> 8 #include <base/samples/RigidBodyState.hpp> 9 #include <boost/thread.hpp> 12 #include <gmapping/gridfastslam/gridslamprocessor.h> 13 #include <gmapping/sensor/sensor_base/sensor.h> 38 class Task :
public TaskBase
43 base::samples::RigidBodyState base_to_laser_;
44 base::samples::RigidBodyState map_to_odom_;
46 boost::thread* transform_thread_;
48 GMapping::GridSlamProcessor* gsp_;
49 GMapping::RangeSensor* gsp_laser_;
50 GMapping::OdometrySensor* gsp_odom_;
52 double gsp_laser_angle_increment_;
57 boost::mutex map_to_odom_mutex_;
58 boost::mutex map_mutex_;
61 unsigned int gsp_laser_beam_count_;
63 double computePoseEntropy();
64 void laserCallBack(base::samples::LaserScan& scan);
65 void tfCallBack(base::samples::RigidBodyState& tf);
67 void updateMap(
const Laser& scan);
68 bool getOdomPose(GMapping::OrientedPoint& gmap_pose,
const base::Time& t);
69 bool initMapper(
const Laser& scan, GMapping::OrientedPoint& initialPose);
70 bool addScan(
const Laser& scan, GMapping::OrientedPoint& gmap_pose);
87 Task(std::string
const& name =
"gmapping::Task");
94 Task(std::string
const& name, RTT::ExecutionEngine* engine);
virtual void scanTransformerCallback(const base::Time &ts, const ::base::samples::LaserScan &scan_sample)
Definition: Task.cpp:262
void updateHook()
Definition: Task.cpp:328
bool startHook()
Definition: Task.cpp:78
Definition: gmappingTypes.hpp:147
void errorHook()
Definition: Task.cpp:334
Definition: gmappingTypes.hpp:16
friend class TaskBase
Definition: Task.hpp:74
~Task()
Definition: Task.cpp:27
void stopHook()
Definition: Task.cpp:342
bool configureHook()
The following lines are template definitions for the various state machine.
Definition: Task.cpp:47
virtual ::gmapping::OccupancyGrid getDynamicMap()
Definition: Task.cpp:31
Task(std::string const &name="gmapping::Task")
Definition: Task.cpp:17
The task context provides and requires services. It uses an ExecutionEngine to perform its functions...
Definition: Task.hpp:38
void publishTransform()
Definition: Task.cpp:390
Definition: gmappingTypes.hpp:133
Definition: gmappingTypes.hpp:18
void publishLoop(double transform_publish_period)
Definition: Task.cpp:381
void cleanupHook()
Definition: Task.cpp:347