Tutorial 3 intro: Marine Unity Simulator
Simulators play a key role in the development of mobile robots. Simulating vehicle models and their environment without depending on actual hardware has proven beneficial for reducing cost and development time while facilitating safety during testing. Robotic Operating System (ROS) is a tool most used in robotic communities because the code written for the simulation can be integrated to the robot with minor adaptations. Most often, the performance of the developed application won’t be the same when using on a physical robot due to simplifications taken during system modelling. Closer the simulation is to real life, less effort will need to be spent on modification of the application in order to function with same level of performance in real life. That’s why we chose to use Unity, an engine primarily used for game development but it offers a suite of tools useful for mimicking real-world environment. Since it is a widely popular game engine for rendering, lighting, and physics in 3D virtual environment, together with the Asset Store, where a large community shares their code, models and solutions. Unity offers simple and intuitive UI tool for virtual world generation which makes it a perfect choice for robotic test scene creation. Algorithms for robots are implemented in ROS so we developed an adapter for Unity which allows ROS to access data from the simulated environment. In this tutorial, we will demonstrate the capabilities of the simulator developed by LABUST. You will learn to make, edit and execute scenes in Unity, integrate developed sensors modules most commonly used in maritime environment, and familiarize yourself with getting simulated measurements from Unity to ROS.