News


Posted by Javier Pérez

UWSim trunk has been updated with some updates that are worthy to be briefly described. TF publisher offers a simple interface to publish via ROS TF the frames of every object, vehicle, vehicle part and sensor present in the scene in a tree structure with virtual world root. Objects publishing is optional and rootName can be configured, vehicle's parts use a prefix with the vehicle's name to avoid collision on tf identifiers. To add it the following lines should be added in the rosinterfaces block of the XML config file.

  <WorldToROSTF>
    <rootName> world </rootName>
    <enableObjects> 1 </enableObjects>
    <rate>10</rate>
  </WorldToROSTF>

Trajectory trails have been completely re-implemented so they can represent object movements and vehicle parts movements. Additionally trajectory trails can be hidden / displayed pressing “t” key. Instead of adding a config line inside vehicle XML block, trajectory trails are configured using showTrajectory blocks inside simParams as the following example shows:

  <showTrajectory>
    <target>girona500</target>
    <color>
      <r>1.0</r>
      <g>0.0</g>
      <b>0.0</b>
    </color>
    <lineStyle> 1 </lineStyle>
    <timeWindow> 30 </timeWindow>
  </showTrajectory>

Only target field is required to add a trajectory trail configuring the object that will draw a trajectory while moving. The other tags allows us to decide color lineStyle, where 1 is continuous line 2,3,4 are different kinds of dashed lines and timeWindow, which is an option to limit the trail to the last X seconds.

Finally, last (but not least!) update is the change of the bullet physics solver to Dantzig and bullet 2.82. This changes lead to better contact physics as shown in our tests heading to a better manipulation simulation.

 

Force Sensor

28 Jan 2015
Posted by Javier Pérez

Force sensors are now available on UWSim. It measures the external forces on a part of a vehicle. It can be added to every visual part of a vehicle and it will measure the collision forces the piece is suffering in Newtons force torque.

This sensor uses Bullet physics engine to create two identical collision shapes one colliding with external objects and one "ghost" that traverses them, at the end of each physics iteration measuring the difference between these two collision shapes allows us to calculate the force suffered by the object. Physical properties of the vehicle part such as weight should be correctly provided on URDF to obtain realistic results. For instance, this sensor has been used to measure collision forces of the girona500 vehicle and send this information to underwater vehicle dynamics module which uses it as an input for external forces, the result is vehicle can no longer traverse objects as we can see in the embedded video. The XML code needed to add one is:

  <ForceSensor>
    <name>ForceG500</name>
    <target>base_link</target>
    <offsetp>
      <x>-0.2</x>
      <y>0.75</y>
      <z>0</z>
    </offsetp>
    <offsetr>
      <x>-1.57</x>
      <y>0</y>
      <z>3.14</z>
    </offsetr>
  </ForceSensor>

The example shows that only a target and offset from the part's center is needed to add a force sensor. The measured force can be published in ROS by adding the following lines inside the rosInterfaces block of your XML:

  <ForceSensorROS>
    <name>ForceG500</name>
    <topic>g500/ForceSensor</topic>
    <rate>100</rate>
  </ForceSensorROS>

Posted by Javier Pérez

The UWSim structured light projector displays user configured textures over the scene along the -Z axis (osgcamera like) of their local frame . This projector is able to simulate arbitrary laser and vehicle lights casting realistic shadows. Here we can see an example of use:

  <structuredLightProjector>
    <name>laser_projector</name>
    <relativeTo>sls</relativeTo>
    <fov>21</fov>
    <image_name>data/textures/laser_lines.png</image_name>
    <laser>1</laser>
    <position>
      <x>1</x>
      <y>0</y>
      <z>0</z>
    </position>
    <orientation>
      <r>0</r>
      <p>3.14</p>
      <y>1.57</y>
    </orientation>
  </structuredLightProjector>

As usual the previous XML code adds a structured light projector at the given position and orientation with respect to sls. fov tag configures the field of view of the projector (also known as angle of view). image_name tag provides the image to project, RGBA images are allowed but alpha channel will be used as a binary value to project or not project the texture on every pixel. Finally laser label decides if the projection should be treated as laser or not, main difference is laser light does not suffer attenuation along distance and it does not mix with objects color.

                             

Multibeam sensor

28 Jan 2015
Posted by Javier Pérez

This new sensor available for UWSim vehicles measures multiple distances to nearest obstacles along the -Z axis (osgcamera like) of their local frame varying X rotation from initial angle to final angle in configured angle increments. This sensor is useful to create many virtual range sensor at once in a efficient manner as it uses z-buffer to do its inner calculations.

As underwater floating particles were causing huge noise in this kind of sensors, multibeam sensors will not be disturbed by them unless "underwaterParticles" attribute is set to true on XML multibeam configuration. This is an example of how to include it into your scene XML file:

  <multibeamSensor underwaterParticles="false">
    <name>multibeam</name>
    <relativeTo>part0</relativeTo>
    <position>
      <x>-0.2</x>
      <y> 0.1 </y>
      <z> 0 </z>
    </position>
    <orientation>
      <r>3.14</r>
      <p>0</p>
      <y>3.14 </y>
    </orientation>
    <initAngle>-60</initAngle>
    <finalAngle>60</finalAngle>
    <angleIncr>0.1</angleIncr>
    <range>10</range>
  </multibeamSensor>

The example above adds a multibeam sensor at the given position and orientation with respect to part0, with a maximum range of 10m measuring from -60º to 60º in increments of 0.1º. “underwaterParticles” attribute turns on or off floating particles noise and is set to false by default. The measured distances can be published in ROS by adding the following lines inside the rosInterfaces block of your XML:

  <multibeamSensorToLaserScan>
    <name>multibeam</name>
    <topic>g500/multibeam</topic>
  </multibeamSensorToLaserScan>

Retaking UWSim news

28 Jan 2015
Posted by Javier Pérez

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.

During his PhD. research stay, Juan Carlos García has presented the TRITON research project to the members of the "Instituto de Sistemas e Robótica", from Universidade de Coimbra.

Posted by David Fornas

During a week (12/05 - 16/05/2014) the three partners of the TRITON project met at the CIRS facilities in Girona to replicate the experiments succesfully made in 11/2014 and perform new operations in the Sant Feliu de Guíxols harbour in real conditions. All the hardware and software subsystems worked together to cover the main objective of the project

HUMABOT is the official robot competition for the 2014 IEEE-RAS International Conference on Humanoid Robots, which will be held in November 18-20th 2014. Madrid. Spain.
HUMABOT has three challenges, depending on the robot platform to be used: mini, Nao and REEM-C. The challenges will run independently, as well as the task to be performed, see further details in the official Website (www.irs.uji.es/humabot).

During two weeks (30/09 - 04/10/2014  and 11-15/11/2014) the three partners of the TRITON project met at the CIRS facilities in Girona to integrate all the hardware and software subsystems and carryed out successfully the first milestone (M1) of the project, "Docking & Fixed-based Manipulation: Water Tank Experiment".

It is planned to repeat the same experiments but in sea conditions in May.

Pages