Computer VisionFall Detection

MSE 110 Project

Project Description

In my first year of undergrad, I took a MSE 110, where we built four different robots throughout the semester for different purposes. Two of my favorite projects in that course were the Battlebot and Maze-solving Robot.

As pictured above, This is my Battlebot that one 1st place; a large Lego 4-wheel juggernaut. We designed it to be heavy and wide, so it would be harder to knock it over. The ultrasonic sensor in front helped locate enemies while the scoop helped get under them and push them out of the ring. Though our design was robust, it was actually strategy that led us to 1st place.

The arena for the battlebot competition was a circle. In the circle were two parallel pieces of tape near the center, perpendicular to the starting forward trajectories of all bots. In the very center was a flag, and the first bot to reach the flag is awarded 20 points. Crossing the tape however, resulted in a 10 point penalty for each crossing. While all other robots turned at the start of the round to begin moving and make their way around the tape, my robot simply located the opponent and drove full speed at them. While turning, our opponents exposed their weak sides, thus proving our strategy effective when we pushed them out of the ring, sweeping each round in seconds. Because the robots started opposite to each other, we crossed both lines of tape, but also picked up the flag, resulting in a net 0 points. Winning the rounds however, resulted in 50 points.

For the maze solver project, the goal was to have the robot solve a maze from start to finish and then travel back from end to start without any mistakes autonomously. I implemented a strategy based on depth-first search, using a rotating ultrasonic sensor to check for walls and taking the right-most path available. When the robot reached a dead-end, it returned to the last junction (node with multiple paths) and explored the next section. You also had to account for issues with the maze being built non-uniformly, which required the robot to sometimes back into a solid wall to align itself and move forward a small amount to position itself in the center of the cell. This strategy was effective, and our robot was able to travel from start to finish, calculate the path, then return from finish to start in one go with no mistakes.

Overall, these projects required a good understanding of robotics, problem-solving skills, some rule-bending, as well as the ability to design and build functional robots using Lego Mindstorms. These project were my introduction to engineering, and I am proud to have been able to build these robots and compete with them.