Klamp't
0.8.1
|
A planner that perturbs the current configuration and uses numerical IK to get an improved path. All caveats of RealTimeIKPlanner apply. More...
#include <RealTimeIKPlanner.h>
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 |
Helper. | |
bool | GetMilestoneRamp (const ParabolicRamp::DynamicPath &curPath, const Config &q, ParabolicRamp::DynamicPath &ramp) const |
Helper. | |
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 | |
Robot * | robot |
WorldPlannerSettings * | settings |
CSpace * | cspace |
shared_ptr< PlannerObjectiveBase > | goal |
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 } |
A planner that perturbs the current configuration and uses numerical IK to get an improved path. All caveats of RealTimeIKPlanner apply.
|
virtual |
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.