25 #ifndef __PLUGINS_LASERHT_SENSPROC_THREAD_H_
26 #define __PLUGINS_LASERHT_SENSPROC_THREAD_H_
28 #include <core/threading/thread.h>
29 #include <aspect/blocked_timing.h>
30 #include <aspect/logging.h>
31 #include <aspect/configurable.h>
32 #include <aspect/blackboard.h>
38 class Laser360Interface;
39 class ObjectPositionInterface;
40 class VisualDisplay2DInterface;
60 protected:
virtual void run() { Thread::run(); }
72 void fit_line(
const std::vector<laser_reading_t> &points,
73 const unsigned int first_index,
74 float &a,
float &b,
float &least_square_error);
76 void line_points_from_params(
float r,
float phi,
77 float &x1,
float &y1,
float &x2,
float &y2);
84 unsigned int __cfg_num_samples;
85 unsigned int __cfg_vote_threshold;
87 std::string __cfg_laser_ifid;
88 bool __cfg_enable_disp;
89 float __cfg_fitting_error_threshold;
90 float __cfg_dist_threshold;
94 unsigned int __num_vals;
99 #ifdef LASERHT_TIMETRACKER
101 unsigned int __tt_loop;
102 unsigned int __ttc_reset;
103 unsigned int __ttc_process;
104 unsigned int __ttc_fitting;
105 unsigned int __ttc_total;
Laser360Interface Fawkes BlackBoard Interface.
Thread aspect to access to BlackBoard.
Laser Hough Transform sensor processing thread.
virtual void init()
Initialize the thread.
ObjectPositionInterface Fawkes BlackBoard Interface.
virtual void loop()
Code to execute in the thread.
Thread class encapsulation of pthreads.
Thread aspect to use blocked timing.
virtual void finalize()
Finalize the thread.
LaserHtSensorProcThread()
Constructor.
Thread aspect to log output.
Thread aspect to access configuration data.
virtual void run()
Stub to see name in backtrace for easier debugging.
VisualDisplay2DInterface Fawkes BlackBoard Interface.