It's just cool to send stuff via drone. Besides the coolness factor, some items are worth more when delivered fast: important documents, first aid in hard-to-reach places, tools for a last-minute project. Some items are better obtained with convenience: medicine if you're sick, an umbrella if it's raining, gloves if it's cold out. There's a lot of talk about air delivery, but no real tool to make it easy and accessible to small shops and individuals -- empower people to bring about change.
How it works
Seller posts item for sale, together with radius of delivery and speed of drone. Buyer browses through items available to her. Buyer places an order after stating that she is in a safe landing location --one clear of tall obstacles 5 meters around. Seller sees an order has been placed and readies up the drone. When ready, seller connects to drone's wifi (bluetooth would have been more convenient!), spools up its motors, makes it hover, and sends it away! The entire launch sequence can be stopped at any time. Drone zips past trees and houses at a safe altitude, flying in a straight line to the buyer. Buyer gets her stuff from the drone. Buyer returns the drone following the same safe launch sequence.
The iOS handles all the data using iCloud; buyers and sellers connect via a public database. The app talks to the drone via a Raspberry Pi. The Rapsberry Pi broadcasts wifi and hosts a server. The app connects to the Raspberry Pi's wifi and talks to its server. When a command is requested by the app, the server relays the command to the drone's autopilot. For example, when the app tells the drone to fly, the Raspberry Pi gets the appropriate coordinates and forwards them to the drone's autopilot in a format it can understand. The autopilot uses the open source ArduCopter code and the Raspberry Pi uses Flask to await for commands.
Challenges we ran into
The GPS signals are unreliable, so in some cases the drone will not be too steady when hovering. Nevertheless, it gets to its destination within 10 meters (yeah, less than ideal).
Programming the appropriate commands for the drone to follow when taking off should we done with care. It is possible that if the drone is in an incline, it will shoot up in a diagonal and not vertically.
Handling all the data in the cloud in a form that is useful to both buyers and sellers and that allows an order to be followed was tricky.
We had to film the video before we could trust the drone to do the full delivery (20 mins before the deadline!), so we flew the drone by hand there. All the functionality regarding code and hardware is present.
Accomplishments that I'm proud of
The app works! It lists items that are available to buyers, lets sellers keep track of orders, lets buyers select a safe landing location, and talks to the drone! The drone flies stably and follows its delivery mission. The buyer can return the drone safely as well.
As the drone's autopilot is open source and can control a wide different range of vehicles (planes, quadcopters) and frames, our marketplace can be used to carry stuff useful to people. The API we developed for the drone is very versatile and reliable in its communication with the autopilot.
We created a development drone with two autopilots, outputs of which were relayed by a multiplexer, one of the autopilots is controlled by a companion board.
What we learned
- Putting together a drone with two autopilots (an extra one was needed to wrestle control back in case the commands being given by the Raspberry Pi told it to fly against a building)
- A GPS must be very reliable for drone delivery to happen in cities, however it's good enough for open spaces like beaches
- Networking: manipulating data in the cloud and talking to a listening device over a network
- Creating an API for a drone
What's next for Drone Delivery Marketplace
This drone delivery market place is a wacky idea because... the FAA would not be happy with drones leaving line of sight This is a commercial idea because... the FAA rules in the U.S. only! We're creating the marketplace, not the drone makers: high scalability is doable. Current use cases could benefit from our implementation: DHL delivers in remote island with drones, Indian pizzeria delivers in the city via human-flown drone, Russian pizzeria delivers in beaches via human-flown drone, Alibaba delivers tea in China (unclear how it gets there). They all will need to know where to safely land to deliver! Our marketplace lets the end-user pick a safe landing spot and allows small businesses to enter the race.