operational requirements for realistic training
simulation, such as 3D rendering techniques. Their
paper also discusses a number of challenges that are
typically encountered when building robot
simulations, such as the challenge to simulate
gripping. However, neither of the aforementioned
works gives any detail on the robot simulation
software itself, such as how the robot was visually
modelled and how the control system was
implemented.
Szenaris GmbH, a company that supplies training
and simulation solutions, has put on the market a
virtual reality robotic vehicle simulation (Szenaris
GmbH, 2016) for both teleoperated robots, Telemax
and Teodor. The software can control the arm, base,
and camera using the actual remote control of the
vehicles Telemax and Teodor in a virtual training
environment, such as in an aircraft or in a building.
Unfortunately, this software does not allow the user
to customise the robot model and its virtual
environment. For this reason, it cannot be used with
altered robot models, such as to reflect hardware
changes and add-ons, or to design custom training
scenarios. As expected, the inner workings of this
software are not documented in literature.
For this reason, it was decided that in order to
have the required customisability and full flexibility
to generate new training scenarios and other features,
it is best to design and implement a custom robot
simulator using generic robot simulation software
that includes physics and visualisation engines. This
is the main contribution of the work reported in this
paper.
Various commercial, as well as open-source
software for simulation of different robots is
available. Gazebo, as reported in the survey by Ivaldi
et al. (2014), is one of the most used and popular robot
simulation software. Gazebo offers a robust physics
engine, high quality graphics, and convenient
programming and graphical interfaces. It also offers
applications such as data visualisation, simulation of
remote environments, and even reverse engineering
of black-box systems. In Gazebo all objects have a
defined mass, velocity, friction, and other physical
attributes. Hence, when a force is exerted on an
object, all the physics is simulated for a realistic
behaviour. Gazebo maintains all functions provided
by the physics engine, open dynamic engine (ODE),
to simulate the dynamics and kinematics of bodies.
Gazebo is also compatible with ROS (Quigley et al.,
2009). ROS is a robot framework that can be used to
write code for robot control, and is adaptable to
different robot platforms. In this work, Gazebo is
used as the robotic simulator, with ROS acting as the
middleware between the user and the model in order
to control the robot model in Gazebo. Apart from the
benefits found in literature, Gazebo and ROS were
chosen since these software were already used at
CERN for other projects. Hence, it is easier to
integrate all projects together.
2 SYSTEM OVERVIEW
Figure 2 provides an overview of the designed
simulator and its operation. The generic robotic
simulator Gazebo, which runs on a Linux computer,
is used to simulate the physics and the visuals of the
realistic and functional custom-made model of
Telemax. Thus, Gazebo can provide all the sensors’
states, including the state of all the joints declared in
the model of the robot, as well as information on the
cameras that Telemax is equipped with, since these
are also modelled and simulated. On the other hand,
ROS is used to actuate the robot via the available
control library, get the required actuators’ data from
the controllers developed in the mentioned library,
and send it to Gazebo to actuate the joints. The user
can operate the simulator using either a keyboard or a
specifically designed GUI that runs on Windows. In
order to capture the information from the user,
analyse it, and feed it to ROS, executable programs
were written. The output of virtual cameras is also
streamed on a web server using ROS libraries. This
allows the user to access the cameras’ data and have
it displayed in real-time via the GUI.
Figure 2: Block diagram of the operation of the simulator.
ICINCO 2018 - 15th International Conference on Informatics in Control, Automation and Robotics
284