Products PayPal provides a safe and secure way to purchase online. We never see your credit card number or store it on our server. You can use your PayPal account or major credit card to process your order online safely. Featured Project This project walks through the steps we followed to get the AI framework PyTorch to run on a Raspberry Pi 4 |
![]() |
Maze Solving Robot ProjectThis tutorial will help you create an Arduino based robot that can solve basic line mazes.This information is also available on Instructables (Maze Solving Robot Instructable) This tutorial will help you create an Arduino based robot that can solve basic line mazes that do not have closed loops. How it works: The robot is programmed to drive over the black lines of the maze and use optical sensors on the bottom of the robot to track the lines. As it travels along, the program we are using will solve the maze for the shortest path with a simple to understand method called the "Left Hand Rule" or sometimes called the "Left Hand on Wall" method. The "Left Hand Rule" approach is to make your way through the maze, while choosing how to turn at intersections as follows:
The method of solving the maze for a shorter path is by keeping track of the turns made, and reducing the list of turns as you add the latest turn to the list with known substitutions. The substitutions are three turn combinations where either (L)eft, (R)ight, or (S)traight are on either end of a (B)ack as follows:
For example, from the starting point:
The path was shortened so it will run the solved path turns when the maze is run again from the start position. From the start, it will now drive straight through the intersection and avoid the dead end. More about the theory behind various maze solving algorithms can be found here: https://en.wikipedia.org/wiki/Maze_solving_algorithm# #L##/p> The robot's program will run our example code from an Arduino compatible micro controller. If you are unfamiliar with Arduino, you can learn all about it and download the programming software at www.arduino.cc. Step 1: Bill of MaterialsRobot Components (available at www.zagrosrobotics.com) :
Materials (available at Home or Office Supply):
Tools:
Step 2: Design a MazeDesign a maze following these general guidelines:
Step 3: Make your mazeMark your board with your maze design and apply the electrical tape. Take your time to make clean corners and straight lines. The intersections and corners should be overlapped to avoid white gaps. If you are using the white board material, you can easily remove sections and end points to modify your maze. It is possible to change the poster or foam board maze as well, but you will have to be careful not to damage the paper surface. Step 4: Assemble and Wire the robotLook over your robot kit and decide how you would like to assemble it. While there are many ways possible, we have shown two examples. An enclosed wiring style with all the electronic components and wires inside, and the open and exposed version with the controller on top. Wire the robot with the jumper wires as follows:
(Note: Digital Pin 3 is skipped and used by the Ardumoto motor driver. Ardumoto also uses pins 11, 12, and 13) Step 5: Load the Maze Solving ProgramThis code/sketch was written and tested within Arduino 1.6.4 The sketch requires the "QTRSensors" library developed by Pololu for their QTR-8RC sensor array.
Step 6: Test and Tune your robotWhile the provided sample code is not fully optimized, it should run with little or no initial adjustment. However, we made sure to leave plenty of room for improvement. When you develop a better understanding of how it all works, you may even decide to toss out a lot of our code and implement a whole new approach of your own. The sample program has numerous variables and portions of the code commented to help you tune your robot's performance on your maze. If you have initial trouble, try these first:
|
![]() |
|