utils::CubicHermitePolynomial< T > Struct Template Reference

Cubic Hermite polynomial. More...

#include <lipm_walking/utils/polynomials.h>

Inheritance diagram for utils::CubicHermitePolynomial< T >:
utils::CubicPolynomial< T > utils::CubicPolynomialBase< T > utils::PolynomialBase< T > utils::HoubaPolynomial< T >

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW CubicHermitePolynomial ()
 Empty constructor. More...
 
 CubicHermitePolynomial (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 &targetPos, const T &targetVel)
 Reset boundaries. More...
 
void reset (const T &initPos, const T &targetPos)
 Reset boundaries with zero tangents. More...
 
virtual void reset ()
 Reset underlying cubic polynomial coefficients. More...
 
- Public Member Functions inherited from utils::CubicPolynomial< T >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW T zero ()
 Return T's zero. More...
 
 CubicPolynomial ()
 Empty constructor. More...
 
- Public Member Functions inherited from utils::CubicPolynomialBase< T >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW CubicPolynomialBase (const T &C0, const T &C1, const T &C2, const T &C3)
 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_
 
targetPos_
 
targetVel_
 
- Protected Attributes inherited from utils::CubicPolynomialBase< T >
C0_
 
C1_
 
C2_
 
C3_
 

Detailed Description

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

Cubic Hermite polynomial.

Definition at line 251 of file polynomials.h.

Constructor & Destructor Documentation

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

Empty constructor.

Definition at line 258 of file polynomials.h.

template<typename T>
utils::CubicHermitePolynomial< T >::CubicHermitePolynomial ( 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 274 of file polynomials.h.

Member Function Documentation

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

Reset boundaries.

Parameters
initPosInitial position.
initVelInitial tangent vector.
targetPosTarget position.
targetVelTarget tangent vector.

Definition at line 290 of file polynomials.h.

template<typename T>
void utils::CubicHermitePolynomial< 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 306 of file polynomials.h.

template<typename T>
virtual void utils::CubicHermitePolynomial< T >::reset ( )
inlinevirtual

Reset underlying cubic polynomial coefficients.

Reimplemented in utils::HoubaPolynomial< T >, and utils::HoubaPolynomial< Eigen::Vector2d >.

Definition at line 318 of file polynomials.h.

Member Data Documentation

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

Definition at line 327 of file polynomials.h.

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

Definition at line 328 of file polynomials.h.

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

Definition at line 329 of file polynomials.h.

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

Definition at line 330 of file polynomials.h.