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开源飞控系统之简单介绍