Maze solving robot

Ok, so I am a newish Arduino user but am experienced in Robotics and have decided to start my first major project (I cancelled my other one because it was too hard :stuck_out_tongue: ). I decided to make a maze solving robot, because I have made one before and already know how my software is going to look. The basic overview will be this:

Go forward:

  • If sensor detects path (no wall) on the left turn left
  • else if it can drive straight then drive straight,
  • else if it can turn right then turn right.
  • else if it is at a dead end then turn around.

My maze will consist of 900 turns so I need to make the motor be accurate enough to stop at a specific number of rotations or degrees.

I know that the cheap step motors do not have rotation sensors so I was wondering if anyone could tell me what motor/or sensor/whatever I should use to have more control over the rotation of my motors. I will use 3 motor, 2 for the driving and one for the movement of the radar sensor

Cheap step motors might be the best choice. If you can be reasonably sure they didn't miss a step (friction + inertia exceeds the motor torque) then you do have good control over the motor's position.

Slip between the wheels and ground is more likely to be a problem. Encoders can't measure this. One solution is to use something like the sensor out of an optical mouse to watch the ground and observe movement.

Why does the robot need to remember 900 turns? Is it supposed to navigate back out of the maze with the radar turned off?

Sorry morgan, 900 turns was a typo. I meant 90 degree turns. But it does need to remember the turns (that will come later)