MRPT  2.0.4
nav_plan_geometry_utils.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | https://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6  | See: https://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See: https://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
12 #include <mrpt/math/TPoint2D.h>
13 
14 namespace mrpt::nav
15 {
16 /** @addtogroup nav_geom_grp Motion planning geometry utility functions
17  * (`#include <mrpt/nav/nav_plan_geometry_utils.h>`)
18  * \ingroup mrpt_nav_grp
19  * @{ */
20 
21 /** Computes the collision-free distance for a linear segment path between two
22  * points, for a circular robot, and a point obstacle (ox,oy).
23  * \return true if a collision exists, and the distance along the segment will
24  * be in out_col_dist; false otherwise.
25  * \exception std::runtime_error If the two points are closer than an epsilon
26  * (1e-10)
27  */
29  const mrpt::math::TPoint2D& p_start, const mrpt::math::TPoint2D& p_end,
30  const double robot_radius, const mrpt::math::TPoint2D& obstacle,
31  double& out_col_dist);
32 
33 /** Computes the collision-free distance for a forward path (+X) circular arc
34  * path segment from pose (0,0,0) and radius of curvature R (>0 -> +Y, <0 ->
35  * -Y), a circular robot and a point obstacle (ox,oy). \return true if a
36  * collision exists, and the distance along the path will be in out_col_dist;
37  * false otherwise.
38  */
40  const double arc_radius, const double robot_radius,
41  const mrpt::math::TPoint2D& obstacle, double& out_col_dist);
42 
43 /** @} */
44 } // namespace mrpt::nav
bool 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...
bool 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).



Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020