G2solveCLC Class Reference
Clothoids
|
#include <ClothoidList.hxx>
Public Member Functions | |
G2solveCLC ()=default | |
int | build (real_type x0, real_type y0, real_type theta0, real_type kappa0, real_type x1, real_type y1, real_type theta1, real_type kappa1) |
void | set_tolerance (real_type tol) |
void | set_max_iter (integer miter) |
int | solve () |
ClothoidCurve const & | S0 () const |
ClothoidCurve const & | SM () const |
ClothoidCurve const & | S1 () const |
void | save (ostream_type &stream) const |
Detailed Description
Construct a piecewise clothoids \( G(s) \) composed by 2 clothoid and one line segment that solve the \( G^2 \) problem
\[ \begin{array}{ll} \textrm{endpoints:}\quad & \left\{ \begin{array}{r@{~}c@{~}l} G(0) &=& \mathbf{p}_0 \\[0.5em] G(L) &=& \mathbf{p}_1 \end{array} \right. \\[1em] \textrm{angles:}\quad & \left\{ \begin{array}{r@{~}c@{~}l} \theta(0) &=& \theta_0 \\[0.5em] \theta(L) &=& \theta_1 \end{array} \right. \\[1em] \textrm{curvature:}\quad & \left\{ \begin{array}{r@{~}c@{~}l} \kappa(0) &=& \kappa_0 \\[0.5em] \kappa(L) &=& \kappa_1 \end{array} \right. \end{array} \]
note
The solution do not exist for all the combination of points/angle/curvature
Constructor & Destructor Documentation
◆ G2solveCLC()
|
default |
Build an empty clothoid list
Member Function Documentation
◆ build()
int G2lib::G2solveCLC::build | ( | real_type | x0, |
real_type | y0, | ||
real_type | theta0, | ||
real_type | kappa0, | ||
real_type | x1, | ||
real_type | y1, | ||
real_type | theta1, | ||
real_type | kappa1 ) |
Construct a piecewise clothoids \( G(s) \) composed by two clothoids and one line segment that solve the \( G^2 \) problem, with data
\[ \mathbf{p}_0 = (x_0,y_0)^T, \qquad \mathbf{p}_1 = (x_1,y_1)^T \]
\[ \theta_0, \qquad \theta_1, \qquad \kappa_0, \qquad \kappa_1 \]
- Parameters
-
[in] x0 \( x_0 \) [in] y0 \( y_0 \) [in] theta0 \( \theta_0 \) [in] kappa0 \( \kappa_0 \) [in] x1 \( x_1 \) [in] y1 \( y_1 \) [in] theta1 \( \theta_1 \) [in] kappa1 \( \kappa_1 \)
- Returns
- number of iterations of -1 if failed
◆ S0()
|
inline |
Return the first clothoid of the \( G^2 \) clothoid list
◆ S1()
|
inline |
Return the third clothoid of the \( G^2 \) clothoid list
◆ set_max_iter()
void G2lib::G2solveCLC::set_max_iter | ( | integer | miter | ) |
Fix maximum number of iteration for the \( G^2 \) problem
◆ set_tolerance()
void G2lib::G2solveCLC::set_tolerance | ( | real_type | tol | ) |
Fix tolerance for the \( G^2 \) problem
◆ SM()
|
inline |
Return the second segment (the line) as a clothoid
◆ solve()
int G2lib::G2solveCLC::solve | ( | ) |
Solve the \( G^2 \) problem
- Returns
- number of iterations of -1 if failed
The documentation for this class was generated from the following files:
- /Users/enrico/Ricerca/develop/PINS/pins-mechatronix/LibSources/submodules/Clothoids/src/Clothoids/ClothoidList.hxx
- /Users/enrico/Ricerca/develop/PINS/pins-mechatronix/LibSources/submodules/Clothoids/src/ClothoidG2.cc
- /Users/enrico/Ricerca/develop/PINS/pins-mechatronix/LibSources/submodules/Clothoids/src/ClothoidList.cc
Generated by 1.12.0