hpp-core: hpp::core::steeringMethod::Kinodynamic Class Reference

hpp-core 9.0.2 Implement basic classes for canonical path planning for kinematic chains.

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
hpp::core::steeringMethod::Kinodynamic Class Reference
Steering method and distance functions

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

Inheritance diagram for hpp::core::steeringMethod::Kinodynamic:
[legend]
Collaboration diagram for hpp::core::steeringMethod::Kinodynamic:
[legend]

## 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_t & | constraints () 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

  p1 | position at state 1
  p2 | position at state 2
  v1 | velocity at state 1
  v2 | velocity 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

  T | lenght of the trajectory
  p1 | position at state 1
  p2 | position at state 2
  v1 | velocity at state 1
  v2 | velocity at state 2 output :
  a1 | acceleration during first phase
  t1 | time of the first segment
  tv | time of constant velocity segment (can be = 0)
  t2 | time 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:

- include/hpp/core/steering-method/steering-kinodynamic.hh