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

Last updated