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

An objective that merges contributions from multiple other objective functions. More...

#include <PlannerObjective.h>

Inheritance diagram for CompositeObjective:
PlannerObjectiveBase

Public Member Functions

void Add (const shared_ptr< PlannerObjectiveBase > &obj, Real weight=1.0)
 Adds a new component. Note: this takes ownership of the pointer.
 
virtual const char * TypeString ()
 Subclasses: return an identifier for this goal type.
 
virtual string Description ()
 Subclasses: return a string for printing (optional)
 
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)
 
virtual bool TerminalTimeInvariant () const
 
virtual bool DifferentialTimeInvariant () const
 Subclasses: planners may exploit time invariant costs for faster performance.
 
virtual bool PathInvariant () const
 Subclasses: planners may exploit path-invariant costs for faster performance.
 
- Public Member Functions inherited from PlannerObjectiveBase
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

Real norm
 
vector< shared_ptr< PlannerObjectiveBase > > components
 
vector< Real > weights
 

Detailed Description

An objective that merges contributions from multiple other objective functions.

Member Function Documentation

virtual Real CompositeObjective::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 CompositeObjective::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.

virtual Real CompositeObjective::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 CompositeObjective::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 CompositeObjective::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: