Skip to main content

Minimal script to convert MuJoCo MJCF robot model files to URDF files usable in ROS

Project description

mjcf_urdf_simple_converter

A minimal and simple script to convert limited elements of MJCF (MuJoCo modeling format) robot model files to URDF. Developed from a need to visualize MJCF robots in ROS environments like Rviz, it only converts a limited subset of the robot model elements to URDF. The model file is loaded in the Python mujoco package, and its model elements are parsed using the library and then output according to the URDF XML format.

I do not intend to expand this into a full-fledged transclation script from MJCF to URDF.

installation

pip install mjcf-urdf-simple-converter

usage

from mjcf_urdf_simple_converter import convert
convert("model.xml", "model.urdf")
# or, if you are using it in your ROS package and would like for the mesh directories to be resolved correctly, set meshfile_prefix, for example:
convert("model.xml", "model.urdf", asset_file_prefix="package://your_package_name/model/")

This converts the model.xml (and any associated MJCF files loaded from within model.xml) to model.urdf. Mesh geoms are also converted to STL files, and saved to converted_*.stl files within the same directory. The converted files can be checked in Rviz, or online tools like https://gkjohnson.github.io/urdf-loaders/javascript/example/bundle/index.html .

what are converted

  • links
    • mesh geoms
    • inertial information
  • joints
    • joint position, axis and limits (arbitrary values are set for effort and velocity limits)
    • only hinge (revolute) joints are supported
    • only up to one joint per link is supported

what are NOT converted

  • actuators
  • sensors
  • tendons
  • etc.

comments

  • A similar tool exists to convert from MJCF to URDF (mjcf2urdf), but the pybullet import that it uses did not work for our case so this tool was created.
  • for converting from URDF to MJCF, the ./compile program bundled with standard MuJoCo installations can be used.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mjcf_urdf_simple_converter-0.4.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

mjcf_urdf_simple_converter-0.4-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file mjcf_urdf_simple_converter-0.4.tar.gz.

File metadata

File hashes

Hashes for mjcf_urdf_simple_converter-0.4.tar.gz
Algorithm Hash digest
SHA256 102d2e3d437d319a6beef049705b2ef619e5a9e4c9ff80bcac9d8f0b3e49ba52
MD5 3c564a1b8638a0753ee73c4d68f92387
BLAKE2b-256 1d91e59713e8b8c6c71e3b44f3002edc1a561a1cf9a8bdf00e8510a539e24b63

See more details on using hashes here.

File details

Details for the file mjcf_urdf_simple_converter-0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for mjcf_urdf_simple_converter-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d04a4c2416c06ea60676c4e2f752b30d0c1d02e8aa7b3738be4050b7aa7c99eb
MD5 329b155730c8387786f0ca041de3d0df
BLAKE2b-256 f7794bd92e8f6c3aaa424783655381d2795cf2003ea1ea5400308c12aee59e99

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page