Mosek connection to produce optimized splines. More...
#include <hpp/spline/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_t * | GenerateOptimizedCurve (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 |
Mosek connection to produce optimized splines.
| typedef exact_cubic<time_t, Numeric, Dim, Safe, Point> spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::exact_cubic_t |
| typedef Eigen::Matrix<Numeric, Eigen::Dynamic, Eigen::Dynamic> spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::MatrixX |
| typedef Numeric spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::num_t |
| typedef Point spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::point_t |
| typedef SplineOptimizer<time_t, Numeric, Dim, Safe, Point> spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::splineOptimizer_t |
| typedef Time spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::time_t |
|
inline |
Initializes optimizer environment.
|
inline |
Destructor.
| exact_cubic_t* spline::SplineOptimizer< Time, Numeric, Dim, Safe, Point >::GenerateOptimizedCurve | ( | In | wayPointsBegin, |
| In | wayPointsEnd | ||
| ) | const |
Starts an optimization loop to create curve.
| waypoints | : a list comprising at least 2 waypoints in ascending time order |
|
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. */