news 2026/9/11 15:45:34

从米级到厘米级只要30分钟:ArduPilot RTK固定解完整配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从米级到厘米级只要30分钟:ArduPilot RTK固定解完整配置指南

从米级到厘米级只要30分钟:ArduPilot RTK固定解完整配置指南

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

一次测绘航线落点偏了两米,整片四十亩地第二天全部重飞——锅全扣在一次"浮点解飞完全程"上。如果你在用 ArduPilot,想把定位从米级拉到厘米级,这篇带你把 ArduPilot RTK 基站和移动站从零配到位。读完你能独立配出一套 RTK 固定解。

RTK 凭什么做到厘米级

一句话原理:基站架在已知坐标上,和你机上的移动站看同一组卫星。卫星轨道误差、大气延迟这些大头,两边"共享"同一份——基站把它算出来,通过 RTCM3 校正数据发给你;移动站从自己的观测值里减掉,剩下的就是厘米级残差。浮点解(5)和固定解(6)的差别在最后一环:载波相位模糊度能不能整定。整定了,从十几厘米跨进厘米级。

ArduPilot 把各级 fix 统一成一个枚举,源码在 libraries/AP_GPS/,压缩成这张小表:

状态含义
0NO_GPS没检测到 GPS
1NONE消息正常但未锁定
2FIX_2D二维锁定
3FIX_3D三维锁定,米级
4DGPS差分增强
5RTK_FLOAT浮点解,差最后一步
6RTK_FIXED固定解,本文目标
7STATIC基站自身的静态状态
8PPP精密单点,无基站也能到分米级

现场只记两个数就行:卡在 5 就差一步,看到 6 才算完。

30分钟搭出你的第一个RTK固定解

① 选接收机:买两块支持 RTK 的 U-blox 板(F9P 级),基站、移动站各一。为什么不能用老款 M8:浮点转固定靠载波相位观测,老芯片没这份数据,怎么调都停在 5。天线配带地面板的,杂波少。

② 接基站:给基站飞控设成基站角色:

  • GPS_TYPE = 17(UBLOX_RTK_BASE 驱动值)
  • GPS_BASE_LAT / GPS_BASE_LON / GPS_BASE_ALT:填基站已知坐标。差 1 米,所有校正都偏 1 米,这是排障第一站
  • GPS_AUTO_CONFIG = 2:让板子自动配置,省掉手工发 UBX 的一整轮
  • 基站放开阔处、架稳不动,天线远离金属。为什么:基站一动,RTCM3 数据整条链路作废

③ 配移动站:对称着来:

  • GPS_TYPE = 18(UBLOX_RTK_ROVER)
  • GPS_AUTO_CONFIG = 2
  • GPS_RATE_MS = 20(50Hz):更新快,EKF 跟得紧
  • 链路两条路:基站串口直连移动站(波特率 ≥57600bps),或者走 GCS 把校正注入 ArduPilot,再按GPS_INJECT_TO转发(127 表示发给所有 GPS 实例)。为什么给两个选择:直连延迟低;走 GCS 不用拉线,校正可经无线链路送到

④ 验证固定解:⚠️ 开机后别急着怀疑硬件,先看这条日志。GCS 全状态里盯GPS.Status:5→6 就是固定;收敛时间正常 <30 秒,60 秒内都算及格。如果 5 卡满 5 分钟,回第②步查基站坐标和链路,顺序别反。

从"能飞"到"够准":EKF与融合参数怎么调

调参逻辑就两层:先告诉 EKF"怎么用 GPS",再告诉它"信几分"。RTK 固定解把 GPS 的信噪比从米级抬到厘米级,这两层都得跟着动——否则 EKF 还拿米级待遇对待你的厘米级数据,精度白丢一半。

第 1 步,改"用法"EK2_GPS_TYPE = 3,位置和速度一起喂给滤波器。为什么:RTK 的速度质量同样高,两者联用比只用位置压 IMU 漂移更狠。

第 2 步,压"信任度":噪声参数调小,权重自动升高,固定解后直接减半:

参数默认值RTK固定解推荐为什么这么调
EK2_GPS_TYPE03位置+速度联用
EK2_GLITCH_RAD25100防弱信号环境下 EKF 误报重对齐
EK2_GPS_POS_X0.10.05位置噪声减半,GPS 权重同步上升
EK2_GPS_VEL_X0.20.1速度通道同理
EK2_ACC_NOISE0.50.3GPS 可信后 IMU 漂移被压得更死

固定解稳定后,EK2_GPS_POS_X还能压到 0.01–0.02,等于"RTK 固定解时自适应降 GPS 噪声",参数一步到位,不用改代码。

第 3 步,多 GPS 冗余:再挂一块米级 GPS 当备胎:GPS1_TYPE = 18保持主角色,GPS2_TYPE = 1(自动识别)+GPS2_AUTO_CONFIG = 1。为什么必须有它:基站链路一断,RTK 重新收敛要几十秒,备胎 GPS 保住米级位置不让飞机飘;链路恢复后,混合适例(GPS1_BLEND_MASK默认 5 = 位置+速度)按健康度平滑切回。EKF 内置健康检查(卫星数、HDOP、精度、漂移),异常会自动弃用该通道并重新对齐,你不用自己写监控;想双保险就盯三个门槛:卫星 ≥6、HDOP ≤250(单位 0.01)、RTK 数据年龄 ≤2000ms。

现场翻车了?照这张表查

别急着刷固件,日志先交代一大半问题。达标值先背下来:GPS.Status应为 6,HDop<200(即 2.0),HAcc固定解 <0.1m(常见 0.02–0.05)。哪条不达标,对表处理:

现象可能原因处置动作
卡在浮点,迟迟不整定基站校正数据延迟、链路波特率不够确认串口 ≥57600bps,再核实基站位置是否真固定
精度跳变,固定解掉回浮点多路径,反射信号混入天线挪离机身和金属面,加地面板
收敛超过 1 分钟卫星几何差等天顶视角改善,延长观测时间
频繁失锁天线视野被挡挪开金属遮挡物,重查天空视野
EKF 反复报 GPS glitch链路丢包、校正中断先看日志 HAcc 与 RTK 年龄,再动链路

换个平台,参数得重调

同一套 RTK,车不一样,参数要跟工况走。

多旋翼(高动态,要快):EK2_GPS_TYPE=3EK2_GLITCH_RAD=50GPS_RATE_MS=20EK2_GPS_POS_X=0.03。为什么:悬停转机动频繁,50Hz 更新让滤波器滞后最小。

固定翼(长航时,要稳):EK2_GPS_TYPE=0(仅位置)、EK2_GLITCH_RAD=200GPS_RATE_MS=200。为什么:动态小,位置够用;刷新率低省功耗,容错半径放宽,减少空中反复重对齐。

水下(没信号,靠融合顶):EK2_GPS_TYPE=0EK2_POSNE_M_NSE=10.0(位置噪声放大),定位交给 DVL 和深度传感器。为什么:水下 GPS 无信号,滤波器必须压向 DVL+深度+IMU,别让水面上的 GPS 残值污染定姿。

上线前验收清单

按顺序过一遍,全勾再放行:

  • 基站状态 STATIC(7),坐标已填,开阔且固定
  • 移动站GPS.Status= 6,收敛 <60 秒
  • 日志里HAcc≤0.1m、HDop≤200、卫星数 ≥8
  • GPS2工作正常,混合掩码已启用
  • EKF 日志没有连续 GLITCH 重对齐

性能达标线:收敛 <30 秒算优秀,60 秒是红线;定位精度 <2cm 优秀,5cm 红线;HDOP <1.0 优秀,2.0 红线;链路丢包 <5% 红线。

每条达标线都踩住,这套 ArduPilot RTK 固定解就算验收通过;哪条差一口气,回上面那张表逐条对。参数细节查 docs/,驱动实现看 libraries/AP_GPS/。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 15:45:12

ESP32 AI玩偶连续对话实战:WebSocket音频链路重构全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 15:45:02

从零实现线性回归:MLX 中 mx.grad 自动微分与 SGD 训练实战

从零实现线性回归&#xff1a;MLX 中 mx.grad 自动微分与 SGD 训练实战 【免费下载链接】mlx MLX: An array framework for Apple silicon 项目地址: https://gitcode.com/GitHub_Trending/ml/mlx 导读 本文基于 docs/src/examples/linear_regression.rst 教程&#xf…

作者头像 李华
网站建设 2026/9/11 15:44:07

STM32G0与MT6835的SPI通信陷阱:幽灵SCK与CS时序真相

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 15:42:51

微信小程序云开发直连数据库实战指南

1. 项目概述&#xff1a;小程序开发的新范式去年接手一个电商小程序项目时&#xff0c;客户要求两周内上线MVP版本。传统开发方式需要同时搭建后端服务、设计API接口、开发管理后台&#xff0c;时间根本来不及。最终我们采用微信云开发直连数据库的方案&#xff0c;前端团队独立…

作者头像 李华