ACCESS Advent Calendar 2021 23日目の記事です。
はじめに
pymavlinkを使って、QGroundControlにHello World!という文字列を簡単に表示させる記事です。
Windows10で確認しています。pymavlink自体はpythonが動く環境であれば利用できますが、動作確認に前回の環境を使用していますので、動作確認をする場合は用意して下さい。お好みのドローンやGCSを使用しても問題ありません。
pymavlink
https://github.com/ArduPilot/pymavlink
pymavlinkは、MAVLinkのPython実装です。ライブラリ群だけでなく、便利なツールも存在しています。
GCSやドローンのコンパニオンコンピュータ、その他多くのMAVLinkを使用するアプリに使用できます。個人的には、ドローンやGCSの動作確認を簡単に行いたい場合に利用しています。
インストール
Pythonがない場合、https://www.python.org/ よりPythonをインストールします。
Pythonをインストール後、コマンドプロンプトで下記コマンドを実行します。
pip install pymavlink
これだけです。簡単ですね。
スクリプト
QGroundControl上に、Hello World!と表示させるスクリプトです。
from pymavlink import mavutil
connection = mavutil.mavlink_connection('udpout:localhost:14550', source_system=1)
connection.mav.statustext_send(mavutil.mavlink.MAV_SEVERITY_EMERGENCY, "Hello World!".encode())
動作確認
スクリプトを実行してみます。予めこの手順に従い、SITLとQGroundControlを起動しておきます。
続いて、コマンドプロンプトで下記コマンドを実行します。
cd (test.pyのあるディレクトリ)
py test.py
実行すると、QGroundControl上に黄色いウィンドウと共にHello World!が表示されます。
おわりに
pymavlinkで簡単なメッセージを表示してみました。これ以外にも色々なMAVLinkメッセージやコマンドを簡単に送ることができるので、https://github.com/ArduPilot/pymavlink で色々試してみて下さい。