Abstract
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.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
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.
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.
7 Results
In the current implementationFootnote 1 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.
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.
Notes
- 1.
Can be downloaded from https://github.com/m-shimizu/RoboCupRescuePackage.
References
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)
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)
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)
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)
Carpin, S., Stoyanov, T., Nevatia, Y., Lewis, M., Wang, J.: Quantitative assessments of usarsim accuracy. In: Proceedings of PerMIS, vol. 2006 (2006)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Schaeling, B.: The Boost C++ Libraries. XML Press, Laguna Hills (2014)
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)
Acknowledgement
This project was supported by RoboCup Foundation.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Shimizu, M., Koenig, N., Visser, A., Takahashi, T. (2015). A Realistic RoboCup Rescue Simulation Based on Gazebo. In: Almeida, L., Ji, J., Steinbauer, G., Luke, S. (eds) RoboCup 2015: Robot World Cup XIX. RoboCup 2015. Lecture Notes in Computer Science(), vol 9513. Springer, Cham. https://doi.org/10.1007/978-3-319-29339-4_27
Download citation
DOI: https://doi.org/10.1007/978-3-319-29339-4_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-29338-7
Online ISBN: 978-3-319-29339-4
eBook Packages: Computer ScienceComputer Science (R0)