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.
- Author: David Butterworth
- License: BSD
- See the installation instructions below.
- Read the wiki pages for each stack.
For questions, please use http://answers.ros.org
Webots User Guide, Section 4.8: Using ROS.
The Cyberbotics website: Webots overview.
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.
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
$ 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:
Installing the packages:
Go to your ROS working directory. eg.
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.