A Realistic RoboCup Rescue Simulation Based on Gazebo

  • Masaru ShimizuEmail author
  • Nate Koenig
  • Arnoud Visser
  • Tomoichi Takahashi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9513)


Since the first demonstration of the Virtual Robot Competition, USARSim has been used as the simulation interface and environment. The underlying simulation platform, Unreal Engine, has seen three major upgrades (UT2004, UT3 and UDK). These upgrades required a whole new USARSim simulator to be built from scratch. Yet, between those versions the USARSim interface has not been modified, which made USARSim a stable platform for more than 10 years. This stability allowed developers to concentrate on their control and perception algorithms. This paper describes a new prototype of the USARSim interface; implemented as plugin to Gazebo, the simulation environment native to ROS. This plugin would facilitate a shift of the maintenance of the simulation environment to the Open Source Robotics foundation and attract new teams to the Virtual Robot Competition.


Gazebo RoboCup Rescue Simulation League Unified System For Automation And Robot Simulation (USARSim) Open Source Robotics Foundation Unreal Engine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The challenge provided by the RoboCup Rescue Simulation League is to have a team of robots cooperate inside a devastated area. Most research institutes have access to only a few robots with a limited sensor suite and do not have access to all the robotic hardware necessary to build a complete rescue team. Simulators allow teams to experiment with algorithms for cooperation between robots in a safe, low-cost environment. However, to be useful, the simulator should provide realistic noise models for sensors and actuators; noise models which should be validated [1, 2, 4, 5, 8, 13, 14, 17].

The Robot Operating System (ROS) has been steadily gaining popularity among robotics researchers as an open source framework for robot control [15]. Gazebo is the simulation environment used by ROS, although it was originally developed for the Player-Stage environment [11]. Gazebo is based on the Open Dynamics Engine (ODE), although it has the flexibility to switch between physics engines. The Pioneer robot is validated based on the default ODE physics engine [7].

2 Related Research

The Unified System for Automation and Robot Simulation (USARSim) environment has been used for many years by robotics researchers and developers as a validated framework for simulation [3, 6]. The original version was developed in 2003, based on the concept of GameBots [10].

The validation approach applied to USARSim is to perform the same experiment in simulation and with a real world system, and to quantitatively compare the results. This effort may sometimes be costly, because it entails developing accurate models of the robotic systems at hand, but it has proved to be a formidable advantage which makes it possible to extrapolated from simulation to reality quickly and to identify early which algorithms are not generally applicable. Part of the USARSim success [3] draws from this extensive validation efforts. This validation has been performed for the Pioneer robot [4], the Kurt3D robot [1], the Kenaf robot [14], the Nao robot [13], the AR.Drone robot [17], the camera sensor [5], the laser sensor [8] and the GPS sensor [2]. It would be nice if not only the interface, but also part of this validation effort could be ported from USARSim to Gazebo.

Note that there exists an interface between ROS and USARSim [12], but this interface works precisely the other way around, making it possible for ROS-nodes to connect to simulation of USARSim. USARSim has many benefits (for instance, the realism of the lighting from the Unreal Engine), but is difficult to maintain with the current small developers community. Gazebo, the simulation environment native to ROS, is a much better choice for the future. To demonstrate the benefits of the change from USARSim based on Unreal to a USARSim based on Gazebo, this paper describes a prototype of such simulation environment. Table 1 shows functional comparison between USARSim and Gazebo. Table 2 shows merits of using Gazebo compared to USARSim. Those tables clearly show the possibilities of USARSim based on Gazebo for the RoboCup Virtual Robot League.
Table 1.

Functional comparison between UDK and Gazebo

USARSim with UDK

USARSim with Gazebo





Modification packages on UDK(except for UDK)


Physics Engine

Unreal Engine

ODE(Default), Bullet, DART, Simbody

3D Simulation



Performance for

Real Time


Kinds of robot included by simulator

AirRobot, ATRVJr, Cooper, ERS, HMMWV, Kenaf, Kurt, Lisa, P2AT, P2DX, Pssarola, QRIO, Rugbot, Sedan, SnowStorm, Soryu, Submarine, Talon, Tarantula, TeleMax, Zerg

Atlas, Kuka, Pioneer 2DX, Pioneer 3AT, PR2, Robo Naut, Quad Rotor, Kuka, youbot

Flying robots



Multi robots



Capability of adding objects and fields by users

Possible (Not so easy in scaling)


Capability of adding robot by users

Possible (Not so easy in scaling)


Realistic rendering



Lighting and shadowing



Simulation of water, mud, sand


Possible by change physics engine

Capability of connection with ROS



Arbitrary viewpoint


Any numbers of cameras which you want

Capability of connection with each camera video stream

Impossible (solved by tiled approach)


Getting Ground Truth data from map

Possible (done for competition visualization)


Active environment



Disaster environment



Movable obstacles



Fog effect



Table 2.

Merits of using Gazebo instead of UDK

USARSim with UDK

USARSim with Gazebo

Commands and sensor data transferring protocol

GameBot Protocol

Topic or Any protocols which you need

Transferring data protocol with ROS

GameBot Protocol (Need protocol converter at ROS side)

Topic or Any protocols which you need

Changeability inside of simulator

Not yet (Unreal Engine 4 is Open Source)

Possible (Open Source)

Programming language

Unreal Script

C, C++, Python

3 Benefits

There are several additional benefits of making this choice. Firstly the progress made by the Open Source Robotics foundation in improving Gazebo would be directly available to the RoboCup Rescue Simulation League community. The Open Source Robotics foundation recently extended the open source Gazebo robot simulator extensively on request of the Defense Advanced Research Projects Agency (DARPA). The new interface described in this paper would allow the teams active in the Rescue Simulation and the research institutes active in the DARPA Robotics Challenge to use the same simulation environment, allowing for cross development. Thirdly the maintenance of the simulation environment of the Virtual Robot competition would come in professional hands, now that USARSim is no longer actively supported by the National Institute of Standards and Technology (NIST). Last, but not least, this would allow to attract new teams to the RoboCup Rescue Simulation League.

4 Design

The interface between Gazebo and USARSim is designed as a WorldPlugin; the preferred method to modify the simulation environment. The plugin starts a server-routine, which listens to port 3000. Multiple clients (currently limited to teams of 16 robot controllers, as in the original UT2004 version) can connect to this port and spawn a robot into the Gazebo world.

At the moment, the robot is spawned with a specific sensor-suite. In principal, an user can modify this configuration in the Gazebo GUI. The USARSim interface has commands to query the current configuration (GETCONF and GETGEO commands), but the format of the STATUS message should be updated to notify the robot controller that the configuration has been changed (and should be queried again).

The location of the spawn-position is important, because with a team of robots a designer wants each robot to have an unique start position. In an Unreal world, start-positions are specified by inserting PlayerStart positions with their corresponding coordinate system to the world. This is a native feature of Unreal, because Unreal Tournament was a multi-player game where each player also needed an unique start position. Gazebo has a comparable way to specify start positions, once a PlayerStart model is created.

Once a robot is spawned and configured, the regular sense-plan-act cycle starts. Sensor messages are received via SEN messages, the actuators are controlled by DRIVE, SET and MISPKG messages.

The implementation of the interface is based on the efficient Boost-library [16], the same library which is used inside Gazebo.

5 Requirements

The goal of this study is to create a fully functional prototype, which will allow to control robots inside Gazebo via the USARSim interface. This would mean that
  • New robots could be dynamically spawned in the world by an INIT command.

  • The robots could be configured with SET commands.

  • The robot’s sensor suite could be queried with GETCONF and GETGEO commands.

  • The robots could be steered by sending DRIVE commands.

  • Sensor updates would be send via SEN messages.

  • Camera images would be published via a separate high-speed socket (typically port 5003)

  • A private socket (typically port 50000) should be available for the Wireless Server Simulation, which needs Ground Truth information to calculate distances between robots and the number of walls in the line of sight between the robots.

6 Architecture

This USARSim prototype is built by a diagram which indicates how the USARSim interface should be incorporated in the Gazebo architecture. This diagram (Fig. 1) shows connections between an USARSim user client and Gazebo simulator via the new plugin.
Fig. 1.

Diagram of our prototype simulator with Gazebo. At right middle of the diagram, white blocks are our added plugin software in Gazebo. The plugin translate bidirectionally USARSim commands and Camera images and Sensor data between USARSim protocol (GameBot) and Gazebo Native protocol (Topic).

7 Results

In the current implementation1 it is possible to query for start poses, to spawn a Pioneer 3AT robot, drive this robot through the environment and follow its progress by watching the camera images published over a high speed binary channel. The later accomplishment was the most critical, because this was estimated as the most difficult feature to replicate in an equivalent way in Gazebo.
Fig. 2.

A screenshot of a world in Gazebo, converted from a USARSim world created in Unreal Editor: RoboCup 2013 Virtual Robot competition Preliminary 1.

We were also able to import a world generated in Unreal Editor into Gazebo, as can be seen in Fig. 2. This is quite attractive scenario, because the Unreal Editor is really very professional. The latest version of Unreal, the Open Source version 4.7, is able to create very large maps, which is essential in rescue situations. In addition, a lot of effort is spent to create the realistic worlds for the RoboCup Virtual Robot competition. With this method the existing maps can be ported to Gazebo.

8 Future Work

The USARSim has a rich set of sensors, such as laserscans, sonar, encoders and inertial sensors. Each of this sensors is publishing their measurements in a slightly different format. In addition, walking, flying and diving robots have a slightly different drive commands compared to wheeled robots. To finalize the plugin, the interface of each of the sensors and actuators have to be replicated. No fundamental problems are foreseen here.

One of the assets of USARSim is the focus on validation. It would be an advantage if all validation effort [1, 2, 4, 5, 8, 13, 14, 17] could be repeated in the Gazebo environment. This is not only beneficial for the RoboCup community, but for all users of Gazebo. The first validation performed which could be performed is to perform driving experiments with the Pioneer 3AT; accelerating along a straight trajectory and turning circles. A comparison could be made between the real system, USARSim based on the Unreal Engine and USARSim based on Gazebo.

This could be continued with experiments on slopes and trajectories over obstacles. The NIST institute has made a very useful test-document for Rescue Robots, with a wide variety of experiments which could be performed [9].

Because the effort of many RoboCup Rescue teams concentrate on mapping and object recognition, a comparable set of experiments could be performed to estimate the level of realism for each sensor.

9 Conclusion

The new prototype will be presented at the RoboCup 2015 in China. In addition, the teams will be allowed to stress-test the solution in their laboratory. When tested by the experienced teams, the new USARSim interface to Gazebo will be presented on the Leagues website and in relevant newsgroups and social media. It is the intention to accompany this announcement with an invitation for a workshop, at an international robotics conference, to introduce the new design to a larger audience. It will be used as showcase for both the RoboCup and the robotics rescue community as a whole.




This project was supported by RoboCup Foundation.


  1. 1.
    Albrecht, S., Hertzberg, J., Lingemann, K., Nüchter, A., Sprickerhof, J., Stiene, S.: Device level simulation of kurt3d rescue robots. In: Proceedings of the 3rd International Workshop on Synthetic Simulation and Robotics to Mitigate Earthquake Disasters (SRMED 2006). Citeseer (2006)Google Scholar
  2. 2.
    Balaguer, B., Balakirsky, S., Carpin, S., Lewis, M., Scrapper, C.: USARSim: a validated simulator for research in robotics and automation. In: Workshop on Robot Simulators: Available Software, Scientific Applications, and Future Trends at IEEE/RSJ (2008)Google Scholar
  3. 3.
    Balakirsky, S., Carpin, S., Lewis, M.: Robots, games, and research: success stories in USARSim. In: Proceedings of the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE Press (2009)Google Scholar
  4. 4.
    Carpin, S., Lewis, M., Wang, J., Balakirsky, S., Scrapper, C.: Bridging the gap between simulation and reality in urban search and rescue. In: Lakemeyer, G., Sklar, E., Sorrenti, D.G., Takahashi, T. (eds.) RoboCup 2006: Robot Soccer World Cup X. LNCS (LNAI), vol. 4434, pp. 1–12. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Carpin, S., Stoyanov, T., Nevatia, Y., Lewis, M., Wang, J.: Quantitative assessments of usarsim accuracy. In: Proceedings of PerMIS, vol. 2006 (2006)Google Scholar
  6. 6.
    Jacoff, A., Lewis, M., Birk, A., Carpin, S., Wang, J.: High fidelity tools for rescue robotics: results and perspectives. In: Bredenfeld, A., Jacoff, A., Noda, I., Takahashi, Y. (eds.) RoboCup 2005. LNCS (LNAI), vol. 4020, pp. 301–311. Springer, Heidelberg (2006)Google Scholar
  7. 7.
    Drumwright, E., Shell, D., Koenig, N., Hsu, J.: Extending open dynamics engine for robotics simulation. In: Ando, N., Balakirsky, S., Hemker, T., Reggiani, M., von Stryk, O. (eds.) SIMPAR 2010. LNCS, vol. 6472, pp. 38–50. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Formsma, O., van Noort, S., Visser, A., Dijkshoorn, N.: Realistic simulation of laser range finder behavior in a smoky environment. In: Ruiz-del-Solar, J. (ed.) RoboCup 2010. LNCS, vol. 6556, pp. 336–349. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Jacoff, A., Messina, E., Huang, H.M., Virts, A., Norcross, A.D.R., Sheh, R.: Guidefor evaluating, purchasing, and training with response robots using DHS-NIST-ASTM International Standard Test Methods. Technical report, Intelligent Systems Division, Engineering Laboratory, National Institute of Standards and Technology (2009)Google Scholar
  10. 10.
    Kaminka, G.A., Veloso, M.M., Schaffer, S., Sollitto, C., Adobbati, R., Marshall, A.N., Scholer, A., Tejada, S.: Gamebots: a flexible test bed for multiagent team research. Commun. ACM 45(1), 43–45 (2002)CrossRefGoogle Scholar
  11. 11.
    Koenig, N., Howard, A.: Design and use paradigms for gazebo, an open-source multi-robot simulator. In: Proceedings of the 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2004), vol. 3, pp. 2149–2154. IEEE (2004)Google Scholar
  12. 12.
    Visser, A., Balakirsky, S., Kootbally, Z.: Enabling codesharing in rescue simulation with USARSim/ROS. In: Behnke, S., Veloso, M., Visser, A., Xiong, R. (eds.) RoboCup 2013. LNCS, vol. 8371, pp. 592–599. Springer, Heidelberg (2014)Google Scholar
  13. 13.
    van Noort, S., Visser, A.: Validation of the dynamics of an humanoid robot in USARSim. In: Proceedings of the Workshop on Performance Metrics for Intelligent Systems, pp. 190–197. ACM (2012)Google Scholar
  14. 14.
    Okamoto, S., Kurose, K., Saga, S., Ohno, K., Tadokoro, S.: Validation of simulated robots with realistically modeled dimensions and mass in USARSim. In: 2008 IEEE International Workshop on Safety, Security and Rescue Robotics, SSRR 2008, pp. 77–82. IEEE (2008)Google Scholar
  15. 15.
    Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: Ros: an open-source robot operating system. In: ICRA Workshop on Open Source Software, vol. 3, p. 5 (2009)Google Scholar
  16. 16.
    Schaeling, B.: The Boost C++ Libraries. XML Press, Laguna Hills (2014)Google Scholar
  17. 17.
    Visser, A., Dijkshoorn, N., van der Veen, M., Jurriaans, R.: Closing the gap between simulation and reality in the sensor and motion models of an autonomous AR. Drone. In: Proceedings of the International Micro Air Vehicle Conference and Flight Competition (IMAV11), pp. 40–47 (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Open Access This chapter is licensed under the terms of the Creative Commons Attribution-NonCommercial 2.5 International License (, which permits any noncommercial use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  • Masaru Shimizu
    • 1
    Email author
  • Nate Koenig
    • 2
  • Arnoud Visser
    • 3
  • Tomoichi Takahashi
    • 4
  1. 1.Chukyo UniversityNagoyaJapan
  2. 2.Open Source Robotics FoundationSan FranciscoUSA
  3. 3.Universiteit van AmsterdamAmsterdamThe Netherlands
  4. 4.Meijo UniversityNagoyaJapan

Personalised recommendations