# Converting robot models to OpenRAVE

OpenRAVE robot models can be written in OpenRAVE Custom XML Format, if you write them from scratch, but are most of the time written in the COLLADA 1.5 Robot Extensions. This format is not so widely used and converting to it can be tricky. In this post, we will review the conversion paths I've found to generate the humanoid robot models in the openrave_models repository.

## From VRML to COLLADA 1.5¶

The JVRC-1 model, similarly to robot models from the HRP series, is provided in VRML format. To convert it to COLLADA, you can use the openhrp-export-collada script provided in OpenHRP 3. After the regular CMake build process, you will find it in the bin folder of your build directory:

cd <openhrp3-folder>


Textures are not converted in this process. To palliate this, you can open the COLLADA file in a text editor (COLLADA is still XML so it can be read and edited by human beings) and change link colors by hand. You can check out JVRC-1.dae to see how this is done.

More recently, the authors of OpenHRP have also developed simtrans which is a more general set of conversion scripts.

## From URDF to COLLADA 1.5¶

Many robot models are provided in another XML dialect called Unified Robot Description Format (URDF). This was the case for instance with the Romeo model. To convert it to COLLADA, you can use the urdf_to_collada tool provided in collada_urdf. After the package is installed in your ROS distribution, run:

rosrun collada_urdf urdf_to_collada romeo.urdf Romeo.dae


Textures are not converted in this process. To palliate this, you can open the COLLADA file in a text editor (COLLADA is still XML so it can be read and edited by human beings) and change link colors by hand. You can check out Romeo.dae to see how this is done.

For a more recent tool, the simtrans conversion scripts provide a less burdensome alternative

## Discussion ¶

You can use Markdown with $\LaTeX$ formulas in your comment.