mavlink/MAVSDK

API and library for MAVLink compatible systems written in C++

해결하는 문제

MAVSDK는 MAVLink와 상호작용하기 위한 고수준의 사용하기 쉬운 API를 제공하여 드론 및 기타 무인 이동체 제어 과정을 간소화합니다. 원시 MAVLink 통신의 복잡성을 제거하고, 개발자가 이동체 제어 및 모니터링을 구현할 수 있는 더 간단한 인터페이스를 제공합니다.

작동 방식

이 프로젝트는 기본적인 MAVLink 통신을 처리하는 C++ 핵심 라이브러리와 기능별 플러그인 라이브러리를 중심으로 구축되었습니다. 언어 간 API를 정의하기 위해 proto IDL을 사용합니다.

언어에 따라 바인딩은 두 가지 방식으로 구현됩니다:

  • 직접 방식: C, Python, Kotlin 바인딩은 C 래퍼를 통해 C++ 라이브러리를 호출하며, 별도의 프로세스나 gRPC가 필요하지 않습니다.
  • gRPC 경유: 다른 언어 클라이언트(Swift, Java, Go 등)는 로컬 포트에서 API를 노출하는 mavsdk_server 프로세스와 통신합니다.

대상 사용자

MAVLink 호환 하드웨어와 통신하기 위해 크로스 플랫폼(Linux, macOS, Windows, iOS, Android)을 지원하는 경량 SDK가 필요한 무인 이동체 애플리케이션 개발자.

주요 특징

  • 다국어 지원: Python, C++, C, Kotlin, Swift, Java 등을 위한 관용적인 API를 제공합니다.
  • 크로스 플랫폼: 데스크톱 및 모바일 운영 체제 전반에서 작동합니다.
  • 유연한 API: 동기식(블로킹) 및 비동기식(콜백 기반) 호출을 모두 지원합니다.
  • 표준 준수: MAVLink 표준 및 정의를 완벽하게 준수합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트