|
|
| CollisionDetectionValidity () |
|
| CollisionDetectionValidity (XMLNode &_node) |
|
virtual | ~CollisionDetectionValidity () |
|
|
virtual CollisionDetectionMethod * | GetCDMethod () const noexcept override |
|
virtual bool | IsInsideObstacle (const Point3d &_p) override |
|
virtual bool | IsInsideObstacle (const Point3d &_p, std::vector< size_t > *_obstIdxs) |
|
virtual bool | WorkspaceVisibility (const Point3d &_a, const Point3d &_b) override |
|
virtual bool | IsMultiBodyCollision (CDInfo &_cdInfo, const MultiBody *const _a, const MultiBody *const _b, const std::string &_caller) override |
|
| CollisionDetectionValidityMethod ()=default |
|
| CollisionDetectionValidityMethod (XMLNode &_node) |
|
virtual | ~CollisionDetectionValidityMethod ()=default |
|
| ValidityCheckerMethod ()=default |
|
| ValidityCheckerMethod (XMLNode &_node) |
|
virtual | ~ValidityCheckerMethod ()=default |
|
bool | GetValidity () const |
| Get the current meaning of "valid" (true is default). More...
|
|
void | ToggleValidity () |
| Switches the meaning of "valid" to "invalid" and vice versa. More...
|
|
bool | IsValid (Cfg &_cfg, CDInfo &_cdInfo, const std::string &_caller) |
|
bool | IsValid (Cfg &_cfg, const std::string &_caller) |
|
bool | IsValid (GroupCfgType &_cfg, CDInfo &_cdInfo, const std::string &_caller) |
|
bool | IsValid (GroupCfgType &_cfg, const std::string &_caller) |
|
| MPBaseObject (const std::string &_label="", const std::string &_name="", bool _debug=false) |
|
| MPBaseObject (XMLNode &_node) |
|
virtual | ~MPBaseObject () |
|
virtual void | Print (std::ostream &_os) const |
|
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...
|
|
|
|
virtual bool | IsValidImpl (Cfg &_cfg, CDInfo &_cdInfo, const std::string &_caller) override |
|
virtual bool | IsValidImpl (GroupCfg &_cfg, CDInfo &_cdInfo, const std::string &_caller) override |
|
|
virtual bool | IsInCollision (CDInfo &_cdInfo, const Cfg &_cfg, const std::string &_caller) |
|
virtual bool | IsInCollision (CDInfo &_cdInfo, const GroupCfg &_cfg, const std::string &_caller) |
|
virtual bool | IsInSelfCollision (CDInfo &_cdInfo, const MultiBody *const _multibody, const std::string &_caller) |
|
virtual bool | IsInBoundaryCollision (CDInfo &_cdInfo, const Cfg &_cfg) |
|
virtual bool | IsInObstacleCollision (CDInfo &_cdInfo, const MultiBody *const _multibody, const std::string &_caller) |
|
virtual bool | IsInInterRobotCollision (CDInfo &_cdInfo, Robot *const _robot, const std::vector< Robot * > &_robots, const std::string &_caller) |
|
virtual bool | setObstacleSubset (const std::vector< MultiBody * > &_obstacleSubset) |
|
|
void | SetName (const std::string &_s) |
|
const std::string & | GetBaseFilename () const |
|
Classifies validity based on collisions with other objects in the workspace.
There are three types of collision that can occur:
- Self collision. Two or more pieces of the robot's geometry are overlapping in workspace.
- Obstacle collision. The robot's geometry overlaps with some workspace obstacle.
- Inter-robot collision. The robot's geometry overlaps with some other robot in its current configuration. For group configurations, collisions between robots within the group are considered as self-collisions, while collisions with robots not in the group are classified as inter-robot collisions. This distinction is made because considering self-collisions usually means that we want (group) configurations which are valid without considering the obstacles and other robots.
Any robot can be omitted from the collision checks by setting it as virtual. When collision checking a virtual robot, other robots are also ignored.
- Note
- This class interfaces with external CD libraries to determine collision information, sometimes including clearance and penetration information.
- Todo:
- Remove the 'GetCDMethod' function after re-implementing ObstacleClearanceValidity as a subtype of CollisionDetectionValidity.