|
enum | { PolynomeBasis = _PolynomeBasis,
Order = _Order,
NbCoeffs = _Order + 1,
NbPowerOfT = 2 * NbCoeffs + 1
} |
|
typedef internal::sbf_traits< PolynomeBasis, Order > | sbf_traits |
|
typedef internal::spline_basis_function< PolynomeBasis, Order > | BasisFunction_t |
|
typedef Eigen::Matrix< value_type, NbPowerOfT, 1 > | PowersOfT_t |
|
typedef sbf_traits::Coeffs_t | BasisFunctionVector_t |
|
typedef sbf_traits::IntegralCoeffs_t | BasisFunctionIntegralMatrix_t |
|
typedef Eigen::Matrix< value_type, NbCoeffs, Eigen::Dynamic, Eigen::RowMajor > | ParameterMatrix_t |
|
typedef Eigen::Map< const vector_t, Eigen::Aligned > | ConstParameterVector_t |
|
typedef Eigen::Map< vector_t, Eigen::Aligned > | ParameterVector_t |
|
typedef boost::shared_ptr< Spline > | Ptr_t |
|
typedef boost::weak_ptr< Spline > | WkPtr_t |
|
|
size_type | parameterSize () const |
|
void | parameterDerivativeCoefficients (vectorOut_t res, const value_type &t) const |
|
void | parameterIntegrate (vectorIn_t dParam) |
| Adds dParam to the parameters. More...
|
|
value_type | squaredNormIntegral (const size_type order) const |
|
void | squaredNormIntegralDerivative (const size_type order, vectorOut_t res) const |
|
void | basisFunctionDerivative (const size_type order, const value_type &u, BasisFunctionVector_t &res) const |
|
void | basisFunctionDerivative (const size_type order, const value_type &u, vectorOut_t res) const |
|
void | maxVelocity (vectorOut_t res) const |
|
void | squaredNormBasisFunctionIntegral (const size_type order, BasisFunctionIntegralMatrix_t &res) const |
|
void | squaredNormBasisFunctionIntegral (const size_type order, matrixOut_t res) const |
|
virtual Configuration_t | initial () const |
| Get the initial configuration. More...
|
|
virtual Configuration_t | end () const |
| Get the final configuration. More...
|
|
const Configuration_t & | base () const |
|
void | base (const Configuration_t &q) |
|
const ParameterMatrix_t & | parameters () const |
| Each row corresponds to a velocity of the robot. More...
|
|
void | parameters (const ParameterMatrix_t &m) |
|
ConstParameterVector_t | rowParameters () const |
| Concatenate the parameters as one vector (P_0^T, ..., P_n^T). More...
|
|
void | rowParameters (vectorIn_t p) |
| Set the parameters. More...
|
|
PathPtr_t | copy () const |
| Return a shared pointer to a copy of this. More...
|
|
PathPtr_t | copy (const ConstraintSetPtr_t &constraints) const |
|
virtual | ~Spline () |
|
virtual | ~Path () |
| Destructor. More...
|
|
template<class T > |
boost::shared_ptr< T > | as (void) |
| Static cast into a derived type. More...
|
|
template<class T > |
boost::shared_ptr< const T > | as (void) const |
| Static cast into a derived type. More...
|
|
PathPtr_t | extract (const interval_t &subInterval) const |
|
PathPtr_t | extract (const value_type &tmin, const value_type &tmax) const |
|
virtual PathPtr_t | reverse () const |
|
Configuration_t | operator() (const value_type &time) const HPP_CORE_DEPRECATED |
|
Configuration_t | operator() (const value_type &time, bool &success) const |
|
bool | operator() (ConfigurationOut_t result, const value_type &time) const |
|
Configuration_t | eval (const value_type &time, bool &success) const |
|
bool | eval (ConfigurationOut_t result, const value_type &time) const |
|
bool | at (const value_type &time, ConfigurationOut_t result) const |
| Get the configuration at a parameter without applying the constraints. More...
|
|
void | derivative (vectorOut_t result, const value_type &time, size_type order) const |
|
void | velocityBound (vectorOut_t result, const value_type &t0, const value_type &t1) const |
|
size_type | outputSize () const |
| Get size of configuration space. More...
|
|
size_type | outputDerivativeSize () const |
| Get size of velocity. More...
|
|
const interval_t & | timeRange () const |
| Get interval of definition. More...
|
|
virtual value_type | length () const |
| Get length of definition interval. More...
|
|
const ConstraintSetPtr_t & | constraints () const |
| Get constraints the path is subject to. More...
|
|
const interval_t & | paramRange () const |
|
void | timeParameterization (const TimeParameterizationPtr_t &tp, const interval_t &tr) |
| Set the time parameterization function. More...
|
|
|
| Spline (const DevicePtr_t &robot, const interval_t &interval, const ConstraintSetPtr_t &constraints) |
|
| Spline (const Spline &path) |
|
| Spline (const Spline &path, const ConstraintSetPtr_t &constraints) |
|
void | init (const Ptr_t &self) |
|
std::ostream & | print (std::ostream &os) const |
|
bool | impl_compute (ConfigurationOut_t configuration, value_type t) const |
| Function evaluation without applying constraints. More...
|
|
void | impl_derivative (vectorOut_t res, const value_type &t, size_type order) const |
|
void | impl_paramDerivative (vectorOut_t res, const value_type &t) const |
|
void | impl_paramIntegrate (vectorIn_t dParam) |
|
void | impl_velocityBound (vectorOut_t result, const value_type &t0, const value_type &t1) const |
|
| Path (const interval_t &interval, size_type outputSize, size_type outputDerivativeSize, const ConstraintSetPtr_t &constraints) |
|
| Path (const interval_t &interval, size_type outputSize, size_type outputDerivativeSize) |
|
| Path (const Path &path) |
| Copy constructor. More...
|
|
| Path (const Path &path, const ConstraintSetPtr_t &constraints) |
| Copy constructor with constraints. More...
|
|
void | init (const PathWkPtr_t &self) |
|
void | constraints (const ConstraintSetPtr_t &constraint) |
|
virtual void | checkPath () const |
| Should be called by child classes after having init. More...
|
|
void | timeRange (const interval_t &timeRange) |
|
const TimeParameterizationPtr_t & | timeParameterization () const |
|
value_type | paramLength () const |
|
Configuration_t | configAtParam (const value_type ¶m, bool &success) const |
|
virtual PathPtr_t | impl_extract (const interval_t ¶mInterval) const |
| Virtual implementation of extract. More...
|
|
template<int _PolynomeBasis, int _Order>
class hpp::core::path::Spline< _PolynomeBasis, _Order >
Base class for spline paths
Splines are polynomials with various possible representations.
- Parameters
-
_PolynomeBasis | basis of polynomials used among
- CanonicalPolynomeBasis for the canonical basis,
- BernsteinBasis for Bernstein basis
|
_Order | degree of the polynomial representation. |
- See also
- hpp::core::path::PolynomeBasisType.
Splines represent a curve in the tangent space of a given robot (hpp::core::Device) at a configuration called base.
\begin{eqnarray*} spline (u) &=& base + PM^{T} B (u) \end{eqnarray*}
where*
- \(u\in [0,1]\),
- operator "+" should be understood as Lie group integration,
- \(PM\) is the matrix of parameters the rows of which are the spline control points. This matrix is accessible via setter and getter Spline::parameters,
- \(B (t)\) is the vector containing the values of the basis functions at parameter \(t\).
The dimension of control points, corresponding to the robot number of degrees of freedom can be retrieved by getter Spline::parameterSize.
template<int _PolynomeBasis, int _Order>
The partial derivative with respects to the parameters is of the form
\begin{eqnarray*} \frac{\partial S}{\partial p_{k}} (q, p, t) &=& B_k(t) \times I \\ \frac{\partial S}{\partial q_{base}} (q, p, t) &=& I \end{eqnarray*}
This method returns the coefficients \( (B_k(t))_{k} \)