hpp-rbprm
4.10.1
Implementation of RB-PRM planner using hpp.
|
#include <hpp/rbprm/planner/steering-method-parabola.hh>
Public Member Functions | |
virtual core::SteeringMethodPtr_t | copy () const |
Copy instance and return shared pointer. More... | |
core::PathPtr_t | operator() (core::ConfigurationIn_t q1, core::ConfigurationIn_t q2) const |
virtual core::PathPtr_t | impl_compute (core::ConfigurationIn_t q1, core::ConfigurationIn_t q2) const |
create a path between two configurations More... | |
core::PathPtr_t | compute_random_3D_path (core::ConfigurationIn_t q1, core::ConfigurationIn_t q2, value_type *alpha0, value_type *v0) const |
Compute a random parabola in direction of q1->q2. More... | |
bool | third_constraint (bool fail, const value_type &X, const value_type &Y, const value_type alpha_imp_min, const value_type alpha_imp_max, value_type *alpha_imp_sup, value_type *alpha_imp_inf, const value_type n2_angle) const |
bool | fiveth_constraint (const core::ConfigurationIn_t q, const value_type theta, const int number, value_type *delta) const |
value_type | getVImpMax () |
Static Public Member Functions | |
static SteeringMethodParabolaPtr_t | create (const core::Problem &problem) |
Create instance and return shared pointer. More... | |
static SteeringMethodParabolaPtr_t | createCopy (const SteeringMethodParabolaPtr_t &other) |
Copy instance and return shared pointer. More... | |
Protected Member Functions | |
SteeringMethodParabola (const core::Problem &problem) | |
SteeringMethodParabola (const SteeringMethodParabola &other) | |
Copy constructor. More... | |
void | init (SteeringMethodParabolaWkPtr_t weak) |
Store weak pointer to itself. More... | |
Steering method that creates StraightPath instances
|
protected |
Constructor with problem Robot and weighed distance are created from problem
|
inlineprotected |
Copy constructor.
core::PathPtr_t hpp::rbprm::SteeringMethodParabola::compute_random_3D_path | ( | core::ConfigurationIn_t | q1, |
core::ConfigurationIn_t | q2, | ||
value_type * | alpha0, | ||
value_type * | v0 | ||
) | const |
Compute a random parabola in direction of q1->q2.
|
inlinevirtual |
Copy instance and return shared pointer.
|
inlinestatic |
Create instance and return shared pointer.
|
inlinestatic |
Copy instance and return shared pointer.
bool hpp::rbprm::SteeringMethodParabola::fiveth_constraint | ( | const core::ConfigurationIn_t | q, |
const value_type | theta, | ||
const int | number, | ||
value_type * | delta | ||
) | const |
Compute fiveth constraint: compute intersection between coneS and plane_theta. If not empty, compute the two lines and the angle between them = 2*delta. Equations have been obtained using Matlab.
|
inline |
|
virtual |
create a path between two configurations
|
inlineprotected |
Store weak pointer to itself.
|
inline |
bool hpp::rbprm::SteeringMethodParabola::third_constraint | ( | bool | fail, |
const value_type & | X, | ||
const value_type & | Y, | ||
const value_type | alpha_imp_min, | ||
const value_type | alpha_imp_max, | ||
value_type * | alpha_imp_sup, | ||
value_type * | alpha_imp_inf, | ||
const value_type | n2_angle | ||
) | const |
Compute third constraint : landing in the friction cone return false if constraint can never be respected. fill alpha_imp_sup/inf angles limiting initial angle to respect the constraint.