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.
|
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) |
|
inline |
Computes a binomal coefficient.
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 | ||
) |
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 | ||
) |
|
inline |
Computes factorial of a number.
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
bezier | the Bezier curve to be converted from |
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.
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.
std::vector<Bern<Numeric> > spline::makeBernstein | ( | const unsigned int | n | ) |
Computes all Bernstein polynomes for a certain degree.
void spline::PseudoInverse | ( | _Matrix_Type_ & | pinvmat | ) |