ここ何回か、ドローンのソフトウェアということで「Dronecode」や「ArduPilot」といったオープンソース系の取り組みを伝えてきたが、今回はシェアを獲得しているDJIの取り組みを記したい。
- Advertisement -
DJI Developerの背景
DJIはPhantomをはじめとした空撮機でシェアを伸ばしてきたが、昨年頃よりドローンの産業用途利用が増えるにつれ、その業務に適したカスタマイズや、アプリケーションの開発といったものが必要となったきた。そこでDJIはSDKを公開すると同時に、Matrice100といった開発者向けの機体の提供を行った。
DJI Developerの概要
DJI Developerでは、開発者向けに「DJI SDK」を提供している。DJI SDKはDJIのフライトコントローラでのカスタマイズやアプリケーションを開発するために提供されるソフトウェア開発キットだ。開発者はDJI SDKを利用することで姿勢制御や衝突回避、カメラ制御、自動航行アプリケーションなどの開発を行うことが出来る。DJIは現在、以下の3つのSDKを公開している。
- Advertisement -
Onboard SDK
シリアル接続により直接DJIフライトコントローラと通信。インテリジェントナビゲーションモードを使用することで、自律的な飛行経路と操縦を作成して、オンボードAPI機能でドローンの飛行を監視および制御することが可能。
Mobile SDK
フライトコントローラと通信可能なモバイルアプリを開発して、プラットフォームの可能性を最大限に引き出すことが可能。
Guidance SDK
周囲の環境を検知するための、あらゆる種類のビジョンベースのアプリケーションを簡単に開発可能。
Onboard SDK
共通のシリアルポート(TTL UART)を使用して、サポートされているMatrice100またはMatrice600またはフライトコントローラA3に接続し、独自のオンボード組み込みシステムを活用し、オリジナルのドローンをDJIのプラットフォームと統合可能。
- Advertisement -
開発条件
- CおよびC++でのプログラミング経験
- 組み込みシステムの知識
- Matrice 100、Matrice 600、またはDJI A3フライトコントローラ
- 利用可能なCOMポート(TTL UART)を備えた独自のオンボード組み込みシステム
- 必要なソフトウェアツールを実行するWindows PC
- DJI Goを実行するiOSまたはAndroidモバイルデバイス
開発例
- 組み込みシステムに接続されたセンサを使用してのドローンの軌道を制御
- テレメトリデータのリアルタイム収集
- カメラにコマンドを送り写真を撮影したものをドローンのダウンリンクを介してモバイルにデータ送信
接続図
Mobile SDK
開発者が、DJIのドローンやハンドヘルドカメラ製品の機能にアクセスできるように設計されたソフトウェア開発キット。SDKによって、飛行安定性、バッテリ管理、信号伝送、通信などを処理することで、アプリケーション開発プロセスを簡素化が可能となる。開発者は、ロボット工学や組み込みシステムの背景を必要とせず、DJI製品が統合されているアプリケーションのみにフォーカスすることが可能。
SDKに含まれるもの
- DJI製品にアクセスできるAndroidまたはiOSアプリにインポートできるライブラリ/フレームワーク
- シミュレータおよび視覚化ツール
- iOS用のデバッガとリモートロガー
- サンプルコードとチュートリアル
- 開発者ガイドとAPIドキュメント
開発例
- 自動航行アプリケーション
- カメラとジンバル制御アプリケーション
- リアルタイムのビデオとセンサーデータを受信、機体/製品に保存されたメディアをダウンロードおよび管理アプリケーション
接続図
Guidance SDK
開発者は、独自技術のビジョンベースのソリューションを組み込み、周囲検知し、DJIのドローン航行の制御が可能。
サポートされるプラットフォーム
- Windows
- Linux
- 組み込みシステム(ARM Ubuntu)
開発例
- 衝突回避
- 対象追跡
- 精密な着陸
- 高度維持
接続図
- Application:このレイヤーは、HALレイヤーからのデータを処理。開発者によって開発される
- HAL(Hardware Abstraction Layer):このレイヤーは、ドライバーレイヤーと相互にやりとりを行い、データをバック、解析する。サンプルコード(UARTの場合)またはSDKライブラリ(USBの場合)によって実装
- Driver:このレイヤーは、ガイダンスシステムからUSB/UARTを介してデータを受信。これはOSや3rdパーティライブラリによって実装
「DJI SDK」活用例
このDJI SDKを活用して、各サービス会社はオリジナルのサービスを展開し始めている。
「Skycatch COMMANDER」
専門的な知識や経験が不要で航空地図や3Dモデルを簡単に作成可能。離陸から着陸までのDJIドローンでのマッピングを自動化。自動処理のために画像をクラウドにアップロードし、Skycatch Dashboardで表示、分析、共有。
DJIの最新のドローンをサポート:Phantom 3 Advanced、Phantom 3 Professional、Phantom 4、Inspire 1
「DataMapper InFlight」
PrecisionHawkのDataMapper InFlightモバイルアプリケーションは、DJIドローンを高度なリモートセンシングツールに変え、企業や消費者が実用的な航空データを自律的に獲得可能にしている。この無料アプリは、直感的で扱いやすいユーザーインターフェイスを備えており、2D/3Dマップや高度な分析のための空中画像を取得するためにドローンを自動的に誘導するフライトプランを簡単に作成可能。
農業、エネルギー、鉱業、保険などの業界全体のドローン活用アプリケーションに最適。 パーソナルデバイス間の誰とでもデータを安全に保存し、共有できる。
DJIの最新ドローンをサポート:Phantom 4、Phantom 3 Professional、Phantom 3 Advanced、Inspire 1、Inspire 1 Pro、Matrice100、Matrice600
こういった形で、サービスやアプリケーション開発企業が活用することで、DJIのドローンの可能性を拡げている。