News

Error message

  • Notice: tempnam(): file created in the system's temporary directory in drupal_tempnam() (line 2552 of /users/apache/www.irs.uji.es/htdocs/uwsim/includes/file.inc).
  • Warning: file_put_contents(): Filename cannot be empty in file_unmanaged_save_data() (line 1986 of /users/apache/www.irs.uji.es/htdocs/uwsim/includes/file.inc).
  • The file could not be created.
  • Notice: tempnam(): file created in the system's temporary directory in drupal_tempnam() (line 2552 of /users/apache/www.irs.uji.es/htdocs/uwsim/includes/file.inc).
  • Warning: file_put_contents(): Filename cannot be empty in file_unmanaged_save_data() (line 1986 of /users/apache/www.irs.uji.es/htdocs/uwsim/includes/file.inc).
  • The file could not be created.

Retaking UWSim news

After a long time without news and updates about UWSim we are going to retake it. In this first message we will try to sum up the most important changes and additions to the simulator since the last post. We will extend these features in the next messages.

UWSim is already available for the hydro and indigo ROS distributions. Although main branch is still hydro fixes and updates are periodically moved from hydro to indigo. Both branches are compatible with OSG 3.2. 

Three new sensors are available for simulated vehicles, to know:

  • Multibeam sensor: More info here.

  • Structured light projector: More info here.

  • Force sensor: More info here.

Finally some small features have been updated such as TF publishing, trajectory trails and bullet physics version and solver for more information visit extended news.

UWSim deb packages released

In order to make UWSim easier to install and ready for groovy and future ROS distributions, we have created a 'catkinized' branch of UWSim and released deb packages for it. Now installing UWSim should be as easy as:

  $ apt-get install ros-groovy-uwsim

This required to make some changes in the data package download process and its location. Now, the first time you run UWSim it will download and install the data package under ~/.uwsim. The --dataPath argument should be working as before in case you want to specify additional paths to resources.
 
For those of you already developing under Groovy and requiring the UWSim sources, you should create a catkin workspace as described in the wiki:
 
 
We will be releasing for Hydro and forthcoming distributions as they are released by the ROS community.
 
Hope this helps! please open github issues for any problem you may find.

UWSim source moved to github

UWSim has been moved to github. The pull-request mechanism will help a lot now there is more people using and contributing to the software. The main repository is hosted under the uji-ros-pkg organization:

https://github.com/uji-ros-pkg/underwater_simulation

If you have a copy of the old svn repo, you should now switch to the new repository if you want to get future updates. The github repository contains two branches: master and underwater_simulation_qt. These are the branches supported by the team at UJI. If you want to collaborate, the way to proceed now is to fork underwater_simulation into your git workspace, work on your fork, and then issue a pull request once you have a new feature ready to be integrated upstream. Please make sure you have pulled from the original repo before issuing a pull request in order to ensure that your branch can be directly merged. Ask us any question you may have.

We also encourage you to use the github issue system for any problem or bug you may find in the software. I apologize for the inconveniences that the migration may cause at this point, but I'm sure this will lead to a better workflow and will facilitate collaboration.

Updates to osgOcean bring refraction effects to UWSim

Latest updates on the osgOcean trunk fix some known problems in UWSim and bring new cool features. The most interesting one is the support for light refraction effects and underwater light scattering. Until now, the sea surface was completely opaque. Now it is possible to see through the water surface, being the image distorted due to the light refraction. Other fixes include a better rendering transition between the surface and underwater, or the possibility to choose between different pre-defined sky textures and lighting conditions (which was broken in previous commits of UWSim). You may want to try the new keybindings: 'R' enables/disables refraction, 'r' enables/disables reflections, 'T' enables/disables scattering, and '1', '2', '3' sets the different pre-defined light conditions. See below two short examples of refractions, corresponding to the cirs.xml and shipwreck.xml scenes. 

 

UWSim: Paths to resources and support for ROS fuerte

A new update to UWSim includes support for resource folders outside the UWSim package. Therefore, it is now possible to store your 3D models, textures, XML and URDF files in arbitrary folders, and let UWSim find them by adding those folders to the UWSim resources folder list. This can be done with the --dataPath argument, and accepts both absolute and relative folders, e.g:

rosrun UWSim UWSim --dataPath /absolute/folder --dataPath relative/folder

In addition to the paths specified in the command line, UWSim adds --dataPath . --dataPath `rospack find UWSim`/data, i.e. searches in the current folder and in UWSim/data.

Finally, UWSim can now be compiled on ROS fuerte, and Ubuntu 12.04 (Precise), without (hopefully!) loosing compatibilty with previous versions of both. So, the range of supported platforms goes from Ubuntu 9.10 to 12.04, and from ROS cturtle to fuerte.

UWSim as a library

UWSim can now be used as a library that can be linked to other projects. Doing it is quite straightforward using ROS, since you just have to include the dependency to UWSim into your manifest.xml. The most external API layer is basically composed of two classes: SceneBuilder and ViewBuilder. The former builds a scene graph, taking as input an XML file describing the scene. The latter creates a Viewer or a View. Use the Viewer for the default UWSim viewer, and the View if you want to integrate the UWSim rendering panel into another application (e.g. using Qt, wxWidgets, etc.). Both SceneBuilder and ViewBuilder store public attributes that point towards the deepness of UWSim, e.g. the robots and objects in the scene, the ocean properties, etc.

For instance, the following snapshot shows a grasp planning package that computes a suitable grasp on a point cloud, and uses UWSim as a library for visualization:

Virtual range sensors

 

We have added virtual range sensors to the trunk version of UWSim. Virtual range sensors measure the distance to the nearest obstacle along the X axis of their local frame. They can be attached to vehicles, in a similar way to virtual cameras. This is an example of how to include it into your scene XML file:    

    <rangeSensor>
      <name>sonar</name>
      <relativeTo>part0</relativeTo>
      <range>10</range>
      <visible>1</visible>
      <position>
        <x>-0.3</x>
        <y>0</y>
        <z>0</z>
      </position> 
      <orientation>
        <r>0</r>
        <p>1.57</p>
        <y>0</y>
      </orientation>
    </rangeSensor>

The example above adds a virtual range sensor at the given position and orientation with respect to part0, with a maximum range of 10m. The visible tag indicates whether to render the beam in the UWSim scene or not. The measured distance can be published in ROS by adding the following lines inside the rosInterfaces block of your XML:

    <RangeSensorToROSRange>
      <name>sonar</name>
      <topic> /g500/range </topic>
      <rate>10</rate>
    </RangeSensorToROSRange>
 
 

Support for multiple external images

We have added support for displaying multiple images published in the ROS network (of type sensor_msgs/Image) into the UWSim window. For that, you just have to include the following block inside the <rosInterfaces> block of your scene XML file. You can add as many images as you need:

	  <ROSImageToHUD>
	      <width>640</width>
	      <height>480</height>
	      <posx>100</posx>
	      <posy>50</posy>
	      <scale>0.5</scale>
	      <imageTopic>/topic/to/image</imageTopic>
	  </ROSImageToHUD>

width and height indicate the size of the input image (to do: set them automatically). posx and posy are the position in pixels where to place the image inside the UWSim window, being (0,0) the bottom-left corner (X to the right, Y upwards). scale is the default scaling of the image if needed. imageTopic is the sensor_msgs/Image topic. Once inside UWSim, the image can be moved and scaled freely with mouse events.

Migration to a google code repository

For accessibility reasons, we have moved the project software repository to google code, together with other ROS stacks being developed by our robotics groups.

http://code.google.com/p/uji-ros-pkg/

We have updated the install instructions accordingly. Hope this allows a better access to all the users. Those who already have it installed from the previous repository, please consider re-installing from this new one:

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

From now we will be committing changes to google code only. We are very sorry for the inconveniences.

New version of UWSim (v1.1)

We are happy to announce a new version of UWSim (v1.1). These are the main improvements with respect to the previous version:

  • Introduced XML configuration files for scene description
  • Introduced support for URDF format. Allows to create robots from URDF files.
  • Support for multiple vehicles, multiple cameras and multiple ROS interfaces
  • Introduced a new intermediate frame for relating simulated to real worlds
  • Example ROS interface nodes for updating vehicle and arm position.
  • New and improved scenarios and 3D models
  • Restructured into a ROS stack

Please follow the instructions at the wiki for its installation:

http://www.irs.uji.es/uwsim/wiki/index.php?title=Installing_UWSim

Two I-AUVs in a shipwreck scenario

Pages