Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context

This paper presents a systematic literature review (SLR) about realistic simulators that can be applied in an educational robotics context. These simulators must include the simulation of actuators and sensors, the ability to simulate robots and their environment. During this systematic review of the literature, 559 articles were extracted from six different databases using the Population, Intervention, Comparison, Outcomes, Context (PICOC) method. After the selection process, 50 selected articles were included in this review. Several simulators were found and their features were also analyzed. As a result of this process, four realistic simulators were applied in the review’s referred context for two main reasons. The first reason is that these simulators have high fidelity in the robots’ visual modeling due to the 3D rendering engines and the second reason is because they apply physics engines, allowing the robot’s interaction with the environment.


Introduction
With the development of computers, simulation has become a powerful tool in the many areas in which it can support design, planning, analysis and decision-making in research and development [1][2][3][4][5].
Simulation is the process of designing a model of an actual or theoretical physical system, executing the model and analyzing the output. It helps to understand our reality and its complexity by building artificial objects and dynamically acting out roles. The simulation application enables learning about something in a very effective way and, by modifying environment rules, we can observe the results of the interactions. It is also an interdisciplinary field, applied in all research fields in society, from engineering and computer science to economics and social science, and at all different scientific study levels, even to manufacturers. Researchers and companies may build experimental systems using simulators even in the early development stages, testing complexity, reality and specificity. The simulation tests can be gradually increased to a level where these virtual systems can help to solve real challenges of the physical world, create new revolutionary products and push human imagination and creative boundaries-one of the main applications of simulation in the robotics field. By designing new products and investigating performance, simulation permits the study of structures, characteristics and a robotic system's function no matter how complex it is. Although, as the system's complexity increases, the need for simulation rises at the same level. Hence, the simulation tools can, for sure, improve design, development and robotic operating systems. Simulators utilizing a graphical user interface and visualization tools can provide us with a realistic way of visualizing the robotics system's operation [1].
Robot simulation started to become feasible and got more attention when the computational power of personal computers increased over the years in a significant way. In almost every computer today, it is possible to run complex algorithms and many graphical calculations. With that, realistic simulations are also possible thanks to the game industry's efforts to create realistic visualisation in computer games. The creation of virtual worlds requires considerable processing power to render graphical environments and physics calculations. Consequently, this effort developed software engines that provide high-quality physics simulations and rendering software in the robotics domain [2].
In this context, physics engines are software that allow computers to create physics phenomena that we experience in the real world, that is, rigid body dynamics, collision detection, soft body dynamics, fluid dynamics and other physical aspects, and apply them to 3D objects in games (the most usual application) and other 3D renderings, which affects how those objects interact in the digital world. Game developers and video effects artists use physics engines to create lifelike computer-generated environments for video games, movies and television. Some architects may use physics engines to create realistic 3D renderings for concept designs. Even if a 3D environment does not require reallife physics, a physics engine will allow the designer to customise physics to fit their needs [6,7].Without something like a physics engine telling many different 3D objects how to interact, programming an environment would be extremely time-consuming. Some environments may have hundreds of objects that all interact with each other in various ways. For example, an object in a bowl on a table is interacting with the bowl, the other objects in the bowl, the table and the ground the table sits on. As a game developer or video effects artist, a physics engine will be part of the suite of tools applied to create 3D environments. In many cases, physics engines are included in game engines, 3D modeling suites and 3D rendering tools. However, it may be offered as a standalone or as a plug-in to another software [8,9].
To qualify as a physics engine, a software must: 1. Simulate a variety of physical systems (rigid body dynamics, soft body dynamics, fluid dynamics, etc.); 2. Apply those systems to 3D objects and environments; 3. Work in tandem with other software systems to create a cohesive experience.
The main objective of this work is to present a systematic literature review that allows us to understand whether there are any realistic simulators that are or can be applied in an educational robotics context, and to obtain scientific databases in order to analyze and compare the features of these kinds of simulators. The reason for exploring the educational context is because of the multiple advantages for pre-university students of robotics application [10], specially for developing STEAM related competences [11]. Still within the context of educational robotics, this research seeks to find, analyze and compare realistic simulators capable of simulating robots, sensors and actuators in general. In order to answer the research question of this work and fulfill the goal, this review becomes important for future applications and frameworks that can be developed using these simulation tools to be applied at all educational levels and, as a consequence, in teaching robotics and computer science topics.
The structure of this work is as follows: Section 2 describes all the methodology followed to execute the systematic literature review [12], the research question, the PICOC method and the search string equation that was applied to the databases. Section 3 presents a Preferred Reporting Items for Systematic Reviews and Meta-Analyses (PRISMA) flow diagram with all the papers obtained from the database searches of the previous section. Section 4 discusses and analyzes the results from the selected and relevant papers, after filtering by selection criteria. Finally, in Section 5, conclusions and future work are proposed.

Method
This paper was conducted by following the systematic literature review methodology presented by Kitchenham [13][14][15]. A systematic literature review is a means of evaluating and interpreting all available research, relevant to a particular research question, topic area, or phenomenon of interest. The SLR aims to present a fair evaluation of a research topic using a trustworthy, rigorous and auditable methodology. The guidelines for conducting an SLR are divided into three phases: planning the review, conducting the review and reporting the review [16][17][18][19][20][21][22].
Before starting the planning of the SLR, a preliminary search is needed on a database, such as Google Scholar, to verify if there is an SLR with the same theme of research. If there is an SLR with the same topic, there would not be any need to conduct a new one [23,24]. In the case of this systematic review of the literature, no results were found, covering the realistic simulators subject, therefore, the SLR can be carried out as new research.

Planning the Review
The first part is the review planning, consisting of the process of identification and definition of the review execution, ensuring that the review is traceable [25]. At the beginning, it is necessary to clearly specify the research question that it aims to investigate. For this work, taking into account the described context in the Introduction, the research questions (RQs) are:

Inclusion and Exclusion Criteria
With the PICOC established, the scope of the review has been set, accompanied by the research questions and selection criteria-inclusion (IC) and exclusion (EC)-are defined to select the relevant papers that answer the research questions. For a paper to be selected, it has to meet all the Inclusion Criteria, and if it meets any Exclusion Criteria, it will be excluded. These selection criteria will determine whether, from reading the paper's title and abstract, it will be included in the review or not, and whether it is useful to include relevant works in the review in terms of its scope.

Search Methodology
The methodology of an SLR differs from a search made randomly on the Internet in several aspects. One of the most relevant is the need to determine the data sources, which should be the most important databases in terms of the research context. The electronic databases used in this work were: ACM Digital Library, IEEE Digital Library, ISI Web of Science, ScienceDirect, Scopus and Springer Link.
These databases were selected for three main reasons: 1. They are well-known databases in this research field; 2. They are relevant databases in the research theme of this literature review; 3. It is possible to use a search string as well as Boolean operators to improve the results of the search process.
Given this procedure, the next step is to define the search string equation for the different databases. It was built using relevant terms from the PICOC methodology and they were connected by Boolean "AND" and "OR" operators [26,27]. Moreover, the asterisk sign operator was used to include both the singular and plural of each term. Taking this into account, the search string equation is shown as follows: ("educational robotics" OR "educative robotics" OR "robotics and education") AND ("realistic simulators" OR "prototype" OR "prototyping") The search string equation is divided into two main parts. The first part contains three related concepts, which are: "Educational Robotics", "Educative Robotics" or "Robotics and Education". These concepts are inclusive and connected between each other, and they were retrieved from the Context from the PICOC methodology. The search string equation will be executed in the all electronic databases in order to gather all the published papers connected with those areas.
The second part of the search equation is related to the main objective of this work, the terms: "Realistic Simulators", "Prototype" or "Prototyping". The "Realistic Simulators" term has the role of finding in the electronic databases all the papers that in some way have used a realistic simulator. The two last terms "Prototype" or "Prototyping" are related and help to expand our search, because these words represent one of the main applications for simulators, that is, prototype simulation.
The following describes and shows the search strings equation applied to each database. ALL("Educational Robotics" OR "Educative Robotics" OR "Robotics and Education") AND ALL("Realistic Simulators" OR "Prototype" OR "Prototyping").
6. Springer Link: For the Springer Link database (http://link.springer.com, accessed on 8 June 2021), the query string was used in the simple search bar on the website.

Quality Criteria
After the first preliminary part of paper selection, described as the Inclusion and Exclusion criteria, a new set of questions was defined to check the work's quality before including them in the final literature review.
Each question can be answered with a possible weight between three values: 4.0 (Yes, it answers the question fully), 2.0 (Yes, it answers the question partially) and 0.0 (No, it does not answer the question). These values are assigned to the papers by reading them fully. The quality assessment checklist is shown in Table 1.

QQ1
Is the paper based on research or is it a report based on expert opinion? QQ2 Is there a description of the context in which the research was carried out? QQ3 Is there a clear statement of the aims of the research? QQ4 Was the research conducted to address the aims of the research? QQ5 Were the simulations made during the study applied in an educational context? QQ6 Could the simulator used in the study be applied in an educational context? QQ7 Is the simulator used in the research able to make realistic simulations? QQ8 Was the method used during the study described? QQ9 Was the data analysis sufficiently rigorous? QQ10 Is the study of value for the research field? QQ11 Is there a clear statement of findings?
Therefore, each paper can be assigned a maximum of 44.0 points based on the quality criteria. In Figure 1, it can be observed the distribution of these quality data. The median overall score (out of 44) of the 100 included studies was 30, and the mean overall score was 29.08. We, therefore, decided to set a cut-off score of 30 points. All those papers that exceeded this score were included in the final synthesis.

Data Extraction Form
When the quality assessment process of the papers was running out, a data extraction form was made with a set of questions to evaluate the simulators used during the reading of the works. These questions are shown in Table 2. Table 2. Data Extraction Form.

DQ1
Is the simulator able to simulate robotics? DQ2 Is the simulator able to simulate sensors? DQ3 Is the simulator able to simulate actuators? DQ4 What method is used for the simulator? DQ5 Is the realistic simulation made under a mathematical-physical model? DQ6 What is the simulator used? DQ7 Is the simulator free to use? DQ8 Is the simulator open-source or not?
For the first three questions (DQ1, DQ2 and DQ3), the answer is Boolean so it could be answered with "Yes" or "No". The following three questions (DQ4, DQ5 and DQ6) should be answered with strings. DQ4 describes the method used in the paper for using the simulator; DQ5 describes whether the simulation was made under a mathematicalphysical model; and DQ6 states the name of the simulator applied. The last two questions required selecting one possible option. DQ7 asks if the simulator is free to use, is fully paid or a mix of both and DQ8 asks if the simulator is an open-source platform or not. The result of this data extraction will be presented in the results section in a Table format, in which every mentioned simulator in the papers has a score equal to or above 30.0.

Results
This section presents all the results obtained from the searches on the databases. The data compilation was divided into different phases according to the PRISMA flow diagram, shown in Figure 2, which details the actions taken during the SLR process [28,29].
This process was carried out following the methodology described in Section 2.3. The search on the databases was performed (on 27 August 2020), carrying on with the paper selection process: 1. First, the results retrieved from the initial search were 559 papers in total, distributed in 41 citations from the ACM Digital Library, 14 from the IEEE Digital Library, 22 papers from ISI Web of Science, 92 works from ScienceDirect, 204 citations from Scopus and 186 from Springer Link. 2. After the search, all these references were uploaded and organized into the Parsifal (https://parsif.al/, accessed on 8 June 2021) (the main tool applied to conduct this SLR) and it detected 60 duplicated records that were consequently removed. 3. As result, 499 works were retrieved from the previous step and they were analyzed through the reading of their titles, keywords and abstracts and applying the Inclusion and Exclusion Criteria. From this process, 434 articles were excluded because they did not meet the requirements, leading us to the next phase, with 65 papers. 4. The accepted papers were read in detail. When each article was read, it was scored regarding its quality, applying the quality assessment questions described in Section 2.4. In addition, while reading these works, their references were carefully checked in order to find new articles (as an alternative source) that could address the research question, resulting in 35 new reports (on 7 December 2020). Figure 3 shows the amount of obtained articles per source and year, and those which were accepted per source.
A relevant issue to take into account is that none of the selected papers were from the Web of Science or the IEEE Digital library data sources, so these databases are not shown in the graphic. 5. After the evaluation of the papers' quality, 15 papers that scored higher than or equal to 30 were selected, adding to them the 35 obtained from the reference checking of the previous phase. This resulted in a total of 50 selected works with which to compose the present review, which can be seen distributed by publication year and source in the Figure

Discussion and Results
This section describes the results of the developed systematic literature review. How every simulator addresses the research questions (RQ1, RQ2 and RQ3) made in the Section 2.1 is discussed, through the data extraction form presented in Table 2. Taking this into account, further subsections point out the answers to the data questions by discussing three main issues: (1) the features of the simulators found in the review; (2) some interesting exceptions about papers included in the study; and (3) the features of the engines, on which the simulators are based. Finally, a subsection describes the Robot Operating System, which is an alternative method for writing the robots' software in the simulators. Table 3 presents all the papers selected, showing their quality scores, the name of the simulator used and its ability to simulate robots, and its sensors and actuators. Note that the columns tagged as d, e and f address the answers to Data Questions 1, 2 and 3, meaning whether the simulator is able to simulate robotics, sensors and actuators, respectively. Table 3. All the papers included in the SLR. In ( a ) All the selected studies about simulators. ( b ) The answer for Data Question 6 (DQ6), in which the answer is the name of the simulator used in the refereed study. The ( c ) column is the paper's score in the quality assessment. Lastly, ( d ), ( e ) and ( f ) columns concern the ability to simulate robotics, sensors and actuators, addressing Data Questions (DQ1),(DQ2) and (DQ3), respectively.  As shown in Table 3, several simulators were found, and the most used from the selected papers were Sim-Two (22 times), Gazebo (7 times) and V-REP (4 times). Something to point out is that the papers with a score of 42 points or 44 points are those applied in the educational context that were able to simulate all the features inquired for the research questions, but with a few exceptions (such as Exception 1 and Exception 2) that are described in the next subsections.

Reference
Although the most used simulators were Sim-Two, Gazebo and V-REP, others were found through the reading process ( Table 3). The table presents a distribution of the simulators in this literature review.
As can be noticed, the most mentioned simulators found in the full-read process were: USARSim, Gazebo, Webots, Sim-Two, Stage/Player, V-REP, UberSim, MuRoSimF and the Microsoft Robotics Studio. To better understand the reason why the papers' authors cite or use them, each simulator is investigated and described in the next subsection.

Simulators Features
In this subsection the features of the simulators found in the literature are described. Besides the papers studied during the research methodology, in this part it another search was made in Google Scholar in order to find papers that contain the simulators' details and facts to add and support the information about the simulators presented in Table 4. This is necessary because, as the analysis in Figure 3 shows, most of the papers included are from before 2016, and many of the features of the simulators may have changed through the years due to technology evolution. The simulator features can be found in Table 5.
As can be observed, many simulators were found during the search. The main characteristic among some of them is that they are based on physics engines, which allows them to simulate the robot and the robot's environment in a more realistic way. Another important feature that was noticed was that some of these simulators are defined with multiple simulation purposes (ie V-REP, Webots, Gazebo, SimTwo and others), which means they are able to simulate several types of robots, unlike others that only simulate one type of robot (i.e., ARGoS, RoSoS, UberSim, OpenHRP3, Khepera and others). [60] Creo [70] As a result of searching information about the simulators listed above, an Excel file was uploaded into a GitHub repository, a summarized Table showing only the simulator's main features. The repository's link can be found in Appendix A.
Finally, most of the simulators were developed in the 2000 s, and it can be observed that the most mentioned simulators in Table 5 still continue to have updates for current technologies since their launch. An exception to these simulators is the Microsoft Robotics Studio, which has been discontinued, as have UberSim and Khepera.

Description
Unified System for Automation and Robot Simulator, forming the acronym USARSim, is a high-fidelity simulation of robots and environments based on the Unreal Tournament game engine. It was built upon Unreal Engine 2.0, a game engine commercially available produced by Epic Games. It has a uniform applications programmer interface, validated models, and physics-based simulation. USARSim is composed of a set of models and classes that define the simulation of robots, sensors and actuators. It has the ability to simulate several types of robots as wheeled robots, underwater vehicles, legged platforms and humanoids [39,79].

Description
The SimSpark is a multi-robot simulator based on the generic components of the Spark physical multi-agent simulation system and its main application is in the Soccer Competitions. This simulator is implemented through the Open Dynamics Engine (ODE) for physically realistic dynamics simulation, allowing fast rigid body simulations, collision detection and the use of articulated body structures. It also includes a 3D visualization based on OpenGL, enabling the possibility to create scenes. The creation of new robot models it is possible using the Ruby interface in which is an interpreted language [32][33][34]80,81]. It has been designed for a professional use, and it is widely used in industry, education and research. It was developed by Cyberbotics Ltd. in 1998 and currently it is free to use.

Features
The main features about Webots is the combination of a modern graphical user interface (Qt), the ODE fork physics engine and the OpenGL rendering engine. The robot's programming may be in C, C++, Python, Java, MATLAB and ROS. It can simulate a wide variety of robots as wheeled, industrial arms, bipeds, multi-legs, modular, automobiles, flying drones, autonomous underwater, tracked and aerospace [46,82]. The SimTwo is a versatile robot simulation environment that allows the rapid test and design of differential, omnidirectional, industrial, humanoid robot and other types. It also has a set of predefined components, such as sensors and motors, where specified models are inputted. Realistic rigid body dynamics is possible thanks to the Open Dynamics Engine, and issues about the robots' look and behaviors are written in XML format files. The visualization is in 3D, and that is provided through GLScene.
SimTwo ARGoS Description Autonomous Robots Go Swarming is an open source multi-robot simulator that was designed to study tools and control strategies for heterogeneous swarms of robots. It initially was released for Linux and Mac OS X, and in 2016 was updated to Windows systems. The core of its architecture is the simulated 3D space. Sensors and actuators can be implemented in a generic and efficient way, taking into account specific components instead of the complete robot. New robots can be inserted, reusing the already existing components and all the sensors/actuators, depending on those components working without modification. ARGoS supports multiple engines of different types and can run in parallel during an experiment. The 3D dynamics engine is based on the Open Dynamics Engine, and the 2D dynamics engine depends on the open-source physics engine library Chipmunk. It has either a 3D or 2D custom engine. The 3D visualization has a graphical user interface based on Qt4 and OpenGL. ARGoS and the control interface are written in C++ [30,83].  Simple Two Dimensional Robot Simulator as the title, the STDR simulator's goal is to make a single robot's or swarm's simulation as simple as possible; as a consequence, it is not meant to be the most realistic simulator, by minimizing the needed actions to perform a experiment. STDR can function with or without a graphical environment, which allows for experiments to take place even using ssh connections [57].

V-REP (CoppeliaSim) Description
The Virtual Robot Experimentation Platform or V-REP is the result of turning all requirements into a versatile and scalable simulation framework. According to its website https://www.coppeliarobotics.com/, accessed on 8 June 2021, V-REP was discontinued in November 26 2019, becoming CoppeliaSim Robot Simulator and owning an integrated development environment based on a distributed control architecture, which means that each object/model can be individually controlled via an embedded script such as ROS, BlueZero node, a remote API client or a custom solution. CoppeliaSim is very versatile and ideal for multi-robot applications. Controllers can be written in C/C++, Python, Java, Lua, Matlab or Octave. It can be applied for fast algorithm development, factory automation simulations, fast prototyping and verification, robotics related education, remote monitoring, safety double-checking, as a digital twin, and much more [43,49,77,78,88]. UberSim Description A Multi-Robot Simulator for Robot Soccer was created as a free and open-source simulator project, with the objective of being a robot soccer simulation engine with high-fidelity dynamics and collision models and extensible robot classes, built based on the Open Dynamics Engine [76].
A search was made in order to obtain more information about the ÜberSim simulator but no further information was found, even its website was off-line. Thus, it was considered discontinued. Breve is a free, open-source software package that makes it easy to build 3D simulations of multi-agent systems and artificial life. Using Python, or using a simple scripting language called steve, you can define the behaviors of agents in a 3D world and observe how they interact. Breve includes physical simulation and collision detection; it is possible to simulate realistic creatures and to use an OpenGL display engine to visualize simulated worlds. However, according to its website http://www.spiderland.org/s/, accessed on 8 June 2021, the project has not been maintained since 2009, but it is still available for download for Windows, Linux and Mac OS [40]. TeamBots is a 2D Java-based simulator for multi-agent mobile robotics research. The simulation environment and the robots are written mostly in Java. It supports multiple heterogeneous robot hardware running heterogeneous control systems. Complex (or simple) experimental environments can be designed with walls, roads, opponent robots and circular obstacles. All of these objects may be included in a simulation by editing an easily understandable human-readable description file.

Features
TeamBots runs under Windows, Linux and MacOS. The search for information about this simulator was not an easy task and since the latest version of this platform was updated in April 2000, it can be considered discontinued [60]. The Multi-Robot-Simulation-Framework (MuRoSimF) provides an easy way to generate interactive simulations for the motion and sensing capabilities of wheeled, biped and multi-legged robots. Unlike most existing robot simulation packages, MuRoSimF is not limited to predefined simulation algorithms (e.g., for dynamics or sensor simulation).

Features
Instead of this, it provides a flexible and modular way to combine simulation models of the robots and algorithms. By this, it is possible to generate simulations, which are scalable in their level of physical accuracy, level of detail and computational complexity, thus enabling the user to create simulations that are adequate to a given task. Using MuRoSimF, several simulations for mobile robots including wheeled, biped and four-legged devices have been created.
MuRoSimF provides a range of exchangeable algorithms for motion simulation (kinematic, simplified dynamics, full multi-body-system dynamics), collision detection and sensor simulation (including cameras, laser range finders and inertial sensors). More modules, for example, for detailed simulation of servo motors can be added to the framework easily [89].

Microsoft Robotics Studio
Description Microsoft Robotics Studio is an environment for robot control and simulation. It was designed for academic, hobbyist and commercial developers, and it also contains a wide variety of robot hardware. A point to note about this simulator is that it is only available on the Windows operational system. The main features include the Microsoft Visual Programming Language for creating and debugging robot applications and 3D simulation with access to the robot's sensors and actuators. Unfortunately, this simulator was discontinued in 2012 [90][91][92]. jmeSim is an open source, multi-robot platform; it provides high graphical and physical fidelity and also supports ROS integration. It was built on the jMonkey Engine3 game engine. The physics dynamics simulation is performed by jBullet, a Java port of the Bullet Physics Engine Library. The jmeSim offers some environment and robot models, such as the wheeled rescue robot for example, and also provides an array of sensors [58].

MATLAB/ Simulink
Description MATLAB is a powerful general software that aids scientists, researchers and companies in several engineering/science areas, such as control systems, deep learning, image processing and computer vision, machine learning, predictive maintenance, robotics, signal processing, test and measurement of data and wireless communications. Simulink is a block diagram environment for multi domain simulation and Model-Based Design. It supports system-level design, simulation, automatic code generation and continuous testing and verification of embedded systems. Simulink provides a graphical editor, customized block libraries, and solvers for modeling and simulating dynamic systems. It is integrated with MATLAB, enabling the incorporation of MATLAB algorithms into models and the export of simulation results to MATLAB for further analysis. In the robotics field, MATLAB with Simulink is one of the most used platforms for the modeling and simulation of several systems. Many features can be added for the simulation, as well as the simulation of dynamics and graphical modelling, with the possibility of working in real time. To accomplish these features, it needs to be added that it is called "toolboxes" [1,[98][99][100][101].

Creo Description
In [70] the authors use a different approach to simulate a humanoid robot using its virtual twin. The robot modelling was made using the Creo software from PTC Inc., and the Creo is not a simulator, but the presented approach is an interesting and different way to simulate a robot, differing from the previously shown simulators. Creo is a 3D computer-aided design software for product development with scalable range. Creo has breakthrough innovations in the areas of generative design, real-time simulation, multi-body design, additive manufacturing, and other features.

Exception Points
This subsection describes some simulators and papers that were considered exceptions, found during the research of this SLR. Although they do not completely fulfill the previously defined requisites, they represent relevant work that it is worth to mention.
1. The first exception point to be discussed in the Table 3 is the Exception 1 found in the paper [61]. This paper has as its title: "Mathematical modelling, simulation and experimental verification of a Scara robot", from Das, M. T., & Dülger, L. C. The authors developed a complete mathematical model of the Scara robot (Serpent 1 type robot), but the simulations carried out during the study were made using a numerical simulator such as MATLAB, and also they do not show how or which simulations were conducted. However, this paper could be replicated in another simulator such as the V-REP or Sim-Two, for example. 2. The next point that stands out as an exception (marked as Exception 2 in Table 3), is the paper [75], Cervera, Enric, et al., "The robot programming network". The authors present a system that allows the users to learn robotics topics in a virtual environment using a web-based laboratory with real robots or 2D/3D simulators. In this case, the system gathers tools that are fundamental for robotics learning such as learning the Robot Operating System use, including the possibility to try out in realistic and non-realistic simulators that are embedded into this web-based system. 3. Another reference that is an exception is [105], where the authors design a simulator with a realistic visualization of the head of IRYS robot. Although the simulator, made using the Unreal Engine, is realistic enough in what concern the robot motion and appearance, it is just to simulate this robot. For that reason it was categorized as an exception. 4. The last exception is the paper [106], in which the authors present an architecture for the management of a fleet of cleaning robots and, for this purpose, they design a simulator to evaluate its framework. The simulator has is called CleanSim and simulates map dirtiness; in this way, the authors can test their algorithm to improve the efficiency of the cleaning method. However, this is an exception for not being a realistic simulator based on a physics engine.
Future work could include the simulation shown in item 1 of this subsection, where the authors could replicate the modeling made in [61] with a realistic simulator. Another point to note is that, during the complete reading of the articles, some non-realistic simulators were found. However, they were discarded although they were used in educational contexts, as in the case of [105,106]; the main reason is because they were not based on a physics engine.

Physics Engines
Throughout the search, reading and analyzing each paper and simulator, one common point stands out, that they are built with physics engines. Table 6 shows the physics engines found and a classification in different columns depending on if they are a free or a propietary solution. As noted in Table 6, there are many available physics engines softwares; some are paid software and others free. In [7], an evaluation among five free physics engines is presented, and the author concludes that there is no general physics engine that performs best for any given task; each has its strengths and weaknesses. Taking this previous consideration into this work, simulators based on one or more physics engines will overlap the performance of those built with only one, and that is updated repeatedly.

Robot Operating System-ROS
Another common feature of the simulators found during the research was the Robot Operating System (ROS). ROS is a framework for writing robot software. It has several tools, libraries and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotics platforms. This framework emerged as an alternative way to create general-purpose robot software. ROS provides standard operating system services, such as hardware abstraction and low-level device control, the implementation of commonly used features, message-passing between processes, and package management. Sets of ROS processes in execution are represented in a graph architecture where processing occurs at nodes that can receive and send messages such as multiplex sensors, control, status, planning, actuator and others. Despite the importance of reactivity and low latency in robot control, ROS itself is not a real-time operating system. For this instance, ROS is an important, free and open-source tool in the robotics field, being widely used for makers, researchers and in the industry, and it is integrated into sundry simulators such as, Gazebo, Webots, MORSE, V-REP and others (https://www.ros.org/, accessed on 8 June 2021) [35,36,43,44,49,50,52,53,75,77,87,[107][108][109][110][111][112].

Conclusions and Future Work
In this paper, a systematic literature review of realistic simulators applied in an educational context was conducted in order to evaluate whether there is any simulator capable of simulating a robot prototype using realistic world physics.
By performing this systematic review, questions were answered about the found papers, providing a current state-of-the-art and a view of this research field. During the review process, 559 papers were retrieved from six different electronic databases, from which 50 relevant papers were selected and included in this review, after applying the inclusion and exclusion criteria and the quality assessment. Table 7 shows how the selected papers address the research questions asked in Section 2.1. Therefore, by reading, analyzing and gathering data from each relevant paper and simulator, some simulators have been shown to be promising tools to be used in the educational context for some reasons that we observed.
But first, coming back to answer the research questions (RQ1, RQ2 and RQ3): considering all the simulators presented in Table 3, the frequency that was cited in the papers by the different authors, as shown in Table 4, the simulators' features studied in Section 4.1 and Table 5, and finally, from the considerations made at the end of the previous paragraph and sections, it is possible to conclude that the simulators that can be easily applied in the educational context, are: Gazebo, Webots, SimTwo and V-REP.
The reasons for this are: firstly, the long time they have been available for use, that is, since their launch they continue to receive updates to keep up to date with the technology; The second characteristic observed was the number of platform and robots prototype variations (wheeled, legged, humanoids, drones and others) available to be used, or the possibility to add, configure and use a robot of your own in these simulators; in this way, allowing simulation in different environments, allowing a high level of abstraction with high fidelity in the simulation due to the use of physics engines. The third was the simulator's ability to execute the simulations under one or more physics engines; this is an indicator of how realistic the simulation is. Another important feature of these simulators is that all of them have 3D vision of the robot and the environment, giving us the feeling of working with the real robot, without having it; Finally, is the capability of integrating with third party systems or protocols, for example, the integration of Robot Operating System (ROS), TCP/IP, MATLAB, LabView and others.
As future work, it could be interesting to produce a framework that provides a guideline for modelling an actuator, sensor or the entire robot in order to upload it into one of these simulators to test our own robots with different actuators or sensors, and to test them in different environments, such as a maze arena and line-following circuits.
Author Contributions: All the authors have collaborate in the same way. All authors have read and agreed to the published version of the manuscript.
Funding: This research received no external funding.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: