-
 

sdformat_urdf package from sdformat_urdf repo

sdformat_test_files sdformat_urdf

Package Summary

Tags No category tags.
Version 1.0.2
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros/sdformat_urdf.git
VCS Type git
VCS Version jazzy
Last Updated 2024-09-16
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

URDF plugin to parse SDFormat XML into URDF C++ DOM objects.

Additional Links

Maintainers

  • Shane Loretz

Authors

  • Shane Loretz

SDFormat URDF

This package contains a C++ library and urdf_parser_plugin for converting SDFormat XML into URDF C++ structures. Installing it allows one to use SDFormat XML instead of URDF XML as a robot description.

Supported platforms

The package has been tested with ROS Rolling Ridley on Ubuntu Focal.

Limitations and Considerations

In general, URDF C++ structures cannot represent every possible SDFormat XML file. SDFormat XML used with this plugin must be constructed with the following limitations.

Limitations that result in Errors

This package will error and refuse to convert any SDFormat XML that violates these constraints.

Model limitations

  • The XML file must contain a single <model> not in a <world>
  • The <model> tag must not have a <pose>
  • There must not be any nested <model>

Geometry limitations

  • The only supported geometry types are <box>, <cylinder>, <mesh>, and <sphere>
  • The model must not use <plane> or <heightmap>

Joint limitations

  • The only supported joint types are continuous, fixed, prismatic, and revolute
  • The model must not use universal, screw, revolute2, gearbox, or ball joints

Kinematic limitations

  • Starting from the canonical link, the links and joints must form a tree
  • No link may be a child of more than 1 joint
  • The canonical link cannot be a child of any joint

Limitations that may result in Warnings

If any of these constraints are violated then the library may issue a console warning, but the model is still converted to URDF c++ structures. The warning is issued using an rcutils logger with the name sdformat_urdf.

Joint limitations

  • <axis> should not use <initial_position>
  • <dynamics> should not use <spring_reference> or <spring_stiffness>
  • <limit> should not use <dissipation> or <stiffness>
  • <joint> should not use <sensor> or <physics>
  • <link> should not have any <light> or <sensor>

Material limitations

  • Only solid color materials are supported
    • The color only uses <ambient> and <diffuse> tags of the material
    • Color is calculated as 0.4 * ambient + 0.8 * diffuse
  • The model should not disable dynamic lighting using the <lighting>
  • The model should not use materials with <script>, <shader>, or <pbr>
  • The URDF material name assigned the name of the SDFormat <visual> containing the material, so <visual> names should be unique within the model

Considerations for Mesh URIs

The model:// prefix is commonly used in SDFormat XML files to set URIs for meshes, e.g. model://my_model/meshes/mesh1.obj. However, ROS tools likes RViz which rely on resource_retriever will throw errors when attempting to load a mesh from such an URI since resource_retriever does not resolve model:// prefixes to absolute filepaths. This may happen when an SDFormat XML file is parsed into an URDF XML by a robot_state_publisher node and published as a serialized string over /robot_description which is subscribed to by RViz. To allow both Gazebo and RViz to resolve URIs to absolute paths and load meshes properly, the following pattern may be adopted.

  • Move the my_model folder containing the meshes, model.sdf and model.config files into a ROS package, say my_model_description which installs the model.
  • Set the mesh URIs using the package:// prefix, e.g. package://my_model_description/models/my_model/meshes/mesh1.obj
  • Set the GZ_SIM_RESOURCE_PATH environment variable to <install_prefix>/my_model_description/share/.

Note <install_prefix>/my_model_description/share/ above is the output of os.path.join(get_package_prefix('my_model_description'), 'share') or "$(ros2 pkg prefix my_model_description)/share" and not ros2 pkg prefix --share my_model_description since the latter includes an extra package name at the end. See https://github.com/ros/sdformat_urdf/pull/20#issuecomment-1944430224 for more details.

CHANGELOG

Changelog for package sdformat_urdf

1.0.2 (2024-04-23)

  • Explain how Gazebo and RViz can resolve mesh URIs (#26) (#29) Co-authored-by: Yadu <<yadunund@gmail.com>>
  • Use gz vendor packages and update to Harmonic (#28)
  • Support Gazebo Harmonic (#23)
  • ign to gz migration (#19)
    • ign->gz

    * revertingsdf13 changes ---------

  • Create sdformat_urdf_plugin as SHARED instead of MODULE for macOS compatibility (#22)
    • Create sdformat_urdf_plugin as SHARED instead of MODULE for macOS compatibility
    • Remove trailing whitespace
  • Support Gazebo Garden (#17)
  • updating gtest conditionals (#16)
  • Contributors: Addisu Z. Taddese, Alejandro Hernández Cordero, Dharini Dutia, Louise Poubel, Rhys Mainwaring, Silvio Traversaro

1.0.1 (2022-06-21)

  • Remove version requirement on sdformat_test_files (#15)
  • Contributors: Shane Loretz

1.0.0 (2022-06-21)

  • Support for universal and ball joint as floating joints #13
  • Support SDFormat 12 (#12)
  • Use urdfdom_headers::urdfdom_headers (#5, #6))
  • Contributors: Dharini Dutia, Louise Poubel, Shane Loretz

0.1.0 (2020-11-02)

  • Initial urdf parser plugin that parses sdformat (#1)
  • Contributors: Shane Loretz, Addisu Z. Taddese, Steve Peters, Chris Lalancette, Eric Cousineau

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sdformat_urdf at Robotics Stack Exchange

sdformat_urdf package from sdformat_urdf repo

sdformat_test_files sdformat_urdf

Package Summary

Tags No category tags.
Version 2.0.1
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros/sdformat_urdf.git
VCS Type git
VCS Version rolling
Last Updated 2024-09-16
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

URDF plugin to parse SDFormat XML into URDF C++ DOM objects.

Additional Links

Maintainers

  • Shane Loretz

Authors

  • Shane Loretz

SDFormat URDF

This package contains a C++ library and urdf_parser_plugin for converting SDFormat XML into URDF C++ structures. Installing it allows one to use SDFormat XML instead of URDF XML as a robot description.

Supported platforms

The package has been tested with ROS Rolling Ridley on Ubuntu Focal.

Limitations and Considerations

In general, URDF C++ structures cannot represent every possible SDFormat XML file. SDFormat XML used with this plugin must be constructed with the following limitations.

Limitations that result in Errors

This package will error and refuse to convert any SDFormat XML that violates these constraints.

Model limitations

  • The XML file must contain a single <model> not in a <world>
  • The <model> tag must not have a <pose>
  • There must not be any nested <model>

Geometry limitations

  • The only supported geometry types are <box>, <cylinder>, <mesh>, and <sphere>
  • The model must not use <plane> or <heightmap>

Joint limitations

  • The only supported joint types are continuous, fixed, prismatic, and revolute
  • The model must not use universal, screw, revolute2, gearbox, or ball joints

Kinematic limitations

  • Starting from the canonical link, the links and joints must form a tree
  • No link may be a child of more than 1 joint
  • The canonical link cannot be a child of any joint

Limitations that may result in Warnings

If any of these constraints are violated then the library may issue a console warning, but the model is still converted to URDF c++ structures. The warning is issued using an rcutils logger with the name sdformat_urdf.

Joint limitations

  • <axis> should not use <initial_position>
  • <dynamics> should not use <spring_reference> or <spring_stiffness>
  • <limit> should not use <dissipation> or <stiffness>
  • <joint> should not use <sensor> or <physics>
  • <link> should not have any <light> or <sensor>

Material limitations

  • Only solid color materials are supported
    • The color only uses <ambient> and <diffuse> tags of the material
    • Color is calculated as 0.4 * ambient + 0.8 * diffuse
  • The model should not disable dynamic lighting using the <lighting>
  • The model should not use materials with <script>, <shader>, or <pbr>
  • The URDF material name assigned the name of the SDFormat <visual> containing the material, so <visual> names should be unique within the model

Considerations for Mesh URIs

The model:// prefix is commonly used in SDFormat XML files to set URIs for meshes, e.g. model://my_model/meshes/mesh1.obj. However, ROS tools likes RViz which rely on resource_retriever will throw errors when attempting to load a mesh from such an URI since resource_retriever does not resolve model:// prefixes to absolute filepaths. This may happen when an SDFormat XML file is parsed into an URDF XML by a robot_state_publisher node and published as a serialized string over /robot_description which is subscribed to by RViz. To allow both Gazebo and RViz to resolve URIs to absolute paths and load meshes properly, the following pattern may be adopted.

  • Move the my_model folder containing the meshes, model.sdf and model.config files into a ROS package, say my_model_description which installs the model.
  • Set the mesh URIs using the package:// prefix, e.g. package://my_model_description/models/my_model/meshes/mesh1.obj
  • Set the GZ_SIM_RESOURCE_PATH environment variable to <install_prefix>/my_model_description/share/.

Note <install_prefix>/my_model_description/share/ above is the output of os.path.join(get_package_prefix('my_model_description'), 'share') or "$(ros2 pkg prefix my_model_description)/share" and not ros2 pkg prefix --share my_model_description since the latter includes an extra package name at the end. See https://github.com/ros/sdformat_urdf/pull/20#issuecomment-1944430224 for more details.

CHANGELOG

Changelog for package sdformat_urdf

2.0.1 (2024-04-23)

2.0.0 (2024-04-23)

  • Use gz vendor packages and update to Harmonic (#28)
  • Support Gazebo Harmonic (#23)
  • ign to gz migration (#19)
    • ign->gz

    * revertingsdf13 changes ---------

  • Create sdformat_urdf_plugin as SHARED instead of MODULE for macOS compatibility (#22)
    • Create sdformat_urdf_plugin as SHARED instead of MODULE for macOS compatibility
    • Remove trailing whitespace
  • Support Gazebo Garden (#17)
  • updating gtest conditionals (#16)
  • Contributors: Addisu Z. Taddese, Dharini Dutia, Louise Poubel, Rhys Mainwaring, Silvio Traversaro

1.0.1 (2022-06-21)

  • Remove version requirement on sdformat_test_files (#15)
  • Contributors: Shane Loretz

1.0.0 (2022-06-21)

  • Support for universal and ball joint as floating joints #13
  • Support SDFormat 12 (#12)
  • Use urdfdom_headers::urdfdom_headers (#5, #6))
  • Contributors: Dharini Dutia, Louise Poubel, Shane Loretz

0.1.0 (2020-11-02)

  • Initial urdf parser plugin that parses sdformat (#1)
  • Contributors: Shane Loretz, Addisu Z. Taddese, Steve Peters, Chris Lalancette, Eric Cousineau

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sdformat_urdf at Robotics Stack Exchange

sdformat_urdf package from sdformat_urdf repo

sdformat_test_files sdformat_urdf

Package Summary

Tags No category tags.
Version 0.1.0
License Apache 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros/sdformat_urdf.git
VCS Type git
VCS Version galactic
Last Updated 2022-06-20
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

URDF plugin to parse SDFormat XML into URDF C++ DOM objects.

Additional Links

Maintainers

  • Shane Loretz

Authors

  • Shane Loretz

SDFormat URDF

This package contains a C++ library and urdf_parser_plugin for converting SDFormat XML into URDF C++ structures. Installing it allows one to use SDFormat XML instead of URDF XML as a robot description.

Supported platforms

The package has been tested with ROS Rolling Ridley on Ubuntu Focal.

Limitations and Considerations

In general, URDF C++ structures cannot represent every possible SDFormat XML file. SDFormat XML used with this plugin must be constructed with the following limitations.

Limitations that result in Errors

This package will error and refuse to convert any SDFormat XML that violates these constraints.

Model limitations

  • The XML file must contain a single <model> not in a <world>
  • The <model> tag must not have a <pose>
  • There must not be any nested <model>

Geometry limitations

  • The only supported geometry types are <box>, <cylinder>, <mesh>, and <sphere>
  • The model must not use <plane> or <heightmap>

Joint limitations

  • The only supported joint types are continuous, fixed, prismatic, and revolute
  • The model must not use universal, screw, revolute2, gearbox, or ball joints

Kinematic limitations

  • Starting from the canonical link, the links and joints must form a tree
  • No link may be a child of more than 1 joint
  • The canonical link cannot be a child of any joint

Limitations that may result in Warnings

If any of these constraints are violated then the library may issue a console warning, but the model is still converted to URDF c++ structures. The warning is issued using an rcutils logger with the name sdformat_urdf.

Joint limitations

  • <axis> should not use <initial_position>
  • <dynamics> should not use <spring_reference> or <spring_stiffness>
  • <limit> should not use <dissipation> or <stiffness>
  • <joint> should not use <sensor> or <physics>
  • <link> should not have any <light> or <sensor>

Material limitations

  • Only solid color materials are supported
    • The color only uses <ambient> and <diffuse> tags of the material
    • Color is calculated as 0.4 * ambient + 0.8 * diffuse
  • The model should not disable dynamic lighting using the <lighting>
  • The model should not use materials with <script>, <shader>, or <pbr>
  • The URDF material name assigned the name of the SDFormat <visual> containing the material, so <visual> names should be unique within the model
CHANGELOG

Changelog for package sdformat_urdf

0.1.0 (2020-11-02)

  • Initial urdf parser plugin that parses sdformat (#1)
  • Contributors: Shane Loretz, Addisu Z. Taddese, Steve Peters, Chris Lalancette, Eric Cousineau

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sdformat_urdf at Robotics Stack Exchange