Go to the documentation of this file.
30 #include <shared_mutex>
36 #include <Eigen/Geometry>
39 #include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
40 #include <RobotAPI/interface/components/ObstacleAvoidance/ObstacleDetectionInterface.h>
62 static bool point_ellipsis_coverage(
const Eigen::Vector2f e_origin,
const float e_rx,
const float e_ry,
const float e_yaw,
const Eigen::Vector2f point);
64 static float ellipsis_ellipsis_coverage(
const Eigen::Vector2f e1_origin,
const float e1_rx,
const float e1_ry,
const float e1_yaw,
const Eigen::Vector2f e2_origin,
const float e2_rx,
const float e2_ry,
const float e2_yaw);
66 static float line_segment_ellipsis_coverage(
const Eigen::Vector2f e_origin,
const float e_rx,
const float e_ry,
const float e_yaw,
const Eigen::Vector2f line_seg_start,
const Eigen::Vector2f line_seg_end);
78 std::array<std::tuple<double, double, double, double, double>, 6>
position_buffer;
86 float normalizeYaw(
float yaw)
const;
87 float getAngleBetweenVectors(
const Eigen::Vector2f&,
const Eigen::Vector2f&)
const;
88 float getXAxisAngle(
const Eigen::Vector2f&)
const;
unsigned long m_input_index
static bool ComparatorDESCPrt(ManagedObstaclePtr &i, ManagedObstaclePtr &j)
std::array< std::tuple< double, double, double, double, double >, 6 > position_buffer
static float ellipsis_ellipsis_coverage(const Eigen::Vector2f e1_origin, const float e1_rx, const float e1_ry, const float e1_yaw, const Eigen::Vector2f e2_origin, const float e2_rx, const float e2_ry, const float e2_yaw)
std::vector< Eigen::Vector2f > line_matches
IceUtil::Time m_last_matched
obstacledetection::Obstacle m_obstacle
armarx::core::time::DateTime Time
static double calculateObstacleArea(const obstacledetection::Obstacle &o)
unsigned int position_buffer_fillctr
static float line_segment_ellipsis_coverage(const Eigen::Vector2f e_origin, const float e_rx, const float e_ry, const float e_yaw, const Eigen::Vector2f line_seg_start, const Eigen::Vector2f line_seg_end)
static bool point_ellipsis_coverage(const Eigen::Vector2f e_origin, const float e_rx, const float e_ry, const float e_yaw, const Eigen::Vector2f point)
unsigned int position_buffer_index
std::shared_ptr< ManagedObstacle > ManagedObstaclePtr
void update_position(const unsigned int)
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_mutex m_mutex