# A Free Simulation Environment Based on ROS for Teaching Autonomous Vehicle Navigation Algorithms
## 2 Materials and Methods
### Design of the Real Closed Scenarios  
As mentioned in previous sections, this work focuses on the ROS platform for teaching autonomous driving algorithms in robotics courses. One of the main advantages of using this tool in the classroom is that students can test and compare different algorithms under the same conditions: for example, the same scenario. The proposed platform could be a teaching support tool (virtual laboratory) for teachers and students to perform autonomous driving practices in robotics courses without accessing physical platforms or test spaces. As an initial proposal, this work considers three virtual workspaces with different conditions and characteristics for testing and comparing autonomous driving algorithms. These free scenarios are available to the academic and scientific community for teaching or research applications. Figure 4: The proposed platform running a simulation: Gazebo render map **(A)**, RVIZ planning map **(B)**, data of robot measurements in real time **(C)**, and user GUI **(D)**. Reports collected by the International Federation of Robotics (IFR) indicate that, between 2016 and 2019, there was an increase in the use and demand for service robots in medicine, agriculture, logistics, and defense compared to previous years. Based on these data, health, logistics (supply chain), and industry were chosen for the creation of the three virtual scenarios on the ROS platform [33]. Figure 5 summarizes the procedure for implementing the platform and scenarios. The Gazebo tool was used for the scenario design. The first proposed scenario is a hospital healthcare floor. In this scenario, a mobile robot can help carry out activities where direct human contact must be avoided, for example, during the current COVID-19 pandemic. In this scenario, the following spaces were considered: a reception area, nine medical care rooms, and a corridor connecting the rooms with the reception area (there are nine entrances to medical care rooms). In each room, there are different obstacles with enough space for the robot to circulate between them. In Figure 6, one observes the reception area (A), the rooms (B), and the corridor (C). The total area is 15 m wide and 45 m long (675 m\({}^{2}\)). To simulate a realistic hospital in Gazebo, we used models with pre-existing people placed throughout the scenario. Movements were not counted independently. The second proposed scenario is a loading and unloading warehouse. Here, a mobile robot can be helpful for carrying out logistics activities that require the transport of items between different areas. This scenario had an unloading area and a loading area, as well as a series of blocks aligned in two rows in the central part of the scenario, simulating the existing products in the warehouse. People were also scattered in different places to simulate the flow of personnel. Figure 7 shows the loading area (A), the unloading area (B), and the storage area (C). The total area is 20 m wide and 25 m long (500 m\({}^{2}\)). Figure 5: The methodology used for the development and implementation of the platform and virtual scenarios. Figure 6: Map of the scenario #1—hospital: reception (A), room (B), and corridor (C). Unlike the hospital scenario, the warehouse has more open spaces and wider corridors around the blocks. However, there are also reduced or narrow corridors between each block. The aisles are wide enough for the robot to navigate in all cases. On the other hand, this scenario does not have entrances to different rooms that the robot must enter. The final proposed scenario is an industrial manufacturing laboratory. The laboratory has a central area with several machines in the surrounding area and a warehouse. Figure 8 shows the machine zones (A), (B), (C), (D), and a warehouse space (E). The area in total is 20 m long and 25 m wide (500 m\({}^{2}\)). Table 1 summarizes the differences that exist. among the proposed scenarios.