The goal of the robot is move through a simple maze and stop when it detects the finish area (a black box). The robot is also required to use the same algorithm to solve different maze configurations. It is a two-wheeled differential drive robot with two sensors (a bumper sensor to detect the wall and a light sensor to detect the floor color). To accomplish this, the robot will need a reference for its movement from one location to another. It will use the existing walls of the maze to guide itself to the finish line. The robot will use the obstacle (the walls) and it sensors to accomplish this task and will complete each maze within 5 minutes. This robot will be designed to follow the wall on the right side.
V-REP robot simulation platform is need to open the and run the code - http://www.coppeliarobotics.com/
Description of code used and Algorithm
In establishing an algorithm, I first had to understand the steering system of a differential robot. The steering mechanism is as follows: If both motors (wheels) turn at the same speed, the robot moves in a straight line.
If one wheel rotates faster than the other, the robot follows a curved path inward toward the slower wheel (see diagram below).
Running the tests
As we can see, the steering of the robot has to do with the varying the speeds of the motor. A similar method is used to turn the robot when it is backing up. This fact is major part of the algorithm. The Robot logic operates as follows:
- If the robot bumps into the wall, then backup (reverse, while slightly turning right)
- Then drive forward (with a slight right angle)
- Maze 1: http://youtu.be/F0u08FTDqjM
- Maze 2: http://youtu.be/Kzz3qOdEo0Y
- Maze 3: http://youtu.be/0e4cQ_B3c8I
- Kenny Whyte
This project is licensed under the MIT License - see the LICENSE.md file for details