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 ::urdf::LinkConstPtr &link, const std::string &meshRootDir) |
Get a CollisionObject from an urdf link, reading the corresponding mesh. | |
void | parseTreeForGeom (::urdf::LinkConstPtr link, Model &model, GeometryModel &model_geom, const std::string &meshRootDir, const bool rootJointAdded) 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. | |
template<typename D > | |
std::pair< Model, GeometryModel > | buildModelAndGeom (const std::string &filename, const std::string &meshRootDir, const JointModelBase< D > &root_joint) |
Build The Model and GeometryModel from a URDF file with a particular joint as root of the model tree. | |
std::pair< Model, GeometryModel > | buildModelAndGeom (const std::string &filename, const std::string &meshRootDir) |
Build The Model and GeometryModel from a URDF file with no root joint added to the model tree. | |
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. |
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().
std::pair< Model, GeometryModel > se3::urdf::buildModelAndGeom | ( | const std::string & | filename, |
const std::string & | meshRootDir, | ||
const JointModelBase< D > & | root_joint | ||
) |
Build The Model and GeometryModel from a URDF file with a particular joint as root of the model tree.
[in] | filename | The URDF complete file path |
[in] | meshRootDir | Root path to the directory where meshes are located |
References se3::SE3Tpl< _Scalar, _Options >::Identity(), parseTree(), and parseTreeForGeom().
std::pair< Model, GeometryModel > se3::urdf::buildModelAndGeom | ( | const std::string & | filename, |
const std::string & | meshRootDir | ||
) | [inline] |
Build The Model and GeometryModel from a URDF file with no root joint added to the model tree.
[in] | filename | The URDF complete file path |
[in] | meshRootDir | Root path to the directory where meshes are located |
References se3::SE3Tpl< _Scalar, _Options >::Identity(), parseTree(), and parseTreeForGeom().
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< _Scalar, _Options >::Zero().
Referenced by buildModel(), buildModelAndGeom(), 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, |
Model & | model, | ||
GeometryModel & | model_geom, | ||
const std::string & | meshRootDir, | ||
const bool | rootJointAdded | ||
) | 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 Geometry Model associated | |
model_geom | The Geometry Model where the Collision Objects must be added | |
[in] | meshRootDir | Root path to the directory where meshes are located |
References convertFromUrdf(), and retrieveCollisionGeometry().
Referenced by buildModelAndGeom().
fcl::CollisionObject se3::urdf::retrieveCollisionGeometry | ( | const ::urdf::LinkConstPtr & | link, |
const std::string & | meshRootDir | ||
) | [inline] |
Get a CollisionObject from an urdf link, reading the corresponding mesh.
[in] | link | The input urdf link |
[in] | meshRootDir | Root path to the directory where meshes are located |
References fromURDFMeshPathToAbsolutePath(), and loadPolyhedronFromResource().
Referenced by parseTreeForGeom().