|
|
| | LocalPlannerMethod (bool _saveIntermediates=false) |
| |
| | LocalPlannerMethod (XMLNode &_node) |
| |
| virtual | ~LocalPlannerMethod ()=default |
| |
|
| virtual void | Print (std::ostream &_os) const override |
| |
|
| virtual bool | IsConnected (const Cfg &_start, const Cfg &_end, Cfg &_col, LPOutput *_lpOutput, double _posRes, double _oriRes, bool _checkCollision=true, bool _savePath=false)=0 |
| |
| bool | IsConnected (const Cfg &_start, const Cfg &_end, LPOutput *_lpOutput, double _posRes, double _oriRes, bool _checkCollision=true, bool _savePath=false) |
| |
| virtual bool | IsConnected (const GroupCfgType &_start, const GroupCfgType &_end, GroupCfgType &_col, GroupLPOutput *_lpOutput, double _posRes, double _oriRes, bool _checkCollision=true, bool _savePath=false, const Formation &_formation=Formation()) |
| |
| bool | IsConnected (const GroupCfgType &_start, const GroupCfgType &_end, GroupLPOutput *_lpOutput, double _posRes, double _oriRes, bool _checkCollision=true, bool _savePath=false, const Formation &_formation=Formation()) |
| |
| std::vector< Cfg > | BlindPath (const std::vector< Cfg > &_waypoints, const double _posRes, const double _oriRes) |
| |
| std::vector< Cfg > | BlindPath (const std::vector< Cfg > &_waypoints) |
| |
| std::vector< GroupCfgType > | BlindPath (const std::vector< GroupCfgType > &_waypoints, const double _posRes, const double _oriRes, const Formation &_formation=Formation()) |
| |
| std::vector< GroupCfgType > | BlindPath (const std::vector< GroupCfgType > &_waypoints, const Formation &_formation=Formation()) |
| |
| | MPBaseObject (const std::string &_label="", const std::string &_name="", bool _debug=false) |
| |
| | MPBaseObject (XMLNode &_node) |
| |
| virtual | ~MPBaseObject () |
| |
| virtual void | Initialize () |
| |
| const std::string & | GetName () const |
| | Get the class name for this object. More...
|
| |
| const std::string & | GetLabel () const |
| | Get the unique label for this object. More...
|
| |
| std::string | GetNameAndLabel () const |
| | Get the unique string identifier for this object "m_name::m_label". More...
|
| |
| void | SetLabel (const std::string &) |
| | Set the unique label for this object. More...
|
| |
| void | SetMPLibrary (MPLibrary *) noexcept |
| | Set the owning MPLibrary. More...
|
| |
| MPLibrary * | GetMPLibrary () const noexcept |
| | Get the owning MPLibrary. More...
|
| |
| bool | IsRunning () const noexcept |
| | Check the library's running flag. More...
|
| |
| MPProblem * | GetMPProblem () const noexcept |
| | Get the library's current MPProblem. More...
|
| |
| Environment * | GetEnvironment () const noexcept |
| | Get the current environment. More...
|
| |
| MPTask * | GetTask () const noexcept |
| | Get the current task. More...
|
| |
| GroupTask * | GetGroupTask () const noexcept |
| | Get the current group task. More...
|
| |
| MPSolutionType * | GetMPSolution () const noexcept |
| |
| RoadmapType * | GetRoadmap (Robot *const _r=nullptr) const noexcept |
| | Get the current free-space roadmap. More...
|
| |
| GroupRoadmapType * | GetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept |
| | Get the current free-space group roadmap. More...
|
| |
| RoadmapType * | GetBlockRoadmap (Robot *const _r=nullptr) const noexcept |
| | Get the current obstacle-space roadmap. More...
|
| |
| Path * | GetPath (Robot *const _r=nullptr) const noexcept |
| |
| GroupPath * | GetGroupPath (RobotGroup *const _g=nullptr) const noexcept |
| | Get the current best group path. More...
|
| |
| StatClass * | GetStatClass () const noexcept |
| | Get the current StatClass. More...
|
| |
| LocalObstacleMap * | GetLocalObstacleMap () const noexcept |
| | Get the local obstacle map. More...
|
| |
Base algorithm abstraction for LocalPlanners.
LocalPlannerMethod has two main functions: IsConnected and BlindPath.
IsConnected takes as input two configurations
,
, an LPOutput, validation resolutions, and optional booleans dictating whether to check collision and save the path. The function both returns true or false to validate the simple path between
and
, but also populates the LPOutput structure with useful information.
BlindPath is a helper to plan between waypoints without collision checking. This is useful for working with pre-validated paths.
- Todo:
All local planners need to use a distance metric to set their edge weights properly; currently many of them are simply using the number of intermediate steps as a weight.
Local planners and Extenders represent the same concepts and should be merged into a single class with both an Extend and LocalPlan function. This will help simplify several other objects within PMPL as well, such as bi-directional RRT.
- Examples
- LocalPlanner_UseCase.cpp.