I’ve always been fascinated with projects that involve a symbiosis of mechanical design and programming. This is why I’ve always been interested in drones! They require a lightweight but rigid structure to operate at low mass. They also require stable software that is easily accessible and customization to fit a variety of drone frames and configurations.
For this project, I wanted to build my own personal autonomous drone using some of the best open-source drone projects on the internet. I also wanted to design my own custom drone frame using my 3D printer to create a customize-able platform for flexibility of use. A trend I’ve seen in hobbyists is to use the recommended flight controllers and control systems which alone can cost $500+ alone. My final drone configuration with a total cost came out to be less than $550 to replicate. This is because my choice of open-source hardware, diy design, and a specialized control system all allowed me to shave off hundreds of dollars while achieving the same(possibly exceeding) stability, range, and customization.
A major benefit to my open-source autonomous drone (OSAD) is that ALL communication between the operator and the drone happens over a 2.4GHz digital WiFi-based signal rather than the standard 2.4GHz radio broadcast. This increases bandwith and enables live HD video, radio control, autonomous programming, and more all over a single communication stream thanks to OpenHD.
Typical WiFi signals do not travel very far. The combination of OpenHD’s software and the use of WiFi cards with specific chipsets that are able to operate in packet injection mode. This method of communication is not lossless, though it gets the job done in a satisfactory way. It is very comparable to analog signals. One distinction is that signals sent over OpenHD can be encrypted at the cost of some range.
This project combines two major open source projects with the next steps in place to incorporate a third. So far, Ardupilot and OpenHD are used to run the communication system on the drone. I chose Ardupilot for its customizability, pre-built autonomous functionality, and excellent ecosystem of support. I chose OpenHD for its ability to simplify the typically complicated communication systems involved in drone control. Furthermore, because OpenHD runs on the onboard raspberry pi and communicates to the flight controller over the MavLink protocol, it is possible to side-load other programs on the raspberry pi and add custom autonomous functions directly from the drone itself using the Python DroneKit library. I will be using my drone to test this library and write my own programs!
>>> Link to the interactive 3D Model <<<
Parts of a multi-rotor
Part | Description |
Flight Controller | Brains of the system. Stabilizes flight and controls drone position using IMU, GPS, and Compass input. |
Electronic Speed Controller | Takes signals from Flight Controller and converts them to analog signals to control each motor. |
WiFi Card | Transmits HD Video, control, telemetry, flight plans(up to 1km!) |
Battery | Provides power to the drone. Depending on voltage, enables a different rpm for motors |
3-Axis gimbal | Stabilizes flight cameras. Enables camera pan, tilt, and zoom control. |
Raspberry Pi Camera | Needed for live video transmission |
Motors + Propellers | Motors rated with higher KV ratings will need smaller propellers. Depending on voltage of the battery, different propeller sizes may be needed. |
Under construction. 8/29/2020