|
Robowflex
v0.1
Making MoveIt Easy
|
Wrapper for a dart::simulation::World, which contains a set of skeletons (i.e., Robots and Structures). The World is the main object that is used by motion planning as it contains a holistic view of the scene. More...
#include <world.h>
Classes | |
| struct | CollisionInfo |
| Collision filter information. More... | |
Public Member Functions | |
| void | clearIKModules () |
| Clear all IK modules created in skeletons in the world. More... | |
| void | lock () |
| Grab internal recursive lock for world. More... | |
| void | unlock () |
| Unlock internal recursive world lock. More... | |
| void | openOSGViewer () |
| Open the Open Scene Graph visualization for this world. More... | |
| dart::collision::CollisionDetectorPtr | getCollider () const |
| Get the collision detector for this world. More... | |
| std::shared_ptr< dart::collision::CollisionGroup > | getSelfCollisionGroup (const std::string &name) const |
| Get the self-collision group for a skeleton in this world. More... | |
| std::shared_ptr< dart::collision::CollisionGroup > | getOtherCollisionGroup (const std::string &name) const |
| Get the group for everything other than a given skeleton in this world. More... | |
| CollisionInfo | getCollisionInfo (const std::string &name) const |
| Get the collision info (self and other collision groups) for a skeleton in this world. More... | |
| std::shared_ptr< dart::collision::CompositeCollisionFilter > & | getWorldCollisionFilter () |
| Get the current world collision filter (composite of all skeleton filters). This is more efficient than constructing a new filter from robowflex::darts::World::getDefaultFilter() or robowflex::darts::World::getAllValidFilter(). More... | |
Constuctors | |
| World (const std::string &name="world") | |
| Create an empty world. More... | |
| WorldPtr | clone (const std::string &suffix="") const |
| Clone this world. More... | |
World Entity Management | |
| void | addRobot (RobotPtr robot) |
| Add a robot to the world. More... | |
| void | removeRobot (const std::string &name) |
| Remove a robot from the world. More... | |
| void | removeRobot (const RobotPtr &robot) |
| Remove a robot from the world. More... | |
| RobotPtr | getRobot (const std::string &name) |
| Get a robot in the world. More... | |
| RobotConstPtr | getRobotConst (const std::string &name) const |
| Get a robot in the world. More... | |
| void | addStructure (StructurePtr structure) |
| Add a structure to the world. More... | |
| void | removeStructure (const std::string &name) |
| Remove a structure from the world. More... | |
| void | removeStructure (const StructurePtr &structure) |
| Remove a structure from the world. More... | |
| StructurePtr | getStructure (const std::string &name) |
| Get a structure in the world. More... | |
| StructureConstPtr | getStructureConst (const std::string &name) const |
| Get a structure in the world. More... | |
| const std::map< std::string, StructurePtr > & | getStructures () |
| Get the set of structures in the world. More... | |
Getters and Setters | |
| const std::string & | getName () const |
| Get the name of this world. More... | |
| std::pair< Eigen::Vector3d, Eigen::Vector3d > | getWorkspaceBounds () const |
| Get the bounds on the workspace. More... | |
| Eigen::Vector3d & | getWorkspaceLow () |
| Get the lower bounds of the workspace. More... | |
| const Eigen::Vector3d & | getWorkspaceLowConst () const |
| Get the lower bounds of the workspace. More... | |
| Eigen::Vector3d & | getWorkspaceHigh () |
| Get the upper bounds of the workspace. More... | |
| const Eigen::Vector3d & | getWorkspaceHighConst () const |
| Get the upper bounds of the workspace. More... | |
| dart::simulation::WorldPtr | getSim () |
| Get the Dart world. More... | |
| const dart::simulation::WorldPtr & | getSimConst () const |
| Get the Dart world. More... | |
| unsigned int | getSkeletonIndex (const dart::dynamics::SkeletonPtr &skeleton) const |
| Get the index in the world of a skeleton. More... | |
Collisions | |
| std::shared_ptr< dart::collision::BodyNodeCollisionFilter > | getAllValidFilter () const |
| Get a collision filter that allows collisions between all body nodes. Useful for constructing a custom filter to select one or a few objects. More... | |
| std::shared_ptr< dart::collision::BodyNodeCollisionFilter > | getDefaultFilter () const |
| Get a collision filter that is a copy of the default filter. More... | |
| bool | inCollision (const std::shared_ptr< dart::collision::CollisionFilter > &filter=nullptr) const |
| Checks if world is currently in collision. More... | |
| double | distanceToCollision () const |
| Gets the current signed distance to collision in the world. More... | |
| void | forceUpdate () |
| Force forward kinematics to update. More... | |
Private Member Functions | |
| void | addSkeletonCollider (const std::string &name, const dart::dynamics::SkeletonPtr &skeleton) |
| Add a new collision filter (ACM) for a skeleton. More... | |
| void | removeSkeletonCollider (const std::string &name, const dart::dynamics::SkeletonPtr &skeleton) |
| Remove a collision filter (ACM). More... | |
Private Attributes | |
| dart::simulation::WorldPtr | world_ |
| Underlying world. More... | |
| Eigen::Vector3d | low_ {-5, -5, -5} |
| Lower workspace bounds. More... | |
| Eigen::Vector3d | high_ {5, 5, 5} |
| Upper workspace bounds. More... | |
| std::map< std::string, RobotPtr > | robots_ |
| Robots in world. More... | |
| std::map< std::string, StructurePtr > | structures_ |
| Structures in world. More... | |
| dart::collision::CollisionGroupPtr | all_ |
| All collision groups in world. More... | |
| std::map< std::string, CollisionInfo > | collision_ |
| std::shared_ptr< dart::collision::CompositeCollisionFilter > | filter_ |
| dart::collision::CollisionDetectorPtr | collider_ |
| Collision checker. More... | |
| const std::string | name_ |
| Name of world. More... | |
| std::recursive_mutex | mutex_ |
| Internal lock. More... | |
Wrapper for a dart::simulation::World, which contains a set of skeletons (i.e., Robots and Structures). The World is the main object that is used by motion planning as it contains a holistic view of the scene.
| World::World | ( | const std::string & | name = "world" | ) |
Create an empty world.
| [in] | name | Name for the world. |
Definition at line 36 of file world.cpp.
| void World::addRobot | ( | RobotPtr | robot | ) |
Add a robot to the world.
| [in] | robot | Robot to add. |
Definition at line 108 of file world.cpp.
|
private |
Add a new collision filter (ACM) for a skeleton.
| [in] | name | Name for collision filter. |
| [in] | skeleton | Skeleton collision filter is for. |
Definition at line 81 of file world.cpp.
| void World::addStructure | ( | StructurePtr | structure | ) |
Add a structure to the world.
| [in] | structure | Structure to add. |
Definition at line 163 of file world.cpp.
| void World::clearIKModules | ( | ) |
| WorldPtr World::clone | ( | const std::string & | suffix = "" | ) | const |
| double World::distanceToCollision | ( | ) | const |
| void World::forceUpdate | ( | ) |
| std::shared_ptr< dart::collision::BodyNodeCollisionFilter > World::getAllValidFilter | ( | ) | const |
| dart::collision::CollisionDetectorPtr robowflex::darts::World::getCollider | ( | ) | const |
Get the collision detector for this world.
| World::CollisionInfo World::getCollisionInfo | ( | const std::string & | name | ) | const |
Get the collision info (self and other collision groups) for a skeleton in this world.
| [in] | name | The name of the skeleton. |
| std::shared_ptr< dart::collision::BodyNodeCollisionFilter > World::getDefaultFilter | ( | ) | const |
| const std::string & World::getName | ( | ) | const |
| std::shared_ptr< dart::collision::CollisionGroup > World::getOtherCollisionGroup | ( | const std::string & | name | ) | const |
Get the group for everything other than a given skeleton in this world.
| [in] | name | The name of the skeleton. |
| RobotPtr World::getRobot | ( | const std::string & | name | ) |
| RobotConstPtr World::getRobotConst | ( | const std::string & | name | ) | const |
| std::shared_ptr< dart::collision::CollisionGroup > World::getSelfCollisionGroup | ( | const std::string & | name | ) | const |
Get the self-collision group for a skeleton in this world.
| [in] | name | The name of the skeleton. |
| dart::simulation::WorldPtr World::getSim | ( | ) |
| const dart::simulation::WorldPtr & World::getSimConst | ( | ) | const |
| unsigned int World::getSkeletonIndex | ( | const dart::dynamics::SkeletonPtr & | skeleton | ) | const |
Get the index in the world of a skeleton.
| [in] | skeleton | The skeleton to get the index of. |
| StructurePtr World::getStructure | ( | const std::string & | name | ) |
| StructureConstPtr World::getStructureConst | ( | const std::string & | name | ) | const |
| const std::map< std::string, StructurePtr > & World::getStructures | ( | ) |
Get the set of structures in the world.
| std::pair< Eigen::Vector3d, Eigen::Vector3d > World::getWorkspaceBounds | ( | ) | const |
| Eigen::Vector3d & World::getWorkspaceHigh | ( | ) |
| const Eigen::Vector3d & World::getWorkspaceHighConst | ( | ) | const |
| Eigen::Vector3d & World::getWorkspaceLow | ( | ) |
| const Eigen::Vector3d & World::getWorkspaceLowConst | ( | ) | const |
| std::shared_ptr< dart::collision::CompositeCollisionFilter > & robowflex::darts::World::getWorldCollisionFilter | ( | ) |
Get the current world collision filter (composite of all skeleton filters). This is more efficient than constructing a new filter from robowflex::darts::World::getDefaultFilter() or robowflex::darts::World::getAllValidFilter().
Definition at line 392 of file world.cpp.
| bool World::inCollision | ( | const std::shared_ptr< dart::collision::CollisionFilter > & | filter = nullptr | ) | const |
Checks if world is currently in collision.
| [in] | filter | Custom collision filter to use. If null, will use default collision filter. |
| void World::lock | ( | ) |
| void World::openOSGViewer | ( | ) |
| void World::removeRobot | ( | const RobotPtr & | robot | ) |
Remove a robot from the world.
| [in] | robot | Robot to remove. |
Definition at line 140 of file world.cpp.
| void World::removeRobot | ( | const std::string & | name | ) |
Remove a robot from the world.
| [in] | name | Name of robot to remove. |
Definition at line 123 of file world.cpp.
|
private |
| void World::removeStructure | ( | const std::string & | name | ) |
| void World::removeStructure | ( | const StructurePtr & | structure | ) |
Remove a structure from the world.
| [in] | structure | Structure to remove. |
Definition at line 191 of file world.cpp.
| void World::unlock | ( | ) |
Unlock internal recursive world lock.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |