Enumerations | |
enum | AxisCartesian { AXIS_X, AXIS_Y, AXIS_Z, AXIS_UNALIGNED } |
The four possible cartesian types of an 3D axis. More... | |
Functions | |
fcl::CollisionObject | retrieveCollisionGeometry (const boost::shared_ptr< ::urdf::Geometry > urdf_geometry, const std::vector< std::string > &package_dirs, std::string &mesh_path) |
Get a fcl::CollisionObject from an urdf geometry, searching for it in specified package directories. | |
void | parseTreeForGeom (::urdf::LinkConstPtr link, const Model &model, GeometryModel &model_geom, const std::vector< std::string > &package_dirs) throw (std::invalid_argument) |
Recursive procedure for reading the URDF tree, looking for geometries This function fill the geometric model whith geometry objects retrieved from the URDF tree. | |
GeometryModel | buildGeom (const Model &model, const std::string &filename, const std::vector< std::string > &package_dirs=std::vector< std::string >()) throw (std::invalid_argument) |
Build The GeometryModel from a URDF file. | |
Inertia | convertFromUrdf (const ::urdf::Inertial &Y) |
Convert URDF Inertial quantity to Spatial Inertia. | |
SE3 | convertFromUrdf (const ::urdf::Pose &M) |
Convert URDF Pose quantity to SE3. | |
AxisCartesian | extractCartesianAxis (const ::urdf::Vector3 &axis) |
Extract the cartesian property of a particular 3D axis. | |
void | parseTree (::urdf::LinkConstPtr link, Model &model, const SE3 &placementOffset=SE3::Identity(), bool verbose=false) throw (std::invalid_argument) |
Recursive procedure for reading the URDF tree. | |
template<typename D > | |
void | parseTree (::urdf::LinkConstPtr link, Model &model, const SE3 &placementOffset, const JointModelBase< D > &root_joint, const bool verbose=false) throw (std::invalid_argument) |
Parse a tree with a specific root joint linking the model to the environment. | |
template<typename D > | |
Model | buildModel (const std::string &filename, const JointModelBase< D > &root_joint, bool verbose=false) throw (std::invalid_argument) |
Build the model from a URDF file with a particular joint as root of the model tree. | |
Model | buildModel (const std::string &filename, const bool verbose=false) throw (std::invalid_argument) |
Build the model from a URDF file with a fixed joint as root of the model tree. |
GeometryModel se3::urdf::buildGeom | ( | const Model & | model, |
const std::string & | filename, | ||
const std::vector< std::string > & | package_dirs = std::vector<std::string> () |
||
) | throw (std::invalid_argument) [inline] |
Build The GeometryModel from a URDF file.
Search for meshes in the directories specified by the user first and then in the environment variable ROS_PACKAGE_PATH
[in] | model | The model of the robot, built with urdf::buildModel |
[in] | filename | The URDF complete (absolute) file path |
[in] | package_dirs | A vector containing the different directories where to search for models and meshes. |
References se3::extractPathFromEnvVar(), and parseTreeForGeom().
Model se3::urdf::buildModel | ( | const std::string & | filename, |
const JointModelBase< D > & | root_joint, | ||
bool | verbose = false |
||
) | throw (std::invalid_argument) |
Build the model from a URDF file with a particular joint as root of the model tree.
[in] | filemane | The URDF complete file path. |
[in] | root_joint | The joint at the root of the model tree. |
References se3::SE3Tpl< _Scalar, _Options >::Identity(), and parseTree().
Model se3::urdf::buildModel | ( | const std::string & | filename, |
const bool | verbose = false |
||
) | throw (std::invalid_argument) [inline] |
Build the model from a URDF file with a fixed joint as root of the model tree.
[in] | filemane | The URDF complete file path. |
References se3::SE3Tpl< _Scalar, _Options >::Identity(), and parseTree().
Inertia se3::urdf::convertFromUrdf | ( | const ::urdf::Inertial & | Y | ) | [inline] |
Convert URDF Inertial quantity to Spatial Inertia.
[in] | Y | The input URDF Inertia. |
Referenced by parseTree(), and parseTreeForGeom().
SE3 se3::urdf::convertFromUrdf | ( | const ::urdf::Pose & | M | ) | [inline] |
Convert URDF Pose quantity to SE3.
[in] | M | The input URDF Pose. |
AxisCartesian se3::urdf::extractCartesianAxis | ( | const ::urdf::Vector3 & | axis | ) | [inline] |
Extract the cartesian property of a particular 3D axis.
[in] | axis | The input URDF axis. |
References AXIS_UNALIGNED, AXIS_X, AXIS_Y, and AXIS_Z.
Referenced by parseTree().
void se3::urdf::parseTree | ( | ::urdf::LinkConstPtr | link, |
Model & | model, | ||
const SE3 & | placementOffset = SE3::Identity() , |
||
bool | verbose = false |
||
) | throw (std::invalid_argument) [inline] |
Recursive procedure for reading the URDF tree.
The function returns an exception as soon as a necessary Inertia or Joint information are missing.
[in] | link | The current URDF link. |
[in] | model | The model where the link must be added. |
[in] | placementOffset | The relative placement of the link relative to the closer non fixed joint in the tree. |
References AXIS_UNALIGNED, AXIS_X, AXIS_Y, AXIS_Z, convertFromUrdf(), se3::Symmetric3Tpl< _Scalar, _Options >::data(), extractCartesianAxis(), se3::SE3Tpl< _Scalar, _Options >::Identity(), se3::InertiaTpl< _Scalar, _Options >::inertia(), se3::InertiaTpl< _Scalar, _Options >::lever(), se3::InertiaTpl< _Scalar, _Options >::mass(), and se3::InertiaTpl< double, 0 >::Zero().
Referenced by buildModel(), and parseTree().
void se3::urdf::parseTree | ( | ::urdf::LinkConstPtr | link, |
Model & | model, | ||
const SE3 & | placementOffset, | ||
const JointModelBase< D > & | root_joint, | ||
const bool | verbose = false |
||
) | throw (std::invalid_argument) |
Parse a tree with a specific root joint linking the model to the environment.
The function returns an exception as soon as a necessary Inertia or Joint information are missing.
[in] | link | The current URDF link. |
[in] | model | The model where the link must be added. |
[in] | placementOffset | The relative placement of the link relative to the closer non fixed joint in the tree. |
[in] | root_joint | The specific root joint. |
References convertFromUrdf(), se3::SE3Tpl< _Scalar, _Options >::Identity(), and parseTree().
void se3::urdf::parseTreeForGeom | ( | ::urdf::LinkConstPtr | link, |
const Model & | model, | ||
GeometryModel & | model_geom, | ||
const std::vector< std::string > & | package_dirs | ||
) | throw (std::invalid_argument) [inline] |
Recursive procedure for reading the URDF tree, looking for geometries This function fill the geometric model whith geometry objects retrieved from the URDF tree.
[in] | link | The current URDF link |
model | The model to which is the GeometryModel associated | |
model_geom | The GeometryModel where the Collision Objects must be added | |
[in] | package_dirs | A vector containing the different directories where to search for packages |
[in] | rootJointAdded | If a root joint was added at the begining of the urdf kinematic chain by user when constructing the Model |
References convertFromUrdf(), and retrieveCollisionGeometry().
Referenced by buildGeom().
fcl::CollisionObject se3::urdf::retrieveCollisionGeometry | ( | const boost::shared_ptr< ::urdf::Geometry > | urdf_geometry, |
const std::vector< std::string > & | package_dirs, | ||
std::string & | mesh_path | ||
) | [inline] |
Get a fcl::CollisionObject from an urdf geometry, searching for it in specified package directories.
[in] | urdf_geometry | The input urdf geometry |
[in] | package_dirs | A vector containing the different directories where to search for packages |
[out] | mesh_path | The Absolute path of the mesh currently read |
References se3::convertURDFMeshPathToAbsolutePath(), and se3::loadPolyhedronFromResource().
Referenced by parseTreeForGeom().