hpp-core  5.0.0
Implement basic classes for canonical path planning for kinematic chains.
hpp::core::timeParameterization::PiecewisePolynomial< _Order > Class Template Reference

#include <hpp/core/time-parameterization/piecewise-polynomial.hh>

Inheritance diagram for hpp::core::timeParameterization::PiecewisePolynomial< _Order >:
Collaboration diagram for hpp::core::timeParameterization::PiecewisePolynomial< _Order >:

Public Types

enum  { Order = _Order , NbCoeffs = Order + 1 }
 
typedef Eigen::Matrix< value_type, NbCoeffs, Eigen::Dynamic, Eigen::ColMajor > ParameterMatrix_t
 
typedef Eigen::Matrix< value_type, Eigen::Dynamic, 1 > Vector_t
 

Public Member Functions

 PiecewisePolynomial (const ParameterMatrix_t &parameters, const Vector_t &breakpoints)
 
const ParameterMatrix_tparameters () const
 
const std::vector< value_type > & breakpoints () const
 
TimeParameterizationPtr_t copy () const
 
value_type value (const value_type &t) const
 Computes \( \sum_{i=0}^n a_i t^i \). More...
 
value_type derivative (const value_type &t, const size_type &order) const
 Computes \( \sum_{i=1}^n i a_i t^{i-1} \). More...
 
bool polynomialsStartAtZero () const
 
void polynomialsStartAtZero (bool startAtZero)
 See the corresponding getter. More...
 
- Public Member Functions inherited from hpp::core::TimeParameterization
virtual value_type derivativeBound (const value_type &low, const value_type &up) const
 

Member Typedef Documentation

◆ ParameterMatrix_t

template<int _Order>
typedef Eigen::Matrix<value_type, NbCoeffs, Eigen::Dynamic, Eigen::ColMajor> hpp::core::timeParameterization::PiecewisePolynomial< _Order >::ParameterMatrix_t

◆ Vector_t

template<int _Order>
typedef Eigen::Matrix<value_type, Eigen::Dynamic, 1> hpp::core::timeParameterization::PiecewisePolynomial< _Order >::Vector_t

Member Enumeration Documentation

◆ anonymous enum

template<int _Order>
anonymous enum
Enumerator
Order 
NbCoeffs 

Constructor & Destructor Documentation

◆ PiecewisePolynomial()

template<int _Order>
hpp::core::timeParameterization::PiecewisePolynomial< _Order >::PiecewisePolynomial ( const ParameterMatrix_t parameters,
const Vector_t breakpoints 
)
inline

Construct piecewise polynomials of order k and defined by N polynomial.

Parameters
parametersMatrix of polynomials coefficients (size k x N).
breakpointsDomain of the piecewise polynomial, defined by N+1 breakpoints defining the half-open intervals of each polynomial.

Member Function Documentation

◆ breakpoints()

template<int _Order>
const std::vector<value_type>& hpp::core::timeParameterization::PiecewisePolynomial< _Order >::breakpoints ( ) const
inline

◆ copy()

template<int _Order>
TimeParameterizationPtr_t hpp::core::timeParameterization::PiecewisePolynomial< _Order >::copy ( ) const
inlinevirtual

◆ derivative()

template<int _Order>
value_type hpp::core::timeParameterization::PiecewisePolynomial< _Order >::derivative ( const value_type t,
const size_type order 
) const
inlinevirtual

Computes \( \sum_{i=1}^n i a_i t^{i-1} \).

Implements hpp::core::TimeParameterization.

◆ parameters()

template<int _Order>
const ParameterMatrix_t& hpp::core::timeParameterization::PiecewisePolynomial< _Order >::parameters ( ) const
inline

◆ polynomialsStartAtZero() [1/2]

template<int _Order>
bool hpp::core::timeParameterization::PiecewisePolynomial< _Order >::polynomialsStartAtZero ( ) const
inline

Whether the polynomial should be shifted.

If true, when evaluating the polynomials, the initial breakpoint time of a polynomial is substracted. A polynomial defined between \( [ t_k, t_{k+1} [ \) evaluates to \( P(t) = \sum_{i=0}^n a_i (t - t_k)^i \).

This defaults to false.

◆ polynomialsStartAtZero() [2/2]

template<int _Order>
void hpp::core::timeParameterization::PiecewisePolynomial< _Order >::polynomialsStartAtZero ( bool  startAtZero)
inline

See the corresponding getter.

◆ value()

template<int _Order>
value_type hpp::core::timeParameterization::PiecewisePolynomial< _Order >::value ( const value_type t) const
inlinevirtual

Computes \( \sum_{i=0}^n a_i t^i \).

Implements hpp::core::TimeParameterization.


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