飞控如何接入GPS

来自无人智胜
跳转到导航 跳转到搜索

概述

本文主要介绍如何在ArduPilot飞控上设置微空科技M10 GPS含罗盘,GPS(全球定位系统)为无人机提供至关重要的位置、速度和时间信息,是实现自主飞行、定点悬停、返航等功能的基础。

推荐选择Ublox的GPS方案

Ublox是一家瑞士公司,其设计的GPS接收机芯片方案在消费级和工业级无人机领域被广泛采用。从早期的5/6代到主流的8代,再到当前的M9/M10系列,Ublox通过持续的技术迭代,在定位精度、数据输出和协议支持上满足了无人机飞控系统的苛刻要求,这是其他多数GNSS方案(尤其是早期国产方案)难以全面达到的。

Ublox GPS接收机在无人机导航领域占据主导地位。本文探讨了其在行业中近乎垄断的原因,并详细对比了其第九代(M9)与第十代(M10)产品的技术差异与适用场景。

无人机领域Ublox的主导地位

Ublox方案能成为无人机(特别是开源飞控如ArduPilot、PX4)事实上的标准,主要基于以下几个技术优势:

卓越的综合性能指标

无人机对GPS性能的要求是多维度的,包括:

  • 定位精度:分为**绝对精度**(影响返航点精度)和**相对精度**(影响悬停稳定性)。Ublox在这两项,尤其是短时相对精度上表现出色。
  • 数据更新率:高更新率(如5Hz, 10Hz)有助于飞控在高速机动中更准确地估算速度和位置。Ublox方案可提供稳定、可靠的高频输出。
  • 速度精度:特别是三维速度矢量(NED)的精度,对飞行器的状态估计至关重要。

专有的UBX协议

与仅输出标准NMEA-0183语句的通用模块相比,Ublox的**UBX二进制协议**提供了对无人机飞控极为关键的数据:

  • NED速度:直接输出高精度的北-东-地(或东-北-天)三维速度矢量,其精度远高于对经纬度进行数值微分得到的结果。
  • 精度估计值:提供水平精度估计(`hAcc`)和垂直精度估计(`vAcc`),比传统的水平精度因子(HDOP)等稀释精度值更具实际参考意义。
  • 天向速度:虽然GPS的绝对高度数据误差较大,但UBX协议提供的**天向速度**精度很高,可有效用于辅助气压计进行高度估计,增强在风扰下的高度保持能力。

现代飞控算法(如ArduPilot 4.3+版本)已深度集成并依赖这些高精度数据,特别是天向速度,从而在事实上形成了对Ublox或兼容UBX协议模块的“绑定”。

M9与M10代际技术对比

此处对比通常指基于u-blox第九代芯片(如NEO-M9N)和第十代芯片(如NEO-M10S)设计的模块。

模板:对比表

注1:实际使用中,在四模全开模式下,M9模块稳定输出频率通常难以达到标称的25Hz,超过13Hz可能出现数据异常,建议根据实际测试设置。
注2:M10模块虽然可配置为10Hz,但其原始测量数据的采样率可能约为5Hz,输出为10Hz时存在插值。
注3:两者在标准定位精度(CEP)上通常处于同一水平(约2.5米),但M9在高动态和高速更新下的精度保持能力更强。

选择指南:M9 还是 M10?

选择取决于具体应用场景和对性能、功耗、成本的权衡。

推荐使用 M9 的场景

  1. **高性能多旋翼与固定翼**:需要最佳悬停稳定性、航线跟踪精度和高速飞行状态下的状态估计。
  2. **无罗盘(磁力计)导航**:在ArduPilot 4.3+版本中,固定翼使用“GSF”(高斯求和滤波)算法融合IMU与GPS估计航向时,高精度、高更新率的GPS(如M9)能带来更佳效果。
  3. **对GPS数据率有更高要求**的应用,如某些科研或特种飞行平台。

推荐使用 M10 的场景

  1. **穿越机(FPV Racing Drone)**:主要用于“GPS救援”(GPS Rescue)功能,对持续功耗和尺寸更敏感,性能需求相对较低,M10足够且更具能效优势。
  2. **长航时无人机**:对功耗极其敏感的任务,M10的超低功耗可显著延长续航。
  3. **微型无人机或对重量、空间有严苛限制**的设备。

未来发展

Ublox的领先地位正受到挑战。包括**华大北斗**、**中科微**、**国科微**、**西南集成**等在内的国内芯片企业正在GNSS领域快速进步,其产品在部分指标上已具备竞争力。未来,无人机市场的GNSS方案选择有望更加多元化。

设置步骤

硬件连接

正确连接GPS模块至飞控是第一步。通常需要连接VCC(电源)、GND(地线)、TX(发送)、RX(接收)等线路。

飞控与GPS接线
飞控与GPS接线

注意

  1. Rx Tx接线应该交叉
  2. 有罗盘的GPS,需要接入SCL SDA(无需交叉!)

P.S具体引脚定义请参考您的飞控和GPS模块说明书。

软件配置

通常无需设置,即可使用

在ArduPilot地面站(如Mission Planner)中进行如下设置:

  1. 连接飞控与地面站软件。
  2. 进入“配置/调试” -> “全部参数”列表。
  3. 搜索并设置以下关键参数:
    1. `GPS_TYPE`: 根据您的GPS型号选择对应的协议(例如,对于UBLOX M8N/M10,通常选择“1”或“UBLOX”)。
    2. `GPS_AUTO_CONFIG`: 建议设为“1”(启用),以便飞控自动配置GPS模块。
    3. `GPS_BAUD`: 设置与GPS模块通信匹配的波特率(例如,38400)。
  4. 点击“写入参数”保存设置,然后重启飞控。
  5. 在飞行数据页面的“操作状态”中查看GPS状态,确保已获取到足够的卫星数量和有效的3D定位。

注意事项与故障排除

  • 首次定位时间(TTFF):在室外空旷环境下,冷启动后首次获取定位可能需要较长时间(1-2分钟),请耐心等待。
  • 干扰问题:确保GPS天线远离图传、电调、电源线等可能产生电磁干扰的部件,并保持天线面朝上。
  • 固件更新:部分M10模块可能需要更新到最新的固件以获得最佳性能和对ArduPilot的完全兼容性。
  • 合法性:请注意,在任何国家和地区使用无人机GPS信号都应遵守当地法律法规。文中提及的“非法捕获”等情形属于违规操作,应予杜绝。

常见问题

GPS:无GPS,未成功接入,检查线路和设置

无GPS
无GPS

GPS:未定位,成功接入GPS,未完成搜星,或者处于室内,在室外空旷环境下测试,冷启动后首次获取定位可能需要较长时间(1-2分钟),请耐心等待。

GPS未定位
GPS未定位

关于接入罗盘

有罗盘的GPS,需要接入SCL SDA,成功接入可以在指南针页面看到罗盘信息

当前识别到2个QMC5883L罗盘,External代表外置罗盘即GPS的自带罗盘,Bus 0上的罗盘是飞控内置罗盘