ArduPilot開源飛控之MAVProxy深入研讀系列 - 1基本操作
- 1. 源由
- 2. 基本操作
- 2.1 二進制安裝
- 2.2 源代碼安裝
- 2.3 硬鏈接飛控
- 2.4 軟連接飛控
- 3. 啟動參數
- 3.1 輸入
- 3.2 輸出
- 3.3 日志
- 3.4 交互
- 3.5 其他
- 4. 參考資料
1. 源由
玩開源,就盡量不要用Windows/Android/iOS/MaxOS什么,盡量堅持本心用Linux。好吧MacOS其實和Linux是有點類同,不過還是Ubuntu/Debian之類的純Linux。接觸越多,就會知道開源不要搞復雜,要簡單化,都是一群牛逼的人搞出來的,人家商業目的不強,所以不會做各種系統的兼容。Linux當然就是首選平臺。
2. 基本操作
前面已經說了源由,首選Linux,那么我們就是在Linux上的基本操作。
Linux系統安裝,這里就略過了。以前有過的伴機電腦常用的系統安裝,可以參考鏈接:
- Raspbian鏡像無頭燒錄
- Linux 36.2@Jetson Orin Nano之基礎環境構建
- CB2-2CARD的openSUSE安裝&NAS環境配置
2.1 二進制安裝
- Ubuntu, Raspian
# sudo apt-get install python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python3-pygame
# pip3 install PyYAML mavproxy --user
# echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
- Fedora
# sudo dnf install python3-devel python3-opencv python3-wxpython4 python3-pip python3-matplotlib python3-pygame python3-lxml python3-yaml redhat-rpm-config
# pip3 install PyYAML mavproxy --user
# echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
- Upgrade
# pip3 install mavproxy pymavlink --user --upgrade
2.2 源代碼安裝
# pip3 install mavproxy --user git+https://github.com/ArduPilot/mavproxy.git@master
2.3 硬鏈接飛控
所謂硬鏈接就是有硬件直接連著飛控。
友情提示:很多開發板那個唯一的串口或用作串口命令行輸出,或用作其他用途做個軟件串口,各種配置坑。建議不要折騰,一開始直接上USBTTL串口板。
# mavproxy.py --master=/dev/ttyUSB0
注:沒有其他USB串口板子的情況下,一般都是這個端口。實在不行就去/dev/ttyUSB*
搜索下設備。
2.4 軟連接飛控
所謂軟連接就是沒有硬件直接相連,通常是通過IP網絡。
- own IP address or loopback address
# mavproxy.py --master=tcp:192.168.1.1:5760
# mavproxy.py --master=udp:192.168.1.1:14550
- remote IP address
# mavproxy.py --master=udpout:10.10.1.1:14550
# mavproxy.py --master=tcpout:10.10.1.1:14550
3. 啟動參數
通常MAVProxy進程啟動的參數有以下幾個:
3.1 輸入
–master
靠近或者與飛控鏈接的端口
–baudrate
串口波特率,TCP/UDP就沒有這個參數
–rtscts
使用RTS/CTS硬件流控
3.2 輸出
–out
轉發標記,后面跟協議類型、IP地址、端口
3.3 日志
–logfile
本地保存的MAVLink日志文件
–append-log
追加方式保存日志
–mission
日志將被記錄為/Logs/aircraftname/missionname
;而非默認的/Logs/aircraftname/currentdatetime
3.4 交互
–non-interactive
不啟動交互界面
–console
命令行交互界面
–map
地圖交互界面
–daemon
直接以后臺守護進程方式啟動,無交互界面
3.5 其他
–cmd
MAVLProxy模塊命令
–mavversion
指定MAVLink API的版本;反之則根據實際情況自動協商
–version
顯示MAVProxy版本信息
–moddebug
DEBUG輸出控制:0,沒有輸出;3,所有信息輸出
4. 參考資料
【1】ArduPilot開源飛控之MAVProxy深入研讀系列
【2】ArduPilot開源飛控之MAVProxy簡介
【3】ArduPilot開源飛控系統之簡單介紹