utils::HoubaPolynomial< T > Struct Template Reference

Hermite polynomial with Overall Uniformly-Bounded Accelerations (HOUBA). More...

#include <lipm_walking/utils/polynomials.h>

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

Public Member Functions

void reset () override
 Rescale boundary velocities, then reset as Hermite polynomial. More...
 
double extraInitVelScaling ()
 Get extra initial velocity scaling. More...
 
void extraInitVelScaling (double scaling)
 Add extra initial velocity scaling to the HOUBA one. More...
 
double extraTargetVelScaling ()
 Get extra target velocity scaling. More...
 
void extraTargetVelScaling (double scaling)
 Add extra target velocity scaling to the HOUBA one. More...
 
- Public Member Functions inherited from utils::CubicHermitePolynomial< T >
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...
 
- 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

double extraInitVelScaling_ = 1.0
 
double extraTargetVelScaling_ = 1.0
 
- Protected Attributes inherited from utils::CubicHermitePolynomial< T >
initPos_
 
initVel_
 
targetPos_
 
targetVel_
 
- Protected Attributes inherited from utils::CubicPolynomialBase< T >
C0_
 
C1_
 
C2_
 
C3_
 

Detailed Description

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

Hermite polynomial with Overall Uniformly-Bounded Accelerations (HOUBA).

Note
See https://hal.archives-ouvertes.fr/hal-01363757/document for details on the definition and derivation of these polynomials.

Definition at line 340 of file polynomials.h.

Member Function Documentation

template<typename T>
double utils::HoubaPolynomial< T >::extraInitVelScaling ( )
inline

Get extra initial velocity scaling.

Definition at line 383 of file polynomials.h.

template<typename T>
void utils::HoubaPolynomial< T >::extraInitVelScaling ( double  scaling)
inline

Add extra initial velocity scaling to the HOUBA one.

Definition at line 391 of file polynomials.h.

template<typename T>
double utils::HoubaPolynomial< T >::extraTargetVelScaling ( )
inline

Get extra target velocity scaling.

Definition at line 399 of file polynomials.h.

template<typename T>
void utils::HoubaPolynomial< T >::extraTargetVelScaling ( double  scaling)
inline

Add extra target velocity scaling to the HOUBA one.

Definition at line 407 of file polynomials.h.

template<typename T>
void utils::HoubaPolynomial< T >::reset ( )
inlineoverridevirtual

Rescale boundary velocities, then reset as Hermite polynomial.

Reimplemented from utils::CubicHermitePolynomial< T >.

Definition at line 353 of file polynomials.h.

Member Data Documentation

template<typename T>
double utils::HoubaPolynomial< T >::extraInitVelScaling_ = 1.0
protected

Definition at line 413 of file polynomials.h.

template<typename T>
double utils::HoubaPolynomial< T >::extraTargetVelScaling_ = 1.0
protected

Definition at line 414 of file polynomials.h.