Within the scope of this thesis, we created a tool for simulating wheeled mobile robots in warehouse-like enviroments. It contains two key elements: a mobile robot simulator and its control system. The simulation was created in Unity development platform and the control system was made in Matlab-Simulink environment. The two elements communicate via the UDP internet communcication protocol. The simulation is intended to serve as a learning assist to robotics students. Additionally, we implemented a few common control algorithms, which serve as usage examples of the developed solution.
In the opening two chapters of the thesis, the topic of wheeled mobile robotics is presented: its place in robotics and industrial applications, their typical environment and sensorics. An emphasis is placed on understanding those elements of mobile robots, that will be relevant in the upcoming chapters as parts of the simulation.
Next chapter presents the simulation, that was created in the scope of this thesis. The most important used components and concepts of Unity environment are briefly explained to aid the reader's understanding. Key elements of the program are explained: a camera controller, a building controller, a save and load system, the robot simulation itself and the implementation of communication between the two used environments via UDP. Additionally, implementations of simulated sensors are also presented: Light ranging and detection sensor (Lidar), Line following sensor and NFC tag reader.
Afterwards, a few common optimal path finding solutions are presented: Dijkstra's Algorithm, Algorithm A*, Breadth-first Search and Depth-first Search. The chapter also contains a detailed explanation of the implemented A* algorithm.
A few of the most common control algorithms are presented in the closing chapter. We developed the following control algorithms in the Matlab-Simulink environment: control to point, line following control and obstacle avoidance. These serve as usage examples for the end user of the developed simulation.
|