Klamp't  0.9.0
Public Member Functions | Public Attributes | List of all members
Klampt::CartesianTrackingObjective Class Reference

Tracking a path in cartesian space. More...

#include <PlannerObjective.h>

Inheritance diagram for Klampt::CartesianTrackingObjective:

Public Member Functions

 CartesianTrackingObjective (RobotModel *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 Klampt::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

int link
Vector3 localPosition
vector< Vector3 > positions
vector< Real > times
vector< Real > weights
vector< Matrix3 > matWeights
Real endTimeWeight
Real endPosWeight
Matrix3 endPosMatWeight

Detailed Description

Tracking a path in cartesian space.

Member Function Documentation

virtual Real Klampt::CartesianTrackingObjective::Delta ( PlannerObjectiveBase priorGoal)

Subclasses: a similarity metric in for the amount of change between this objective and a prior goal. Results >= 0.

Reimplemented from Klampt::PlannerObjectiveBase.

virtual Real Klampt::CartesianTrackingObjective::DifferentialCost ( Real  t,
const Vector &  q,
const Vector &  dq 

Subclasses: return the differential cost of passing through state (q,dq) at time t

Reimplemented from Klampt::PlannerObjectiveBase.

int Klampt::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 Real Klampt::CartesianTrackingObjective::IncrementalCost ( Real  t,
const ParabolicRamp::ParabolicRampND ramp 

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 Klampt::PlannerObjectiveBase.

virtual Real Klampt::CartesianTrackingObjective::PathCost ( const ParabolicRamp::DynamicPath path,
Real  tstart = 0 

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 Klampt::PlannerObjectiveBase.

virtual Real Klampt::CartesianTrackingObjective::TerminalCost ( Real  tend,
const Vector &  qend,
const Vector &  dqend 

Subclasses: return the cost of a terminal state (qend,dqend) reached at time tend

Reimplemented from Klampt::PlannerObjectiveBase.

The documentation for this class was generated from the following file: