Klamp't
0.8.1
|
Tracking a path in cartesian space. More...
#include <PlannerObjective.h>
Public Member Functions | |
CartesianTrackingObjective (Robot *robot) | |
virtual const char * | TypeString () |
Subclasses: return an identifier for this goal type. | |
virtual Real | TerminalCost (Real tend, const Vector &qend, const Vector &dqend) |
virtual Real | DifferentialCost (Real t, const Vector &q, const Vector &dq) |
virtual Real | IncrementalCost (Real t, const ParabolicRamp::ParabolicRampND &ramp) |
virtual Real | PathCost (const ParabolicRamp::DynamicPath &path, Real tstart=0) |
virtual Real | Delta (PlannerObjectiveBase *priorGoal) |
int | FindSegment (Real t) const |
Real | IntegrateSegment (int index, Real a, Real b, Real tstart, const ParabolicRamp::ParabolicRampND &ramp) |
Vector3 | GetDesiredPosition (Real t) const |
void | GetDifferentialCostFunction (Real t, Matrix3 &A, Vector3 &b) const |
Real | DifferentialCost (Real t, const Vector &q, int index) |
Public Member Functions inherited from PlannerObjectiveBase | |
virtual string | Description () |
Subclasses: return a string for printing (optional) | |
virtual bool | DifferentialTimeInvariant () const |
Subclasses: planners may exploit time invariant costs for faster performance. | |
virtual bool | TerminalTimeInvariant () const |
virtual bool | PathInvariant () const |
Subclasses: planners may exploit path-invariant costs for faster performance. | |
virtual Real | IncrementalCost (Real t, const ParabolicRamp::DynamicPath &path) |
virtual bool | Read (File &file) |
Subclasses: read and write to binary file (optional, not implemented yet) | |
virtual bool | Write (File &file) |
Public Attributes | |
Robot * | robot |
int | link |
Vector3 | localPosition |
vector< Vector3 > | positions |
vector< Real > | times |
vector< Real > | weights |
vector< Matrix3 > | matWeights |
Real | endTimeWeight |
Real | endPosWeight |
Matrix3 | endPosMatWeight |
Tracking a path in cartesian space.
|
virtual |
Subclasses: a similarity metric in for the amount of change between this objective and a prior goal. Results >= 0.
Reimplemented from PlannerObjectiveBase.
|
virtual |
Subclasses: return the differential cost of passing through state (q,dq) at time t
Reimplemented from PlannerObjectiveBase.
int CartesianTrackingObjective::FindSegment | ( | Real | t | ) | const |
Finds the index i such that times[i] <= t < times[i+1]. If t < times[0], returns -1, or if t >= times.back(), returns times.size()
|
virtual |
Subclasses: return the incremental cost of undertaking the segment 'ramp' starting at time t. This should be equal to the integral of the differential cost, or at least a good approximation
Reimplemented from PlannerObjectiveBase.
|
virtual |
Optional: return the cost of a candidate path starting at time tstart. This should be equal to the sum of the increment costs + the terminal cost
Reimplemented from PlannerObjectiveBase.
|
virtual |
Subclasses: return the cost of a terminal state (qend,dqend) reached at time tend
Reimplemented from PlannerObjectiveBase.