MRPT  1.9.9
nav_plan_geometry_utils.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
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 -> -Y),
35 * a circular robot and a point obstacle (ox,oy).
36 * \return true if a collision exists, and the distance along the path will be in
37 * out_col_dist; 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 }
45 
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).
Lightweight 2D point.



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