MazeSimul is an autonomous maze navigation project using TurtleBot3 and the Webots simulator.
The main objective is to enable the robot to follow the left wall in a maze environment and navigate without collisions.
Both rule-based and PID controllers were first implemented and tested in the Webots simulator.
Based on the collected data, a machine learning model was trained and then deployed to a real TurtleBot3 using ROS2.
đź“„ Visit our notion for more detail!
To deploy and run the wall-following controller on the actual TurtleBot3 hardware, follow the steps below :
âś… Step 1: Configure Wi-Fi on Raspberry Pi
-
Connect your laptop to the Raspberry Pi via Ethernet cable.
-
SSH into the Raspberry Pi using :
ssh simulsimul@192.168.0.49 -
Edit the Wi-Fi credentials in the following files :
- wpa_supplicant.conf
- 50-cloud-init.yaml
-
After editing, reboot the Pi :
sudo reboot -
Once restarted, apply the network settings :
sudo netplan apply ip a -
Check that the wlan interface is connected to Wi-Fi and note the assigned IP address. (It may take some time for the connection to be established.)
âś… Step 2: Connect via Wi-Fi
- Disconnect the Ethernet cable.
- Ensure both the laptop and TurtleBot3 are connected to the same Wi-Fi network.
- SSH into the Raspberry Pi again using the new IP :
ssh simulsimul@<copied IP address>
âś… Step 3: Pull the Docker Image
- Pull the docker image :
(In most cases, the system is already configured to automatically pull the latest image on boot.)
docker pull ybkim4053/simulsimul:latest - Check if the image is available :
docker images
âś… Step 4: Launch the Docker Container
- Launch the docker container
sudo systemctl start turtlebot-auto
- Check if the container is running :
docker ps - If it's not running, restart the service :
sudo systemctl restart turtlebot-auto
âś… Step 5: Monitor Logs and Confirm Execution
- Display the runtime logs and allow you to verify that TurtleBot3 is operating correctly.
sudo docker logs turtlebot-auto -f