All Classes Namespaces Files Functions Variables Typedefs
curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase > Class Template Reference

Represents a set of cubic splines defining a continuous function crossing each of the waypoint given in its initialization. More...

#include <curve/spline_deriv_constraint.h>

Inheritance diagram for curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >:
[legend]
Collaboration diagram for curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >:
[legend]

Public Types

typedef Point point_t
 
typedef T_Point t_point_t
 
typedef Eigen::Matrix< Numeric,
Eigen::Dynamic, Eigen::Dynamic > 
MatrixX
 
typedef Eigen::Matrix< Numeric, 3, 3 > Matrix3
 
typedef Time time_t
 
typedef Numeric num_t
 
typedef polynom< time_t,
Numeric, Dim, Safe, point_t,
t_point_t
spline_t
 
typedef exact_cubic< time_t,
Numeric, Dim, Safe, point_t,
t_point_t
exact_cubic_t
 
typedef std::vector< spline_tt_spline_t
 
typedef t_spline_t::iterator it_spline_t
 
typedef t_spline_t::const_iterator cit_spline_t
 
typedef curve_constraints
< point_t
spline_constraints
 
- Public Types inherited from curve::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >
typedef Point point_t
 
typedef T_Point t_point_t
 
typedef Eigen::Matrix< Numeric,
Eigen::Dynamic, Eigen::Dynamic > 
MatrixX
 
typedef Time time_t
 
typedef Numeric num_t
 
typedef SplineBase spline_t
 
typedef std::vector< spline_tt_spline_t
 
typedef t_spline_t::iterator it_spline_t
 
typedef t_spline_t::const_iterator cit_spline_t
 
typedef curve_abc< Time,
Numeric, Dim, Safe, Point > 
curve_abc_t
 
- Public Types inherited from curve::curve_abc< Time, Numeric, Dim, Safe, Point >
typedef Point point_t
 
typedef Time time_t
 

Public Attributes

template<typename In >
 __pad0__: exact_cubic_t(computeWayPoints<In>(wayPointsBegin
 Constructor. More...
 
template<typename In >
 wayPointsEnd
 
- Public Attributes inherited from curve::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >
t_spline_t subSplines_
 

Additional Inherited Members

- Public Member Functions inherited from curve::exact_cubic< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >
template<typename In >
 exact_cubic (In wayPointsBegin, In wayPointsEnd)
 Constructor. More...
 
 exact_cubic (const t_spline_t &subSplines)
 Constructor. More...
 
 exact_cubic (const exact_cubic &other)
 Copy Constructor. More...
 
virtual ~exact_cubic ()
 Destructor. More...
 
virtual point_t operator() (const time_t t) const
 Evaluation of the cubic spline at time t. 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...
 
- Public Member Functions inherited from curve::curve_abc< Time, Numeric, Dim, Safe, Point >
 curve_abc ()
 Constructor. More...
 
virtual ~curve_abc ()
 Destructor. More...
 
std::pair< time_t, time_ttimeRange ()
 

Detailed Description

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
class curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >

Represents a set of cubic splines defining a continuous function crossing each of the waypoint given in its initialization.

Additional constraints are used to increase the order of the last spline, to start and finish trajectory with user defined velocity and acceleration.

Member Typedef Documentation

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef t_spline_t::const_iterator curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::cit_spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef exact_cubic<time_t, Numeric, Dim, Safe, point_t, t_point_t> curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::exact_cubic_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef t_spline_t::iterator curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::it_spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Eigen::Matrix<Numeric, 3, 3> curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::Matrix3
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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Eigen::Matrix<Numeric, Eigen::Dynamic, Eigen::Dynamic> curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::MatrixX
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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Numeric curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::num_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Point curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::point_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef curve_constraints<point_t> curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::spline_constraints
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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef polynom<time_t, Numeric, Dim, Safe, point_t, t_point_t> curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef T_Point curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::t_point_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef std::vector<spline_t> curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::t_spline_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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
typedef Time curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::time_t

Member Data Documentation

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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
template<typename In >
curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::__pad0__

Constructor.

Parameters
wayPointsBegin: an iterator pointing to the first element of a waypoint container
wayPointsEnd: an iterator pointing to the end of a waypoint container
constraints: constraints on the init and end velocity / accelerations 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> >, typename SplineBase = polynom<Time, Numeric, Dim, Safe, Point, T_Point>>
template<typename In >
curve::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::wayPointsEnd