| 
    Robowflex
    v0.1
    
   Making MoveIt Easy 
   | 
 
A sampleable goal region for OMPL for a set of TSRs. Samples goals in a separate thread using a clone of the world. More...
#include <robot.h>
 Inheritance diagram for robowflex::darts::Robot:Public Types | |
| using | GroupsMap = std::map< std::string, std::vector< std::string > > | 
| A map of group name to member joints.  More... | |
| using | NamedStatesMap = std::map< std::string, std::map< std::string, Eigen::VectorXd > > | 
| A map of group name to a map of state name to configurations.  More... | |
Public Member Functions | |
Constructors  | |
| Robot (const std::string &name) | |
| Construct an empty robot.  More... | |
| Robot (robowflex::RobotPtr robot) | |
| Convert a robowflex::Robot into a Dart robot.  More... | |
| Robot (const std::string &name, const ScenePtr &scene) | |
| Convert a robowflex::Scene into a Dart robot.  More... | |
| RobotPtr | cloneRobot (const std::string &newName) const | 
| Clone this robot with a new name.  More... | |
File Loading  | |
| bool | loadURDF (const std::string &urdf) | 
| Load a URDF into this robot.  More... | |
| bool | loadSRDF (const std::string &srdf) | 
| Load a SRDF into this robot.  More... | |
State Operations  | |
| void | setStateFromMoveItMsg (const moveit_msgs::RobotState &msg) | 
| Set the current state of this robot from a MoveIt message.  More... | |
| void | setMoveItMsgFromState (moveit_msgs::RobotState &msg) const | 
| Set a MoveIt message from the current state of this robot.  More... | |
| void | setStateFromMoveItState (const robot_state::RobotState &state) | 
| Set the current state of this robot from a MoveIt robot state.  More... | |
| void | setMoveItStateFromState (robot_state::RobotState &state) const | 
| Set a MoveIt robot state from the current state of this robot.  More... | |
| void | setStateFromMoveItJMG (const std::string &jmg, const std::vector< double > &joints) | 
| Set the state using a MoveIt Joint Group.  More... | |
| void | setStateFromMoveItJMG (const std::string &jmg, const Eigen::Ref< const Eigen::VectorXd > &vec) | 
| Set the state using a MoveIt Joint Group.  More... | |
| void | setMoveItJMGFromState (const std::string &jmg, std::vector< double > &joints) const | 
| Set a MoveIt Joint Group state from the current state of the robot.  More... | |
| void | setMoveItJMGFromState (const std::string &jmg, Eigen::Ref< Eigen::VectorXd > vec) const | 
| Set a MoveIt Joint Group state from the current state of the robot.  More... | |
Group Operations  | |
| void | setGroups (const GroupsMap &newGroups) | 
| Get the groups currently in the robot. A map of group name to a list of all joints in the group.  More... | |
| const GroupsMap & | getGroups () const | 
| Get the groups currently in the robot. A map of group name to a list of all joints in the group.  More... | |
| std::vector< std::string > & | getGroupJointNames (const std::string &group) | 
| Get the joint names in a group.  More... | |
| const std::vector< std::string > & | getGroupJointNamesConst (const std::string &group) const | 
| Get the joint names in a group.  More... | |
| std::vector< dart::dynamics::Joint * > | getGroupJoints (const std::string &group) const | 
| Get the joints for a group.  More... | |
| std::pair< std::size_t, dart::dynamics::Joint * > | getGroupJoint (const std::string &group, const std::string &joint) const | 
| Get a joint in a group along with its index in the group.  More... | |
| const std::vector< std::size_t > & | getGroupIndices (const std::string &group) const | 
| Get the indices of joints corresponding to a group.  More... | |
| bool | isGroup (const std::string &name) const | 
| Checks if a group exists.  More... | |
| std::size_t | getNumDofsGroup (const std::string &group) const | 
| Gets the number of DoFs controlled by a group.  More... | |
| void | getGroupState (const std::string &group, Eigen::Ref< Eigen::VectorXd > q) const | 
| Get the current state of the joints of a group.  More... | |
| void | setGroupState (const std::string &group, const Eigen::Ref< const Eigen::VectorXd > &q) | 
| Set the current state of the joints of a group.  More... | |
Constructing Groups  | |
| bool | addJointToGroup (const std::string &group, const std::string &joint_name) | 
| Add a joint to a group.  More... | |
| bool | addLinkToGroup (const std::string &group, const std::string &link_name) | 
| Add a the parent joint of a link to a group.  More... | |
| bool | addChainToGroup (const std::string &group, const std::string &tip, const std::string &base) | 
| Add all the joints between two frames in a chain to a group.  More... | |
| bool | addGroupToGroup (const std::string &group, const std::string &other) | 
| Add all the joints in another group to this group.  More... | |
Named States  | |
| void | setNamedGroupStates (const NamedStatesMap &states) | 
| Set the named states map.  More... | |
| const NamedStatesMap & | getNamedGroupStates () const | 
| Get the named states map.  More... | |
| std::vector< std::string > | getNamedGroupStates (const std::string &group) const | 
| Get all names for named states for a group.  More... | |
| bool | getNamedGroupState (const std::string &group, const std::string &name, Eigen::Ref< Eigen::VectorXd > q) const | 
| Get the configuration of a named group state.  More... | |
| void | setNamedGroupState (const std::string &group, const std::string &name, const Eigen::Ref< const Eigen::VectorXd > &q) | 
| Set or create a named group state.  More... | |
  Public Member Functions inherited from robowflex::darts::Structure | |
| Structure (const std::string &name) | |
| Create an empty structure.  More... | |
| Structure (const std::string &name, const SceneConstPtr &scene) | |
| Copy a MoveIt (robowflex::Scene) into a structure.  More... | |
| virtual | ~Structure ()=default | 
| Destructor.  More... | |
| StructurePtr | cloneStructure (const std::string &newName) const | 
| Clones this structure with a new name.  More... | |
| const std::string & | getName () const | 
| Get the name of this structure.  More... | |
| ACMPtr | getACM () | 
| Get the ACM for the structure.  More... | |
| const ACMPtr & | getACMConst () const | 
| Get the ACM for the structure.  More... | |
| void | setSkeleton (const dart::dynamics::SkeletonPtr &skeleton) | 
| Set the skeleton for the structure.  More... | |
| dart::dynamics::SkeletonPtr & | getSkeleton () | 
| Get the underlying skeleton for the structure.  More... | |
| const dart::dynamics::SkeletonPtr & | getSkeletonConst () const | 
| Get the underlying skeleton for the structure.  More... | |
| void | dumpGraphViz (std::ostream &out, bool standalone=true) | 
| Dumps the structure of the skeleton to a GraphViz file.  More... | |
| void | setJoint (const std::string &name, double value) | 
| Set the value of a 1-DoF joint in the structure.  More... | |
| void | setJoint (const std::string &name, const Eigen::Ref< const Eigen::VectorXd > &value) | 
| Set the value of a n-DoF joint in the structure.  More... | |
| bool | solveIK () | 
| Solve the current whole-body IK problem imposed on the structure.  More... | |
| void | setDof (unsigned int index, double value) | 
| Set the DoF at index to value.  More... | |
| std::vector< std::string > | getJointNames () const | 
| Get the joint names for this structure.  More... | |
| dart::dynamics::Joint * | getJoint (const std::string &joint_name) const | 
| Get a reference to the joint in the structure.  More... | |
| dart::dynamics::BodyNode * | getFrame (const std::string &name="") const | 
| Get a body node within the structure.  More... | |
| dart::dynamics::BodyNode * | getRootFrame () const | 
| Get the root frame of this structure.  More... | |
| void | reparentFreeFrame (dart::dynamics::BodyNode *child, const std::string &parent="") | 
| Reparents the child node to the parent node.  More... | |
| void | setJointParentTransform (const std::string &name, const RobotPose &tf) | 
| Set the transform from a joint to its parent.  More... | |
| void | updateCollisionObject (const std::string &name, const GeometryPtr &geometry, const robowflex::RobotPose &pose) | 
| Update or add a collision object.  More... | |
| std::pair< dart::dynamics::RevoluteJoint *, dart::dynamics::BodyNode * > | addRevoluteFrame (const dart::dynamics::RevoluteJoint::Properties &properties, const dart::dynamics::ShapePtr &shape, dart::dynamics::BodyNode *parent=nullptr) | 
| Add a new frame attached to a revolute joint to this structure.  More... | |
| std::pair< dart::dynamics::PrismaticJoint *, dart::dynamics::BodyNode * > | addPrismaticFrame (const dart::dynamics::PrismaticJoint::Properties &properties, const dart::dynamics::ShapePtr &shape, dart::dynamics::BodyNode *parent=nullptr) | 
| Add a new frame attached to a prismatic joint to this structure.  More... | |
| std::pair< dart::dynamics::FreeJoint *, dart::dynamics::BodyNode * > | addFreeFrame (const dart::dynamics::FreeJoint::Properties &properties, const dart::dynamics::ShapePtr &shape, dart::dynamics::BodyNode *parent=nullptr) | 
| Add a new frame attached to a free joint to this structure.  More... | |
| std::pair< dart::dynamics::WeldJoint *, dart::dynamics::BodyNode * > | addWeldedFrame (const dart::dynamics::WeldJoint::Properties &properties, const dart::dynamics::ShapePtr &shape, dart::dynamics::BodyNode *parent=nullptr) | 
| Add a new frame attached to a fixed joint to this structure.  More... | |
| void | addGround (double z=0., double radius=10.) | 
| Add a ground plane.  More... | |
Private Member Functions | |
| bool | addNameToGroup (const std::string &group, const std::string &name) | 
| Adds a name to the group.  More... | |
| void | processGroup (const std::string &group) | 
| Process the members of a group to generate the set of indices.  More... | |
Private Attributes | |
| std::map< std::string, std::vector< std::string > > | groups_ | 
| Map of group names to joint names.  More... | |
| std::map< std::string, std::map< std::string, Eigen::VectorXd > > | group_states_ | 
| std::map< std::string, std::vector< std::size_t > > | group_indices_ | 
| Indices of group joints.  More... | |
| robowflex::RobotPtr | robot_ {nullptr} | 
| Robowflex robot.  More... | |
Additional Inherited Members | |
  Protected Member Functions inherited from robowflex::darts::Structure | |
| void | createShapeNode (dart::dynamics::BodyNode *body, const dart::dynamics::ShapePtr &shape) | 
| Create a shape node on a body.  More... | |
  Protected Attributes inherited from robowflex::darts::Structure | |
| const std::string | name_ {"robot"} | 
| Name of the structure.  More... | |
| dart::dynamics::SkeletonPtr | skeleton_ {nullptr} | 
| Underlying skeleton.  More... | |
| ACMPtr | acm_ | 
| ACM for structure.  More... | |
A sampleable goal region for OMPL for a set of TSRs. Samples goals in a separate thread using a clone of the world.
Definition at line 40 of file robowflex_dart/include/robowflex_dart/robot.h.
A map of group name to member joints.
Definition at line 45 of file robowflex_dart/include/robowflex_dart/robot.h.
| using robowflex::darts::Robot::NamedStatesMap = std::map<std::string, std::map<std::string, Eigen::VectorXd> > | 
A map of group name to a map of state name to configurations.
Definition at line 49 of file robowflex_dart/include/robowflex_dart/robot.h.
| Robot::Robot | ( | const std::string & | name | ) | 
Construct an empty robot.
| [in] | name | Name of the robot. | 
Definition at line 24 of file robowflex_dart/src/robot.cpp.
| Robot::Robot | ( | robowflex::RobotPtr | robot | ) | 
Convert a robowflex::Robot into a Dart robot.
| [in] | robot | Robot to convert. | 
Definition at line 28 of file robowflex_dart/src/robot.cpp.
| Robot::Robot | ( | const std::string & | name, | 
| const ScenePtr & | scene | ||
| ) | 
Convert a robowflex::Scene into a Dart robot.
| [in] | name | Name of the robot. | 
| [in] | scene | Scene to convert. | 
Definition at line 49 of file robowflex_dart/src/robot.cpp.
| bool Robot::addChainToGroup | ( | const std::string & | group, | 
| const std::string & | tip, | ||
| const std::string & | base | ||
| ) | 
Add all the joints between two frames in a chain to a group.
| [in] | group | Group to add joint to. | 
| [in] | tip | Tip of the chain. | 
| [in] | base | Base of the chain. | 
Definition at line 135 of file robowflex_dart/src/robot.cpp.
| bool Robot::addGroupToGroup | ( | const std::string & | group, | 
| const std::string & | other | ||
| ) | 
Add all the joints in another group to this group.
| [in] | group | Group to add other to. | 
| [in] | other | Other group to add. | 
Definition at line 173 of file robowflex_dart/src/robot.cpp.
| bool Robot::addJointToGroup | ( | const std::string & | group, | 
| const std::string & | joint_name | ||
| ) | 
Add a joint to a group.
| [in] | group | Group to add joint to. | 
| [in] | joint_name | Joint name to add. | 
Definition at line 92 of file robowflex_dart/src/robot.cpp.
| bool Robot::addLinkToGroup | ( | const std::string & | group, | 
| const std::string & | link_name | ||
| ) | 
Add a the parent joint of a link to a group.
| [in] | group | Group to add joint to. | 
| [in] | link_name | Link to add. | 
Definition at line 108 of file robowflex_dart/src/robot.cpp.
      
  | 
  private | 
Adds a name to the group.
| [in] | group | Group to add name to. | 
| [in] | name | Name to add to group. | 
Definition at line 72 of file robowflex_dart/src/robot.cpp.
| RobotPtr Robot::cloneRobot | ( | const std::string & | newName | ) | const | 
Clone this robot with a new name.
| [in] | newName | Name for cloned robot. | 
Definition at line 53 of file robowflex_dart/src/robot.cpp.
| const std::vector< std::size_t > & Robot::getGroupIndices | ( | const std::string & | group | ) | const | 
Get the indices of joints corresponding to a group.
| [in] | group | Group to get indices for. | 
Definition at line 381 of file robowflex_dart/src/robot.cpp.
| std::pair< std::size_t, dart::dynamics::Joint * > Robot::getGroupJoint | ( | const std::string & | group, | 
| const std::string & | joint | ||
| ) | const | 
Get a joint in a group along with its index in the group.
| [in] | group | Group to search. | 
| [in] | joint | Joint to find in group. | 
Definition at line 366 of file robowflex_dart/src/robot.cpp.
| std::vector< std::string > & Robot::getGroupJointNames | ( | const std::string & | group | ) | 
Get the joint names in a group.
| [in] | group | Group to get joint names for. | 
Definition at line 347 of file robowflex_dart/src/robot.cpp.
| const std::vector< std::string > & Robot::getGroupJointNamesConst | ( | const std::string & | group | ) | const | 
Get the joint names in a group.
| [in] | group | Group to get joint names for. | 
Definition at line 352 of file robowflex_dart/src/robot.cpp.
| std::vector< dart::dynamics::Joint * > Robot::getGroupJoints | ( | const std::string & | group | ) | const | 
Get the joints for a group.
| [in] | group | Group to get joint names for. | 
Definition at line 357 of file robowflex_dart/src/robot.cpp.
| const Robot::GroupsMap & Robot::getGroups | ( | ) | const | 
Get the groups currently in the robot. A map of group name to a list of all joints in the group.
Definition at line 342 of file robowflex_dart/src/robot.cpp.
| void Robot::getGroupState | ( | const std::string & | group, | 
| Eigen::Ref< Eigen::VectorXd > | q | ||
| ) | const | 
Get the current state of the joints of a group.
| [in] | group | Group to get state for. | 
| [out] | q | Configuration of the group. | 
Definition at line 391 of file robowflex_dart/src/robot.cpp.
| bool Robot::getNamedGroupState | ( | const std::string & | group, | 
| const std::string & | name, | ||
| Eigen::Ref< Eigen::VectorXd > | q | ||
| ) | const | 
Get the configuration of a named group state.
| [in] | group | Group of the named state. | 
| [in] | name | Name of the state to get. | 
| [out] | q | Configuration to fill with named state. | 
Definition at line 423 of file robowflex_dart/src/robot.cpp.
| const Robot::NamedStatesMap & Robot::getNamedGroupStates | ( | ) | const | 
Get the named states map.
Definition at line 406 of file robowflex_dart/src/robot.cpp.
| std::vector< std::string > Robot::getNamedGroupStates | ( | const std::string & | group | ) | const | 
Get all names for named states for a group.
| [in] | group | Group to get named states for. | 
Definition at line 411 of file robowflex_dart/src/robot.cpp.
| std::size_t Robot::getNumDofsGroup | ( | const std::string & | group | ) | const | 
Gets the number of DoFs controlled by a group.
| [in] | group | Group to get DoFs for. | 
Definition at line 386 of file robowflex_dart/src/robot.cpp.
| bool Robot::isGroup | ( | const std::string & | name | ) | const | 
| bool Robot::loadSRDF | ( | const std::string & | srdf | ) | 
Load a SRDF into this robot.
| [in] | srdf | SRDF filename to load. Can be package URI. | 
Definition at line 188 of file robowflex_dart/src/robot.cpp.
| bool Robot::loadURDF | ( | const std::string & | urdf | ) | 
Load a URDF into this robot.
| [in] | urdf | URDF filename to load. Can be package URI. | 
Definition at line 67 of file robowflex_dart/src/robot.cpp.
      
  | 
  private | 
Process the members of a group to generate the set of indices.
| [in] | group | Group to process. | 
Definition at line 568 of file robowflex_dart/src/robot.cpp.
| void Robot::setGroups | ( | const GroupsMap & | newGroups | ) | 
Get the groups currently in the robot. A map of group name to a list of all joints in the group.
Definition at line 335 of file robowflex_dart/src/robot.cpp.
| void Robot::setGroupState | ( | const std::string & | group, | 
| const Eigen::Ref< const Eigen::VectorXd > & | q | ||
| ) | 
Set the current state of the joints of a group.
| [in] | group | Group to set state for. | 
| [out] | q | Configuration to set the group. | 
Definition at line 396 of file robowflex_dart/src/robot.cpp.
| void Robot::setMoveItJMGFromState | ( | const std::string & | jmg, | 
| Eigen::Ref< Eigen::VectorXd > | vec | ||
| ) | const | 
Set a MoveIt Joint Group state from the current state of the robot.
| [in] | jmg | Name of joint group. | 
| [out] | vec | Joint values to set. | 
Definition at line 559 of file robowflex_dart/src/robot.cpp.
| void Robot::setMoveItJMGFromState | ( | const std::string & | jmg, | 
| std::vector< double > & | joints | ||
| ) | const | 
Set a MoveIt Joint Group state from the current state of the robot.
| [in] | jmg | Name of joint group. | 
| [out] | joints | Joint values to set. | 
Definition at line 550 of file robowflex_dart/src/robot.cpp.
| void Robot::setMoveItMsgFromState | ( | moveit_msgs::RobotState & | msg | ) | const | 
Set a MoveIt message from the current state of this robot.
| [out] | msg | Message to set. | 
Definition at line 484 of file robowflex_dart/src/robot.cpp.
| void Robot::setMoveItStateFromState | ( | robot_state::RobotState & | state | ) | const | 
Set a MoveIt robot state from the current state of this robot.
| [out] | state | MoveIt state to set state to. | 
Definition at line 523 of file robowflex_dart/src/robot.cpp.
| void Robot::setNamedGroupState | ( | const std::string & | group, | 
| const std::string & | name, | ||
| const Eigen::Ref< const Eigen::VectorXd > & | q | ||
| ) | 
Set or create a named group state.
| [in] | group | Group of the named state. | 
| [in] | name | Name of the state to set. | 
| [out] | q | Configuration for the named state. | 
Definition at line 442 of file robowflex_dart/src/robot.cpp.
| void Robot::setNamedGroupStates | ( | const NamedStatesMap & | states | ) | 
Set the named states map.
| [in] | states | New named states map. | 
Definition at line 401 of file robowflex_dart/src/robot.cpp.
| void Robot::setStateFromMoveItJMG | ( | const std::string & | jmg, | 
| const Eigen::Ref< const Eigen::VectorXd > & | vec | ||
| ) | 
Set the state using a MoveIt Joint Group.
| [in] | jmg | Name of joint group. | 
| [in] | vec | Value of Joint Group to set. | 
Definition at line 540 of file robowflex_dart/src/robot.cpp.
| void Robot::setStateFromMoveItJMG | ( | const std::string & | jmg, | 
| const std::vector< double > & | joints | ||
| ) | 
Set the state using a MoveIt Joint Group.
| [in] | jmg | Name of joint group. | 
| [in] | joints | Value of Joint Group to set. | 
Definition at line 530 of file robowflex_dart/src/robot.cpp.
| void Robot::setStateFromMoveItMsg | ( | const moveit_msgs::RobotState & | msg | ) | 
Set the current state of this robot from a MoveIt message.
| [in] | msg | Message to set state to. | 
Definition at line 464 of file robowflex_dart/src/robot.cpp.
| void Robot::setStateFromMoveItState | ( | const robot_state::RobotState & | state | ) | 
Set the current state of this robot from a MoveIt robot state.
| [in] | state | MoveIt state to set state to. | 
Definition at line 516 of file robowflex_dart/src/robot.cpp.
      
  | 
  private | 
Indices of group joints.
Definition at line 304 of file robowflex_dart/include/robowflex_dart/robot.h.
      
  | 
  private | 
Map of group names to map of named states.
Definition at line 301 of file robowflex_dart/include/robowflex_dart/robot.h.
      
  | 
  private | 
Map of group names to joint names.
Definition at line 300 of file robowflex_dart/include/robowflex_dart/robot.h.
      
  | 
  private | 
Robowflex robot.
Definition at line 306 of file robowflex_dart/include/robowflex_dart/robot.h.