User Tools

Site Tools


drone_programming

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
drone_programming [2022/09/24 22:16] – [DJI SDK's] jhagstranddrone_programming [2022/09/29 08:36] (current) – [Drone Programming] jhagstrand
Line 1: Line 1:
 ====== Drone Programming ====== ====== Drone Programming ======
 +
 +see spreadsheet of Quadcopter software: \\
 +https://drive.google.com/drive/folders/0ByidsAQcVcUUOHpFZzFsaThTazg?resourcekey=0-mSHd_O56fPVihNa7uVd_bw
 +
 +
 +===== Flight Controller (FC) Firmware =====
 +
 +Open Source FC firmware, onboard
 +
 +^ Name        ^ fork*^ FPV ^ Autonomous ^                                                    ^
 +| Betaflight  | Yes  | Yes |    No      | Most popular, much supported hardware, many users. |
 +| 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   | Yes  | Yes |    No      |                                                    |
 +| INAV        | Yes  | Yes |   Yes      | Autonomous flight on Betaflight hardware.          |
 +| Ardupilot    No  |  No |   Yes      | Not good for small drones.                         |
 +| Silverware  |  No  | Yes |    No      | Specific for Tiny Hoops.                           |
 + 
 +* originaly forked from Betaflight.  This means it runs on all the same hardware as Betaflight. 
 +
 +Comparative Review, Josha Bardwell \\
 +https://www.youtube.com/watch?v=xTurdXkSJsg
 +
 +Comparative Review, Pawel Spychowski \\
 +https://quadmeup.com/what-is-the-best-flight-controller-firmware-betaflight-ardupilot-or-inav/
 +
 +PID Tuning
 +
 +==== ArduPilot ====
 +
 +hardware : Pixhawk 4 mini, and GPS module
 +
 +First Experience
 +https://www.youtube.com/watch?v=0DnflN9C3cc
 +
 +Mission Planner software to configure ArduPilot
 +
 +development began on Arduino
 +
 +Ardupilot FPB with DJI \\
 +How to setup Arduino \\
 +https://www.youtube.com/watch?v=k8GC1UFGVos
 +
 +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://docs.qgroundcontrol.com/master/en/index.html https://docs.qgroundcontrol.com/master/en/index.html
 +
 +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://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html     * https://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html
-  +
   * Payload SDK   * Payload SDK
     * evidently an extension of the Onboard SDK     * evidently an extension of the Onboard SDK
-    * "payload" refers to additional hardware attached to the drone for specific tasks+    * "payload" refers to additional hardware attached to the drone for specific tasks:
       * 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 Mavic 2 and Mavic Air (Wifi mode+    * 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://www.youtube.com/watch?v=2uy7j_3oTQA
  
 ===== software stack ===== ===== software stack =====
drone_programming.1664072182.txt.gz · Last modified: 2022/09/24 22:16 by jhagstrand

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki