Building on the previous project of autonomic robot cars, controlled by a Raspberry Pi + BrickPi, delivering packages, we want to use (indoor) quadcopter drones for similar purposes.
Since this educational project accounts for the bachelor dissertation of computer scientists, the drone must be programmable (e.g. given some sequence of coordinates or actions, the drone must be able to execute them) or it must be able to write a program to interactively steer the drone. The drone must also have a camera and be able to send the camera stream over WiFi/Bluetooth/... to a separate PC. This PC processes the stream and decides on the steering of the drone based on for instance the content of the images. Note that there are drones who can only store the camera stream internally and others who can send the camera stream to for instance a smartphone. The last functionality is called FPV (First Person View).
Furthermore, the drones should ideally contain a gyroscope and accelerometer, of which the sensor values can be used in a PID controller (on the drone itself or on a separate PC).
It would be nice (but is no requirement) to attach an electromagnet underneath the drone to attach and detach small objects.
With regard to battery life, we aim for at least 10 min.
The drones will be used for multiple course years. Therefore, we would like the separate components to last as long as possible and be resistant to crashes. For instance, brushed motors will need to be replaced after a couple of hours of flight, so we rather avoid these (if possible for the given budget).
Finally, since there are probably dozens of drones these days which match the previous requirements, price is also important: below $100 (we will buy multiple drones so it would be nice if a batch of drones drops the price).