24 #ifndef _PLUGINS_COLLI_ESCAPE_DRIVE_MODE_H_ 25 #define _PLUGINS_COLLI_ESCAPE_DRIVE_MODE_H_ 27 #include "abstract_drive_mode.h" 29 #include <utils/math/types.h> 49 std::vector<polar_coord_2d_t> laser_points_;
51 std::unique_ptr<RoboShapeColli> robo_shape_;
54 std::vector<float> readings_normalized_;
55 std::vector<float> readings_front_, readings_back_;
56 std::vector<float> readings_left_front_, readings_left_back_;
57 std::vector<float> readings_right_front_, readings_right_back_;
59 void fill_normalized_readings();
60 void sort_normalized_readings();
62 bool check_danger(std::vector<float> readings);
63 bool turn_left_allowed();
64 bool turn_right_allowed();
void set_laser_data(std::vector< polar_coord_2d_t > &laser_points)
This function sets the laser points for one escape round.
Fawkes library namespace.
virtual void update()
Calculate here your desired settings.
~EscapeDriveModule()
Destructor.
Class Escape-Drive-Module.
This is the base class which calculates drive modes.
Interface for configuration handling.
EscapeDriveModule(Logger *logger, Configuration *config)
Constructor.