Klamp't
0.9.0
|
A convenience class that stores a Bezier curve and its time scaling. Useful for evaluating the scaled curve, and for plotting it. More...
#include <TimeScaling.h>
Public Member Functions | |
bool | OptimizeTimeScaling (const Vector &vmin, const Vector &vmax, const Vector &amin, const Vector &amax) |
void | GetPiecewiseLinear (std::vector< Real > ×, std::vector< Config > &milestones) const |
void | GetDiscretizedPath (Real dt, std::vector< Config > &milestones) const |
Real | EndTime () const |
void | Eval (Real t, Vector &x) const |
void | Deriv (Real t, Vector &dx) const |
void | Accel (Real t, Vector &ddx) const |
void | Plot (const char *fn, const Vector &vmin, const Vector &vmax, const Vector &amin, const Vector &amax, Real res=1e-3) |
Plots time-scaling and constraints at resolution res. Saves in CSV format. | |
Public Attributes | |
GeneralizedCubicBezierSpline | path |
Spline::TimeSegmentation | pathSegments |
TimeScaling | timeScaling |
A convenience class that stores a Bezier curve and its time scaling. Useful for evaluating the scaled curve, and for plotting it.
Users need to set up path to be the geometric path to optimize over, and pathSegments to be the grid of path parameters in the range [0,1].
After Optimize, the timeScaling variable will be filled out.
Note: most Klamp't users will want to use the much more convenient functions in RobotTimeScaling.h.