underwater_simulation: UWSim | osgOcean

Package Summary

UWSim is an UnderWater SIMulator for marine robotics research and development. UWSim visualizes an underwater virtual scenario that can be configured using standard modeling software. Controllable underwater vehicles, surface vessels and robotic manipulators, as well as simulated sensors, can be added to the scene and accessed externally through ROS interfaces. This allows to easily integrate the visualization tool with existing control architectures.

Shipwreck scenario UWSim v1.1

Requirements

UWSim has been tested in Ubuntu Linux, in 9.10, 10.04 and 10.10, 11.04 and 11.10. However, it should work without problems on other linux-based distributions.

You will need a decent PC, with a good graphics card. It should work well on recent NVidia and ATI cards. If you see strange visualization effects, or it just crashes before beginning, it probably means your card does not meet the requirements (if this is the case, try the --disableShaders option). As an example, it runs fluently on a Macbook Pro 2.26 Ghz Intel Core 2 Duo, 4 GB DDR3, with an NVIDIA GeForce 9400M. It should work on ROS cturtle, diamondback, and electric.

Installation

Download the underwater_simulation stack to a folder in your ROS_PACKAGE_PATH:

$ svn checkout http://uji-ros-pkg.googlecode.com/svn/trunk/underwater_simulation underwater_simulation

First install the UWSim dependencies with the following command:

$ rosdep install UWSim

This will ask for your password in order to install all the necessary packages with apt-get. After this, you can build the package:

$ rosmake UWSim

Running

The following command should start UWSim:

$ rosrun UWSim UWSim

A window should appear showing a default scenario and robot. Inside the simulator, you can freely move the camera with the mouse. With UWSim running, you can check the list of ROS topics involved:

$ rostopic list

and subscribe/publish to them with rostopic, or with your custom ROS control nodes. The are some example ROS interface nodes in the interface_examples folder. For example, the following command should update the vehicle position in the default scenario (2 meters along positive X axis):

$ rosrun UWSim setVehiclePosition /dataNavigator 2 0 0 0 0 0

Wiki: UWSim (last edited 2012-02-02 10:08:42 by MarioPrats)