Project Completion Date: April 29th, 2019
Associations: Purdue Engineering Honors, Purdue
Subject Area: Robotics
As part of the engineering honors program at Purdue, students are required to brainstorm, design, and construct a final robot project in teams of four. Each semester has a unique challenge - in Spring 2019, the robot task was to map a randomized maze by calculating the robot's path through it and identifying several types of hazards, including heat sources and magnetic fields. The generated map had to be streamed back to a control computer for review in several specified formats. As a team member, my duties included software development and construction of the robot.
The map of the maze was produced using a number of different sensors. Robot path was identified using built-in encoders and an ultrasonic sensor array containing three separate sensors. Hazards were detected using a combination of IR sensors and a magnetometer built-in to the provided Inertial Measurement Unit (IMU). A separate gyroscopic sensor was used to keep track of an provide feedback for robot turns, which was tracked as a part of the mapping process.
Much of the architecture was reused from the previous semester's project, MACRO. However, a multitude of new features were added. The new software takes advantage of Python's object-oriented architecture to more efficiently pass data between software classes. Software functions were also differentiated a great deal more, allowing for more complex customization of final run time routines. A "reset" function was also added, which allowed for a full reset of all robot functions and sensors. Calibration routines were integrated into the system as well, adding the ability to carefully tune sensors for the current environment.
Among other new software features, the GEARS was also capable of monitoring its own system outputs using onboard sensors. Shown to the left was a measurement taken by the GEARS to confirm that its motors were traveling at the correct speed and were acting at the same time as the other. Graphs like this were produced for multiple features of the robot, detailing things like beacon detection range, ultrasonic sensor data, and more.