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();