hpp-rbprm 4.14.0
Implementation of RB-PRM planner using hpp.
Loading...
Searching...
No Matches
hpp::rbprm::SteeringMethodParabola Class Reference

#include <hpp/rbprm/planner/steering-method-parabola.hh>

Inheritance diagram for hpp::rbprm::SteeringMethodParabola:
Collaboration diagram for hpp::rbprm::SteeringMethodParabola:

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 (core::ProblemConstPtr_t 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 (core::ProblemConstPtr_t problem)
 
 SteeringMethodParabola (const SteeringMethodParabola &other)
 Copy constructor. More...
 
void init (SteeringMethodParabolaWkPtr_t weak)
 Store weak pointer to itself. More...
 

Detailed Description

Steering method that creates StraightPath instances

Constructor & Destructor Documentation

◆ SteeringMethodParabola() [1/2]

hpp::rbprm::SteeringMethodParabola::SteeringMethodParabola ( core::ProblemConstPtr_t  problem)
protected

Constructor with problem Robot and weighed distance are created from problem

◆ SteeringMethodParabola() [2/2]

hpp::rbprm::SteeringMethodParabola::SteeringMethodParabola ( const SteeringMethodParabola other)
inlineprotected

Copy constructor.

Member Function Documentation

◆ compute_random_3D_path()

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.

◆ copy()

virtual core::SteeringMethodPtr_t hpp::rbprm::SteeringMethodParabola::copy ( ) const
inlinevirtual

Copy instance and return shared pointer.

◆ create()

static SteeringMethodParabolaPtr_t hpp::rbprm::SteeringMethodParabola::create ( core::ProblemConstPtr_t  problem)
inlinestatic

Create instance and return shared pointer.

◆ createCopy()

static SteeringMethodParabolaPtr_t hpp::rbprm::SteeringMethodParabola::createCopy ( const SteeringMethodParabolaPtr_t other)
inlinestatic

Copy instance and return shared pointer.

◆ fiveth_constraint()

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.

◆ getVImpMax()

value_type hpp::rbprm::SteeringMethodParabola::getVImpMax ( )
inline

◆ impl_compute()

virtual core::PathPtr_t hpp::rbprm::SteeringMethodParabola::impl_compute ( core::ConfigurationIn_t  q1,
core::ConfigurationIn_t  q2 
) const
virtual

create a path between two configurations

◆ init()

void hpp::rbprm::SteeringMethodParabola::init ( SteeringMethodParabolaWkPtr_t  weak)
inlineprotected

Store weak pointer to itself.

◆ operator()()

core::PathPtr_t hpp::rbprm::SteeringMethodParabola::operator() ( core::ConfigurationIn_t  q1,
core::ConfigurationIn_t  q2 
) const
inline

◆ third_constraint()

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.


The documentation for this class was generated from the following file: