utils::QuinticHermitePolynomial< T > Struct Template Reference

Quintic polynomial with zero velocity and zero acceleration at 0 and 1. More...

#include <lipm_walking/utils/polynomials.h>

Inheritance diagram for utils::QuinticHermitePolynomial< T >:
utils::QuinticPolynomial< T > utils::QuinticPolynomialBase< T > utils::PolynomialBase< T >

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW QuinticHermitePolynomial ()
 Empty constructor. More...
 
 QuinticHermitePolynomial (const T &initPos, const T &initVel, const T &targetPos, const T &targetVel)
 Build a new cubic Hermite polynomial. More...
 
void reset (const T &initPos, const T &initVel, const T &initAccel, const T &targetPos, const T &targetVel, const T &targetAccel)
 Reset boundary values. More...
 
void reset (const T &initPos, const T &initVel, const T &targetPos, const T &targetVel)
 Reset boundaries with zero boundary velocities. More...
 
void reset (const T &initPos, const T &targetPos)
 Reset boundaries with zero tangents. More...
 
void reset ()
 Reset underlying cubic polynomial coefficients. More...
 
- Public Member Functions inherited from utils::QuinticPolynomial< T >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW T zero ()
 Return T's zero. More...
 
 QuinticPolynomial ()
 Empty constructor. More...
 
- Public Member Functions inherited from utils::QuinticPolynomialBase< T >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW QuinticPolynomialBase (const T &C0, const T &C1, const T &C2, const T &C3, const T &C4, const T &C5)
 Build a new curve from its monomial vector coefficients. More...
 
pos (double t) const
 Get the value of the polynomial at time t. More...
 
vel (double t) const
 Get the value of the first-order derivative (velocity) at time t. More...
 
accel (double t) const
 Get the value of the second-order derivative (acceleration) at time t. More...
 
- Public Member Functions inherited from utils::PolynomialBase< T >
tangent (double t) const
 Get the value of the tangent vector at time t. More...
 
double arcLength (double t_start, double t_end) const
 Compute the arc length between two points of the polynomial curve. More...
 
double arcLengthInverse (double t_start, double length, double t_guess=-1.) const
 Inverse of the arc length function. More...
 

Protected Attributes

initPos_
 
initVel_
 
initAccel_
 
targetPos_
 
targetVel_
 
targetAccel_
 
- Protected Attributes inherited from utils::QuinticPolynomialBase< T >
C0_
 
C1_
 
C2_
 
C3_
 
C4_
 
C5_
 

Detailed Description

template<typename T>
struct utils::QuinticHermitePolynomial< T >

Quintic polynomial with zero velocity and zero acceleration at 0 and 1.

Definition at line 532 of file polynomials.h.

Constructor & Destructor Documentation

template<typename T>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW utils::QuinticHermitePolynomial< T >::QuinticHermitePolynomial ( )
inline

Empty constructor.

Definition at line 539 of file polynomials.h.

template<typename T>
utils::QuinticHermitePolynomial< T >::QuinticHermitePolynomial ( const T &  initPos,
const T &  initVel,
const T &  targetPos,
const T &  targetVel 
)
inline

Build a new cubic Hermite polynomial.

Parameters
initPosPosition at t=0.
initVelVelocity at t=0.
targetPosPosition at t=1.
targetVelVelocity at t=1.

Definition at line 555 of file polynomials.h.

Member Function Documentation

template<typename T>
void utils::QuinticHermitePolynomial< T >::reset ( const T &  initPos,
const T &  initVel,
const T &  initAccel,
const T &  targetPos,
const T &  targetVel,
const T &  targetAccel 
)
inline

Reset boundary values.

Parameters
initPosPosition at t=0.
initVelVelocity at t=0.
initAccelAcceleration at t=0.
targetPosPosition at t=1.
targetVelVelocity at t=1.
targetAccelAcceleration at t=1.

Definition at line 575 of file polynomials.h.

template<typename T>
void utils::QuinticHermitePolynomial< T >::reset ( const T &  initPos,
const T &  initVel,
const T &  targetPos,
const T &  targetVel 
)
inline

Reset boundaries with zero boundary velocities.

Parameters
initPosPosition at t=0.
initVelVelocity at t=0.
targetPosPosition at t=1.
targetVelVelocity at t=1.

Definition at line 602 of file polynomials.h.

template<typename T>
void utils::QuinticHermitePolynomial< T >::reset ( const T &  initPos,
const T &  targetPos 
)
inline

Reset boundaries with zero tangents.

Parameters
initPosPosition at t=0.
targetPosPosition at t=1.

Definition at line 620 of file polynomials.h.

template<typename T>
void utils::QuinticHermitePolynomial< T >::reset ( )
inline

Reset underlying cubic polynomial coefficients.

Definition at line 634 of file polynomials.h.

Member Data Documentation

template<typename T>
T utils::QuinticHermitePolynomial< T >::initAccel_
protected

Definition at line 651 of file polynomials.h.

template<typename T>
T utils::QuinticHermitePolynomial< T >::initPos_
protected

Definition at line 649 of file polynomials.h.

template<typename T>
T utils::QuinticHermitePolynomial< T >::initVel_
protected

Definition at line 650 of file polynomials.h.

template<typename T>
T utils::QuinticHermitePolynomial< T >::targetAccel_
protected

Definition at line 654 of file polynomials.h.

template<typename T>
T utils::QuinticHermitePolynomial< T >::targetPos_
protected

Definition at line 652 of file polynomials.h.

template<typename T>
T utils::QuinticHermitePolynomial< T >::targetVel_
protected

Definition at line 653 of file polynomials.h.