0% found this document useful (0 votes)
356 views8 pages

UUV Simulator

This document describes a new simulator called the UUV Simulator, which is an extension of the open-source robotics simulator Gazebo to enable the simulation of underwater vehicles and environments. The UUV Simulator was developed for a European project called SWARMs to enable the simulation and testing of multiple underwater robots performing cooperative tasks. It achieves realistic underwater simulations through new plugins that model hydrostatic, hydrodynamic and other underwater effects. The UUV Simulator reuses and extends an existing general-purpose robotics simulation platform (Gazebo) to provide underwater simulation capabilities while maintaining compatibility with the Robot Operating System (ROS).

Uploaded by

pranav_devil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
356 views8 pages

UUV Simulator

This document describes a new simulator called the UUV Simulator, which is an extension of the open-source robotics simulator Gazebo to enable the simulation of underwater vehicles and environments. The UUV Simulator was developed for a European project called SWARMs to enable the simulation and testing of multiple underwater robots performing cooperative tasks. It achieves realistic underwater simulations through new plugins that model hydrostatic, hydrodynamic and other underwater effects. The UUV Simulator reuses and extends an existing general-purpose robotics simulation platform (Gazebo) to provide underwater simulation capabilities while maintaining compatibility with the Robot Operating System (ROS).

Uploaded by

pranav_devil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

UUV Simulator: A Gazebo-based Package

for Underwater Intervention


and Multi-Robot Simulation
Musa Morena Marcusso Manhães, Thomas Rauschenbach
Sebastian A. Scherer, Martin Voss Advanced System Technology (AST)
and Luiz Ricardo Douat Fraunhofer-Institute of Optronics, System Technologies
Corporate Sector for Research and Advance Engineering and Image Exploitation
Robert Bosch GmbH Ilmenau, Germany
Renningen, Germany
Email: [email protected]

Abstract—This paper describes the Unmanned Underwater the challenges to be overcome in order to develop this new
Vehicle (UUV) Simulator, an extension of the open-source robotics system. During the requirements analysis for a simulation
simulator Gazebo to underwater scenarios, that can simulate platform, the following basic requirements were defined:
multiple underwater robots and intervention tasks using robotic
manipulators. This is achieved mainly through a set of newly • physical fidelity for the simulation of rigid-body dynam-
implemented plugins that model underwater hydrostatic and ics and collisions,
hydrodynamic effects, thrusters, sensors, and external distur-
• interface for Robot Operating System (ROS) applications
bances. In contrast to existing solutions, it reuses and extends
a general-purpose robotics simulation platform to underwater (the standard middleware to be used by the vehicles and
environments. systems involved in this project),
• low complexity for the setup of new world scenarios and
I. I NTRODUCTION robot models,
• extendibility for integration of additional modules,
The development of applications and algorithms for un-
• adequate documentation,
manned underwater vehicles (UUVs), such as autonomous
• regularity of updates and maintenance,
underwater vehicles (AUVs) and remotely operated vehicles
• capability of multi-robot simulation,
(ROVs), requires the availability of a suitable simulation
• open-source application with permissive license (e.g.
platform for rapid prototyping and simulation in reproducible
MIT, Berkeley Software Distribution BSD, Apache).
virtual environments. This is desirable in all robotics fields, but
is especially relevant for underwater applications. Underwater The focus in the search for a robotics simulation tool was set
vehicles usually rely on expensive hardware and their target for an open-source implementation with a permissive license
domain can be difficult to access depending on the application. to facilitate the dissemination of the algorithms produced
Whereas several good open-source simulation environments within the scope of this project and the easier cooperation
exist for aerial as well for ground based robots, the scenario for between partners. The first option analyzed was the ROS-
underwater robots is less appealing. This is mostly due to the based simulator developed for in the scope of the TRIDENT
difficulty to realistically model not only hydrodynamic forces project, UWSim [2]. It offers a wide range of sensor models,
acting on the robot itself, but also the complex environments provides realistic renderings of underwater environments due
in which the operations take place. its graphics engine OpenSceneGraph1 and has been used in
The EU-funded project SWARMs (Smart and Networking several academic publications, e.g. [3]. The physics engine is
Underwater Robots in Cooperation Meshes) has as its main used only for handling contact forces and the implementation
goal the development of a standard framework that allows of the vehicle dynamics, including the simulation of thruster
to coordinate the cooperative behavior of underwater vehicles forces, is located in one monolithic ROS node, but it could be
for monitoring, inspection and intervention missions [1]. In modified to adhere to a more modular structure or interfaced
pre-defined use cases, heterogeneous groups of underwater with an external platform such as Matlab, if necessary. Setting
vehicles will be applied for tasks such as berm building, up a new simulation, however, requires the configuration of
plume tracking and inspection and maintenance of offshore the scenario, vehicles, and other objects in a single XML
wind turbines [1]. The need for a simulation environment that description file, which can make this task laborious.
allows development of new missions strategies and high-level
algorithms for cooperative behavior was identified as one of 1 http://www.openscenegraph.org/

978-1-5090-1537-5/16/$31.00 ©2016 IEEE

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.
In order to exploit existing physics engines in a more
efficient way, freefloating-gazebo was presented as an example
of a bridge between Gazebo [4] and UWSim for the simulation
of underwater vehicles [5]. Gazebo is a general-purpose open-
source robotics simulation platform maintained and developed
by the Open-Source Robotics Foundation (OSRF). It provides
interfaces to four different physics engines for the simulation
of rigid-body dynamics and a graphical user interface to vi-
sualize the scenario. The freefloating-gazebo package includes
plugins for Gazebo to allow the generation of hydrodynamic
and hydrostatic forces and apply these to the underwater
vehicle links while transmitting the pose of simulated objects
to UWSim via ROS to exploit the underwater effects of the
graphics engine. This application, however, does not include
the computation of added-mass forces because of stability
concerns [5]. It also allows the modular construction of a
scenario on the Gazebo implementation (also in run-time),
but it still requires the monolithic XML description for the
complete simulation so that the UWSim visualization can be
initialized. Fig. 1. UUV Simulator - Software structure
A similar implementation involves the extension of Gazebo
to the Robot Construction Kit (ROCK)2 , known as Rock- the simulation environment via ROS, Section V shows two
Gazebo [6]. In this case, the ROCK visualization tool was example scenarios built using the UUV Simulator package,
extended with OpenSceneGraph for rendering the underwater and in Section VI the modules planned for future releases and
environment while the physics simulation is run in Gazebo. At conclusion are discussed.
this moment, it does not yet support the simulation of multiple
underwater vehicles. II. S OFTWARE DESCRIPTION
Since none of the systems surveyed fully fulfill the require- One of the requirements for this simulation environment in
ments mentioned above and the effort to adapt them to our pur- the scope of the SWARMs project is to make it compatible
poses would be similar to developing our own solution, it was with ROS so that the applications developed for the vehicles
decided to develop a new underwater robotics environment, can be tested seamlessly with it. However, in order to develop a
described in the further sections in more detail, with focus simulator that can be used in the future with other middlewares
on flexible and modular setup of new scenarios and vehicles. since it is to be released as an open-source application to the
As it is also not desired to further deteriorate the already marine robotics community, the modules in the underwater
fragmented underwater simulation landscape, the extension of simulation package can be divided in two groups. The models
the already popular Gazebo simulator was evaluated as the for vehicles, sensors and environmental loads are implemented
best option. It provides a robust framework for simulation and as plugins extending the functionalities of Gazebo through its
visualization of robotics mechanisms, can be extended for new API. These modules are unaware of ROS and can therefore be
dynamics, sensors and world models through modular plugins extended to allow using different middlewares. Applications
and has a regularly updated and well-defined roadmap for new and services that command and communicate with entities
releases. Robot and world models can be added to a running in the simulation were developed with ROS and can be
simulation dynamically either programmatically or through the connected to the simulation environment by using its ROS
graphical user interface. Additionally, contributions from the bridges, i.e. inherited Gazebo plugins that publish and receive
Gazebo user community allow it to be regularly improved with simulation data through ROS topics. An overview of the
new features. Even though Gazebo itself provides very few modules included in this package within the scope in that each
underwater-specific modules, the development of this package one was developed is depicted in Fig. 1.
for Gazebo can count on a platform that is continuously under The simulation currently includes typical underwater sensor
improvement. Additionally, the integration with ROS, also de- models (e.g. Doppler velocity log and subsea pressure sensor),
veloped by OSRF, is already guaranteed through Gazebo/ROS actuator dynamic models (e.g. thruster and fins), hydrostatic
packages. and hydrodynamic forces and a constant flow velocity added
The paper is structured as follows: Section II describes to the world simulation. Additionally, the vehicles can be
the package and its internal organization, Section III includes initialized with a robotic manipulator arm for the simulation
the description of the Gazebo simulation modules, Section of underwater intervention tasks. Further details about this
IV shows an overview of applications used to interact with package are described in the next sections.
Vehicle system functions are implemented using ROS and
2 http://rock-robotics.org/stable/ currently provide simple dynamic positioning controllers,

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.
Fig. 2. Thruster plugin model

thruster allocation services, teleoperation modules (e.g. a joy-


stick interface) and, in the case of robotic arms, Cartesian
control and kinematics solver services. This set of modules
provides a basic structure to interact with the simulated
vehicles and the Gazebo simulation environment.
III. G AZEBO SIMULATION PACKAGE
The Gazebo simulator gives the user the possibility to
extend it with user-defined plugins. By using its API, the
plugin has access to the simulation objects and data, can
transmit information via topics by using Protocol Buffer3
messages and apply torques and forces to objects in the
scenario. The plugins must be initialized with a robot, sensor
or world models as described in their respective SDF4 file,
an XML format designed for Gazebo. For applications using
ROS, the robot descriptions are specified in URDF5 , a similar
file format.
The vehicle and sensor robot description must also contain
a geometry file. Visual geometries used by the rendering Fig. 3. Visualization of the individual thrust forces (red arrows) during
engine are provided in COLLADA format and the collision simulation of station keeping of an ROV with the detailed composition of
geometries in STL format. This separation is important to an individual thruster frame
allow simplified collision geometries to be used since very
complex meshes might slow down collision computations
considerably. as the state variable, which is converted to the thrust force
Gazebo is already capable of rigid-body dynamics simu- through an empirical steady-state relation between a function
lation due to its integration with four physics engines, one of angular velocity and output thrust force.
of which must be initialized and configured within the world To cover the multitude of thruster models to be used in the
model description. In underwater environments, hydrodynamic simulated vehicles, the dynamics model and the steady-state
and hydrostatic forces and moments must also be taken curve are implemented as two generic blocks (see Fig. 2). The
into account, along with the appropriate actuator and sensor dynamics models currently available include zero-order model,
models. This is achieved using additional plugins implemented first-order model, Yoerger’s model for propeller dynamic [7]
as part of the UUV Simulator package, which can divided into and Bessa’s extended model published in [8]. Steady-state
the following categories: curves for thrust force conversion can be modeled as a constant
• actuator models (e.g. fins and thrusters) gain [7], constant gain with a dead-zone nonlinearity [8], or
• underwater sensors via linear interpolation between input and output pairs. The
• hydrodynamic and hydrostatic forces and moments last option allows the user directly use the manufacturer’s
• underwater worlds and environmental loads. data from Bollard pull tests often included in the thruster’s
datasheet.
A. Thruster and fin plugins One instance of the thruster plugin is created in the scope
Thruster dynamics has a highly nonlinear behavior in real of each thruster link on the vehicle with the force generated
systems, which is often a source of poor performance of on the direction of the x-axis as seen in Fig. 3. Each force
positioning control of underwater vehicles, especially at low τi , i being the thruster index, will be independently applied to
speeds [7]. Several models for the thruster dynamics are the thruster frame.
available in the literature (e.g. [7], [8]) but none can be This separation of vehicle and actuators allows the thruster
considered state-of-the-art. The model usually describes the allocation matrix to be computed during the simulation without
dynamic behavior of the propeller with the angular velocity additional input parameters from the user, allowing also the
3 https://developers.google.com/protocol-buffers/ setup of different thruster configurations for the same vehicle
4 http://sdformat.org/ model with little effort. Fig. 3 shows the individual thrust
5 http://wiki.ros.org/urdf forces generated by this plugin installed on a simulated ve-

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.
Fig. 4. View of a wind turbine foundation in mint condition (left) and one
with biofouling (right) (models provided by ACCIONA [11])

hicle. Fig. 5. A wind park scenario simulated in Gazebo (wind turbine models
provided by ACCIONA [11]))
A fin plugin has a similar modular structure to the thrusters.
The dynamics block has the angle of attack of the fin as a state
variable, which is then used by a model to compute lift and
which are more suitable for robots traveling on the ground
drag forces acting on the fin. Two models for lift and drag are
or through air. A number of sensor modules were created or
currently implemented: the quadratic model described in [9]
adapted from existing implementations for this work, their
and the default Gazebo lift and drag model plugin6 .
parameters being configurable by the user. Some of these
B. Underwater scenarios and environmental loads sensor plugins are described below.
The dynamics model for underwater vehicles (see Section Although an inertial measurement unit (IMU) is already
III-D) takes into account the relative velocity νr of the vehicle available in Gazebo, it neglects important aspects as the
with respect to its surrounding fluid. As explained in [10], this drifting bias. For that reason, the IMU used is the model
dynamics model is suited for underwater vehicles operating implemented for rotors simulator7 described in [12]. Its model
outside of the wave zone, which leads to the assumption that includes zero-mean Gaussian noise and sensor biases that
the hydrodynamic coefficients remain constant. follow a random walk with a zero-mean white Gaussian noise
The relative velocity used further on equations of motion as their rate.
of the vehicle is νr = ν − νcB , being νcB the current veloc- A magnetometer is also available to measure the heading
ity in the vehicle’s body frame, which is transformed from of the vehicle. This task is performed by the compass plugin,
νcI = (uc , vc , wc , 0, 0, 0)T in the North-East-Down (NED) a module based on the magnetometer provided in the Hector
frame. The constant flow velocity can be assigned to a frame Quadrotor simulation package8 [13].
with user-defined orientation and its plugin will broadcast the Furthermore, the Doppler velocity log (DVL)’s four sonar
flow velocity vector. sensors are modeled as Gazebo’s already existing ray sensor to
In addition to physical aspects, setting up a visually realistic provide a visualization to the user. The output measured linear
underwater scenario is also an important task in this implemen- velocity vm is given by the sum of the true linear velocity v
tation. It affects tasks involving, for example, visual servoing of the sensor frame and a zero-mean Gaussian noise nv .
and realistically reproducing the visual feedback received by Multi-beam echo sounders are also essential to simulate
a ROV operator. Examples of underwater environments with the generation of bathymetric maps or obstacle avoidance. In
wind turbine foundations can be seen in Fig. 4. the easiest case they can be simulated similarly to 2D laser
As stated in Section I, Gazebo does not easily allow the range finders already available in Gazebo. Fig. 6 shows the
construction of underwater environments per default. UUV resulting topographic measurements generated by range sensor
Simulator includes a world model named ocean box that configured with the specifications of a commercial 2D multi-
consists of a water surface plane with texturized waves (see beam echo sounder.
Fig. 5), a sand seabed and light attenuation provided by Finally, one of the drawbacks of Gazebo is the lack of tools
Gazebo’s fog module, which can be configured for color and to realistically represent underwater environments. A special
density. These features will be expanded in the future to camera module has been designed to further improve the light
improve visual effects. attenuation with an image post-processing step. This process
C. Underwater sensors imposes an exponential attenuation [14] of the pixel intensity
The deployment of underwater vehicles requires a slightly on the image acquired by the camera as follows:
different set of sensors than the modules provided by Gazebo,
7 https://github.com/ethz-asl/rotors simulator/wiki
6 http://gazebosim.org/tutorials?tut=aerodynamics&cat=physics 8 https://github.com/tu-darmstadt-ros-pkg/hector quadrotor

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.
Fig. 7. Comparison between the original image acquired during the simulation
with Gazebo’s from a wind turbine foundation with the default camera plugin
(left) and the result with exponential attenuation with the addition of fog
effects (right).

Fig. 6. Bathymetric map generated with simulated multibeam echo sounders


installed on an AUV (color map represents the height value) measuring the
seabed of the wind park scenario. In contrast, Gazebo integrates the default rigid body equa-
tions of motion with six degrees of freedom:

MRB ν̇ + CRB (ν)ν + g0 = τg (3)


−rac −rac

ic,m = ic e + 1−e bc , ∀c ∈ {R, G, B} , (1)
where τg are external forces and torques that can be computed
where ic is the original intensity value for the colour channel c, for example within plugins. Since Gazebo itself relies on one
ic,m is the measured intensity value, ac is a colour-dependent out of four supported open-source physics engines to integrate
attenuation factor, bc is the background intensity of the channel the equations of motion above, it is difficult to change it to
c and r is the distance to the object projected on the pixel adhere to Eq. 2. If we instead move all necessary terms of
computed from its visual depth d and the direction of the Eq. 2 to the right-hand side and compare it with Eq. 3, it
ray for the corresponding pixel. A comparison between the follows that we can simulate underwater effects by setting the
original and processed image is shown in Fig. 7. external forces and torques to:
D. Hydrodynamic and hydrostatic forces
For pure rigid-body dynamics simulation, Gazebo has to be τg = −MA ν̇r − CA (νr )νr − D(νr )νr − g(η). (4)
provided with the robot description (e.g. mass, inertial tensor,
collision geometry, joint parameters). Due to their roots in the In order to add hydrodynamic and hydrostatic forces, τg is
robotics community, Gazebo and ROS use the more prevalent applied at each iteration of the simulation to each submerged
ENU (East-North-Up) convention, whereas NED (North-East- link. Note that τg does not include forces and torques from
Down) is widely-used for marine vessels. thrusters and fins, since they are applied in independently as
In order to support both conventions, vehicles are created described in Section III-A.
with a base link frame at the center of gravity following As also mentioned in [5], the inclusion of added-mass as
the ENU conventions as is common in Gazebo and ROS. A described above can lead to simulation instability depending
second NED link is added at the same origin with a fixed on the relation between mass m and added-mass matrix
transformation. This allows to easily transform data to either coefficients in MA . This is due to the fact that the acceleration
reference frame. is needed in Eq. 4 as input to compute hydrodynamic forces
Computation of the interaction of a fluid with a submerged and torques, which are then used by the physics engine to solve
body is still not feasible for an off-the-shelf computer for the equations of motion to compute the current acceleration,
complex geometries like underwater vehicles in real-time. The velocity, and pose. Only the previous accelerations can, of
best known model that is suitable for underwater vehicle course, be used when computing the latest acceleration. But
simulation is Fossen’s equations of motion [10] in the SNAME using its previous value to compute the current one can cause
notation [15] shown in Equation 2, the system to become unstable if the added-mass coefficient is
larger than the actual body mass, since an acceleration at the
(MRB + MA )ν̇r + (CRB (νr ) + CA (νr ))νr + previous time step can lead to a slightly bigger reaction due
(2) to the added-mass at the current time step and an increasingly
D(νr )νr + g0 + g(η) = τ .
bigger value at the subsequent time step. The current solution
Here MA is the added-mass matrix and CA (νr ) its Coriolis to avoid unstable simulations is the use of a low-pass filtered
and centripetal matrix, D(νr ) is the damping matrix, g0 and version of previous accelerations to compute hydrodynamic
g(η) are the restoring forces of gravity and buoyancy, respec- forces and torques according to Eq. 4. On further releases, this
tively, and τ are the control forces and torques. The vehicle issue will be studied in more detail to improve the simulation
pose in the inertial NED-frame is η = (x, y, z, φ, θ, ψ)T . results.

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.
(a) Visualization of the simulation environment in Gazebo in a offshore (b) Visualization in RViz, camera output for each vehicle on the left panel,
wind park scenario. point cloud output from the simulated multibeam sonar depicted with a
colormap on the main panel on the right.
Fig. 8. Simulation of inspection of a wind turbine foundation using two ROVs.

for the same vehicle by only adding an extra unit to the robot
description.
The manipulators are initialized with ROS controllers for
each joint and can be operated by using a joystick to com-
mand the reference velocity for the end-effector. A Jacobian-
transpose Cartesian controller allows control of the end-
effector’s pose. Each manipulator and its respective ROS nodes
(e.g. controllers, kinematics solvers services) are initialized
within a unique ROS namespace, allowing multiple manip-
ulator units (on one or multiple vehicles) to be initialized
simultaneously.

B. Vehicle system services and control systems


Even though the first phase of development of this software
was focused on simulation, some service and control modules
are already available to allow a basic operation of the vehi-
cle models. These modules communicate with the extended
versions of the plugins described in Section III to ROS.
A thruster allocator can be initialized to read the relative
Fig. 9. RexROV test vehicle with its constituting modules pose and orientation of a specific vehicle and generate the
thruster allocation matrix at run-time. It receives forces and
torques to be applied to the vehicle and transmits the command
IV. ROS MODULES to each thruster unit described in Section III-A.
The ROS-specific modules are subdivided into teleopera- V. E XAMPLE USE - CASES
tion, manipulator control, vehicle control and Gazebo-ROS
As an example application, a vehicle has been integrated in
plugins. These bridged plugins are available to all Gazebo
the simulation environment based on the parameters for the
plugins presented and consist on an inheritance to a Gazebo
Sperre SF 30k ROV published in [16]. The thruster configura-
module that will add features that will make it visible to a
tion has been altered to include eight thrusters and integrated
ROS client node or software. Further modules are described
in a model description named RexROV. Two instances of the
in the following sections.
ROV have been initialized, one with a simplified model of a
Schilling Robotics Orion 7P robotic manipulator. The diagram
A. Underwater manipulators
seen in Fig. 9 shows the independent modules initialized with
Underwater manipulators can currently only be operated the vehicle are labeled according to the unit’s link name and
using ROS modules. They are available as units that can be their respective operating plugins.
added to the vehicle’s body frame using pre-defined macros. Each vehicle’s velocity reference is given by the input of
This is done to allow the generation of several configurations an joystick and cascaded PID controllers control the vehicle’s

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.
Fig. 11. Rendering waves in an offshore wind park scenario.
Fig. 10. RexROV and Desistek SAGA mini-ROV in a subsea factory scenario.
The window on the left side shows the Gazebo environment and on the right
the output of the vehicles’ cameras (Desistek SAGA on the top, RexROV on Regarding future work within this project, one of the most
the bottom). Desistek SAGA 3D model provided by Desistek10 .
noticeable features missing in this underwater robotics simu-
lator for the Gazebo environment is the lack of characteristic
velocity. The manipulator arm is provided with individual visual effects as floating particles and proper light damping as
joint effort controllers, a kinematics service and a Cartesian a function of water depth, along with the generation of waves
controller. Fig. 8a shows the dynamic simulation in the Gazebo on the sea surface. The implementation of such effects with
environment in the wind turbine scenario. One ROV equiped the support of Gazebo’s graphics engine, OGRE, are currently
with a forward multibeam sonar measures the structure, while under development since it plays an important role in the
the other vehicle is in place to execute any maintenance task simulation of visual servoing applications and on the control
necessary. In Fig. 8b, the output of the simulated sonar can be teleoperated vehicles with visual feedback. A sample of the
seen in the form of a point cloud with a color map along with current stage of integration of waves in Gazebo can be seen
the current frames from the cameras installed on both vehicles. in Fig. 11.
As can be seen, both vehicles are setup with different sensor The implementation of an umbilical plugin is also a desired
and actuator configurations, which can be later chosen through feature to improve the simulation of ROVs. Although the
user-defined arguments by the initialization of the vehicle umbilical forces can be simulated, the simulation of contact
instance. The instances of world and UUVs are independently forces on the tether will require the geometrical representation
uploaded in Gazebo in run-time, making the construction of a of cables in Gazebo, an implementation still not existent in this
new scenario very straightforward. platform.
In another example of simulation of multiple robots shown Furthermore, as seen in the examples, the vehicles are used
in Fig. 10, a RexROV and a Desistek SAGA mini-ROV are for the simulation of missions on offshore wind parks, often in
uploaded in a subsea factory scenario. The mini-ROV is used the wave zone, which requires the simulation of environmental
to monitor the work-class ROV while the manipulator is being loads originated from waves and turbulence around the wind
deployed. turbines, another desired feature for future releases.
Finally, configuration tools to allow users not familiar with
VI. C ONCLUSION AND FUTURE WORK Gazebo/ROS development to use this tool are also included
In this paper a package for simulation of unmanned under- in the roadmap. They will allow creation of new vehicles and
water vehicles was presented. It extends the general-purpose scenarios through a graphical user interface, preventing errors
robotics simulator Gazebo for application in underwater en- originated when editing the configuration files manually.
vironments and provides an interface for operation of the
simulated vehicles through ROS. Vehicle, actuator and sen- ACKNOWLEDGMENT
sor models are implemented with the Gazebo API and can This software has been developed as part of the work un-
be extended to other robotics middlewares, if desired. This dertaken for the EU-funded research project SWARMs (Smart
package allows the setup of new simulation scenarios in run- and Networking Underwater Robots in Cooperation Meshes),
time by allowing world and robot models to be initialized ECSEL project number 662107. Thanks to DFKI Robotics
dynamically, diminishing the effort to test, build and develop Innovation Center, Bremen, for providing the 3D meshes of
new applications and mission strategies. Methods to vali- the Schilling Robotics Orion 7P Manipulator.
date the dynamic simulation implemented are currently being
studied. This application is open-source and is available at
R EFERENCES
https://github.com/uuvsimulator/uuv simulator.
[1] (2015) SWARMs project website. [Online]. Available:
10 http://www.desistek.com.tr/ http://www.swarms.eu/

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.
[2] M. Prats, J. Pérez, J. J. Fernandéz, and P. J. Sanz, “An open source
tool for simulation and supervision of underwater intervention missions,”
in 2012 IEEE/RSJ International Conference on Intelligent Robots and
Systems. Institute of Electrical & Electronics Engineers (IEEE), Oct
2012.
[3] P. Kormushev and D. G. Caldwell, “Towards improved AUV control
through learning of periodic signals,” in 2013 OCEANS - San Diego,
Sept 2013, pp. 1–4.
[4] N. Koenig and A. Howard, “Design and use paradigms for gazebo,
an open-source multi-robot simulator,” in 2004 IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS) (IEEE Cat.
No.04CH37566). Institute of Electrical & Electronics Engineers (IEEE),
2004.
[5] O. Kermorgant, “A dynamic simulator for underwater vehicle-
manipulators,” in Simulation, Modeling, and Programming for Au-
tonomous Robots. Springer Science + Business Media, 2014, pp.
25–36.
[6] T. Watanabe, G. Neves, R. Cerqueira, T. Trocoli, M. Reis, S. Joyeux,
and J. C. Albiez, “The Rock-Gazebo integration and real-time AUV
simulation,” in 12th Latin American Robotics Symposium and 2015
Third Brazilian Symposium on Robotics, 2015.
[7] D. R. Yoerger, J. G. Cooke, and J.-J. E. Slotine, “The influence of
thruster dynamics on underwater vehicle behavior and their incorpora-
tion into control system design,” IEEE Journal of Oceanic Engineering,
vol. 15, no. 3, pp. 167–178, jul 1990.
[8] W. M. Bessa, M. S. Dutra, and E. Kreuzer, “Thruster dynamics com-
pensation for the positioning of underwater robotic vehicles through a
fuzzy sliding mode based approach,” in ABCM Symposium Series in
Mechatronics, vol. 2, 2006, pp. 605–612.
[9] Ø. Engelhardtsen, “3D AUV Collision Avoidance,” Master’s Thesis,
Norwegian University of Science and Technology, Department of Engi-
neering Cybernetics, 2007.
[10] T. I. Fossen, Handbook of Marine Craft Hydrodynamics and Motion
Control. Wiley, 2011.
[11] (2016, May) ACCIONA homepage. [Online]. Available:
http://www.acciona.com/
[12] F. Furrer, M. Burri, M. Achtelik, and R. Siegwart, “RotorS—a mod-
ular gazebo MAV simulator framework,” in Studies in Computational
Intelligence. Springer Science + Business Media, 2016, pp. 595–625.
[13] J. Meyer, A. Sendobry, S. Kohlbrecher, U. Klingauf, and O. von Stryk,
“Comprehensive simulation of quadrotor UAVs using ROS and gazebo,”
in Simulation, Modeling, and Programming for Autonomous Robots.
Springer Science + Business Media, 2012, pp. 400–411.
[14] Y. Y. Schechner and N. Karpel, “Clear underwater vision,” in Computer
Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the
2004 IEEE Computer Society Conference on, vol. 1, June 2004, pp.
I–536–I–543 Vol.1.
[15] Nomenclature for Treating the Motion of a Submerged Body Through
a Fluid: Report of the American Towing Tank Conference. Society of
Naval Architects and Marine Engineers, 1950.
[16] F. Dukan, “ROV Motion Control Systems,” Ph.D. dissertation, Nor-
wegian University of Science and Technology, Department of Marine
Technology, 2014.

Authorized licensed use limited to: Universitaetsbibl Rostock. Downloaded on February 20,2023 at 17:10:44 UTC from IEEE Xplore. Restrictions apply.

You might also like