Represents a polynomf arbitrary order defined on the interval [tBegin, tEnd]. It follows the equation x(t) = a + b(t - t_min_) + ... + d(t - t_min_)^N, where N is the order.
More...
|
| polynom (const coeff_t &coefficients, const time_t min, const time_t max) |
| Constructor. More...
|
|
| polynom (const T_Point &coefficients, const time_t min, const time_t max) |
| Constructor. More...
|
|
template<typename In > |
| polynom (In zeroOrderCoefficient, In out, const time_t min, const time_t max) |
| Constructor. More...
|
|
| ~polynom () |
| Destructor. More...
|
|
| polynom (const polynom &other) |
|
virtual point_t | operator() (const time_t t) const |
| Evaluation of the cubic spline at time t using horner's scheme. More...
|
|
virtual point_t | derivate (const time_t t, const std::size_t order) const |
| Evaluation of the derivative spline at time t. More...
|
|
virtual num_t | min () const |
| Returns the minimum time for wich curve is defined. More...
|
|
virtual num_t | max () const |
| Returns the maximum time for wich curve is defined. More...
|
|
| curve_abc () |
| Constructor. More...
|
|
virtual | ~curve_abc () |
| Destructor. More...
|
|
virtual point_t | operator() (const time_t t) const=0 |
| Evaluation of the cubic spline at time t. More...
|
|
virtual point_t | derivate (const time_t t, const std::size_t order) const=0 |
| Evaluation of the derivative spline at time t. More...
|
|
virtual time_t | min () const=0 |
| Returns the minimum time for wich curve is defined. More...
|
|
virtual time_t | max () const=0 |
| Returns the maximum time for wich curve is defined. More...
|
|
std::pair< time_t, time_t > | timeRange () |
|
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
class spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >
Represents a polynomf arbitrary order defined on the interval [tBegin, tEnd]. It follows the equation x(t) = a + b(t - t_min_) + ... + d(t - t_min_)^N, where N is the order.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
typedef Eigen::Matrix<double, Dim, Eigen::Dynamic> spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::coeff_t |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
Constructor.
- Parameters
-
coefficients | : a reference to an Eigen matrix where each column is a coefficient, from the zero order coefficient, up to the highest order. Spline order is given by the number of the columns -1. |
min | LOWER bound on interval definition of the spline |
max | UPPER bound on interval definition of the spline |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
Constructor.
- Parameters
-
coefficients | : a container containing all coefficients of the spline, starting with the zero order coefficient, up to the highest order. Spline order is given by the size of the coefficients |
min | LOWER bound on interval definition of the spline |
max | UPPER bound on interval definition of the spline |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
template<typename In >
Constructor.
- Parameters
-
zeroOrderCoefficient | : an iterator pointing to the first element of a structure containing the coefficients it corresponds to the zero degree coefficient |
out | : an iterator pointing to the last element of a structure ofcoefficients |
min | LOWER bound on interval definition of the spline |
max | UPPER bound on interval definition of the spline |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::polynom |
( |
const polynom< Time, Numeric, Dim, Safe, Point, T_Point > & |
other | ) |
|
|
inline |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
Evaluation of the derivative spline at time t.
- Parameters
-
t | : the time when to evaluate the spline |
order | : order of the derivative |
return | : the value x(t) |
References spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::coefficients_, and spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::order_.
Referenced by spline::helpers::compute_required_offset_velocity_acceleration().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
Returns the maximum time for wich curve is defined.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
Evaluation of the cubic spline at time t using horner's scheme.
- Parameters
-
t | : the time when to evaluate the spine |
return | : the value x(t) |
References spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::coefficients_, and spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::order_.
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
Referenced by spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::derivate(), and spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::operator()().
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
std::size_t spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::dim_ |
template<typename Time = double, typename Numeric = Time, std::size_t Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>, typename T_Point = std::vector<Point, Eigen::aligned_allocator<Point> >>
std::size_t spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::order_ |
Referenced by spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::derivate(), and spline::polynom< Time, Numeric, Dim, Safe, Point, T_Point >::operator()().