What went well?
Met all of our initial goals for functionality
Kept cost low by using parts from previous projects/classes
All team members were able to meaningfully contribute
What could have gone better?
We noticed the performance of our robot deteriorated after a few days. The motor mount began to deform under the tension from the belt, meaning we were experiencing slipping on our timing belt. A more robust motor mount design would prevent this and keep our machine running effectively for longer
The thresholding for our computer vision was very lighting-dependent. Whilst our machine consistently worked in the lab room, we needed to make adjustments to our code to use it in other space on campus. With more time we would have liked to implement a more robust computer vision program which could do color detection on our (blue) goalie and (green) ball in a wider variety of lighting conditions. Alternatively we could have added a bright lamp to our table to keep the lighting conditions more consistent across many spaces.
What features would we add in the future?
Non-linear path planning: currently we assume all shots will be going straight. This assumption is fine for most shots, but it is not true for some edge cases. We refrained from trying to implement non-linear path planning as we thought it would take too long to process on our laptops, hence decreasing the performance of our goalie as it would have significantly slower response times. If we had more processing power though, it would be fun to implement this.
Kick back: a second degree of freedom which allows the computer to rotate the players so they can 'kick-back' the ball would add a dimension of fun to the game, as the robot goalie would now also be able to try and score on you as the player. We designed a mechanism to do this using a long 3D printed gear and a second small motor, but unfortunately ran out of time to implement this part of our design.