記事の概要
ドローンのソフトウェア開発の全体像について記載しました。
パターン1:オープンソースで開発
オープンソースを利用してソフトウェア開発をすることが可能です。ソフトウェアは5つの階層に分かれています。
- UI/API (DroneKitなど)
- Communication Layer
- Flight code(ArduPilotなど)
- OS
- HW
機体の制御を行うFlight code の主流は ArduPilot とPX4 です。
- Dronecode陣営は「PX4」
- ArduPilot陣営は「ArduPilot」
いずれもコミュニティにより運営されています。
パターン2:DJI SDKを利用
DJIも開発者向けにSDKをリリースしています。
- Mobile SDK
- UX SDK
- Onboard SDK
- Payload SDK
- Windows SDK
一般的な開発でメインとなるのは、Mobile と UX のSDKです。
Onboard と Payload SDK は自作のHWを取付ける時に利用します。
実装例
- Skycratch社 / Skycratch Commander
- Precision Hawk社 / DataMapper InFlight
- Dronedeploy社 / Dronedeply cloud service
まとめ
ドローンのソフトウェア開発は、C++並びに、iOSかAndroid端末の開発経験があると「とっつきやすい」と思います。
DJIからサンプルプログラムが提供されているので、まずは「DJI SDK」を試して開発の流れを掴みましょう!