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()().