Klamp't  0.8.1
Public Member Functions | Public Attributes | List of all members
CartesianTrackingObjective Class Reference

Tracking a path in cartesian space. More...

#include <PlannerObjective.h>

Inheritance diagram for CartesianTrackingObjective:
PlannerObjectiveBase

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

Robotrobot
 
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 CartesianTrackingObjective::Delta ( PlannerObjectiveBase priorGoal)
virtual

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

Reimplemented from PlannerObjectiveBase.

virtual Real CartesianTrackingObjective::DifferentialCost ( Real  t,
const Vector &  q,
const Vector &  dq 
)
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 Real CartesianTrackingObjective::IncrementalCost ( Real  t,
const ParabolicRamp::ParabolicRampND ramp 
)
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 Real CartesianTrackingObjective::PathCost ( const ParabolicRamp::DynamicPath path,
Real  tstart = 0 
)
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 Real CartesianTrackingObjective::TerminalCost ( Real  tend,
const Vector &  qend,
const Vector &  dqend 
)
virtual

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

Reimplemented from PlannerObjectiveBase.


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