maze robot

Maze Solving Robot

Here’s my maze solving robot. It uses an ultrasonic sensor on front to detect walls in front of it, as well as two IR sensors to detect when it is about to go over an edge. The robot is a DaNI robot with an sb-RIO FPGA board inside. It was pre-built, which was kind of a bummer because half of the fun of building a robot is building it. The robot was programmed using the LabVIEW robotics package that came with the robot. This was for my robotics class at UNC Charlotte.

The goal was to get to the end of the course successfully, with the fastest time through the maze getting extra points on their grade. My lab partner and I have an excellent score already in the class so we were just going for a successful completion and not for speed. At the end you see the robot spin and then stop. Just a misplaced if->then loop unfortunately, but still counted as a success. Easy to fix but no real reason or motivation to do so.

This is a good opportunity to talk about sensor placement. You can rarely have too many sensors. The more sensors on your robot, the more data points you have to make the robot behave the way you want it to. However, the complexity of your code generally goes up with each sensor added, because you have to initialize the sensor, read the sensor, make sense of the data the sensor is giving you, and then do something useful with the data.

On this robot there is no sensor to detect if the robot is about to fall off the side of the ramps. The placement of the IR sensors leaves much to be desired, but we were not allowed to move them. Therefore we had to run the maze several times to get it to complete the course successfully, and we had to just keep tweaking little values until it finally navigated the course correctly. Better sensor placement, or alternately more sensors, would have made this process much easier.