Klamp't
0.9.0
|
A planner that perturbs the current configuration to get an improved path. 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 Klampt::DynamicMotionPlannerBase | |
virtual void | Init (CSpace *space, RobotModel *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 Klampt::DynamicMotionPlannerBase | |
RobotModel * | 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 Klampt::DynamicMotionPlannerBase | |
enum | { Failure =0, Success =1, Timeout =2 } |
A planner that perturbs the current configuration to get an improved path.
|
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 Klampt::DynamicMotionPlannerBase.