Robot Simulation: 4 Year - Report in System Modeling & Simulation
Robot Simulation: 4 Year - Report in System Modeling & Simulation
Robot Simulation
By
Haider Hashim Dkhikh
Supervised by
Dr. Rajaa Aldeen Abd
July 2020
Abstract
Simulation is well established in robotics and nearly every robot project benefits
from it. Thereby the understanding on what in-sights a simulation shall bring or how it
shall assist the development is totally different in every project. The main reason is that
simulation covers all aspects in the robot development process as for example learning
architecture. Further, the broad application field led to a large number of different
simulate special purpose hardware and others aim to target a wide range of robotic
systems. In this report we present an overview on different use cases for simulation in
Another reason is the increased effort of the game industry to create realistic
virtual realities in computer games. The creation of virtual worlds requires a huge
amount of processing power for graphical rendering and physics calculations. Thereby,
the game industry developed software engines which, at least in principle, seem
capable of providing high quality physic simulation and rendering software in the
robotics domain. Since the goals of computer gaming and robotics simulations are quite
similar the creation of a realistic virtual counterpart of a real world use case, robotics
simulation environments can reuse these simulation and graphics engines and profit
from the gain in processing power. The relationship between computer games and
scientific research is more deeply analyzed in [1].
3. Simulation challenges
simulation also faces some tough challenges. Creating the models of the
environments and the robots at a level of detail which allows simulation with believable
physics and/or photo-realistic graphics is a very challenging task. Running these
models in simulators can easily exceed the limits of even the most advanced
computational hardware. Thus, simulation model builders must make difficult tradeoffs
between model precision and runtime performance. Another challenging problem is
how to validate and debug models. There is little knowledge about systematic model
validation in the community, as this is rarely in the curriculum of robotics courses.
Complex simulation models can also be notoriously hard to debug, if model validation
yields significant defects and aberrations. Summarizing, there currently exists no
general-purpose simulator that would qualify for all of the above tasks. In the following
sections, different types of simulation environments and their properties will be
described.
Haider Hashim 7|Page
4. Simulators Used in Robotics (Application)
Since different research projects have different requirements with respect to the
features and capabilities of a suitable simulator, a number of different simulation
environments have been developed in robotics. Although many off them are somehow
available at no or nominal cost, many systems are not maintained or further developed
any more, sometimes already for many years. Such systems are difficult to use and
adapt to up-to-date requirements concerning the supported platform models and
graphics capabilities, and have little utility for new projects. The differences in the
requirements posed by particular projects are often related to the tradeoff to be chosen
between simulator performance and model precision. Since it is not possible by
principle to simulate a robot and its environment exactly as in the real world, different
simulation approaches have evolved that focus on different problem aspects.
USARSim: has been developed at CMU for the RoboCup Rescue competition and
aims at the simulation of Urban Search and Rescue environments and robots
Automation. It is based on a commercial computer game engine name Unreal [11] [12].
YARS: claims to be the fastest simulator for physical 3D simulation [17]. It targets
the application of evoutionary learning algorithms and is also based on the ODE
physics engine. Robot models can be described with the Robot Simulation Language.
Haider Hashim 11 | P a g e
4.5 Learning Team Behaviors
The most abstract types of simulators are used for analyzing the behavior of multirobot
teams or robot swarms. Since the precise simulation of the interaction of one or more
complex robot systems with a reasonably sophisticated environment is computationally
very challenging, these systems tend to use simplified robot and environment models.
For swarm behavior, robots are often represented just as boxes and with simplified
sensor models, which can be defined and configured without the support of
sophisticated modeling tools and complex description languages and formats.
Mason: is a simulator for multiagent simulation [18] and swarm robotics. It is one
of only a few simulation environments developed in Java. To achieve high
performance, an appropriate visualization level can be chosen: 3D, 2D.
BREVE: is a simulation environment for artificial life [19] and was not developed
specifically for robotics.
MuRoSimF: is a special simulation environment for robot teams, but with flexible
level of detail [20]. The simulation algorithms can be distributed over different CPUs.
It has been developed for the RoboCup Humanoid soccer competition.
Haider Hashim 12 | P a g e
5. Conclusions and Result
The available simulators for robotics all have very specific target uses. There is
no all-in-one solution which would be usable and suitable for any simulation-related
task during the robot development process. Sometimes it may be necessary to use
multiple simulation environments for a single project or robot development, each
targeted towards solving a particular problem on hand, and requiring a particular
tradeoff between model precision and performance to be chosen. The same holds true
for the techniques used to build simulators. Another major issue is the integration of
the simulation environment and the robot control software. Integrated solutions like
Player or the MRDS exist, but there are no standardized interfaces which a simulator
shall could support. Interfacing can be done via shared memory, custom API’s, custom
TCP/IP interfaces. Integration of simulators with commonly used software frameworks
like Player and ROS are getting more wide-spread. Furthermore, there are no standards
available for modeling robots and environments, or even data exchange. Often, it is
possible to store models in XML; standards developed elsewhere, like Collada and
VRML, are becoming more frequently used but are not capable to persist models in a
way that they can be exchanged between different simulation systems. The reason for
that is that these standards have not been specifically designed for robot simulations
and are missing important features like the description of sensor behaviors. Many
simulators evolve from particular research projects, and especially the RoboCup
community provides many contributions in this area. A drawback of this situation is a
lack of support and continuity in the development after some time, so that many good
simulators become less and less usable or never result in a stable version. Generally
speaking, for a specific task an appropriate simulator has to be carefully chosen.
Simulation can be a great help in the robot software development process, if the right
choice of simulator is made with the right tradeoff between performance and model
precision for the specific task.
Haider Hashim 13 | P a g e
References
[1]. M. Lewis and J. Jacobson, “Game Engines in Scientific Research,” in
Communications of the ACM , vol. 45, pp. 43–45, 2012.
[2]. T. Gabel, R. Hafner, S. Lange, M. Lauer, and M. Riedmiller, “Learning in the
RoboCup Simulation and Midsize League,” in Proceedings of the 7th Portuguese
Conference on Automatic Control (Controlo 2006), (Porto), Portuguese Society of
Automatic Control, 2011.
[3]. J. C. Zagal and J. R. del Solar, “UCHILSIM: A Dynamically and Visually Realistic
Simulator for the RoboCup Four Legged League,” in RoboCup 2004: Robot Soccer
World Cup VIII , vol. 3276/2005, pp. 34–45, Springer, 2005.
[4]. Mathworks, “Simulink.” [Online] http://www.mathworks.de/, February 2010.
[5]. P. W. Tuinenga, Spice: A Guide to Circuit Simulation and Analysis Using Spice
Upper Saddle River, NJ, USA: Prentice Hall PTR, 2012.
[6]. A. Miller and P. Allen, “GraspIt! A Versatile Simulator for Robotic Grasping,”
Robotics Automation Magazine, IEEE, vol. 11, pp. 110 – 122, Dec. 2014.
[7]. R. M. Murray, S. S. S. , and L. Zexiang, A Mathematical Introduction to Robotic
Manipulation. Boca Raton, FL, USA: CRC Press, Inc., 1994.
[8]. R. Diankov and J. Kuffner, “OpenRAVE: A Planning Architecture for
Autonomous Robotics,” Tech. Rep. CMU-RI-TR-08-34, Robotics Institute, Carnegie
Mellon University, Pittsburgh, PA, July 2018.
[9]. K. Dixon, J. Dolan, W. Huang, C. Paredis, and P. Khosla, “RAVE: A Real and
Virtual Environment for Multiple Mobile Robot Systems,” in Proceedings of the
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’99) vol.
3, pp. 1360–1367, October 2010.
[10]. N. Koenig and A. Howard, “Design and Use Paradigms for Gazebo, An Open-
Source Multi-Robot Simulator,” in In IEEE/RSJ International Conference on
Intelligent Robots and Systems, pp. 2149–2154, 2014.
[11]. S. Carpin, M. Lewis, J. Wang, S. Balakirsky, and C. Scrapper, “USARSim:a
Robot Simulator for Research and Education,” in International Conference on Robotics
and Automation , pp. 1400 – 1405, 2017.
[12]. C. Scrapper, S. Balakirsky, and E. Messina, “MOAST and USARSim: A
Combined C framework for the Development and Testing of Autonomous Systems,”
in Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, vol.
6230of Presented at the Society of Photo-Optical Instrumentation Engineers
(SPIE)Conference, June 2016.
Haider Hashim 14 | P a g e
[13]. O. Michel, “Cyberbotics Ltd. Webots TM : Professional Mobile Robot
Simulation,”Int. Journal of Advanced Robotic Systems , vol. 1, pp. 39–42, 2004.
[14]. N. Jakobi, P. Husbands, and I. Harvey, “Noise and the Reality Gap: The Use of
Simulation in Evolutionary Robotics,” in Advances in Artificial Life, vol. 929/1995 of
Lecture Notes in Computer Science, pp. 704–720, Springer, 2010.
[15]. J. C. Zagal, I. Sarmiento, and J. R. del Solar, “An Application Interface for
UCHILSIM and the Arrival of New Challenges,” in RoboCup 2005: Robot Soccer
World Cup IX , vol. 4020/2006, Springer, 2006.
[16]. J. C. Zagal, J. R. del Solar, and P. Vallejos, “Back to Reality: Crossing the Re-
ality Gap in Evolutionary Robotics,” in IAV 2004 the 5th IFAC Symposium on
Intelligent Autonomous Vehicles , 2014.
[17]. K. Zahedi, A. von Twickel, and F. Pasemann, “YARS: A Physical 3D Simula-tor
for Evolving Controllers for Real Robots,” in SIMPAR ’08: Proceedings of the 1st
International Conference on Simulation, Modeling, and Programming for Au-
tonomous Robots (S. Carpin, ed.), pp. 75 – 86, Springer, 2008.
[18]. S. Luke, C. Cioffi-Revilla, L. Panait, K. Sullivan, and G. Balan, “MASON:
AMultiagent Simulation Environment,” Simulation , vol. 81, no. 7, pp. 517–527, 2005.
[19]. J. Klein, “BREVE: A 3D Environment for the Simulation of Decentralized
Systems and Artificial Life,” in Proceedings of the Eighth International Conference on
Artificial Life, pp. 329 –334, 2013.
[20]. M. Friedmann, K. Petersen, and O. von Styrk, “Simulation of Multi-Robot Teams
with Flexible Level of Detail,” in SIMPAR ’08: Proceedings of the 1st International
Conference on Simulation, Modeling, and Programming for Autonomous Robots
,(Berlin, Heidelberg), pp. 29 – 40, Springer-Verlag, 2015.
Haider Hashim 15 | P a g e