Skip to content

Importing URDF Robots

INTERACT can import and export robots from URDF files.

URDF is a popular file format used to describe a robot. The format is described by ROS (Robot Operating System).

Importing

To import an URDF, open the INTERACT menu and click on Import > URDF File and select the robot file to import. Ensure that the format of the robot's visuals are in STL and not in a format like Collada (.dae extension).

Once imported the robot will be automatically set up with the correct geometry, visuals, kinematic joints, limits, constraints and joint hierarchy.

Supported geometry formats:

  • URDF primitives (cube, sphere, ...)
  • STL (either binary or ASCII)

A Robot Imported using the URDF Importer

An example of a robot (ATHLETE) imported using the URDF Importer with all the joints and the constraints set up

Exporting URDF

To export an URDF, select the root of your robot in the hierarchy, then in the INTERACT menu and click on Export > Export Robot kinematics as URDF, and finally select the output urdf file location.

Export does not support

  • Robots with multiple kinematic roots
  • Multiple robots in the same export

Notes

  • A link named "root" will be created to be the parent of the kinematic root joint
  • The robot will be centered around its root gameobject
  • Only primitive geometries will be exported (cube, sphere, ...)

INTERACT and URDF

The relationship between joints is different in URDF and INTERACT.

In URDF, joints must have a parent link and a child link. Links hold the visual and collision information of the robot. Joints hold the physical relationship between those links.

In INTERACT, joints can be parented to another joint via their rigidbody, and a joint without a parent is automatically parented to the world. The child of a joint is implicitly their own associated rigidbody. Gameobjects hold the visual and collision information of the robot.

Joint relationships in UDRF and INTERACT:

INTERACT URDF
Diagram of urdf joint link relationship Diagram of equivalent joint link relationship in Interact
Corresponding INTERACT hierarchy Corresponding URDF code block
J = Joint, L = Link, Go = Gameobject A joint J0 needs to be added in INTERACT in order to have a complete kinematic chain starting from the world