mavros连接px4失败的usb-ttl原因

问题描述:

最近在搞mavros,以方便协处理器和pixhawk通讯,在按照官网教程安装mavros,设置px4,连接硬件之后发现mavros卡在中间下不去:

MAVROS started. MY ID 1.240, TARGET ID 1.1

正常的应该是:

CON:Got HEARTBEAT, connected

先回顾一下都做了什么:

1,硬件:

usb转ttl线与飞控TELEM2接线

2,软件:

协处理器:按照教程按照mavros

PX4:设置以下参数:

MAV_1_CONFIG = TELEM2

MAV_1_FORWARD = Disable

MAV_1_MODE = Onboard

MAV_1_RATE = 2048B/s

SER_TEL2_BUAD = 921600 8N1

分析:

我发现之前使用的ch340芯片的串口最大只能支持115200,后来我换了一块FTDI芯片的(会贵一点,二十来块,也是官网教程里面推荐的),就能支持921600了,好处是我的ros下的topic的频率大大加快了,比如imu_raw一开始只有4Hz,现在可以达到接近40Hhz了.还有一个问题是我的MAV_1_RATE 设置错了,按照默认的设成0是最好的,飞控自己会算,我当时没有理解,可能也导致消息频率变慢。

解决方法:

1,使用原来的芯片,改参数:

SER_TEL2_BUAD = 115200 8N1 

MAV_1_RATE = 0B/s

2,换串口芯片,FTDI的,可以:

SER_TEL2_BUAD = 921600 8N1

MAV_1_RATE = 0B/s

总结:

波特率,串口权限,串口名3者要特别注意,在使用串口的时候。

你可能感兴趣的:(UAV)