For our senior capstone project, our team of four was tasked with creating an "autonomous drone" with very little additional detail or direction. The project had been handed down from three other teams at Miami, none of whom had successfully managed to even get a drone off the ground, much less flying with any level of intelligence.
After a while, our team too found ourselves struggling to make the previous generation's custom built hardware take off, or do anything for that matter. We eventually made the risky decision to abandon the previous work and instead start from scratch with a new approach: utilizing a framework called Robot Operation System, or ROS for short.
ROS allowed us to abstract away most of the low level details that made the original project nearly impossible. By taking advantage of the open source community's work, we were able to develop what we dubbed an "Autonomous Drone Development Environment", and focused on creating work that could be expanded upon and abstracted rather than a complicated mess that could only be understood by the orignal developers.
The project has already been continued by the next senior capstone team, except this time they were given a project that, using our detailed documentation linked above, could take off after only a day's worth of work, not an entire semester. Our hope is that future teams continue to build on the foundation we left behind.