説明
MAVSDK は、MAVLink に高レベルの API を提供するライブラリのセットです。それは次のことを目指しています。
- 同期 (ブロッキング) API 呼び出しとコールバックを使用した非同期 API 呼び出しの両方をサポートするシンプルな API で使いやすい。
- 速くて軽い。
- クロスプラットフォーム (Linux、macOS、Windows、iOS、Android)。
- 拡張可能 (MavlinkPassthrough プラグインを使用)。
- MAVLink の標準/定義に完全に準拠しています。
複数のプログラミング言語をサポートするために、MAVSDK は C++ で gRPC サーバーを実装し、さまざまなプログラミング言語のクライアントが接続できるようにします。 API は、proto IDL (proto ファイル) によって定義されます。このアーキテクチャでは、クライアントを慣用的なパターンで実装できるため、エンド ユーザーが期待するツールと構文を使用できます。たとえば、Python ライブラリはpip
を使用して PyPi からインストールできます。
MAVSDK C++ 部分は次のもので構成されます。
- 基本的な MAVLink 通信を実装するコア ライブラリ。
- 機能に固有の MAVLink 通信を実装するプラグイン ライブラリ。
- 言語クライアント用の gRPC サーバーを実装する mavsdk_server。
リポジトリ
- MAVSDK - C++ コアのソース コードを含むこのリポジトリ。
- MAVSDK-Proto - 言語クライアントと mavsdk_server の間で gRPC によって使用される proto ファイルとして指定された API の共通インターフェイス定義。
- MAVSDK-Python - Python 用 MAVSDK クライアント (Pypi 2019 で最初にリリース)。
- MAVSDK-Swift - Swift 用 MAVSDK クライアント (運用環境で使用、2018 年に最初にリリース)。
- MAVSDK-Java - Java 用 MAVSDK クライアント (2019 年に MavenCentral で最初にリリース)。
- MAVSDK-JavaScript - JavaScript の MAVSDK クライアント (概念実証、2019)。
- MAVSDK-Rust - Rust 用の MAVSDK クライアント (概念実証、2019)。
- MAVSDK-CSharp - CSharp 用の MAVSDK クライアント (概念実証、2019)。
- ドキュメント - MAVSDK ドキュメント ソース。
ドキュメント
C++ ライブラリの使用方法については、MAVSDK ドキュメントを参照してください (他のプログラミング言語へのリンクはドキュメントのサイドバーから見つけることができます)。
クイックリンク:
- はじめる
- C++ API の概要
- APIリファレンス
- ライブラリのインストール
- 図書館の建設
- 例
- よくある質問
ライセンス
このプロジェクトは、寛容な BSD 3 条項に基づいてライセンスされています。LICENSE.md を参照してください。
メンテナンス
このプロジェクトはボランティアによって維持されています。
- ジュリアン・オーズ (スポンサー、コンサルティング)。
- ジョナス・ヴォーテラン
メンテナンスはどの企業からも後援されていませんが、ドキュメントとフォーラムのホスティングは Dronecode Foundation によって提供されています。
サポートと問題
質問がある場合は、フォーラムで質問することを検討してください。
問題が発生した場合、バグを発見した場合、または機能をリクエストしたい場合は、問題を作成してください。それがあなたにとって重要または緊急である場合は、メンテナーのいずれかを後援して、その問題を ToDo リストの上に上げてもらうことを検討してください。
プライベート サポートが必要な場合は、有料コンサルティングを検討してください。
(ここに掲載したい場合はプルリクエストを作成してください。)