For a number of reasons, it would be helpful, to have some sort of common format to describe a robot. This page should help finding out, what we in Rock would like that format to describe, what formats are available and document what decision we take for choosing a format.

Reasons for having a robot description format

  • Common robot configuration between different parts of the software
    • Simulation
    • Transformer
    • Visualization
    • Maybe: Roby Models
      • TR: Split between structural and functional description
  • Interchangeability between different applications
    • Other Simulator/Visualisations (Gazebo?)
    • Transfer from CAD models

Requirements for a format

  • Version numbering for the file itself(to be backwards compatible and support conversion functions)
  • Kinematic Chain
    • Frames
    • Joints
    • do we need to support parallel kinematics?
  • Concise Format
    • TR: what connotation: concise -> precise (yes) or concise -> short (no)?
  • Ideally compatible to other widely used formats
    • TR: (at least) conversion into both directions should be easy enough
  • Sensor description
  • Actuator description
  • Extendable
  • Simulation Properties
    • Geometry
    • Physical Properties
  • Visual Properties
    • Materials
    • Geometry
    • Skins
  • Sensor/Actuator output (telemetry) description
    • TR: explicit or implict from sensor/actuator description

Available Formats

Next Steps

  • Update Requirements and available formats
  • Propose solutions and rating criteria
  • Rate solutions
  • Implement, distribute and advertise solution
    • Generating rock-base-classes
    • Implement Parser
    • Implement Generator


  • Extended COLLADA
    • Large Description
    • Scaleable without real change
    • Covers Scenes/OpenGL Kinematics/ and everything mars needs
    • Indutry Prooven
    • Supported by V-Rep
    • Supported by gazebo
    • disliked by the aila people (should ask why)
  • Mars
    • Works already
    • "Selfmade" non-compatible Format
    • Not Yet Documented
  • URDF
    • Non-Scaleable
    • Quite Few Tags
    • small
    • does not Cover mars set
    • easy to extend
    • used in ROS, support for loading into KDL and some converters to e.g. collada
    • used in MoveIt (motion planning framework)
  • SysML
    • Generic UML-Like Description
    • Covers Everything
    • Not concrete defined structure
  • SDF
    • Quite Similar to Mars
    • in standard set not directly support all sensors from mars
    • Not extendable without extending the language
      • (question from Sylvain) so what ?
    • meant to be used in conjunction with URDF (i.e. it is URDF + SDF)


  • Mars Devs would be fine with an subset of the extended colloada

Last modified 9 years ago Last modified on 07/18/13 13:02:26