hpp-core 5.1.0
Implement basic classes for canonical path planning for kinematic chains.
Loading...
Searching...
No Matches
hpp::core::steeringMethod::Kinodynamic Class Reference

#include <hpp/core/steering-method/steering-kinodynamic.hh>

Inheritance diagram for hpp::core::steeringMethod::Kinodynamic:
Collaboration diagram for hpp::core::steeringMethod::Kinodynamic:

Public Member Functions

virtual SteeringMethodPtr_t copy () const
 Copy instance and return shared pointer.
 
virtual PathPtr_t impl_compute (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 create a path between two configurations
 
double computeMinTime (int index, double p1, double p2, double v1, double v2, interval_t *infInterval) const
 computeMinTime compute the minimum time required to go from state (p1,v1) to (p2,v2)
 
virtual void fixedTimeTrajectory (int index, double T, double p1, double p2, double v1, double v2, double *a1, double *t0, double *t1, double *tv, double *t2, double *vLim) const
 fixedTimeTrajectory compute the minimum acceleration trajectory for desired time T (1 dimension)
 
void setAmax (Vector3 aMax)
 
void setVmax (Vector3 vMax)
 
- Public Member Functions inherited from hpp::core::SteeringMethod
PathPtr_t operator() (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
PathPtr_t steer (ConfigurationIn_t q1, ConfigurationIn_t q2) const
 
virtual ~SteeringMethod ()
 
ProblemConstPtr_t problem () const
 
void constraints (const ConstraintSetPtr_t &constraints)
 Set constraint set.
 
const ConstraintSetPtr_tconstraints () const
 Get constraint set.
 

Static Public Member Functions

static KinodynamicPtr_t create (const ProblemConstPtr_t &problem)
 Create an instance.
 
static KinodynamicPtr_t createCopy (const KinodynamicPtr_t &other)
 Copy instance and return shared pointer.
 

Protected Member Functions

 Kinodynamic (const ProblemConstPtr_t &problem)
 Constructor.
 
 Kinodynamic (const Kinodynamic &other)
 Copy constructor.
 
void init (KinodynamicWkPtr_t weak)
 Store weak pointer to itself.
 
- Protected Member Functions inherited from hpp::core::SteeringMethod
 SteeringMethod (const ProblemConstPtr_t &problem)
 Constructor.
 
 SteeringMethod (const SteeringMethod &other)
 
void init (SteeringMethodWkPtr_t weak)
 Store weak pointer to itself.
 

Protected Attributes

Vector3 aMax_
 
Vector3 vMax_
 
double aMaxFixed_
 
double aMaxFixed_Z_
 
bool synchronizeVerticalAxis_
 
bool orientedPath_
 
bool orientationIgnoreZValue_
 

Detailed Description

Steering method that creates KinodynamicPath instances. It produce a "bang-bang" trajectory connecting exactly the two given state (position and velocity) which respect velocity and acceleration bounds defined by the user (see Problem parameters : Kinodynamic/velocityBound and Kinodynamic/accelerationBound)

Implementation based on the equation of the article https://ieeexplore.ieee.org/document/6943083

Constructor & Destructor Documentation

◆ Kinodynamic() [1/2]

hpp::core::steeringMethod::Kinodynamic::Kinodynamic ( const ProblemConstPtr_t & problem)
protected

Constructor.

◆ Kinodynamic() [2/2]

hpp::core::steeringMethod::Kinodynamic::Kinodynamic ( const Kinodynamic & other)
protected

Copy constructor.

Member Function Documentation

◆ computeMinTime()

double hpp::core::steeringMethod::Kinodynamic::computeMinTime ( int index,
double p1,
double p2,
double v1,
double v2,
interval_t * infInterval ) const

computeMinTime compute the minimum time required to go from state (p1,v1) to (p2,v2)

Parameters
p1position at state 1
p2position at state 2
v1velocity at state 1
v2velocity at state 2
infInterval: infeasible interval
Returns
T the minimal time

◆ copy()

virtual SteeringMethodPtr_t hpp::core::steeringMethod::Kinodynamic::copy ( ) const
inlinevirtual

Copy instance and return shared pointer.

Implements hpp::core::SteeringMethod.

◆ create()

static KinodynamicPtr_t hpp::core::steeringMethod::Kinodynamic::create ( const ProblemConstPtr_t & problem)
inlinestatic

Create an instance.

◆ createCopy()

static KinodynamicPtr_t hpp::core::steeringMethod::Kinodynamic::createCopy ( const KinodynamicPtr_t & other)
inlinestatic

Copy instance and return shared pointer.

◆ fixedTimeTrajectory()

virtual void hpp::core::steeringMethod::Kinodynamic::fixedTimeTrajectory ( int index,
double T,
double p1,
double p2,
double v1,
double v2,
double * a1,
double * t0,
double * t1,
double * tv,
double * t2,
double * vLim ) const
virtual

fixedTimeTrajectory compute the minimum acceleration trajectory for desired time T (1 dimension)

Parameters
Tlenght of the trajectory
p1position at state 1
p2position at state 2
v1velocity at state 1
v2velocity at state 2 output :
a1acceleration during first phase
t1time of the first segment
tvtime of constant velocity segment (can be = 0)
t2time of the last segment
Returns
T the minimal time

◆ impl_compute()

virtual PathPtr_t hpp::core::steeringMethod::Kinodynamic::impl_compute ( ConfigurationIn_t q1,
ConfigurationIn_t q2 ) const
virtual

create a path between two configurations

Implements hpp::core::SteeringMethod.

◆ init()

void hpp::core::steeringMethod::Kinodynamic::init ( KinodynamicWkPtr_t weak)
inlineprotected

Store weak pointer to itself.

◆ setAmax()

void hpp::core::steeringMethod::Kinodynamic::setAmax ( Vector3 aMax)
inline

◆ setVmax()

void hpp::core::steeringMethod::Kinodynamic::setVmax ( Vector3 vMax)
inline

Member Data Documentation

◆ aMax_

Vector3 hpp::core::steeringMethod::Kinodynamic::aMax_
protected

◆ aMaxFixed_

double hpp::core::steeringMethod::Kinodynamic::aMaxFixed_
protected

◆ aMaxFixed_Z_

double hpp::core::steeringMethod::Kinodynamic::aMaxFixed_Z_
protected

◆ orientationIgnoreZValue_

bool hpp::core::steeringMethod::Kinodynamic::orientationIgnoreZValue_
protected

◆ orientedPath_

bool hpp::core::steeringMethod::Kinodynamic::orientedPath_
protected

◆ synchronizeVerticalAxis_

bool hpp::core::steeringMethod::Kinodynamic::synchronizeVerticalAxis_
protected

◆ vMax_

Vector3 hpp::core::steeringMethod::Kinodynamic::vMax_
protected

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