
 
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