Pixhawk--GPS基本知识

2022-07-21  本文已影响0人  WilsonGuo

PX4的全球导航卫星系统配置

使用Pixhawk 系列飞行控制器时,我们建议使用组合的 GPS + Compass,安装在尽可能远离电机/ESC 电源线的位置 - 通常安装在基座或机翼(用于固定翼)上。内部罗盘在较大的车辆(例如 VTOL)上可能很有用,在这种情况下,可以通过将 Pixhawk 安装在远离电源线的地方来减少电磁干扰。在小型车辆上,几乎总是需要外部指南针。

下面提供了“标准”GPS 配置。PX4 或制造商设备文档(例如Trimble MB-Two > 配置)中可能会提供额外的设备特定配置。

       提醒:PX4 预期的 GPS 协议默认为 u-blox(默认情况下,不会检测到其他 GPS 类型,如 Trimble、Emlid、MTK)。该协议可以使用GPS_x_PROTOCOL进行配置。

    

GPS协议选择

默认值:1,即u-blox的UBX格式

设置波特率:SER_GPS1_BAUD

配置主 GPS

Pixhawk 上的 GPS 配置对用户来说是透明的——只需将 GPS 模块连接到标有GPS的端口,一切都应该正常工作。

提醒:默认串行端口配置适用于大多数设备。如果您使用Trimble MB-Two,您需要修改配置以明确将速率设置为 115200 波特。

飞控上常用的GPS型号:

目前,用于多旋翼无人机中的GPS,常见的是Ublox的NEO-M8系列

输出数据可配置为以下三种协议:

     NMEA

     ublox

     RTCM

其中NMEA和RTCM协议均为标准协议


精度和频率:

水平的定位精度,如图所示,一般设置在GPS模式时,定位精度为2.5m左右

输出频率,在GPS模式时,最大输出10hz


GPS的输出协议

以M8N模块为例,有NMEA、UBX、RTCM3种

默认NMEA、UBX两种协议都已使能,

但是输出的只有NMEA协议,这个协议是ASCII码形式输出,如果与电脑上位机进行通讯时,用这种方式解析比较方便,

但如果是嵌入式单片机(飞控一般属于此类)与GPS模块进行通信,一般用UBX协议,其输出格式是二进制。

UBX数据帧结构

前两个字节是同步头,接收模块通过查找这两个同步头,可以确定这包数据按照什么格式进行接收。

CLASS字节表明接收的数据组信息;

IP字节表明接收的数据组里的什么信息;

长度信息用两个字节表示,表明数据包里有多少个数据,且是小端模式(大小端模式,主要是说,比如一个16位的数据在传输过程中,将高8位的数据放在前面还是后面)。

PAYLOAD存放的即数据信息。

CK_A和CK_B是两个字节的校验位,对CLASS到PAYLOAD的数据进行校验,为了确保数据包在传输过程中数据的正确。


设置GPS参数

用USB转串口模块,将GPS模块与电脑相连,用官方给的u-center上位机进行设置。

实际应用中,我们可以不需要解码出这么多信息,常用的如下:

经纬度、海平面高度 lat lon alt

锁定类型 fix_type

水平/垂直精度估计 eph epv

水平/垂直精度因子 hdop vdop

GPS噪声值 noise_per_ms

NED系速度 vel_n_m_s vel_e_m_s vel_d_m_s

卫星数 satellites_used

具体可参加无人机飞控相关的GPS知识小结@across


ArduPliot中切换GPS协议

由uBlox协议更换为NMEA

第一步:

默认GPS_TYPE=1,GPS模块输出UBLOX协议

修改为GPS_TYPE=5,GPS模块输出NMEA协议

第二步:

ArduPliot固件中GPS默认的串口为3

SERIAL3_PROTOCOL   5    输入设备类型为GPS

SERIAL3_BAUD  38  通信波特率

1:1200   2:2400   4:4800   9:9600   19:19200   38:38400   57:57600  111:111100 115:115200   230:230400   256:256000    460:460800   500:500000   921:921600    1500:1500000 

上一篇 下一篇

猜你喜欢

热点阅读