Simulators in Educational Robotics: A Review

: Educational robotics (ER) seems to have a positive effect on students and, in many cases, might help them to successfully assimilate knowledge and skills. Thus, this paper focuses on ER and carries out a literature review on educational robotics simulators with Graphical User Interfaces (GUIs). The review searches for relevant papers which were published in the period 2013–2020 and extracted the characteristics of the simulators used. The simulators that we describe in this article cover various robotic technologies, offering students an easy way to engage with virtual robots and robotics mechanisms, such as wheeled robots or drones. Using these simulators, students might cover their educational needs or prepare themselves for educational robotic competitions by working in as realistic as possible conditions without hardware restrictions. In many cases, simulators might reduce the required cost to obtain a robotic system and increase availability. Focusing on educational robotics simulators, this paper presents seventeen simulators emphasizing key features such as: user’s age, robot’s type and programming language, development platform, capabilities, and scope of the simulator.


Introduction
One of the purposes of educational robotics is to enhance even preschooler students' ability to acquire knowledge and skills through robot programming and development [1,2]. Students seem to develop cognitive and social skills by utilizing appropriate educational robots [3]. Such is the bonding of children with robots that children often treat them as pets and give them nicknames [4]. Usually, educational robotics cover a wide range of ages and cognitive requirements [5]. It is interesting that recent research studies have shown educational robotics having a positive impact even on children with cognitive and physical disabilities (e.g., [6][7][8][9][10]).
Simulators have already been used for educational robotics, from courses forwarding simple kinematics for children with the Lego Mindstorms [11], up to advanced courses for college students like RobotCraft [12,13]. Consequently, different simulators are almost incomparable because they cover different needs and have completely diverse characteristics. Particularly, simulators for research and STEM have been created for many years as an alternative way of learning with robots, promoting knowledge through gamification (e.g., [14][15][16][17]). While physical educational robots are largely made up of hardware which is not always easy to transport, simulators consist entirely of software that can easily be transported from place to place. This increases the portability and allows students to engage with robotics in any place and time as long as they have a computer or tablet. Unfortunately, simulators are based on GUIs and recent studies have shown that the use of a GUI creates difficulties and limitations on the interaction and cooperation of students, and shows a more positive attitudes towards other types of interfaces like the Tangible User Interface [18][19][20]. Although, it is quite difficult to accurately represent the real conditions of complex process with a simulator, ER simulators for virtual robots are considered a particularly appropriate method when real robots are not available. Similar to virtual labs, simulators might reduce costs and have proven their value in the educational process by increasing availability, engagement, and simultaneously seem to be appreciated by students [21][22][23].
Some examples of desktop application for educational robotics simulators are Khepera Simulator [24], USARSim [25] and TRIK Studio [26]. Khepera, is a simulator which either drives a virtual Khepera wheeled robot or programs a real one, with C/C++. Using the simulator, users may program a virtual or real robot to follow lines and avoid obstacles, through IR sensors. USARSim has many more capabilities and uses plenty of virtual sensors, like sonar, RFID, and touch. This simulator enables the user to develop various simulation scenarios, with wheeled vehicles, submarines, or even humanoids. On the other hand, TRIK Studio has the ability to program robots with either visual diagrams or high-level programming languages. For the development of simulators, programmers frequently use general-purpose platforms such as MATLAB [27] and Processing [28], or open-source robotics platforms like Gazebo, V-REP, and others [29][30][31]. Both Gazebo and V-REP have a 3D dynamic multi-robot environment [32]. In addition, the V-REP simulator seems to be more user friendly than Gazebo, whereas Gazebo is more hardware-demanding than V-REP [33].
Along with desktop simulators the educational community also uses online simulators, such as: (a) Open Roberta Lab [34], which is a programming environment introducing kids to robotic systems, (b) Tinkercad [35], which includes simulation for electronic components, (c) MakeCode for the Lego Mindstorms [36], which programs Lego Mindstorms with blocks or JavaScript, (d) Snap4Arduino [37], which is block-based and supports plenty of Arduino boards, and (e) OzoBlockly [38], which is block-based and simulates Ozobot robots.
All things considered, educational robotics simulators cover a wide range of educational scenarios. Previous reviews have focused on: (a) open source simulator platforms like Gazebo or V-REP [31], (b) simulators in teaching industrial robotics [39], and (c) simulator platforms for teaching kinematics, dynamics and control, specifically in the industrial sector [40]. Thus, this paper, focusing on ER, provides an overview of the educational robotics simulators and aims, this way, to inform both teachers and scientists about the simulators which have been scientifically used by the community. In more detail, simulators' key features have been recorded, such as: a) users' age, (b) robot's programming language, (c) robot type, (d) development platform, (e) scope (education, competition, research), (f) year of development, (g) the needed user experience to "run" the simulators, and (h) operating system (Windows, Linux, MacOS), etc.

Methods
For the implementation of this review, Google Scholar was used. We extracted articles published between 2013 and 2020. As search terms, we used the keywords: (a) "Simulator for educational robotics", (b) "Educational robotics" and "simulator developed", (c) "Technology for education" and "robotic simulator", (d) "Robot challenges" and "simulator", and (e) "Autonomous driving", "educational robotics" and "simulator". In total, 84 results were found and, based on the criteria above (see Table 1), seventeen educational robotics simulators emerged, which are briefly presented below.
It should be noted that this review was based on the literature and does not describe simulators which were not found on the extracted papers, such as the online simulators mentioned in the Introduction.

Results
The following is a brief description of the simulators that emerged from the review.

Robot Soccer Simulator-RoSoS
The RoSoS [41] was developed for the RoboCup competition, and created to offer students an easy and fun way to engage in educational robotics. This simulator is opensource (can be downloaded from [42]) and was developed aiming at children who cannot participate in educational competitions. In particular, the simulator focused on first-and second-grade students and simulates a football match. The system provides many settings, such as: field size, ball size, number of players for each team, and player speed.
RoSoS uses Processing Integrated Development Environment (IDE) for its programming [28]. The virtual robots were developed to use similar programming code to the real ones. Each robot may be an attacker or a goalkeeper and can have its own code and set of sensors. The simulator includes the sensors that are usually needed in real robots playing football such as: (a) infrared sensor for the recognition of the ball, (b) compass sensor for the correct orientation of the robot on the field, and (c) distance sensor for the recognition of the field borders.
RoSos was tested by university students at the Federal University of ABC. RoSoS was also used in the Robotics course of the Federal Institute-Espirito Santo (IFES).

RoboSim
The RoboSim [23] is programmed in the C/C++ language and aimed at secondary school students. This simulator was created to provide a graphical user interface for the RoboPlay Challenge competition [43]. The competition uses the Linkbots modular robots and peripherals [44]. Every Linkbot has two motors, and therefore two degrees of freedom, thus, many Linkbots can be combined to create multiple activities/tasks.
The simulator requires the same actions to program the virtual robot, as the real one. This way, each student can be prepared and be acquainted with the competition. Specifically, the user can see three areas in the GUI. On the left area, the user might see the available modular robots/accessories. The upper right area shows the current state of the simulation, while the lower right area has a dialog box for setting up each object. Furthermore, grid lines can be added to the GUI so the user is able to see the exact position of the robot as well as check whether the requested exercise is correctly performed. Finally, by using one button, the user can load the code directly from the simulator to the real robot.

Robot One
The Robot One [45] is an open-source simulator (can be downloaded from [46]) for various robots and provides sensors such as GPS, light detection, and an RGB camera. The simulator can be programmed in many languages and provides a fully configurable graphical environment for the robot. Thus, it was designed as two separate parts. The first is the R-One User Interface (UI) which is based on the Unity3D platform [47], and the second is the R-One Application Programming Interface (API). With the R-One UI, users can represent a robot and its environment, while with the R-One API can program the robot. This simulator was aimed at college students and was used during a semester in the course Mobile Robotics at the Federal University of Juiz de Fora. According to the authors, the simulator worked as expected [45].

Tactode Simulator
The Tactode [48] simulator was created for elementary school students to learn robot programming through play and fun. The programming language is a tangible puzzle with block-shaped pieces. When the user completes the puzzle, they must take a photo of the sequence and upload it to the simulator. An uploaded puzzle is processed as an abstract syntax tree [49]. The abstract syntax tree includes letters, numbers, operators, movements, control, variables, events, visuals, and sensors. Various sensors are used, such as proximity for obstacle recognition. Finally, there is one more programming element, the "Question" piece [50]. When the system recognizes a "Question" piece, an input window opens for the user to enter an answer, much like entering variables in a program. This simulator can also work on smartphones and tablets.

Pololu 3pi Simulator
The Pololu 3pi [51] is an open-source simulator (can be downloaded from [52]) and was developed for the Pololu 3pi robot. The robot has got LEDs, a piezo buzzer, an LCD screen, pushbuttons, and other components. It is wheeled with basic functions, such as to follow a line or solve maze problems. The simulator's programming language is C/C++ and accepts the .ino files, which may also program the real robot. The graphical interface of the simulator consists of three areas. On the left area there is a window of 600x600 pixels, in which the simulation takes place. On the top right area, the virtual robot's components are displayed, such as: LCD screen, pushbuttons, and LEDs. On the bottom right area there are two other buttons to control the simulation: (a) Start/pause, (b) Reset. The simulator was tested by two groups of five undergraduate students, and the results showed that the use of the simulator increased the students' score.

EdUcational Ros rObot PlAtform-EUROPA
EUROPA platform [53] was developed for secondary school students. It has a wheeled robot that is programmed via Python, and it is based on the Raspberry Pi3 B+ board [54]. The virtual robot, among other components, includes: a raspberry pi camera, ultrasonic, and a LIght Detection and Ranging (LIDAR) sensors. This simulator can be used in STEM courses and has been used to teach trigonometry and physics. EUROPA can also be used to make students aware of basic kinematics and remote-control difficulties. The simulator was developed with the Robot Operating System (ROS) [55] and the Gazebo platform [29]. Finally, the platform was tested by secondary school students with previous robotics knowledge.

Autonomous Driving Simulator-ADS
Autonomous Driving Simulator (ADS) [56] was developed to provide a virtual training environment for the Autonomous Driving Competition of the Portuguese Robotics Open (ADC PRO) [57]. This open-source simulator (can be downloaded from [58]) visualizes the track and the driving challenges of the competition, such as off-road travel, traffic light recognition, parking, and much more. The autonomous driving simulator is aimed at college students and it is based on the Gazebo platform. The simulator is divided into two parts: (a) the environment, which represents the natural environment that the contestants face, (b) the design of the robot.
Two robots are available for simulations, Conde and Major Alvega. The first one took part in the competitions between 2016 and 2018, while the second took part in 2019. The simulator was used in a Master's course in Informatics and Computing Engineering at the University of Porto, as well. The creators propose the creation of a virtual automatic referee as a future work, so that autonomous driving competitions can be created in the simulator.

Simulator with MLPNN
This simulator [59] is aimed at college students and has a wheeled robot that is controlled by Multilayer Perceptron Neural Network (MLPNN). In particular, it was designed with MATLAB, and the robot's code and settings are defined in .m files. The simulator offers several scenarios, while the robot can be modified in size and shape. The simulator's window shows a 2 × 2 m "room", which contains the virtual robot and obstacles. When the user makes a manual simulation, the data can be recorded, so the natural network is trained to be more efficient.

Drone Simulator
This simulator [60] is aimed at secondary school students and was developed to simulate a quadcopter-drone's flight tasks for the Drone Challenge [61]. In fact, each team in the Drone Challenge has to complete three steps: (a) take the drone off its base, (b) pass the drone through colored frames in a specific order, and (c) return the drone to its base. Provided that more than one team succeeds in all steps, the team that completes the missions in less time gets a higher score. Multiple scenarios can be created by changing the position of the take-off/landing base, as well as the position of the frames. The simulator was developed with MATLAB/Simulink [62] and Gazebo platform. The Gazebo is responsible for the virtual representation of the drone's flight, while the Simulink calculates the drone's route, according to the user's parameters. The two applications constantly communicate through a vector with the values of the three axes x, y, z. Thus, the position and orientation of the drone can be visualized. Finally, the simulator was tested by 36 people, 19 students, and 17 teachers, and showed a positive attitude towards the platform.

Simulator for PiBot
PiBot [63] is a wheeled robot platform for secondary school students which can be used to teach various exercises in robotics and is compatible with the most common Arduino sensors. This open-source simulator (could be downloaded from [64]) for PiBot is based on the Gazebo platform and provides a 3D model of the real robot. The simulation includes several sensors, such as sonar, IR, and a camera. Moreover, the simulation covers scenarios like follow-line and avoid obstacles. Currently, the robot is programmed by Python, but the creators' intention is to expand simulator's capability and also support Scratch [65]. Finally, the simulator was used in a Robotics workshop for teachers at the Campus of Fuenlabrada of the Rey Juan Carlos University.

AlphaBot2 Simulator
AlphaBot2 [66] is an open-source simulator (could be downloaded from [67]) and was created for AlphaBot2-Pi, which is a wheeled robot for children over 12 years old. The simulator is based on the Gazebo platform and features a virtual camera. For simplicity, the shape of the virtual robot was implemented with simple geometric shapes, such as squares and cylinders. The robot in the simulation has two operations: (a) identify obstacles and (b) follow a line. To detect/avoid obstacles, the robot uses two IR sensors while, for line recognition and tracking, the robot uses five IR sensors.

MSRP Simulator
The Modified Stingray Robot Platform (MSRP) simulator [68] is based on the Stingray wheeled robot [69]. The simulator is aimed at university students and has three parts. The first part is a visualization engine, which is built based on Unity3D [47], and creates the virtual environment from one XML file. The second part is the chassis simulation, which is the system that calculates the position and direction of the robot. The last part is the sensor simulation, which manages all the sensors required for simulation.

Khepera IV Simulator
The Khepera IV simulator [70] was created for the Khepera IV wheeled robot. The virtual robot is programmed in C language and can perform various functions such as: (a) recognizing and avoiding obstacles in a dynamically changing environment, (b) following a line, and (c) following a path. The parts of the virtual robot were designed in Autodesk Inventor [71] and the simulator was based on the V-REP [30], which is a platform for developing simulators. Finally, the robot's model includes all the sensors of the real robot, like ultrasonic and IR sensors, without the gyroscope and the accelerometer.

OBR Simulator
This simulator [72] is used in the challenges of the Brazilian Robotics Olympiad-OBR (Olimpíada Brasileira de Robótica) [73]. The system simulates tasks for wheeled robots, such as: line following, obstacle avoidance, and crossroad selection. The OBR competition is well known in Brazil and more than 300,000 students aged from 6 to 18 have taken part [74].
The simulator is based on the Robot Operating System (ROS) [55] and the V-REP platform. The simulation includes two maps: (a) the first map consists of a 10 × 10 grid where the robot moves, while (b) the second map is used for routes with obstacles. The virtual robots are programmed through flowcharts and the simulations support sensors, such as vision, proximity, and ultrasonic. To create the programming flowchart, the software application FluxProg was developed. Finally, the simulator was tested by technical high school students in electronics and mechanics in the city of Curitiba, Brazil.

MiniSim
Minibloq [75] is an open-source software application (could be downloaded from [76]), which includes the MiniSim 2D simulator designed for kids. The provided virtual robot is wheeled and equipped with a pencil drawing lines. It is two-way programmable, with Python or block-based graphical programming language. Specifically, some of the blocks are: (a) control for robot's movement, (b) pencil control, (c) variable creator, (d) variable value assignment, (e) waiting specified time interval, and (f) logic condition-based decisions. The simulator also provides a sensor for the robot to recognize the color of the drawing lines.

SRM
The Simulator for Robotic Manipulator (SRM) [77] represents a virtual robotic arm and was created for college students. The SRM is based on the MATLAB and V-REP platform. The MATLAB performs the manipulator control, while the V-REP is responsible for the virtual representation of the manipulator's movement. The virtual arm can move in two axes and consists of two parts: (a) the body, with two degrees of freedom, and (b) the end-effector, with three degrees of freedom. The SRM was used and tested by university students at the Federal University of Juiz de Fora.

LaRoCS + Unesp Simulator
LaRoCS + Unesp simulator [78] was created by undergraduate and graduate students from Unicamp and Unesp universities [79,80]. The simulator provides a virtual quadcopter-drone based on the Parrot AR Drone 2.0 [81]. The simulator was also developed to participate in RoboCup's Flying Robot challenges. In this competition, every team faces challenges like take-off and obstacle avoidance, following a trajectory and landing. The simulator was based on the V-REP platform, which is responsible for the virtual representation of the drone's flight.

Summary Table
The following Table 2 is a summary that shows the simulators and their features. More specifically, the table indicates the name of the simulator, the year of development, the type of the robot, the users' age, and the robot's programming language. Furthermore, the table indicates the scope of the simulator. In particular, the simulators which developed through a research program are marked as "Research". The simulators developed for a competition are marked as "Competition", while the simulators developed for the educational process are marked as "Education". Moreover, we have recorded the usage, the needed user experience to "run" the simulators and whether simulators are based on a real robot or not. Finally, the last two columns indicate the simulator's development platform and operating system (Windows, Linux, MacOS).

Discussion
In this article, seventeen educational robotics simulators were described and six key features are highlighted: (a) the robot's type, (b) the users' age, (c) the robot's programming language, (d) the purpose of development, (e) the users' level and (f) the development platform. More specifically, almost half of the simulators were developed after 2019. Users' ages vary from elementary students (6+) to college students (18+). Seven of the simulators are programmed by Python or C/C++, three are programmed by MATLAB, one by a tangible user interface, and one by flowcharts. Six of them were developed for educational competition letting contestants be better prepared and familiarized with the competitions. Lastly, most simulators were based on development platforms.
Simulators are part of educational robotics, which easily and quickly enable the user to engage virtually with the development and programming of robots through GUIs. Using a simulator means that it is not necessary to deal exclusively with real robots that might have a significant cost. Hence, simulators are a useful tool that might save resources and assist the educational process. However, the previously described simulators, which cover a wide range of needs, are programmed differently and aim at various ages of students. Therefore, the comparison among them is almost impossible.

Limitations
The simulators described in this review, which emerged from research based on specific criteria (see Table 1). Educational robotics simulators which did not appear on the extracted papers (such as Webots) are not described in this review.
Author Contributions: S.T. and T.S. conceived, designed, and wrote together this paper. All authors have read and agreed to the published version of the manuscript.
Funding: This research received no external funding.
Institutional Review Board Statement: Ethical review and approval were waived for this study, due to literature review.

Data Availability Statement:
The data presented in this study are available on request from the corresponding author.

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