우선 MAVlink에 대해서 설명하고자 한다.
MAVlink란 Micro Air Vehicle Link라는 뜻으로 드론과 통신하기 위한 프로토콜을 의미한다. 우리 팀은 캡스톤을 진행하는 와중에 대부분의 드론들은 이 MAVlink를 통해 통신을 한다는 것을 알게 되었다. 아래는 PX4의 아키텍쳐이다. Ground station과 Telemetry radio가 MAVLink를 통해 통신하는 것을 알 수 있다.

아래는 MAVLink version 2.0의 프로토콜 구조다. 1.0 버전도 있는데, 드론이 1.0 버전이고 MAVLink가 2.0일 경우 통신이 가능하지만, 역은 안된다고 한다.


이를 python에서 사용할 수 있도록 모듈로 되어있는데 이를 pymavlink라고 한다.
https://www.ardusub.com/developers/pymavlink.html
sudo apt update
sudo apt -y upgrade
sudo apt install -y python3-pip
pip3 install mavproxy
잘 설치되었는지 확인하려면,
python
import pymavlink
print(pymavlink.__doc__)
//output
Python MAVLink library - see http://www.qgroundcontrol.org/mavlink/mavproxy_startpage
from pymavlink import mavutil // import
# Create the connection
master = mavutil.mavlink_connection('udpin:0.0.0.0:14550')
# Wait a heartbeat before sending commands
master.wait_heartbeat()
# master.mav.manual_control_send(master.target_system,
x, y, z, r, btn)
master.mav.manual_control_send( master.target_system,
500,-500, 250, 500, 0)
잘 보고 갑니다~