Class G2solve2arc¶
Defined in File ClothoidList.hxx
Class Documentation¶
-
class G2lib::G2solve2arc¶
-
Construct a piecewise clothoids \( G(s) \) composed by two clothoids arc that solve the G2 problem
\[\begin{split} \begin{array}{ll} \textrm{endpoints:}\quad & \begin{cases} G(0) = \mathbf{p}_0 & \\[0.5em] G(L) = \mathbf{p}_1 & \end{cases} \\[1em] \textrm{angles:}\quad & \begin{cases} \theta(0) = \theta_0 & \\[0.5em] \theta(L) = \theta_1 & \end{cases} \\[1em] \textrm{curvature:}\quad & \begin{cases} \kappa(0) = \kappa_0 & \\[0.5em] \kappa(L) = \kappa_1 & \end{cases} \end{array} \end{split}\]note
The solution do not exist for all the combination of points/angle/curvature
Public Functions
-
inline G2solve2arc()¶
-
Build an empty clothoid list
-
inline ~G2solve2arc()¶
-
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)¶
-
Construct a piecewise clothoids \( G(s) \) composed by two clothoids arc that solve the G2 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
-
x0 – [in] \( x_0 \)
y0 – [in] \( y_0 \)
theta0 – [in] \( \theta_0 \)
kappa0 – [in] \( \kappa_0 \)
x1 – [in] \( x_1 \)
y1 – [in] \( y_1 \)
theta1 – [in] \( \theta_1 \)
kappa1 – [in] \( \kappa_1 \)
- Returns
-
number of iterations of -1 if failed
-
void setMaxIter(int tol)¶
-
Fix maximum number of iteration for the G2 problem
-
int solve()¶
-
Solve the G2 problem
- Returns
-
number of iterations of -1 if failed
-
inline ClothoidCurve const &getS0() const¶
-
Return the first clothoid of the G2 clothoid list
-
inline ClothoidCurve const &getS1() const¶
-
Return the second clothoid of the G2 clothoid list
-
inline G2solve2arc()¶