I'm working with a team to develop a UAS for a computer science/engineering course. We're a team of two computer science majors and two electrical engineering majors.
We're trying to build a user-operated multicopter that can detect and automatically avoid incoming physical threats (e.g. baseballs, rocks, birds, other drones). We plan to integrate several sensors to determine (1) the speed and trajectory of nearby objects and (2) the speed and direction of the drone. We have several ideas about how to implement it, but could use some advice.
First, we need a relatively small and agile copter. We're trying to decide whether to get an off-the-shelf one or build one ourselves. I've been looking into open source multicopter control software systems (e.g. Dronecode, LibrePilot), but most of the ones I've found seem to be for entirely autonomous drones. Are there any open source libraries for user-operated copters? And is anyone aware of pre-built drones capable of implementing such software? Or would we better off building our own from scratch/getting a kit?
We're also trying to figure out whether we'll be able to add our detection and avoidance logic into an existing software system, or if we'll have to have the sensors connected to a microcontroller containing the logic, which would then communicate with the built-in controller to override user control and initiate a maneuver.
I've never worked with drones before, outside of flying a friend's small one, and all of my experience has been with software, so I'm not sure where to start. Any advice would be greatly appreciated, and I'll be happy to offer clarification on anything! Our project proposal is attached for reference.