Step file creation#

Creation of urdf from step file with program urdf_from_step is possible by adding properly named parts representing joints coordinates systems (right) to the robot shape CAD file (left). The addition of joint definitions is possible in any CAD software. Definitions can be added to the robot shape in CAD program-specific native format or to the robot shape already in step file format. For this example, we used Fusion 360 as a CAD program.

This tutorial uses the example of a simple robot arm.

../_images/robot_arm_cad.PNG ../_images/robot_arm_cad_with_cs.PNG

Joint definition CAD element#

The joint definition CAD element needs to be created as the subassembly as the name of the part inside the joint subassembly defines the joint type. Currently following three joint types are supported fixed, revolute, and prismatic with corresponding parts names “fixed*”, “revolute*” and “prismatic*”.

The coordinate system of the subpart represents the joint coordinate system in urdf definitions. In the case of the revolute and prismatic axis, the x-axis is the rotation axis or the direction of translational movement.

The shape in the joint subassembly is saved to the STEP file but it is later ignored in the urdf creation, so any user may choose his own desired shapes inside of joints definitions. Because the Fusion 360 doesn’t want to save the part with no shape to the STEP file we added the ball shape to the part representing the joint type.


We created one CAD joint definition that we mated as an independent copy for all our joint definitions. For each copy, we changed the subassembly name to the required link names that it was connecting and we changed the internal part name to the joint type that it was representing.