kaist_webots: webots_run | webots_joy_demo | webots_controllers

This stack contains some tools for using ROS with the Webots commercial simulation software.

It includes nodes for starting Webots directly from a ROS launch file, a controller for joystick tele-operation, and a joint position controller with joint state publisher that can be quickly adapted to any joint-based robot. These controllers utilise the Webots C++ API.

Tested with Webots 6.4.4 and ROS Fuerte.



This section describes how to install the Webots commercial simulator and the kaist_webots stack. Webots is installed as a stand-alone program. If you want to have ROS install it within your ROS workspace, look at the webots_simulator package.

Installing Webots:

Add the Cyberbotics repository to your Linux package source list:

$ sudo pico /etc/apt/sources.list

Add the following line to the bottom and save the file:
(Replace i386 with amd64 for 64-bit systems)

deb http://www.cyberbotics.com/debian/ binary-i386/

Add Cyberbotics public key:

$ cd ~/
$ wget http://www.cyberbotics.com/Cyberbotics.asc
$ sudo apt-key add Cyberbotics.asc

Update software package list:

$ sudo aptitude update

Check what version of Webots is available:

$ sudo apt-cache policy webots

Install Webots:

$ sudo apt-get install webots

Configure your Edu or Pro Licence as per the Webots documentation:
or run Webots once to request a trial licence.

Check the installation by running Webots:

$ webots

Installing the packages:

Go to your ROS working directory. eg.

cd ~/ros_workspace

Checkout the kaist_webots stack from the KAIST repository:

$ svn checkout http://kaist-ros-pkg.googlecode.com/svn/trunk/kaist_webots

The package installer assumes that Webots has been installed in /usr/local/webots.
If Webots is installed in a different location, set the WEBOTS_HOME environment variable:

$ export WEBOTS_HOME=/path/to/webots

The webots_run package uses a system() call to execute Webots, to simplify the launching process. The simulator is started by executing webots and using the PATH environment variable. On some systems, such as those using the NVidia Hybrid Graphics System, programs must be executed using a prefix to enable the Linux 3D graphics drivers. If so, you should edit WEBOTS_EXECUTABLE in the ~/ros_workspace/kaist_webots/webots_run/src/start_webots.cpp source file, before running rosmake.

$ rosmake kaist_webots

This will compile the webots_run, webots_joy_demo and webots_controllers packages, along with any dependencies such as the joystick_drivers stack.

Add the stack to your ROS_PACKAGE_PATH. e.g.

$ export ROS_PACKAGE_PATH=~/ros_workspace/kaist_webots:$ROS_PACKAGE_PATH

So this won't be lost when you reboot, edit ROS_PACKAGE_PATH in your .bashrc file too.

$ pico ~/.bashrc

Please read the individual wiki pages for each stack for further usage information.

Report a Bug

Use the kaist-ros-pkg issue tracker to report bugs or request features.

Wiki: kaist_webots (last edited 2015-12-16 16:54:24 by OlivierMichel)