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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for mjcf_urdf_simple_converter-0.3.tar.gz
Algorithm Hash digest
SHA256 fc70d44e1cc812a91bd841ba3787785fe8eeddd689ef77b3054cf27dad991fa7
MD5 83d6f6b4745e9e02e603ddc2c4b3d10a
BLAKE2b-256 3ad0fac0b416c4def1bbeb2026c5b531e5b84e5b3b59a1307af4b11810db6470

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mjcf_urdf_simple_converter-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7fe7e153b6d217c6c966119be0cdede4a4c553c2461578febdf8b5675e5339cc
MD5 c5f9c7059322ec070aa691f3952f4af9
BLAKE2b-256 84bd687ea4565e32b8f42e76f130cfc343ba1955c8cf245ffdc85daabb94382d

See more details on using hashes here.

Supported by

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