drone_programming
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| drone_programming [2022/09/24 22:16] – [DJI SDK's] jhagstrand | drone_programming [2022/09/29 08:36] (current) – [Drone Programming] jhagstrand | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Drone Programming ====== | ====== Drone Programming ====== | ||
| + | |||
| + | see spreadsheet of Quadcopter software: \\ | ||
| + | https:// | ||
| + | |||
| + | |||
| + | ===== Flight Controller (FC) Firmware ===== | ||
| + | |||
| + | Open Source FC firmware, onboard | ||
| + | |||
| + | ^ Name ^ fork*^ FPV ^ Autonomous ^ ^ | ||
| + | | Betaflight | ||
| + | | Cleanflight | Yes | Yes | No | Ancestor of betaflight, now the same as. | | ||
| + | | Flight One | No | Yes | No | Latest version: FalcoX. Easy setup. | ||
| + | | KISS | No | Yes | No | Hardware specific KISS hardware, pricey. | ||
| + | | EmuFlight | ||
| + | | INAV | Yes | Yes | | ||
| + | | Ardupilot | ||
| + | | Silverware | ||
| + | |||
| + | * originaly forked from Betaflight. | ||
| + | |||
| + | Comparative Review, Josha Bardwell \\ | ||
| + | https:// | ||
| + | |||
| + | Comparative Review, Pawel Spychowski \\ | ||
| + | https:// | ||
| + | |||
| + | PID Tuning | ||
| + | |||
| + | ==== ArduPilot ==== | ||
| + | |||
| + | hardware : Pixhawk 4 mini, and GPS module | ||
| + | |||
| + | First Experience | ||
| + | https:// | ||
| + | |||
| + | Mission Planner software to configure ArduPilot | ||
| + | |||
| + | development began on Arduino | ||
| + | |||
| + | Ardupilot FPB with DJI \\ | ||
| + | How to setup Arduino \\ | ||
| + | https:// | ||
| + | |||
| + | with DJI | ||
| + | F745, F765, or F405 | ||
| + | |||
| + | 4S lithium ion | ||
| + | |||
| + | ArduPilot used MAVLink | ||
| + | |||
| + | |||
| + | Tracer and Crossfire | ||
| + | |||
| + | INAV loiter is really good, but ArduPilot is better | ||
| + | |||
| + | surveilance | ||
| + | |||
| + | EKF 3, Extended Kalman Filter | ||
| + | |||
| + | INAV and Betaflight have horizon inertial drift, ArduPilot does not | ||
| + | |||
| + | receiver, crossfire, MAVLink | ||
| + | |||
| + | motor mixer | ||
| + | |||
| + | 5 inch drone | ||
| + | |||
| + | autotune | ||
| + | |||
| + | PID tune | ||
| + | |||
| + | OSD = on screen display, telemetry data laid over the video feed, similar to HUD | ||
| + | |||
| + | CRSF = crossfire, proprietary two-way radio by Team Blacksheep, from controller to drone | ||
| + | |||
| + | |||
| + | ===== Intro ===== | ||
| + | |||
| How do you fly a drone from a program? | How do you fly a drone from a program? | ||
| Line 29: | Line 108: | ||
| * Arduino | * Arduino | ||
| * Raspberry Pi | * Raspberry Pi | ||
| - | * Jetson Nano | + | * Jetson Nano (Nvidia) |
| + | * Manifold 2 (DJI) | ||
| Line 90: | Line 170: | ||
| ===== QGroundControl ===== | ===== QGroundControl ===== | ||
| https:// | https:// | ||
| + | |||
| + | vehicle must be running ArduPilot or PX4 | ||
| + | |||
| ===== Robot Operating System (ROS) ===== | ===== Robot Operating System (ROS) ===== | ||
| Line 98: | Line 181: | ||
| RTOS is a category, ROS is a specific product. | RTOS is a category, ROS is a specific product. | ||
| - | ===== DJI SDK's ===== | ||
| - | DJI Ground Control products run on Android and IOS. \\ | + | ===== DJI Software ===== |
| - | Five SDK's are available to facilitate development of these apps. | + | |
| + | ==== Onboard ==== | ||
| + | |||
| + | Manifold 2 - processor mounted on higher-end DJI drones | ||
| + | * Released in Nov 2015 | ||
| + | * ARM chip plus Nvidia GPU | ||
| + | * Runs Ubuntu Linux | ||
| + | |||
| + | SDK's | ||
| * Onboard SDK (OSDK) | * Onboard SDK (OSDK) | ||
| * https:// | * https:// | ||
| - | | + | |
| * Payload SDK | * Payload SDK | ||
| * evidently an extension of the Onboard SDK | * evidently an extension of the Onboard SDK | ||
| - | * " | + | * " |
| * camera and gimbal | * camera and gimbal | ||
| * spotlight | * spotlight | ||
| * sensors and detectors | * sensors and detectors | ||
| * companion computer | * companion computer | ||
| - | | + | |
| + | ==== Offboard ==== | ||
| + | |||
| + | DJI Ground Control products run on Android and IOS. \\ | ||
| + | |||
| + | SDK's | ||
| * Mobile SDK | * Mobile SDK | ||
| * used for developing Ground Station apps for IOS and Android | * used for developing Ground Station apps for IOS and Android | ||
| * as of 11 July 2022, discontinuing new dev for IOS, focusing on Android | * as of 11 July 2022, discontinuing new dev for IOS, focusing on Android | ||
| * includes UX SDK | * includes UX SDK | ||
| - | | + | |
| * UX SDK | * UX SDK | ||
| * included in Mobile SDK v4.0 and later | * included in Mobile SDK v4.0 and later | ||
| * three components: Widget, Collection, Panel | * three components: Widget, Collection, Panel | ||
| - | | + | |
| * Windows SDK | * Windows SDK | ||
| * evidently a port of the Mobile SDK to Windows | * evidently a port of the Mobile SDK to Windows | ||
| - | * support | + | * supports only Mavic 2 and Mavic Air Wifi mode |
| - | + | ||
| - | ===== Onboard Computer ===== | + | Here is a video made by a company that builds custom apps using DJI SDKs. |
| - | Manifold 2, used by DJI | + | https:// |
| ===== software stack ===== | ===== software stack ===== | ||
drone_programming.1664072182.txt.gz · Last modified: 2022/09/24 22:16 by jhagstrand