MRPT  1.9.9
Motion planning geometry utility functions

Detailed Description

(#include <mrpt/nav/nav_plan_geometry_utils.h>)

Collaboration diagram for Motion planning geometry utility functions:

Functions

bool mrpt::nav::collision_free_dist_segment_circ_robot (const mrpt::math::TPoint2D &p_start, const mrpt::math::TPoint2D &p_end, const double robot_radius, const mrpt::math::TPoint2D &obstacle, double &out_col_dist)
 Computes the collision-free distance for a linear segment path between two points, for a circular robot, and a point obstacle (ox,oy). More...
 
bool mrpt::nav::collision_free_dist_arc_circ_robot (const double arc_radius, const double robot_radius, const mrpt::math::TPoint2D &obstacle, double &out_col_dist)
 Computes the collision-free distance for a forward path (+X) circular arc path segment from pose (0,0,0) and radius of curvature R (>0 -> +Y, <0 -> -Y), a circular robot and a point obstacle (ox,oy). More...
 

Function Documentation

◆ collision_free_dist_arc_circ_robot()

bool mrpt::nav::collision_free_dist_arc_circ_robot ( const double  arc_radius,
const double  robot_radius,
const mrpt::math::TPoint2D obstacle,
double &  out_col_dist 
)

Computes the collision-free distance for a forward path (+X) circular arc path segment from pose (0,0,0) and radius of curvature R (>0 -> +Y, <0 -> -Y), a circular robot and a point obstacle (ox,oy).

Returns
true if a collision exists, and the distance along the path will be in out_col_dist; false otherwise.

Definition at line 77 of file nav_plan_geometry_utils.cpp.

References ASSERT_ABOVE_, M_PI, min, mrpt::math::norm(), R, mrpt::math::wrapTo2Pi(), mrpt::math::TPoint2D::x, and mrpt::math::TPoint2D::y.

◆ collision_free_dist_segment_circ_robot()

bool mrpt::nav::collision_free_dist_segment_circ_robot ( const mrpt::math::TPoint2D p_start,
const mrpt::math::TPoint2D p_end,
const double  robot_radius,
const mrpt::math::TPoint2D obstacle,
double &  out_col_dist 
)

Computes the collision-free distance for a linear segment path between two points, for a circular robot, and a point obstacle (ox,oy).

Returns
true if a collision exists, and the distance along the segment will be in out_col_dist; false otherwise.
Exceptions
std::runtime_errorIf the two points are closer than an epsilon (1e-10)

Definition at line 19 of file nav_plan_geometry_utils.cpp.

References ASSERT_ABOVE_, min, mrpt::math::TPoint2D::norm(), R, mrpt::math::solve_poly2(), mrpt::square(), mrpt::math::TPoint2D::x, and mrpt::math::TPoint2D::y.

Referenced by TEST().




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020