As part of a second-year mechatronics design course, I had to (along with a team of 3 other students) design a fully autonomous robot capable of going out into a field of scattered gems, collecting gems, then sorting them at home-base to filter out a specific color. This project was created over 4 months with many iterations and a lot of work put into it, you can look through our development process in the document below, because to talk about all the considerations we took while developing this I'd be rewriting the entire report!
This project taught me a lot about the complexity of closed-loop control, the challenges that come with fully autonomous systems, and helped me devlop an intuition for future projects in a similar vein.
You can view the codebase here: https://github.com/faris-amer/MSE2202Bot