35 #include <Ice/Current.h>
42 #include <RobotComponents/interface/components/ObstacleDetection/LaserScannerObstacleDetectionInterface.h>
45 #include <RobotAPI/interface/components/ObstacleAvoidance/DynamicObstacleManagerInterface.h>
53 virtual public LaserScannerObstacleDetectionInterface
66 void enable(const
Ice::Current& =
Ice::emptyCurrent) override;
67 void disable(const
Ice::Current& =
Ice::emptyCurrent) override;
86 void eval_obstacles();
87 float get_distance_from_point_to_line_segment(const
Eigen::Vector2f& start, const
Eigen::Vector2f& end, const
Eigen::Vector2f& p) const;
88 float get_angle_between_vectors(const
Eigen::Vector2f&, const
Eigen::Vector2f&) const;
91 int m_only_submit_first_n_results;
92 float m_max_distance_to_put_together;
93 float m_max_yaw_difference;
95 unsigned int m_periodic_task_interval;
96 unsigned int m_accept_lines_after;
102 std::mutex m_lines_buffer_mutex;
103 std::mutex m_enabled_mutex;
105 DynamicObstacleManagerInterface::
ProxyType m_obstacle_manager;