Pixhawk 常见的两种固件,PX4还是APM。比较如下:
固件 | PX4 | APM |
---|---|---|
官网 | Dronecode | Ardupilot |
主要开发软件 | QGroundControl | Mission Planner |
使用外部控制,比如搭载一个树莓派和Pixhawk 通信,此处只说基于串口的MAVROS方式。
一、PX4
对于PX4 固件,自己用一个USB转TTL 连接树莓派与飞控,测试通过。
如果PX4 固件为 v1.8.2,能够找到
SYS_COMPANION
设置成所需波特率即可,比如57600或921600。
但是对于 v1.10.1,根本没有这个参数,这页教程给了设置方法:
MAV_2_CONFIG = TELEM 2
MAV_2_MODE = Onboard
MAV_2_RATE= 921600 baud
MAV_2_FORWARD = True
因为协同计算机一般都放在TELEM 2接口,需要MAVLink 协议 2版本;
Onboard 选项说明是外部控制模式;
波特率官网推荐 921600,但我没有成功,使用57600可行;
FORWARD 如果启用,如果消息是广播的或目标不是驾驶仪,则将传入的MAVLink消息转发到其他MAVLink端口。
二、APM固件
不用USB 转TTL,使用树莓派UART串口,可以参考这页官网教程。
飞控参数设置为
SERIAL2_PROTOCOL = 2
SERIAL2_BAUD = 921
LOG_BACKEND_TYPE = 3 (不一定需要)
实际上,SERIAL2 (即TEMEM2)协议就是默认为 2(MAVLink 2);
921 的意思是波特率为 921600,如果希望设置为 57600,使用 57;
LOG_BACKEND_TYPE = 3 如果没有使用APSyn,不用管,见这页官网教程。
LOG_BACKEND_TYPE = 3 if you are using APSync to stream the dataflash log files to the RPi