MAVSDK-Python 샘플 프로그램 분석

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

1.개요

MAVSDK-Python 프로그래밍을 가장 빨리 익히는 방법은 샘플 프로그램을 분석하는 것입니다.

MAVSDK-Python 샘플 프로그램 다운로드 및 실행

$ cd
$ git clone https://github.com/maponarooo/mavsdk-python-tutorials

#실행
$ cd mavsdk-python-tutorials
$ python3 takeoff_and_land.py

2. 샘플 프로그램 분석

교재의 MAVSDK-Python 샘플 프로그램은 교육용 VM의 경우아래 경로에 있습니다.

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

주요 Class와 플러그인에 대한 API는 “MAVSDK-Python API reference” 사이트를 참고.

프로그램명

MAVSDK Class & Function

설명

takeoff_and_land.py

goto.py

•class mavsdk.action.Action(async_plugin_manager)

•aync arm()

•aync takeoff()

•aync land()

•async goto_location(latitude_deg, longitude_deg, absolute_altitude_m, yaw_deg)

이륙, 착륙 실행

GPS의 특정 위치로 기체를 이동

mission.py

•class mavsdk.mission.Mission(async_plugin_manager)

•async upload_mission(mission_plan)

•async start_mission()

•async set_return_to_launch_after_mission(True)

미션을 만들고 실행

telemetry.py

•class mavsdk.telemetry.battery()

•class mavsdk.telemetry.gps_info()

•class mavsdk.telemetry.in_air()

•class mavsdk.telemetry.position()

텔레메트리 정보를 획득

offboard_position_ned.py

•class mavsdk.offboard.Offboard(async_plugin_manager)

•async set_position_ned(position_ned_yaw)

오프보드 위치 제어 (NED 기준)

offboard_velocity_body.py

•async set_velocity_body(velocity_body_yawspeed)

오프보드 속도 제어 (BODY 기준)

offboard_velocity_ned.py

•async set_velocity_ned(velocity_ned_yaw)

오프보드 속도 제어 (NED 기준)

Offboard_position_velocity_ned.py

•async set_position_velocity_ned(position_ned_yaw, velocity_ned_yaw)

오프보드 위치, 속도 제어 (NED 기준)

Last updated