Klamp't
0.8.1
|
A bounded-velocity, bounded-acceleration trajectory consisting of parabolic ramps. More...
#include <DynamicPath.h>
Public Member Functions | |
void | Init (const Vector &velMax, const Vector &accMax) |
void | SetJointLimits (const Vector &qMin, const Vector &qMax) |
void | Clear () |
bool | Empty () const |
const Vector & | StartConfig () const |
const Vector & | EndConfig () const |
const Vector & | StartVelocity () const |
const Vector & | EndVelocity () const |
Real | GetTotalTime () const |
int | GetSegment (Real t, Real &u) const |
void | Evaluate (Real t, Vector &x) const |
void | Derivative (Real t, Vector &dx) const |
void | Accel (Real t, Vector &ddx) const |
bool | SolveMinTime (const Vector &x0, const Vector &dx0, const Vector &x1, const Vector &dx1) |
bool | SolveMinAccel (const Vector &x0, const Vector &dx0, const Vector &x1, const Vector &dx1, Real endTime) |
bool | SetMilestones (const std::vector< Vector > &x) |
bool | SetMilestones (const std::vector< Vector > &x, const std::vector< Vector > &dx) |
void | GetMilestones (std::vector< Vector > &x, std::vector< Vector > &dx) const |
void | Append (const Vector &x) |
void | Append (const Vector &x, const Vector &dx) |
void | Concat (const DynamicPath &suffix) |
void | Split (Real t, DynamicPath &before, DynamicPath &after) const |
bool | TryShortcut (Real t1, Real t2, RampFeasibilityChecker &check) |
int | Shortcut (int numIters, RampFeasibilityChecker &check) |
int | Shortcut (int numIters, RampFeasibilityChecker &check, RandomNumberGeneratorBase *rng) |
int | ShortCircuit (RampFeasibilityChecker &check) |
int | OnlineShortcut (Real leadTime, Real padTime, RampFeasibilityChecker &check) |
int | OnlineShortcut (Real leadTime, Real padTime, RampFeasibilityChecker &check, RandomNumberGeneratorBase *rng) |
int | WrappedShortcut (const std::vector< Real > &modulus, int numIters, RampFeasibilityChecker &check, RandomNumberGeneratorBase *rng) |
bool | IsValid () const |
Public Attributes | |
Vector | xMin |
The joint limits (optional), velocity bounds, and acceleration bounds. | |
Vector | xMax |
Vector | velMax |
Vector | accMax |
std::vector< ParabolicRampND > | ramps |
The path is stored as a series of ramps. | |
A bounded-velocity, bounded-acceleration trajectory consisting of parabolic ramps.
Optionally, joint limits xMin and xMax may be specified as well. If so, then the XXXBounded functions are used for smoothing.
The Shortcut and OnlineShortcut methods can optionally take a custom random number generator (may be useful for multithreading).
int ParabolicRamp::DynamicPath::OnlineShortcut | ( | Real | leadTime, |
Real | padTime, | ||
RampFeasibilityChecker & | check | ||
) |
leadTime: the amount of time before this path should be executable padTime: an approximate bound on the time it takes to check a shortcut