In this section, we can discuss how to convert the robot URDF model to the collada file(.dae) format to work with OpenRave. There is a ROS package called collada_urdf, which contains nodes to convert URDF into collada files. The URDF file of ABB-IRB 6640 model is on abb_irb6600_support/urdf folder named irb6640.urdf. Copy this file into your working folder and run the following command for
the conversion:
Start roscore $ roscore
Run the conversion command. We need to mention the URDF file and the output DAE file:
$ rosrun collada_urdf urdf_to_collada irb6640.urdf irb6640.dae
In most of the cases, this command fails because most of the URDF file contains STL meshes and it may not convert into DAE as we expected. If the robot meshes in, in DAE format, it will work fine. If it happens, follow this procedure:
- Install Meshlab tool for viewing and editing meshes using the following command:
$ sudo apt-get install meshlab
- Open meshes present at abb_irb6600_support/meshes/irb6640/visual in Meshlab and export the file into DAE with the same name.
- Edit the irb6640.urdf file and change the visual meshes in STL extension to DAE. This tool only process meshes for visual purpose only, so we will get a final DAE model.
We can open the irb6640.dae file using OpenRave with the following command:
$ openrave irb6640.dae
We will get the model in OpenRave as shown in the following screenshot:
We can check the link information of the robot using the following command:
$ /usr/bin/openrave-robot.py irb6640.dae --info links
We can get link info about the robot in the following format:
name index parents --------------------------------- base_link 0 base 1 base_link link_1 2 base_link link_2 3 link_1 link_4 5 link_3 link_5 6 link_4 link_6 7 link_5 tool0 8 link_6 link_cylinder 9 link_1 link_piston 10 link_cylinder --------------------------------- name index parents