Conversion process manual

The conversion of a STEP file into a URDF package is demonstrated using a simple robot arm and Docker.

Environment preparation

First, we need to download the docker image:

docker pull

Then we download the sample case, prepare two folders for later mounting with Docker and copy the sample step file into the first folder:

git clone
mkdir input_step_files
mkdir output_ros_urdf_packages
cp urdf-from-step-examples/examples/robot_arm/input_step_files/robot_arm.step input_step_files/


The prepared step file is converted to the corresponding ROS package containing URDF with the following Docker command:

docker run  -v ~/input_step_files:/input_step_files -v ~/output_ros_urdf_packages:/output_ros_urdf_packages  --rm roslaunch urdf_from_step build_urdf_from_step.launch step_file_path:="/input_step_files/robot_arm.step" urdf_package_name:="robot_arm"

It is normal for the node to die after execution: REQUIRED process [urdf_creator-2] has died! process has finished cleanly

Run created package

To run the created package, you can use an existing catkin workspace or create a new one. The built package must be copied to the src folder in the Docker mount output folder. Once built and sourced, the package can be run:

mkdir -p ~/ros_ws/src
cp -r ~/output_ros_urdf_packages/robot_arm ~/ros_ws/src/robot_arm
cd ros_ws
catkin build robot_arm
source devel/setup.bash
roslaunch robot_arm load_urdf.launch

On startup, the joint state publisher GUI is displayed:



Run ros visualization tool:


Setup rviz visulaization settings:

../_images/rviz_settings.png ../_images/rviz_tf_center.png ../_images/rviz_tf_moved.png ../_images/rviz_zero_position.png ../_images/rviz_moved.png