Develop a Line following and Maze Solving bot based on PID controller that can find the shortest path in a given maze.
In this project, we will create a Line-following, Maze-solving bot that can find the shortest path in the given maze.
Artificial Intelligence, Embedded C, Control Systems, Graph Algorithms, Electronics and PCB Design
- Learning firmware development by completing Firmware task. And we also understand the firmware used in SRA Wall-E and MazeBlaze-v2.
- Learning PCB design by completing the line sensor array pcb_design task.
- For bot design improvement we created a detailed sheet to make the bot design better. In which we added the advantages and disadvantages of many designs we've reviewed and chosen the best design for the MazeBlaze-v3 bot.
- PCB Design for MazeBlaze-v3 by considering all points to make the bot design better.
- Implementing left follow rule.
- Implementing path planning.
- Implementing dijkstra's algorithm.
- Implementing flood-fill algorithm.
LFR.UPDATED.mp4
DIJKSTRAS.mp4
👨💻MazeBlaze-v3.1
├ 📂 Firmware
| └ 📂1_left_follow_rule //Contains code for left-follow-rule and path planning
| | ├ 📂main
| | | ├ 📄1_left_follow_rule.c
| | | └ 📄CMakeList.txt
| | ├ 📄CMakeList.txt
| ├ 📂2_Dijkstra //Contains code for dijkstra`s algorithm
| └ 📂Components //Contains all the header and source files used in the project
| ├ 📂include
| ├ 📂src
| ├ 📂esp-wifi-logger
| ├ 📄CMakeList.txt
├ 📂 assets
├ 📂 documentation //Contains documentation of the project.
├ 📂 pcb_design //Contains pcb_design files of MazeBlaze-v3 board
├ 📂 task
├ 📂 Atharv
| ├ 📂 firmware
| | └📂 1_led_blink.c
| | ├ 📂main
| | | ├ 📄1_led_blink.c
| | | └ 📄CMakeList.txt
| | ├ 📄CMakeList.txt
| ├ 📂 pcb_design
├ 📂 Suraj
├ 📂 firmware //Conatins led blink task files and documentation of the task
| └📂 1_led_blink.c
| ├ 📂main
| | ├ 📄1_led_blink.c
| | └ 📄CMakeList.txt
| ├ 📄CMakeList.txt
| ├ 📄README.md
├ 📂 pcb_design //Conatins lsa PCB design task files and documentation of the task
To download and use this code, the minimum requirements are:
- ESP_IDF
- Windows 7 or later (64-bit), Ubuntu 20.04 or later
- Microsoft VS Code or any other IDE
Clone the project by typing the following command in your Terminal/CommandPrompt:
`git clone https://github.com/SurajSonawane2415/MazeBlaze`
Navigate to the MazeBlaze folder:
cd MazeBlaze
Once the requirements are satisfied, you can easily download the project and use it on your machine. After following the above steps, use the following commands to:
To activate the IDF:
get_idf
To build the code:
idf.py build
To flash the code:
idf.py -p (PORT) flash monitor
- Implementing better algorithms like DFS/BFS.
- Achieve higher speeds by increasing the efficiency of the bot.
- MazeBlaze-v2 GitHub repository of MazeBlaze-v2
- MazeBlaze-v1 GitHub repository of MazeBlaze-v1
- Dikstra's Implementation of dijkstr's algorithm in c.
- Floodfill Implementation of the Floodfill algorithm (simulation).
- SRA VJTI Eklavya 2023
- Special thanks to our mentors Raj Gupta, Prit Kanadiya, and all the seniors at SRA, VJTI for their constant support and guidance throughout the project.