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

A planner that perturbs the current configuration to get an improved path. More...

#include <RealTimeIKPlanner.h>

Inheritance diagram for DynamicPerturbationPlanner:

Public Member Functions

virtual void SetGoal (shared_ptr< PlannerObjectiveBase > newgoal)
virtual int PlanFrom (ParabolicRamp::DynamicPath &path, Real cutoff)
- Public Member Functions inherited from DynamicMotionPlannerBase
virtual void Init (CSpace *space, Robot *robot, WorldPlannerSettings *settings)
virtual void SetTime (Real tstart)
virtual void SetDefaultLimits ()
virtual void SetLimits (Real qScale=1.0, Real vScale=1.0, Real aScale=1.0)
bool LogBegin (const char *fn="realtimeplanner.log")
bool LogEnd ()
int PlanFrom (const Config &qstart, Real cutoff, ParabolicRamp::DynamicPath &result)
 Plans from a start configuration.
bool StopPlanning ()
int Shortcut (ParabolicRamp::DynamicPath &path, Real timeLimit)
 Performs shortcutting up until the time limit.
int SmartShortcut (Real tstart, ParabolicRamp::DynamicPath &path, Real timeLimit)
bool GetMilestoneRamp (const Config &q0, const Vector &dq0, const Config &q1, ParabolicRamp::DynamicPath &ramp) const
bool GetMilestoneRamp (const ParabolicRamp::DynamicPath &curPath, const Config &q, ParabolicRamp::DynamicPath &ramp) const
bool CheckMilestoneRamp (const ParabolicRamp::DynamicPath &curPath, const Config &q, ParabolicRamp::DynamicPath &ramp) const
Real EvaluateDirectPathCost (const ParabolicRamp::DynamicPath &curPath, const Config &q)
 returns the cost of going straight to q (assuming no collision detection)
Real EvaluatePathCost (const ParabolicRamp::DynamicPath &path, Real tStart=-1.0)
Real EvaluateTerminalCost (const Config &q, Real tEnd)
 returns the terminal cost for a path ending at q at time tEnd

Public Attributes

Real perturbationStep
int perturbLimit
int iteration
- Public Attributes inherited from DynamicMotionPlannerBase
CSpace * cspace
shared_ptr< PlannerObjectiveBasegoal
ParabolicRamp::Vector qMin
ParabolicRamp::Vector qMax
ParabolicRamp::Vector velMax
ParabolicRamp::Vector accMax
Real tstart
bool stopPlanning
FILE * flog

Additional Inherited Members

- Public Types inherited from DynamicMotionPlannerBase
enum  { Failure =0, Success =1, Timeout =2 }

Detailed Description

A planner that perturbs the current configuration to get an improved path.

Member Function Documentation

virtual int DynamicPerturbationPlanner::PlanFrom ( ParabolicRamp::DynamicPath path,
Real  cutoff 

DynamicMotionPlanner subclasses should override this. Plans from the start of 'path', and returns the result in 'path'. The planning duration should not exceed 'cutoff', if possible.

Must return Success if successful, Failure if planning fails.

Subroutines may maintain a timer, and stop and return Timeout planning time exceeds the cutoff. This is not strictly necessary; the caller should check whether the planning time exceeds the cutoff.

Reimplemented from DynamicMotionPlannerBase.

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