Robowflex
v0.1
Making MoveIt Easy
|
Loads information about a robot from the parameter server. More...
#include <robot.h>
Public Member Functions | |
ParamRobot (const std::string &name="DEFAULT") | |
Public Member Functions inherited from robowflex::Robot | |
Robot (const std::string &name) | |
Constructor. More... | |
Robot (Robot const &)=delete | |
void | operator= (Robot const &)=delete |
bool | initialize (const std::string &urdf_file) |
Initializes a robot from a kinematic description. A default semantic description is used. More... | |
bool | initializeKinematics (const std::string &kinematics_file) |
Initialize a robot with a kinematics description. More... | |
bool | initialize (const std::string &urdf_file, const std::string &srdf_file, const std::string &limits_file="", const std::string &kinematics_file="") |
Initializes a robot from a kinematic and semantic description. All files are loaded under the robot's namespace. More... | |
bool | initializeFromYAML (const std::string &config_file) |
Initializes a robot from a YAML config which includes URDF (urdf) and optional the SRDF (srdf), joint limits (joint_limits), IK plugins (kinematics) and a default state (robot_state). All files are loaded under the robot's namespace. The names of the YAML keys are in parenthesis. More... | |
bool | loadYAMLFile (const std::string &name, const std::string &file) |
Loads a YAML file into the robot's namespace under name. More... | |
bool | loadYAMLFile (const std::string &name, const std::string &file, const PostProcessYAMLFunction &function) |
Loads a YAML file into the robot's namespace under name, with a post-process function. More... | |
std::string | loadXMLFile (const std::string &file) |
Loads an XML or .xacro file into a string. More... | |
void | setURDFPostProcessFunction (const PostProcessXMLFunction &function) |
Sets a post processing function for loading the URDF. More... | |
bool | isLinkURDF (tinyxml2::XMLDocument &doc, const std::string &name) |
Checks if a node link exist with named name_link. More... | |
void | setSRDFPostProcessFunction (const PostProcessXMLFunction &function) |
Sets a post processing function for loading the SRDF. More... | |
void | setLimitsPostProcessFunction (const PostProcessYAMLFunction &function) |
Sets a post processing function for loading the joint limits file. More... | |
void | setKinematicsPostProcessFunction (const PostProcessYAMLFunction &function) |
Sets a post processing function for loading the kinematics plugin file. More... | |
void | setSRDFPostProcessAddPlanarJoint (const std::string &name) |
Adds a planar virtual joint through the SRDF to the loaded robot with name name. This joint will have three degrees of freedom: <name>/x, <name>/y, and <name>/theta. Will apply this joint between the world and the root frame. More... | |
void | setSRDFPostProcessAddFloatingJoint (const std::string &name) |
Adds a planar virtual joint through the SRDF to the loaded robot with name name. This joint will have three degrees of freedom: <name>/x, <name>/y, and <name>/theta. Will apply this joint between the world and the root frame. More... | |
bool | loadKinematics (const std::string &group, bool load_subgroups=true) |
Loads the kinematics plugin for a joint group and its subgroups. No kinematics are loaded by default. More... | |
const std::string & | getModelName () const |
Get the robot's model name. More... | |
const std::string & | getName () const |
Get the robot's name. More... | |
const robot_model::RobotModelPtr & | getModelConst () const |
Get a const reference to the loaded robot model. More... | |
robot_model::RobotModelPtr & | getModel () |
Get a reference to the loaded robot model. More... | |
urdf::ModelInterfaceConstSharedPtr | getURDF () const |
Get the raw URDF Model. More... | |
const std::string & | getURDFString () const |
Get the raw URDF Model as a string. More... | |
srdf::ModelConstSharedPtr | getSRDF () const |
Get the raw SRDF Model. More... | |
const std::string & | getSRDFString () const |
Get the raw SRDF Model as a string. More... | |
const IO::Handler & | getHandlerConst () const |
Get the underlying IO handler used for this robot. More... | |
IO::Handler & | getHandler () |
Get the underlying IO handler used for this robot. More... | |
const robot_model::RobotStatePtr & | getScratchStateConst () const |
Get a const reference to the scratch robot state. More... | |
robot_model::RobotStatePtr & | getScratchState () |
Get a reference to the scratch robot state. More... | |
robot_model::RobotStatePtr | cloneScratchState () const |
Allocate a new robot state that is a clone of the current scratch state. More... | |
robot_model::RobotStatePtr | allocState () const |
Allocate a new robot state. More... | |
void | setState (const std::vector< double > &positions) |
Sets the scratch state from a vector of joint positions (all must be specified) More... | |
void | setState (const std::map< std::string, double > &variable_map) |
Sets the scratch state from a map of joint name to position. More... | |
void | setState (const std::vector< std::string > &variable_names, const std::vector< double > &variable_position) |
Sets the scratch state from a vector of joint names and their positions. More... | |
void | setState (const sensor_msgs::JointState &state) |
Sets the scratch state from a joint state message. More... | |
void | setState (const moveit_msgs::RobotState &state) |
Sets the scratch state from a robot state message. More... | |
void | setStateFromYAMLFile (const std::string &file) |
Sets the scratch state from a robot state message saved to a YAML file. More... | |
void | setGroupState (const std::string &name, const std::vector< double > &positions) |
Sets the group of the scratch state to a vector of joint positions. More... | |
std::vector< double > | getState () const |
Gets the current joint positions of the scratch state. More... | |
moveit_msgs::RobotState | getStateMsg () const |
Get the current scratch state as a message. More... | |
void | setStateMsgGroupState (moveit_msgs::RobotState &state, const std::string &group, const std::vector< double > &positions) const |
Set the group state of a MoveIt RobotState message. More... | |
std::vector< std::string > | getJointNames () const |
Gets the names of joints of the robot. More... | |
bool | hasJoint (const std::string &joint) const |
Checks if a joint exists in the robot. More... | |
const RobotPose & | getLinkTF (const std::string &name) const |
Get the current pose of a link on the scratch state. More... | |
const RobotPose | getRelativeLinkTF (const std::string &base, const std::string &target) const |
Get the current pose of a link target in the frame of base. More... | |
bool | setFromIK (const IKQuery &query) |
Sets a group of the scratch state from an IK query. If the IK query fails the scratch state retains its initial value. More... | |
bool | setFromIK (const IKQuery &query, robot_state::RobotState &state) const |
Sets a robot state from an IK query. If the IK query fails the scratch state retains its initial value. More... | |
bool | validateIKQuery (const IKQuery &query, const robot_state::RobotState &state) const |
Validates that a state satisfies an IK query's request poses. More... | |
double | distanceToIKQuery (const IKQuery &query, const robot_state::RobotState &state) const |
Returns the distance of the state to satisfying the IK query. More... | |
std::vector< std::string > | getSolverTipFrames (const std::string &group) const |
Get the tip frames for the IK solver for a given joint model group group. More... | |
std::string | getSolverBaseFrame (const std::string &group) const |
Get the base frame for the IK solver given a joint model group group. More... | |
bool | toYAMLFile (const std::string &file) const |
Dumps the current configuration of the robot as a YAML file. More... | |
bool | dumpGeometry (const std::string &file) const |
Dumps the names of links and absolute paths to their visual mesh files to a YAML file. More... | |
bool | dumpTransforms (const std::string &filename) const |
Dumps the tranforms of all links of a robot at its current state to a file. More... | |
bool | dumpPathTransforms (const robot_trajectory::RobotTrajectory &path, const std::string &filename, double fps=30, double threshold=0.0) const |
Dumps the tranforms of all links of a robot through a robot trajectory to a file. More... | |
bool | dumpToScene (const std::string &filename) const |
Dumps the current scratch configuration of the robot to a YAML file compatible with a scene. More... | |
Additional Inherited Members | |
Public Types inherited from robowflex::Robot | |
typedef std::function< bool(YAML::Node &)> | PostProcessYAMLFunction |
A function that runs after loading a YAML file and can modify its contents. Returns true on success, false on failure. More... | |
typedef std::function< bool(tinyxml2::XMLDocument &)> | PostProcessXMLFunction |
A function that runs after loading a XML file and can modify its contents. Returns true on success, false on failure. More... | |
Static Public Attributes inherited from robowflex::Robot | |
static const std::string | ROBOT_DESCRIPTION = "robot_description" |
Default robot description name. More... | |
static const std::string | ROBOT_SEMANTIC = "_semantic" |
Default robot semantic description suffix. More... | |
static const std::string | ROBOT_PLANNING = "_planning" |
Default robot planning description suffix. More... | |
static const std::string | ROBOT_KINEMATICS = "_kinematics" |
Default robot kinematics description suffix. More... | |
Protected Member Functions inherited from robowflex::Robot | |
bool | loadURDFFile (const std::string &urdf_file) |
Loads the URDF file. More... | |
bool | loadSRDFFile (const std::string &srdf_file) |
Loads the SRDF file. More... | |
void | initializeInternal (bool namespaced=true) |
Initializes and loads the robot. Calls post-processing functions and creates scratch state. More... | |
void | loadRobotModel (const std::string &description) |
Loads a robot model from the loaded information on the parameter server. More... | |
void | updateXMLString (std::string &string, const PostProcessXMLFunction &function) |
Updates a loaded XML string based on an XML post-process function. Called after initial, unmodified robot is loaded. More... | |
Protected Attributes inherited from robowflex::Robot | |
const std::string | name_ |
Robot name. More... | |
IO::Handler | handler_ |
IO handler (namespaced with name_) More... | |
std::string | urdf_ |
The URDF as a string. More... | |
std::string | srdf_ |
The SRDF as a string. More... | |
PostProcessXMLFunction | urdf_function_ |
URDF post-processing function. More... | |
PostProcessXMLFunction | srdf_function_ |
SRDF post-processing function. More... | |
PostProcessYAMLFunction | limits_function_ |
Limits YAML post-processing function. More... | |
PostProcessYAMLFunction | kinematics_function_ |
Kinematics plugin YAML post-processing function. More... | |
std::shared_ptr< robot_model_loader::RobotModelLoader > | loader_ |
Robot model loader. More... | |
robot_model::RobotModelPtr | model_ |
Loaded robot model. More... | |
std::map< std::string, robot_model::SolverAllocatorFn > | imap_ |
Kinematic solver allocator map. More... | |
kinematics_plugin_loader::KinematicsPluginLoaderPtr | kinematics_ |
Kinematic plugin loader. More... | |
robot_state::RobotStatePtr | scratch_ |
Scratch robot state. More... | |
Loads information about a robot from the parameter server.
Definition at line 823 of file robowflex_library/include/robowflex_library/robot.h.
ParamRobot::ParamRobot | ( | const std::string & | name = "DEFAULT" | ) |
Constructor. Loads robot from parameter server.
[in] | name | Name for this robot. |
Definition at line 1371 of file robowflex_library/src/robot.cpp.