Simulation of Mobile Robots with Unity and ROS : A Case-Study and a Comparison with Gazebo

University essay from Högskolan Väst/Avdelningen för produktionssystem (PS)

Abstract: Simulation software is becoming an increasingly important tool for automation systems both in industry and research. Within the field of mobile robotics, it is used to evaluate the performance of robots regarding localization, motion planning and control. In order to evaluate the performance of a mobile robot based on a simulation, the simulation must be of sufficient precision and accuracy. A commonly used middleware in robotics with increasing usage and importance is ROS (Robot Operating System). The community and the amount of robots in industry and research that are using ROS is growing. In the ROS community, the built-in simulator Gazebo is most often used for simulating purposes. Apart from Gazebo, popular game engines, like Unity, shift more in the focus of researchers for simulating robots. Those engines provide high capabilities in customized visualisations of simulations, the user interface and for example additional plugins for machine learning. Simultaneously, the physics engines which calculate the physical behaviour of objects in regard to their environment in those game engines are improving their performance. The performance of Unity as a simulatorin the ROS environment should be tested in this thesis work. While testing the performance of the simulator, its ability to adapt to different scenarios and applications should be rated. For that purpose, benchmarks were created and the results were compared to reality and Gazebo. The simulations in Unity could depict the basic behaviour of mobile robots for varying circumstances. The simulation for the specific setup in Unity was more detailed and closer to reality than the simulation in Gazebo. A major influence for that result was a non-existing controller for the wheels in Gazebo. Quantitative benchmarks showed a similar behaviour to reality in the Unity simulations. The results were highly dependent on the friction values and other simulation parameters. With the chosen setup, Unity showed systematic and nonsystematic errors in the end-position of predefined paths. A SLAM case study presented the possibility to use Unity in combination with SLAM algorithms on ROS. It was possible to implement other algorithms and simulate required sensors for data acquisition in Unity. Overall, Unity was rated to be suitable for the simulation of mobile robots in robotics research if no accurate simulation of the robots' properties is needed. Of major importance when conducting simulations with mobile robots in Unity are the used robot model and the chosen parameters in the simulation. Only if the robot model is validated, the results can be judged accordingly. To reduce the effect of the parameter settings in Unity on the results, no setups to solely examine the robot's hardware should be chosen. Instead, the simulations can be used for testing, improving and evaluating control algorithms on the robot. A huge opportunity is seen in the usage of automatically and synthetically generated simulation data for teaching deep learning algorithms.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)