24 #ifndef __PLUGINS_COLLI_COLLI_THREAD_H_ 25 #define __PLUGINS_COLLI_COLLI_THREAD_H_ 27 #include "common/types.h" 29 #include <core/threading/thread.h> 30 #include <aspect/clock.h> 31 #include <aspect/configurable.h> 32 #include <aspect/logging.h> 33 #include <aspect/blackboard.h> 34 #include <aspect/tf.h> 36 #include <utils/time/clock.h> 37 #include <utils/math/types.h> 38 #include <utils/math/angle.h> 46 class Laser360Interface;
47 class NavigatorInterface;
49 class LaserOccupancyGrid;
52 class SelectDriveMode;
53 class BaseMotorInstruct;
56 class ColliVisualizationThread;
72 virtual void finalize();
74 virtual void set_vis_thread(ColliVisualizationThread* vis_thread);
76 bool is_final()
const;
111 ColliVisualizationThread* vis_thread_;
128 bool cfg_write_spam_debug_;
129 bool cfg_emergency_stop_enabled_;
130 float cfg_emergency_threshold_distance_;
131 float cfg_emergency_threshold_velocity_;
132 float cfg_emergency_velocity_max_;
143 float occ_grid_height_, occ_grid_width_;
144 int occ_grid_cell_height_, occ_grid_cell_width_;
146 bool cfg_obstacle_inc_;
148 bool cfg_visualize_idle_;
151 float cfg_min_drive_dist_;
152 float cfg_min_long_dist_drive_;
153 float cfg_min_long_dist_prepos_;
154 float cfg_min_rot_dist_;
155 float cfg_target_pre_pos_;
159 float cfg_max_velocity_;
161 std::string cfg_frame_base_;
162 std::string cfg_frame_laser_;
164 std::string cfg_iface_motor_;
165 std::string cfg_iface_laser_;
166 std::string cfg_iface_colli_;
167 float cfg_iface_read_timeout_;
170 bool laser_to_base_valid_;
172 float distance_to_next_target_;
179 void colli_execute_();
185 void open_interfaces();
188 void initialize_modules();
191 void interfaces_read();
194 bool interface_data_valid();
197 void update_colli_state();
200 void update_modules();
Laser360Interface Fawkes BlackBoard Interface.
Thread aspect to access to BlackBoard.
Thread aspect that allows to obtain the current time from the clock.
Cartesian coordinates (2D).
Fawkes library namespace.
colli_motor_instruct_mode_t
Colli motor_instuct modes.
colli_state_t
Colli States.
Thread class encapsulation of pthreads.
Storing Translation and rotation.
Thread that performs the navigation and collision avoidance algorithms.
This OccGrid is derived by the Occupancy Grid originally from Andreas Strack, but modified for speed ...
Thread aspect to log output.
This class selects the correct drive mode and calls the appopriate drive component.
Thread aspect to access configuration data.
Point with cartesian coordinates as signed integers.
colli_escape_mode_t
Colli Escape modes.
The Basic of a Motorinstructor.
MotorInterface Fawkes BlackBoard Interface.
Mutex mutual exclusion lock.
Colli data, refering to current movement.
NavigatorInterface Fawkes BlackBoard Interface.