Our final project for ENR 161 was to create an autonomous robot using a LEGO Mindstorms kit to navigate a grid and retried 3D printed "fish" from three lakes of varying sizes and positions on the play field. This challenge was based on the 2022 ASEE Model Design Competition
Design
Our group divided the project into three major sub-tasks: movement, navigation, and "grabbing" which we then worked on separately though the three systems would have to interact with each-other. We decided on the rough idea that the robot would navigate using the black gridlines and collect one full lake of fish at a time before returning to the drop point then continuing on towards the next lake.
Initially I collaborated with my colleague handling the navigation system to determine how best to use my movement system to process his navigation data and wrote out a spec for what functions to call and which parameters needed to be given for proper usage. I then created a very robust drive system that could reliably execute the given movement commands using feedback from two IR sensors mounted on either side. Encapsulating the data this way allowed for extreme flexibility as our routing changed and even supported a last minute pivot from purely grid-base movement to one that circled two of the two larger lakes along their perimeter by changing only five lines of code. The drive and navigation systems proved to be extremely reliable under all conditions and was the only submission to achieve a perfect score in the navigation assessment. Code for this project is on my GitHub
Result
We achieved a score of 87 in the trial runs for our class section qualifying us to compete in MCC's Engineering Day 2022, though due to difficulties with the reliability of our "grabber" mechanism we placed fourth in the school-wide competition.