This was the final project for CprE288 - Embedded Systems at Iowa State
The lab for this class focused on C programming on a modified Roomba® robot. For the final project, we condensed everything that we had learned during the semester into a comprehensive lab where we were to simulate controlling a Mars rover. The field consisted of a rectangle on the floor with PVC pipes set up as obstacles, and one floor tile missing. The robot was set in a random position in a random orientation on the field.
Here was our system diagram
We were unable to see the robot's position on the field, and the only sensors available were sonar, IR, bump, and ground presence/brightness. The sonar and IR were mounted together on a servo motor at the front of the robot and were used in distance detection of the tall PVC pipes, and the bump sensors were used to detect short ones. The ground brightness sensors allowed us to see tape that made up the border of the field, and the ground presence detectors allowed us to see the hole from the missing tile. The mission was to find the tile surrounded by four skinny PVC pipes and finish on that tile within 30 minutes. We controlled the robot through a PuTTY interface.
Optional extra credit was to program in lights and music which would go off once inside of the finish tile.
You can view our code here.
- Landfall