Skip to content
Snippets Groups Projects
Commit 59e6c040 authored by Henrik Seckler's avatar Henrik Seckler
Browse files

Update README_code.md

parent 78bd221b
Branches master
No related tags found
No related merge requests found
# Masters Thesis
## 2D Robotic Mapping using a Grid-based Fast-Slam Algorithm with Applications of Reinforcement Learning
## 2D Robotic Mapping Using a Grid-Based Fast-Slam Algorithm with Applications of Reinforcement Learning
### Source Code
The simulated robot hosts a process to which a client can connect to. The files here include:
- ***maps.ipynb***: This file includes a few examples of custom made maps. It also contains the random map generator.
- ***Simulate\_Alldirrobot.ipynb***: This file includes all the calculations for the simulated robot. It calculates new positions from movement orders and simulates range measurements and builds localmaps from them. The measurements are based on a real global map obtained from the *maps.ipynb* file.
- ***SimulatedRobotHost.ipynb***: This is the main file of the simulated robot. In addition to accessing the previous file it handles a host process for connecting with a client. This includes sending the measurements and receiving movement messages.
The files for Fast-SLAM and Reinforcement Learning (client) include:
- ***alldirparticlefilt.ipynb***: This file contains all functions needed for the fast-SLAM algorithm including the algorithms for the explore and relocate actions. It also includes functions for drawing the local and global map.
- ***RobotGameEnvironment.ipynb***: This file converts the SLAM problem into a game environment, which defines the belief state features and simplifies the problem to an action input and state and immediate reward output. It also contains the definition of the reward function.
- ***QN\_alldirrobot.ipynb***: This file contains the Reinforcement Learning algorithms. It defines the needed q-learning functions together with the function approximator. Additionally it includes the learning loop for playing through episodes and updating the action value estimate. The neural network uses the \textit{keras} package for all functions.
- ***MainParticleNetworking.ipynb***: This is the main file of the client. It handles the connection to the *SimulatedRobotHost.ipynb* and accesses all of the previous files. It also includes the GUI created using *tkinter*.
Alternatively the folder */piborg* includes files for a real robot, those replace the simulated files as host:
- ***UltraBorg3.py***,***ThunderBorg3.py***: These are the files provided by Piborg for the used Thunderborg and Ultraborg boards.
- ***localmap.py***: This file uses the Ultraborg file to control the range sensors and stepper motors. This file contains the method of building a local map from raw sensor data. It has been discarded in favor of the next file.
- ***alternative\_localmap.py***: This is the improved method for building localmap. It determines minima of the measurements and builds a local map from these.
- ***movement.py***: This file uses the provided Thunderborg file to execute movement orders.
- ***networking.py***: This is the main file of the real robot. It accesses all other files and handles communication with an external client. Receiving movement order and sending measurements.
see the folder "code" for the source code and the folder "latex and figures" for figures and latex code
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment