ArduPilot RTK 厘米级定位:第一次固定解配置教程
2026/9/11 2:39:12 网站建设 项目流程

ArduPilot RTK 厘米级定位:第一次固定解配置教程

【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot

位置保持模式悬停,飞机却慢慢漂出 2 米,精度作业直接报废。ArduPilot RTK 高精度定位能把水平误差从米级压到厘米级。这篇教程带你配出第一次 RTK 固定解,并告诉你出问题先查哪里。

这个方案能帮你解决什么

  • 位置误差 <5 cm:RTK 固定解下,悬停位置从米级漂动变为厘米级稳定
  • 航向更可靠:移动基线方案下,天线基线可直接提供航向,降低对罗盘的依赖
  • IMU 漂移被实时纠正:EKF 每 100 ms 用一次干净的位置解拉回滤波状态
  • 免手动拨参GPS1_AUTO_CONFIG=2自动完成协议、数据率配置,串口接线后重启即可

动手前 10 分钟自查

先查硬件和链路,再碰参数。90% 的「RTK 不固定」是接线或链路问题,不是滤波问题。

类别检查项合格标准
硬件基站与移动站接收器型号同厂商支持 RTCM3,如 u-blox M9N/M10P
硬件基站天线位置开阔、无遮挡,距 rover 建议 <20 km
链路校正值传输串口波特率≥57600,链路稳定无丢包
链路接收器接在飞控 GPS 串口TX/RX 交叉,供电独立于电调
参数GPS1_TYPE角色设置基站 =17,移动站 =18,不要混
参数AHRS_EKF_TYPE必须为 3(EKF3)

第一次固定解的最小配置步骤

按下面 6 步走完,正常情况下 5~15 分钟内应出现固定解(GPS.Status = 6)。

  1. 接线:基站接收器接基站主机 GPS 串口,移动站接收器接飞控 GPS 串口,校正值链路(串口或电台)打通
  2. 配基站端:按下方参数块设置基站参数,重启等待基站自身出固定解
  3. 配移动站端:设置GPS1_TYPE=18,确认 EKF3 已启用
  4. 看状态:地面站中GPS.Status从 5(浮点)变 6(固定),HAcc降到 <0.1 m
  5. 看融合:EKF 报告 GPS 观测被接受(日志NAV消息无 GPS reject)
  6. 看收敛:记录从开机到固定的秒数,>60 秒按故障表排查

参数最小集(两个机载端各一份):

# 移动站端(你的飞机/车) GPS1_TYPE=18 # u-blox RTK 移动站 GPS1_AUTO_CONFIG=2 # 自动配置协议与波特率 GPS1_RATE_MS=100 # 10Hz 位置输出 # 基站端(基站那台飞控) GPS1_TYPE=17 # u-blox RTK 基站 GPS1_AUTO_CONFIG=2

ArduPilot EKF 参数调优:先调这 5 个

别一次改一堆。固定解出现后,按这张表从大到小逐个调,每改一个飞一次确认。

参数默认值建议值为什么调
GPS1_TYPE0 (AUTO)18 / 17显式声明角色,自动识别可能判错
GPS1_AUTO_CONFIG22保持自动配置,手动拨协议易漏项
GPS1_RATE_MS20010010Hz 让 EKF 更及时纠偏,RTK 链路带宽够
EK3_GLITCH_RAD2510固定解很干净,收紧异常半径,IMU 漂移更快被拉回
EK3_POSNE_M_NSE0.50.1这是 GPS 位置噪声下限,固定解精度 <5 cm 就让它更信 GPS

注意:EK3_POSNE_M_NSE只在你确认长期固定解时才下调。若经常掉回浮点解,保持 0.5,否则浮点阶段(精度退化到 0.5~1 m)反而会被过度信任。

不同载体的配置差异

同一套 RTK 链路,三类载体的滤波参数侧重不同:

载体关键差异理由
多旋翼EK3_GLITCH_RAD设 10,GPS1_RATE_MS100悬停场景静止误差明显,收紧纠偏收益最大
固定翼EK3_GLITCH_RAD保持 25,速率 10Hz~20Hz速度高,过小的 glitch 半径会被机动误触发重置
水下浮出水面前 GPS 不可用,EKF 依赖 DVL + 深度只在潜航器上浮段融合 GPS,EK3_GLITCH_RAD从 25 起

收敛慢、漂位置?先查这里

现象可能原因处理动作
固定解等待 >10 分钟基站还没出固定解,或校正值没到移动站先确认基站Status=6,再查校正值链路是否通
浮点解精度卡在 0.5~1 m 不收敛基站与 rover 距离过远或基线超过 10 km换更近的基站;>10 km 需改 PPP 模式
固定后位置仍有 10~20 cm 抖多路径反射,天线贴在金属壳上天线加支架抬高,远离机臂与电池仓
固定解反复掉到浮点校正值链路丢包,电台距离/遮挡提高电台功率或天线高度,检查串口波特率
HAcc显示 0.05 但 EKF 仍报 GPS reject位置噪声下限或 glitch 半径不匹配按上一节调EK3_POSNE_M_NSEEK3_GLITCH_RAD
完全无定位GPS1_TYPE设为 0 且自动识别失败手动指定型号;检查该串口是否被其他设备占用

排查顺序建议:基站状态 → 校正值链路 → 移动站状态 → EKF 融合,一层通了再查下一层。日志中重点看GPSStatusHAccNSats三条曲线。

继续深入

  • GPS 模块源码目录:接收器驱动、状态机与多接收器融合逻辑都在libraries/AP_GPS/
  • RTCM3 解析器:校正值如何被拆包、匹配,读它比看文档更直接
  • EKF3 源码:EK3_GLITCH_RADEK3_POSNE_M_NSE等参数在AP_NavEKF3.cpp中有逐条说明

第一次固定解出现时,先别飞——停在原地看 5 分钟,确认HAcc稳定在 0.1 m 以内、位置曲线不画圆。然后做第二次:换一块起飞点重复以上流程。稳定复现两次,这套 ArduPilot RTK 配置才算真正落地。

【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询