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.

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.2.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for mjcf_urdf_simple_converter-0.2.tar.gz
Algorithm Hash digest
SHA256 79435147a6cbb81a89704449dd8a61432f0eed7179c8ef2a02dcc017adca03ec
MD5 0ba229f624f017cc6a385cf495930849
BLAKE2b-256 285cc10d0c0558384cc2ea7d890471a5df7dfa8b25a3cc9f68d5256ac8b55b1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mjcf_urdf_simple_converter-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a85ed64e310a7336bed0f4d333a21b895c3dac61d616c97f2e3d5c0f90e5ca91
MD5 16ae51bc604985b1555a74b95852a64d
BLAKE2b-256 72d14a9cdb4f6488a0b2e9969fc425c3d7993044fb1f2501b2cb7e6f5455575c

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