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 Namespace Reference

Namespaces

 helpers
 

Classes

struct  Bern
 
struct  bezier_curve
 
struct  curve_abc
 Represents a curve of dimension Dim is Safe is false, no verification is made on the evaluation of the curve. More...
 
struct  curve_constraints
 
struct  exact_cubic
 
class  polynom
 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...
 
class  spline_deriv_constraint
 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...
 
class  SplineOptimizer
 Mosek connection to produce optimized splines. More...
 

Functions

unsigned int fact (const unsigned int n)
 Computes factorial of a number. More...
 
unsigned int bin (const unsigned int n, const unsigned int k)
 Computes a binomal coefficient. More...
 
template<typename Numeric >
std::vector< Bern< Numeric > > makeBernstein (const unsigned int n)
 Computes all Bernstein polynomes for a certain degree. More...
 
template<typename Bezier , typename Polynom >
Polynom from_bezier (const Bezier &curve)
 Provides methods for converting a curve from a bernstein representation to a polynom representation. More...
 
template<typename Point , typename T_Point >
T_Point make_cubic_vector (Point const &a, Point const &b, Point const &c, Point const &d)
 Creates coefficient vector of a cubic spline defined on the interval [tBegin, tEnd]. It follows the equation x(t) = a + b(t - t_min_) + c(t - t_min_)^2 + d(t - t_min_)^3. More...
 
template<typename Time , typename Numeric , std::size_t Dim, bool Safe, typename Point , typename T_Point >
polynom< Time, Numeric, Dim, Safe, Point, T_Point > create_cubic (Point const &a, Point const &b, Point const &c, Point const &d, const Time min, const Time max)
 
template<typename _Matrix_Type_ >
void PseudoInverse (_Matrix_Type_ &pinvmat)
 
template<typename Point , typename T_Point >
T_Point make_quintic_vector (Point const &a, Point const &b, Point const &c, Point const &d, Point const &e, Point const &f)
 Creates coefficient vector of a quintic spline defined on the interval [tBegin, tEnd]. It follows the equation x(t) = a + b(t - t_min_) + c(t - t_min_)^2 + d(t - t_min_)^3 + e(t - t_min_)^4 + f(t - t_min_)^5. More...
 
template<typename Time , typename Numeric , std::size_t Dim, bool Safe, typename Point , typename T_Point >
polynom< Time, Numeric, Dim, Safe, Point, T_Point > create_quintic (Point const &a, Point const &b, Point const &c, Point const &d, Point const &e, Point const &f, const Time min, const Time max)
 

Function Documentation

◆ bin()

unsigned int spline::bin ( const unsigned int  n,
const unsigned int  k 
)
inline

Computes a binomal coefficient.

◆ create_cubic()

template<typename Time , typename Numeric , std::size_t Dim, bool Safe, typename Point , typename T_Point >
polynom<Time, Numeric, Dim, Safe, Point, T_Point> spline::create_cubic ( Point const &  a,
Point const &  b,
Point const &  c,
Point const &  d,
const Time  min,
const Time  max 
)

◆ create_quintic()

template<typename Time , typename Numeric , std::size_t Dim, bool Safe, typename Point , typename T_Point >
polynom<Time, Numeric, Dim, Safe, Point, T_Point> spline::create_quintic ( Point const &  a,
Point const &  b,
Point const &  c,
Point const &  d,
Point const &  e,
Point const &  f,
const Time  min,
const Time  max 
)

◆ fact()

unsigned int spline::fact ( const unsigned int  n)
inline

Computes factorial of a number.

◆ from_bezier()

template<typename Bezier , typename Polynom >
Polynom spline::from_bezier ( const Bezier &  curve)

Provides methods for converting a curve from a bernstein representation to a polynom representation.

Converts a Bezier curve to a polynom

Parameters
bezierthe Bezier curve to be converted from
Returns
the equivalent polynom

◆ make_cubic_vector()

template<typename Point , typename T_Point >
T_Point spline::make_cubic_vector ( Point const &  a,
Point const &  b,
Point const &  c,
Point const &  d 
)

Creates coefficient vector of a cubic spline defined on the interval [tBegin, tEnd]. It follows the equation x(t) = a + b(t - t_min_) + c(t - t_min_)^2 + d(t - t_min_)^3.

◆ make_quintic_vector()

template<typename Point , typename T_Point >
T_Point spline::make_quintic_vector ( Point const &  a,
Point const &  b,
Point const &  c,
Point const &  d,
Point const &  e,
Point const &  f 
)

Creates coefficient vector of a quintic spline defined on the interval [tBegin, tEnd]. It follows the equation x(t) = a + b(t - t_min_) + c(t - t_min_)^2 + d(t - t_min_)^3 + e(t - t_min_)^4 + f(t - t_min_)^5.

◆ makeBernstein()

template<typename Numeric >
std::vector<Bern<Numeric> > spline::makeBernstein ( const unsigned int  n)

Computes all Bernstein polynomes for a certain degree.

◆ PseudoInverse()

template<typename _Matrix_Type_ >
void spline::PseudoInverse ( _Matrix_Type_ &  pinvmat)