An iPad controller app for UAVs (DJI) for our indoor autonomous scanning pipeline. It receives current pose and goal pose from an external mapping/planning stack, computes control commands, and drives the drone accordingly.
This repository is part of the DART open-source / open mechanical design project.
Original code by She456.
This app is based on dbaldwin/Mobile-SDK-iOS (a fork of DJI’s iOS sample projects).
DJI Mobile SDK usage follows DJI’s EULA / Developer Policy: https://developer.dji.com/policies/eula/
FFmpeg (LGPL v2.1) is used dynamically and unmodified via DJI SDK/Widget:
License & source/build info — https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html , https://github.com/dji-sdk/FFmpeg
Not affiliated with or endorsed by DJI.
- Xcode 15+, iPadOS 17+ (physical device required)
- DJI Mobile SDK and DJIWidget (installed via CocoaPods)
- DJI Developer account & App Key
- Provisioning profile / Team ID for code signing
-
Install CocoaPods Open Terminal and install CocoaPods: (If CocoaPods is already installed on your machine, you can skip this step.)
sudo gem install cocoapods
The installation may take a long time, please wait. For detailed steps and troubleshooting, please check this guide.
-
Clone
git clone https://github.com/wrlab/DART-Drone-Controller.git cd Drone-Controller -
Install dependencies (CocoaPods)
pod install open DroneController.xcworkspace
Developers will need to setup the App Key by editing the sample code's info.plist, after generating their unique App Key.
the DJISDKAppKey is present in the Info.plist - developers just need to add their unique key. In both cases developers will still need to update the Bundle Identifier.
⚠️ Safety Notice: Indoor flight is inherently risky. Use at your own risk. Follow local regulations, maintain safe distances, and prepare emergency procedures (hover/land, RTH).
Several iOS tutorials are provided as examples on how to use different features of the Mobile SDK and debug tools includes:
- Application Activation and Aircraft Binding
- Getting Started with DJI UX SDK
- Camera Application
- Photo and Video Playback Application
- Media Manager Application
- MapView And Waypoint Application
- Panorama Appliation
- TapFly and ActiveTrack Appliation
- Simulator Application
- GEO System Application
- Using the Bridge App
- Using the Remote Logger
Please visit DJI Mobile SDK Documentation for more details.