Stores optimal trajectores for an acceleration and velocity-bounded 1D system. More...
#include <ParabolicRamp.h>
Public Member Functions | |
Real | Accel (Real t) const |
Evaluates the second derivative of the trajectory. | |
void | Bounds (Real &xmin, Real &xmax) const |
Returns the x bounds on the path. | |
void | Bounds (Real ta, Real tb, Real &xmin, Real &xmax) const |
Returns the x bounds for the given time interval. | |
Real | Derivative (Real t) const |
Evaluates the derivative of the trajectory. | |
void | DerivBounds (Real &vmin, Real &vmax) const |
Returns the v bounds on the path. | |
void | DerivBounds (Real ta, Real tb, Real &vmin, Real &vmax) const |
Returns the v bounds for the given time interval. | |
void | Dilate (Real timeScale) |
Scales time to slow down (value > 1) or speed up (< 1) the trajectory. | |
Real | EndTime () const |
Returns the time at which x1 is reached. | |
Real | Evaluate (Real t) const |
Evaluates the trajectory. | |
bool | IsValid () const |
Sanity check. | |
void | SetConstant (Real x, Real t=0) |
Sets the ramp to a constant function for time t. | |
void | SetLinear (Real x0, Real x1, Real t) |
Sets the ramp to a linear function from x0 to x1 with time t. | |
void | SolveBraking (Real amax) |
Solves for the minimum-time braking trajectory starting from x0,dx0. | |
bool | SolveMinAccel (Real endTime, Real vmax) |
Solves for minimum acceleration given end time and velocity bounds. | |
Real | SolveMinAccel2 (Real endTime, Real vmax) |
Same, but if fails, returns the minimum time > endTime. | |
bool | SolveMinTime (Real amax, Real vmax) |
Solves for minimum time given acceleration and velocity bounds. | |
bool | SolveMinTime2 (Real amax, Real vmax, Real tLowerBound) |
Solves for minimum time given acceleration and velocity bounds, min time. | |
void | TrimBack (Real tcut) |
Trims off the front [T-tcut,T] of the trajectory. | |
void | TrimFront (Real tcut) |
Trims off the front [0,tcut] of the trajectory. | |
Public Attributes | |
Real | a1 |
Real | a2 |
Real | dx0 |
Real | dx1 |
Real | tswitch1 |
Calculated upon SolveX. | |
Real | tswitch2 |
Real | ttotal |
Real | v |
Real | x0 |
Input. | |
Real | x1 |
Stores optimal trajectores for an acceleration and velocity-bounded 1D system.
Initialize the members x0 (start position), x1 (end position), dx0 (start velocity), and dx1 (end velocity) before calling the SolveX functions.
Definition at line 50 of file ParabolicRamp.h.
Real ParabolicRamp::ParabolicRamp1D::Accel | ( | Real | t | ) | const |
Evaluates the second derivative of the trajectory.
Definition at line 1250 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::Bounds | ( | Real & | xmin, |
Real & | xmax | ||
) | const |
Returns the x bounds on the path.
Definition at line 1593 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::Bounds | ( | Real | ta, |
Real | tb, | ||
Real & | xmin, | ||
Real & | xmax | ||
) | const |
Returns the x bounds for the given time interval.
Definition at line 1598 of file ParabolicRamp.cpp.
Real ParabolicRamp::ParabolicRamp1D::Derivative | ( | Real | t | ) | const |
Evaluates the derivative of the trajectory.
Definition at line 1240 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::DerivBounds | ( | Real & | vmin, |
Real & | vmax | ||
) | const |
Returns the v bounds on the path.
Definition at line 1642 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::DerivBounds | ( | Real | ta, |
Real | tb, | ||
Real & | vmin, | ||
Real & | vmax | ||
) | const |
Returns the v bounds for the given time interval.
Definition at line 1647 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::Dilate | ( | Real | timeScale | ) |
Scales time to slow down (value > 1) or speed up (< 1) the trajectory.
Definition at line 1554 of file ParabolicRamp.cpp.
Real ParabolicRamp::ParabolicRamp1D::EndTime | ( | ) | const [inline] |
Returns the time at which x1 is reached.
Definition at line 74 of file ParabolicRamp.h.
Real ParabolicRamp::ParabolicRamp1D::Evaluate | ( | Real | t | ) | const |
Evaluates the trajectory.
Definition at line 1229 of file ParabolicRamp.cpp.
bool ParabolicRamp::ParabolicRamp1D::IsValid | ( | ) | const |
Sanity check.
Definition at line 1684 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::SetConstant | ( | Real | x, |
Real | t = 0 |
||
) |
Sets the ramp to a constant function for time t.
Definition at line 1209 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::SetLinear | ( | Real | x0, |
Real | x1, | ||
Real | t | ||
) |
Sets the ramp to a linear function from x0 to x1 with time t.
Definition at line 1217 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::SolveBraking | ( | Real | amax | ) |
Solves for the minimum-time braking trajectory starting from x0,dx0.
Definition at line 1540 of file ParabolicRamp.cpp.
bool ParabolicRamp::ParabolicRamp1D::SolveMinAccel | ( | Real | endTime, |
Real | vmax | ||
) |
Solves for minimum acceleration given end time and velocity bounds.
Definition at line 1257 of file ParabolicRamp.cpp.
Real ParabolicRamp::ParabolicRamp1D::SolveMinAccel2 | ( | Real | endTime, |
Real | vmax | ||
) |
Same, but if fails, returns the minimum time > endTime.
bool ParabolicRamp::ParabolicRamp1D::SolveMinTime | ( | Real | amax, |
Real | vmax | ||
) |
Solves for minimum time given acceleration and velocity bounds.
Definition at line 1360 of file ParabolicRamp.cpp.
bool ParabolicRamp::ParabolicRamp1D::SolveMinTime2 | ( | Real | amax, |
Real | vmax, | ||
Real | tLowerBound | ||
) |
Solves for minimum time given acceleration and velocity bounds, min time.
Definition at line 1446 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::TrimBack | ( | Real | tcut | ) |
Trims off the front [T-tcut,T] of the trajectory.
Definition at line 1582 of file ParabolicRamp.cpp.
void ParabolicRamp::ParabolicRamp1D::TrimFront | ( | Real | tcut | ) |
Trims off the front [0,tcut] of the trajectory.
Definition at line 1564 of file ParabolicRamp.cpp.
Definition at line 99 of file ParabolicRamp.h.
Definition at line 99 of file ParabolicRamp.h.
Definition at line 93 of file ParabolicRamp.h.
Definition at line 94 of file ParabolicRamp.h.
Calculated upon SolveX.
Definition at line 97 of file ParabolicRamp.h.
Definition at line 97 of file ParabolicRamp.h.
Definition at line 98 of file ParabolicRamp.h.
Definition at line 99 of file ParabolicRamp.h.
Input.
Definition at line 93 of file ParabolicRamp.h.
Definition at line 94 of file ParabolicRamp.h.