DJI SDKを使い始める前に、これを理解する必要があります[転記メモ]

以下は、中国の翻訳ツールで翻訳した中国の技術記事です

SDK(Software Development Kit)はソフトウェア開発キットで、製品(DJI Phantom 4など)やプラットフォーム(Windowsなど)に適したソフトウェアを開発するために使用されます。 。 このツールキットには通常、さまざまなデバッグツール、APIドキュメント、開発ガイド、シミュレータが含まれています。
DJI SDK(モバイルSDKを例として使用)では、開発者に提供されるツールは次のとおりです。

  • DJI製品のiOS / Androidコードベースへのアクセスを許可する
  • フライトシミュレータといくつかの視覚化ツール
  • デバッグツールとリモートログ
  • サンプルコードとチュートリアル
  • 開発者ガイドとAPIドキュメント

開発者は、これらのSDKのツールを使用して、無人機カメラ、PTZ、および飛行制御ステータス情報のインターフェイスから開始し、特定のミッションを完了するためにDJIが提供するコードライブラリを通じてさまざまな制御コマンドをUAVに送信できます。 。

PSプログラミングに慣れていないプログラマーにとっては、API(Application Programming Interface)をよく聞き、SDKとの関係を理解し​​たいことがあります。 :
DJI SDKの種類

DJI OFFICIALは、モバイル、オンボード、ビジュアルナビゲーションシステム用のモバイルSDK、オンボードSDK、およびガイダンスSDKを提供しています。
モバイルSDKは、Dajiangのハードウェア製品をほぼすべてサポートしています。現在、開発プラットフォーム(iOSとAndroid)の2つの主要なモバイルエンドシステムプラットフォームをサポートしています。アプリが開発中にMobile SDKのAPIの一部を呼び出し、無人機を制御するために使用できる単一の機能にパッケージするだけです。

 

  • Onboard SDKは、航空機搭載プラットフォーム(スマート計算、天頂シリーズのレンズ、フライトコントローラなど)の開発を重視し、ハードウェア開発の分野に属し、データ通信プロトコルをさらに扱い、コードストリームの送信を制御します。マンマシンの目的では、高い計算データ処理ニーズを持つ開発者のために、DJIのオンボードコンピュータ(スマートゲームなど)とOnboard SDKが適しています。
  • ガイダンスSDKは、その名前が示すように、ガイダンスナビゲーションシステムのSDKです。SDKを使用すると、リアルタイムの3Dベロシティ、IMUデータ、5ウェイ超音波距離など、さまざまな出力データをガイダンスハードウェアから取得できます。

 

Dajiang SDKで何ができますか?

これは、公式SDKが提供するAPIの種類と開発者の想像力に依存します。 SDKプロジェクトを促進するために、DJIは過去にSDK開発者コンテストやプログラミングマラソンを行ってきました。 開発者がDJI SDKでどのような「控え目な」ものを試しているのかを知るには、以下のリンクを参照してください。

過去のDJI開発者コンテスト

さらに、App StoreやGoogle Playで開発されたDJI SDKに基づいたアプリも多数あります。詳しくは、以前Zhong Defuが推奨していたソフトウェアを参照してください。

  • 無人機空中調査にはどのようなソフトウェアが使用されていますか? 皆様にお勧めの7種類です
  • DroneApps |ジェスチャーは変わる可能性がありますが、安全は依然として最優先事項です
  • DroneApps | Drone AerialsのDroneRepeat
  • あなたの子供とドローンプログラミングを学びますか? たぶんこのツールはあなたを助けることができます

どのような知識を準備する必要があるか(例としてMobile SDKを使用)

たとえば、測量とマッピング業界では、GISに関する知識を理解し、画像認識を開発する必要があります。OpenCVや画像処理などのアルゴリズムをマスターする必要があります。 一般的な状況の概要を以下に示します。

  • iOS / Androidアプリ開発 :これは、iOS / Androidプラットフォームの両方でSwift / Kotlinやその他の開発言語をマスターする必要があることを意味します。 これは実際には無人機とは関係ありませんが、SDKの開発は基本的にiOS / Androidプラットフォーム上のアプリであるため、最も基本的です。 この知識が習得されていない場合は、APIのドキュメントを読むのに大変なことになるでしょう。
  • DJI製品のコンポーネント :ドキュメントは英語で書かれているため、無人機の各コンポーネントの名前、目的、パラメータの範囲に精通している必要があります。 https://developer.dji.com/cn/mobile-sdk/documentation/introduction/product_introduction.htmlを参照してください。

SDKフレームワーク :ドローンには多くのコンポーネントとサブコンポーネントがあるため、各コンポーネントが継承する主要なカテゴリを理解する必要があります。

飛行制御理論 :無人機アプリケーションの開発は、3Dの開発、空間座標系(位置づけの責任者)の理解、ロール、ピッチ、ヨーの原則(モバイル担当)が開発に役立つでしょう。

 

  • APIドキュメント :最後の部分はSDKの中核部分です。さまざまなAPIを呼び出して、あなたのニーズや独自のアイデアに基づいて無人機を制御できます。 もちろん、コンテンツのこの部分は開発のために相談することができます。

 

すべての準備ができたら、SDKが提供するサンプルコードを実行してみてください。詳細については、 https : //developer.dji.com/cn/mobile-sdk/documentation/quick-start/index.htmlを参照してください。

要約

セキュリティの理由から、Dajiangは完全にオープンソースではありません。高地やノーフライゾーンなどのセキュリティ問題に関しては、開発者はSDKを使用してこれらの制限を克服する方法がありません。 さらに、オープンソースの飛行制御(Pixhawkなど)と比較して、Dajiangの飛行システムはより安定しており、開発者はより自信を持って開発することができます。

Mobile SDKをベースとした開発は本質的にアプリケーションを作成することですが、それが制御する製品は空中で移動する必要があるため、まだ公共の安全のための脅威が存在するため、実際のマシンテストの前にまずシミュレータ上に移動する必要があります。ファンのテストは、プログラムの安定性をよく理解した上で、実際のマシンテストのためのスペースを空ける場所を見つけます。

最後に、皆さんが最初の無人機アプリの「Hello World」を書いたことをうれしく思います。

QR Code