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.
- Author: Mario Prats
- License: LGPL
- Repository: uji-ros-pkg
- Source: svn http://uji-ros-pkg.googlecode.com/svn/trunk/underwater_simulation/UWSim
Contents
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






