29#ifndef HPP_CORE_TIME_PARAMETERIZATION_POLYNOMIAL_HH
30#define HPP_CORE_TIME_PARAMETERIZATION_POLYNOMIAL_HH
32#include <hpp/constraints/differentiable-function.hh>
40namespace timeParameterization {
44 for (
size_type i = 0; i < a.size(); ++i) {
45 assert(a[i] < std::numeric_limits<value_type>::infinity());
46 assert(a[i] > -std::numeric_limits<value_type>::infinity());
84 return max(fabs(Jac(low)), fabs(Jac(up)));
88 const value_type M = max(fabs(Jac(low)), fabs(Jac(up)));
89 if (low < x_m && x_m < up)
90 return max(M, fabs(a[1] - a[2] / 3 * a[3]));
95 throw std::logic_error(
"not implemented");
103 for (
size_type i = 1; i < a.size(); ++i) {
111 value_type Jac(
const value_type& t)
const {
return Jac(t, 1); }
113 value_type Jac(
const value_type& t,
const size_type& order)
const {
114 if (order >= a.size())
return 0;
115 const size_type MaxOrder = 10;
116 if (a.size() > MaxOrder)
117 throw std::invalid_argument(
118 "Cannot compute the derivative of order greater than 10.");
119 typedef path::binomials<MaxOrder> Binomials_t;
120 const Binomials_t::Factorials_t& factors = Binomials_t::factorials();
124 for (size_type i = order; i < a.size(); ++i) {
125 res += value_type(factors[i] / factors[i - order]) * a[i] * tn;
Definition time-parameterization.hh:37
Definition polynomial.hh:41
TimeParameterizationPtr_t copy() const
Definition polynomial.hh:52
value_type value(const value_type &t) const
Computes .
Definition polynomial.hh:57
value_type derivative(const value_type &t, const size_type &order) const
Computes .
Definition polynomial.hh:60
value_type derivativeBound(const value_type &low, const value_type &up) const
Definition polynomial.hh:75
Polynomial(const vector_t ¶m)
Definition polynomial.hh:43
const vector_t & parameters() const
Definition polynomial.hh:50
#define HPP_CORE_DLLAPI
Definition config.hh:88
shared_ptr< TimeParameterization > TimeParameterizationPtr_t
Definition fwd.hh:189
pinocchio::value_type value_type
Definition fwd.hh:174
pinocchio::vector_t vector_t
Definition fwd.hh:220
pinocchio::size_type size_type
Definition fwd.hh:173
Definition bi-rrt-planner.hh:35