spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point > Class Template Reference

Mosek connection to produce optimized splines. More...

#include <parametric-curves/optimization/OptimizeSpline.h>

Public Types

typedef Eigen::Matrix< Numeric, Eigen::Dynamic, Eigen::Dynamic > MatrixX
 
typedef Point point_t
 
typedef Time time_t
 
typedef Numeric num_t
 
typedef exact_cubic< time_t, Numeric, Dim, Safe, Point > exact_cubic_t
 
typedef SplineOptimizer< time_t, Numeric, Dim, Safe, Point > splineOptimizer_t
 

Public Member Functions

 SplineOptimizer ()
 Initializes optimizer environment. More...
 
 ~SplineOptimizer ()
 Destructor. More...
 
template<typename In >
exact_cubic_tGenerateOptimizedCurve (In wayPointsBegin, In wayPointsEnd) const
 Starts an optimization loop to create curve. More...
 
template<typename In >
exact_cubic< Time, Numeric, Dim, Safe, Point > * GenerateOptimizedCurve (In wayPointsBegin, In wayPointsEnd) const
 

Detailed Description

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
class spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >

Mosek connection to produce optimized splines.

Member Typedef Documentation

◆ exact_cubic_t

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
typedef exact_cubic<time_t, Numeric, Dim, Safe, Point> spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::exact_cubic_t

◆ MatrixX

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
typedef Eigen::Matrix<Numeric, Eigen::Dynamic, Eigen::Dynamic> spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::MatrixX

◆ num_t

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
typedef Numeric spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::num_t

◆ point_t

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
typedef Point spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::point_t

◆ splineOptimizer_t

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
typedef SplineOptimizer<time_t, Numeric, Dim, Safe, Point> spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::splineOptimizer_t

◆ time_t

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
typedef Time spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::time_t

Constructor & Destructor Documentation

◆ SplineOptimizer()

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::SplineOptimizer ( )
inline

Initializes optimizer environment.

◆ ~SplineOptimizer()

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::~SplineOptimizer ( )
inline

Destructor.

Member Function Documentation

◆ GenerateOptimizedCurve() [1/2]

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
template<typename In >
exact_cubic_t* spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::GenerateOptimizedCurve ( In  wayPointsBegin,
In  wayPointsEnd 
) const

Starts an optimization loop to create curve.

Parameters
waypoints: a list comprising at least 2 waypoints in ascending time order
Returns
An Optimised curve

◆ GenerateOptimizedCurve() [2/2]

template<typename Time = double, typename Numeric = Time, Eigen::Index Dim = 3, bool Safe = false, typename Point = Eigen::Matrix<Numeric, Dim, 1>>
template<typename In >
exact_cubic<Time, Numeric, Dim, Safe, Point>* spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::GenerateOptimizedCurve ( In  wayPointsBegin,
In  wayPointsEnd 
) const
inline

A looks something like that : (n = size) [H2(0) 0 0 -H1(0) 0----------------—0] [ 0 0 H2(0) 0 0 -H1(0)------------—0] [ 0 0 0 H2(0) 0 0 H1(0)-----—0] ... [ 0 0 0 0 H2(n) 0 0 0 -H1(n)-0] // row n

Overall it's fairly easy to fill

A looks something like that : (n = size) [G1(0) 0 0 G2(0) 0--------------------—0 -1 0] [ 0 0 G1(0) 0 0 G2(0)----------------—0 -1 0] [ 0 0 0 G1(0) 0 0 G2(0)--------—0 -1 0] ... [ 0 0 0 0 G1(n) 0 0 0 G2(n)-0 -1 0] // row n

Overall it's fairly easy to fill

A looks something like that : (n = size) [G3(0) 0 0 G4(0) 0----------------—0 -1 0] [ 0 0 G3(0) 0 0 G4(0)------------—0 -1 0] [ 0 0 0 G3(0) 0 0 G4(0)-----—0 -1 0] ... [ 0 0 0 0 G3(n) 0 0 0 G4(n)-0 -1 0] // row n

Overall it's fairly easy to fill

A looks something like that : (n = size) [H3(0) 0 0 H4(0) 0----------------—0 -2 0] [ 0 0 H3(0) 0 0 H4(0)------------—0 -2 0] [ 0 0 0 H3(0) 0 0 H4(0)----—0 -2 0] ... [ 0 0 0 0 H3(n) 0 0 0 H4(n)-0 -2 0] // row n

Overall it's fairly easy to fill

*No Bounds on variables. *‍/


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