Home > Posts > Robot modelling formats for simulation

Robot modelling formats for simulation

Several XML-based formats have surfaced over the years that can be used to describe a robot.

Apart from URDF (and SRDF) of ROS origin, the Gazebo simulator has been promoting SDF (an evolution of URDF with emphasis on physics simulation), while MJCF apart from being available as URDF extensions, also has its own format with an XML schema for validation and more advanced simulation features (e.g. tendons).

URDF (ROS)

http://wiki.ros.org/urdf

http://wiki.ros.org/urdf/XML

http://wiki.ros.org/urdf/XML/joint

http://wiki.ros.org/urdf/XML/link

Also related, units of measurement in ROS: http://www.ros.org/reps/rep-0103.html

SRDF format http://wiki.ros.org/srdf that is mentioned at http://wiki.ros.org/robot_model is also related (adds Semantics like kinematic chain definition etc). As explained there it is combined with URDF in describing a robot:

This does not replace URDF, and is not an extension of URDF.

This is a format for representing semantic information about the robot structure.

A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined

SDF (Gazebo)

http://gazebosim.org/tutorials?tut=build_model

http://sdformat.org
http://sdformat.org/spec

https://bitbucket.org/osrf/gazebo_models/src (various SDF models in XML)

http://gazebosim.org/tutorials/?tut=ros_urdf (Converting from URDF to Gazebo)

http://gazebosim.org/tutorials?tut=simple_gripper (tutorial for simple gripper in SDF)

Gazebo seems to be using ODE (Open Dynamics Engine), so these are related too:

http://www.ode.org/ode-latest-userguide.html#sec_7_3_0 (see images for Joint types)

http://www.ode.org/ode-latest-userguide.html#sec_3_6_0 (ERP & CFM constraint parameters)

MJCF (MuJoCo)

http://www.mujoco.org/ (MuJoCo 1.50 was released on April 23, 2017. Student licenses are now free)

http://www.mujoco.org/book/

http://www.mujoco.org/book/modeling.html

http://www.mujoco.org/book/modeling.html#CURDF (MJCF is an advanced format but some of its functionality is also available as URDF extensions)

http://www.mujoco.org/book/computation.html#Constraint (MuJoCo has constraints like Connect/Weld/Joint/Tendon/Distance)

https://homes.cs.washington.edu/~todorov/papers/TodorovIROS12.pdf (see paragraph «B. Elements of a MuJoCo model»)

URDF to MJCF conversion is possible (related sample available for MuJoCo):

http://www.mujoco.org/forum/index.php?threads/urdf-mjcf-conversion.3429/

There is ongoing work at Bullet Physics engine to import MJCF, as mentioned at:

https://github.com/bulletphysics/bullet3/releases

Thus, they have collected various MJCF models (XML):

https://github.com/bulletphysics/bullet3/tree/master/data/mjcf

Advertisements
  1. 2017/06/18 at 06:37

    What, no JSON? 😉

    • 2017/06/18 at 16:06

      Actually the biggest issue with JSON is that it never came with a way to define a Schema for your data (so that you can check apart from well-formdness of a document, its validity too). Later on some efforts came to make schemas for JSON, not sure if anything has been “standardized” though, and guess even with JSON schemas there isn’t any standard way for a document to self-refer to its schema, like you can do in XML, nor refer to transformations (XML in browsers even supports CSS styling transforms apart from the more versatile XSL structural+content transforms)

      • 2017/06/18 at 17:39

        No no no… the biggest issue with JSON was that it was invented. 😉 😉 😉

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: