🚀
PX4 - MAVSDK Python 프로그래밍
  • MAVSDK 개요
  • 프로그래밍 전제 조건
  • MAVSDK Python 개발 환경 설정
  • MAVSDK 라이브러리 클래스
  • Python "asyncio" 이해
  • MAVSDK-Python 샘플 프로그램 분석
  • OFFBOARD 모드 이해하기
  • OFFBOARD 위치 제어 (NED 기준)
  • OFFBOARD 속도 제어 (BODY 기준)
  • OFFBOARD 속도 제어 (NED 기준)
  • OFFBOARD 위치, 속도 제어 (NED 기준)
  • Keyboard 입력을 이용한 기체 이동
  • 문제 해결
  • MAVSDK Server
  • 교육 안내
Powered by GitBook
On this page
  • MAVSDK Python 설치
  • 최신 버전 확인
  • 동작 확인
  • MAVSDK-Python 샘플소스 위치 (교육용 VM)
  • PX4 시뮬레이터 실행
  • QGroundControl 실행

MAVSDK Python 개발 환경 설정

저작권: 쿼드(QUAD) 드론연구소 https://smartstore.naver.com/maponarooo

MAVSDK Python 설치

#MAVSDK-Python Git 저장소 복제
cd ~
git clone https://github.com/mavlink/MAVSDK-Python --recursive
cd MAVSDK-Python

#필수 구성 요소 설치
cd proto/pb_plugins
pip3 install -r requirements.txt

cd ../..
pip3 install -r requirements.txt -r requirements-dev.txt

#코드 생성
./other/tools/run_protoc.sh

#Jetson이나 Raspberry Pi 같은 ARM 임베디드 컴퓨터인 경우 아래 환경변수 설정 
#<ARM embedded architecture> : armv6l, armv7l및 aarch64. 32bit OS는 armv7l, 64비트 배포판을 사용하는 경우는 aarch64 입니다.
export MAVSDK_SERVER_ARCH=aarch64 #일반 PC는 안해도 됨

python3 setup.py build
pip3 install -e .

#MAVSDK-Python 설치 확인
pip3 show mavsdk

MAVSDK-Python은 Python3에서 지원 됩니다.

최신 버전 확인

MAVSDK는 PX4 펌웨어의 버전에 따라 최신 버전으로 갱신해 주어야 정상적으로 동작 합니다.

최신 버전의 확인은 MAVSDK-Python Release 페이지에서 확인할 수 있습니다.

동작 확인

패키지에는 연결 시 자동으로 시작되는 mavsdk_server (이전에는 "backend"라고 함)가 이미 포함되어 있습니다(예: await drone.connect()). 실제 사용 사례를 통해 확인해 보세요.

connect.py

import asyncio
from mavsdk import System

...

drone = System()
await drone.connect(system_address="udp://:14540")

참고: System()클래스는 두개의 명명된 매개변수( mavsdk_server_address및 port) 를 사용합니다 . 비워두면 기본값은 각각 None및 50051이며 mavsdk_server -p 50051 가 자동 실행 됩니다. 만약 mavsdk_server_address가 "localhost"로 지정되면, await drone.connect()는 임베디드mavsdk_server를 시작하지 않고 이 주소에서 실행되는 서버에 연결을 시도합니다.

이는 MAVSDK-Python 스크립트가 실행되는 위치와 다른 장소에서 mavsdk_server가 실행되는 경우에 유용합니다 .

MAVSDK-Python 샘플소스 위치 (교육용 VM)

cd ~/quad-dev/MAVSDK-Python/examples

PX4 시뮬레이터 실행

cd ~/quad-dev/PX4-Autopilot
make px4_sitl jmavsim

QGroundControl 실행

~/Desktop/QGroundControl.AppImage
Previous프로그래밍 전제 조건NextMAVSDK 라이브러리 클래스

Last updated 4 months ago

Releases · mavlink/MAVSDK-PythonGitHub
Logo