The delivery drone has a few main components as shown above. The Pixhawk is the flight controller that turns control signal sent by human or flight computer into a control signal for the motor to execute, it also helps with the stability of the drone with its onboard sensor arrays which includes an accelerometer, barometer, and compass. With the Pixhawk, the drone can fly even with an unbalanced load as the Pixhawk will help to compensate by speed up or down the motor to balance out the drone in flight.
There are a few other systems attached to the Pixhawk. Namely, the telemetry system allows the Pixhawk to be controlled using a terminal from 40 Km away (1W transmitter), the GPS receiver which provides the current location of the drone with an accuracy of 50 Cm.
The Electrical Speed Controller communicates the PWM control signal received from Pixhawk to the motor by either speeding up or down the motor based on the width of the PWM signal.
The 2.4 GHz Remote Controller allows the drone to manually control when the occasion arises. It acts as a fail-safe mechanism when all other control method fails
The Raspberry Pi is the flight computer, it is used to send a control signal to the Pixhawk in flight for waypoint navigation and landing control. The communication between Pixhawk and Raspberry Pi is done using a python library known as dronekit. The dronekit contain many useful commands such as arming, disarming the drone, sending navigation signal, reading the status of the drone, and many more.
Full Integration of the System:
The mission is saved to the Pixhawk using either a mission planer (from the computer) or uploaded directly using dronekit (Raspberry Pi). Once the mission is loaded into the Pixhawk, the onboard flight computer can command it to arm all motors and take-off into a predefined height before executing the mission.
If the mission is to deliver some item, the drone will navigate to the destination using GPS guidance and once the destination is reached, the drone will attempt to locate the landing pad which has a QR code printed on it, this step is done using OpenCV library. Once the landing site has been located, the drone will attempt to fly directly on top of the landing pad before trying to land. Once the drone has reached below a certain altitude (in our case, 20 Cm) it will trigger the release mechanism and release the parcel it is carrying in the payload box attached below the drone. Once the payload has been released, the drone will then take-off and fly back the operator using GPS guidance and land at the location using another set of QR-Code Landing guidance.
Release mechanism:
The release mechanism consists of a box that adopts a trap door release design. It possesses two trapdoors that have their pivots kinda near the edges of the box. the other ends of the doors rest on a ledge that is attached to the motors. When the motor turns the ledge out of the way, the trap door swings open and the goods are released. The motors are controlled by a raspberry pi onboard the drone.
Secondary door:
A secondary door is incorporated into the design to facilitate the ease of loading goods. This secondary door consists of a simple sliding door design held secure magnetically.
Download link to Guidebook to building a drone: Basic Guide to Flying
Download link Final Presentation Slides: M & T Final Presentation