Klamp't
0.8.1
|
A time scaling with torque constraints |t| <= tmax. Assuming fixed base manipulator. More...
#include <ContactTimeScaling.h>
Public Member Functions | |
TorqueTimeScaling (Robot &robot) | |
void | SetParams (const MultiPath &path, const vector< Real > &colocationParams) |
Public Member Functions inherited from CustomTimeScaling | |
CustomTimeScaling (Robot &robot) | |
void | SetPath (const GeneralizedCubicBezierSpline &path, const vector< Real > &colocationParams) |
Sets up the path. | |
void | SetPath (const MultiPath &path, const vector< Real > &colocationParams) |
Sets up the path – multipath version. | |
void | SetStartStop () |
Sets up the path to start and stop at zero velocity. | |
void | SetDefaultBounds () |
Sets up velocity and acceleration bounds. | |
bool | Optimize () |
Runs the optimizer with the custom constraints. | |
bool | IsFeasible (const vector< Real > &ds) const |
Returns true if the time scaling derivatives are feasible under the current constraints. | |
void | PrintActiveConstraints (ostream &out) |
After running Optimize, prints out all the active constraints. | |
Public Attributes | |
Real | torqueLimitShift |
offsets the torque limits by a fixed amount (default 0) | |
Real | torqueLimitScale |
from 0 to 1, scales the torque limits (default 1) | |
Public Attributes inherited from CustomTimeScaling | |
RobotCSpace | cspace |
TimeScaledBezierCurve | traj |
Output trajectory. | |
vector< Real > | paramDivs |
colocation grid | |
vector< int > | paramSections |
index from grid to section of multipath, if multipath is given | |
vector< Vector > | xs |
colocation points | |
vector< Vector > | dxs |
vector< Vector > | ddxs |
vector< Real > | dsmax |
time scaling maxima. Defaults to Inf | |
vector< vector< Vector2 > > | ds2ddsConstraintNormals |
vector< vector< Real > > | ds2ddsConstraintOffsets |
bool | saveConstraintNames |
Names of each constraint plane. | |
vector< vector< string > > | ds2ddsConstraintNames |
bool | computeLagrangeMultipliers |
Whether the lagrange multipliers of a solution are requested. | |
vector< Real > | variableLagrangeMultipliers |
vector< vector< Real > > | constraintLagrangeMultipliers |
A time scaling with torque constraints |t| <= tmax. Assuming fixed base manipulator.
t = B(q)q'' + C(q,q') + G(q) if v is the tangent, a is the curvature, then q' = ds*v, q'' = v*dds + a*ds^2 t = ds^2 (B(q)a+C(q,v)) + dds B(q)v + G(q)
The torqueLimitShift and torqueLimitScale terms let you adjust the robot's torque limits to account for errors during execution.