hpp-spline  4.10.0
template based classes for creating and manipulating spline and bezier curves. Comes with extra options specific to end-effector trajectories in robotics.
spline::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. Additional constraints are used to increase the order of the last spline, to start and finish trajectory with user defined velocity and acceleration. More...

#include <hpp/spline/spline_deriv_constraint.h>

Inheritance diagram for spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >:
Collaboration diagram for spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >:

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_tspline_t
 
typedef exact_cubic< time_t, Numeric, Dim, Safe, point_t, t_point_texact_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_tspline_constraints
 
- Public Types inherited from spline::exact_cubic< double, double, 3, false, Eigen::Matrix< double, 3, 1 >, std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > >, polynom< double, double, 3, false, Eigen::Matrix< double, 3, 1 >, std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > > > >
typedef Eigen::Matrix< double, 3, 1 > point_t
 
typedef std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > > t_point_t
 
typedef Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
 
typedef double time_t
 
typedef double num_t
 
typedef polynom< double, double, 3, false, Eigen::Matrix< double, 3, 1 >, std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > > > 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< double, double, Dim, Safe, Eigen::Matrix< double, 3, 1 > > curve_abc_t
 
- Public Types inherited from spline::curve_abc< double, double, Dim, Safe, Eigen::Matrix< double, 3, 1 > >
typedef Eigen::Matrix< double, 3, 1 > point_t
 
typedef double time_t
 

Public Member Functions

template<typename In >
 spline_deriv_constraint (In wayPointsBegin, In wayPointsEnd, const spline_constraints &constraints=spline_constraints())
 Constructor. More...
 
virtual ~spline_deriv_constraint ()
 Destructor. More...
 
 spline_deriv_constraint (const spline_deriv_constraint &other)
 Copy Constructor. More...
 
- Public Member Functions inherited from spline::exact_cubic< double, double, 3, false, Eigen::Matrix< double, 3, 1 >, std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > >, polynom< double, double, 3, false, Eigen::Matrix< double, 3, 1 >, std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > > > >
 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
 
virtual num_t max () const
 
- Public Member Functions inherited from spline::curve_abc< double, double, Dim, Safe, Eigen::Matrix< double, 3, 1 > >
 curve_abc ()
 Constructor. More...
 
virtual ~curve_abc ()
 Destructor. More...
 
std::pair< time_t, time_ttimeRange ()
 

Additional Inherited Members

- Public Attributes inherited from spline::exact_cubic< double, double, 3, false, Eigen::Matrix< double, 3, 1 >, std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > >, polynom< double, double, 3, false, Eigen::Matrix< double, 3, 1 >, std::vector< Eigen::Matrix< double, 3, 1 >, Eigen::aligned_allocator< Eigen::Matrix< double, 3, 1 > > > > >
t_spline_t subSplines_
 

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 spline::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

◆ 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 t_spline_t::const_iterator spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::cit_spline_t

◆ 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 exact_cubic<time_t, Numeric, Dim, Safe, point_t, t_point_t> spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::exact_cubic_t

◆ 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 t_spline_t::iterator spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::it_spline_t

◆ 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, 3, 3> spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::Matrix3

◆ 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 Eigen::Matrix<Numeric, Eigen::Dynamic, Eigen::Dynamic> spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::MatrixX

◆ 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 Numeric spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::num_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 Point spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::point_t

◆ 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 curve_constraints<point_t> spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::spline_constraints

◆ 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 polynom<time_t, Numeric, Dim, Safe, point_t, t_point_t> spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::spline_t

◆ 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 T_Point spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::t_point_t

◆ 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 std::vector<spline_t> spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::t_spline_t

◆ time_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 spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::time_t

Constructor & Destructor Documentation

◆ spline_deriv_constraint() [1/2]

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 >
spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::spline_deriv_constraint ( In  wayPointsBegin,
In  wayPointsEnd,
const spline_constraints constraints = spline_constraints() 
)
inline

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

◆ ~spline_deriv_constraint()

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>>
virtual spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::~spline_deriv_constraint ( )
inlinevirtual

Destructor.

◆ spline_deriv_constraint() [2/2]

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>>
spline::spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase >::spline_deriv_constraint ( const spline_deriv_constraint< Time, Numeric, Dim, Safe, Point, T_Point, SplineBase > &  other)
inline

Copy Constructor.


The documentation for this class was generated from the following file: