尧图精选

ArduPilot GPS导航RTK实战:3步配出厘米级定位的完整指南

🕒 发布时间:2026/9/11 17:14:16 📁 来源:尧图网络
ArduPilot GPS导航RTK实战3步配出厘米级定位的完整指南【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilotArduPilot 的 RTK 高精度定位效果是什么一句话状态栏里的定位类型从3D变成RTK Fixed之后悬停误差能从米级压到厘米级。这篇文章按先跑通、再懂原理的顺序写先给你一套最小可运行的 RTK 配置再拆开 RTCM3 差分与 EKF 融合是怎么回事最后给一份不固定/漂移的排查清单。不用懂 HDOP 和滤波数学也能照做。 最小 RTK 配置让状态栏出现 RTK FIXED硬件与参数四件套先把东西备齐再动参数两颗 u-blox GPS 模块或飞控双 GPS 口一颗当天线位置好的基站一颗装在车上当移动站基站架到屋顶、楼边这类视野开阔且固定不动的位置基站与移动站都设成 RTK 模式参数如下在 Mission Planner 参数界面直接改保存重启移动站通过 MAVLink 的GPS_RTCM_DATA消息接收基站发出的修正数据并自动注入自己的模块。# 基站实例 GPS_TYPE17 # u-blox RTK 基站 GPS_AUTO_CONFIG2 # 自动配置模块并周期重发 GPS_BAUD115200 # 串口波特率与接线一致 # 移动站实例 GPS_TYPE18 # u-blox RTK 移动站上电后先看到浮点解等几十秒到几分钟整周模糊度固定状态就变固定解。如果一直不动直接跳到文末排查清单。️ RTK 凭什么到厘米级看懂 RTCM3 修正流普通 3D 定位解的是我离每颗卫星多远误差主要来自星历和大气延迟量级约 1~3 米。RTK 的思路是借已知位置消误差基站坐标是事先测准的它算出实测值与应得值的差把差值打包成RTCM3 修正消息一种标准差分协议数据包以 0xD3 字节开头基站和移动站看到的卫星大气延迟几乎相同移动站用这份差值消掉公共误差再锁定载波相位的整数周数——模糊度固定后就是固定解约 1~2 厘米没固定住是浮点解约 5~20 厘米所以收敛时间本质上就是模糊度解算时间基站越稳、链路越流畅固定越快。ArduPilot 内部把这些解类型分得很细无 GPS、无定位、2D、3D、DGPS、RTK 浮点、RTK 固定、静止固定典型基站状态、PPP你在状态栏看到的文字就对应这一组枚举见 AP_GPS_FixType.h。 顺着源码看基站的修正数据是怎么到移动站的不用画图这条链路四句话就说清每个 GPS 芯片在 AP_GPS 库里都有对应驱动基站和移动站只是GPS_TYPE的两种取值17/18共用同一套串口收发RTCM3_Parser 负责逐字节解析 0xD3 开头的 RTCM3 流组包、校验、同步全在它里面基站侧把修正流装进 MAVLinkGPS_RTCM_DATA消息发出去单条最多 720 字节、支持分片重组移动站收到后写回自己模块的串口想省事就整库浏览 libraries/AP_GPS/里面还有 MovingBase 移动基准模式——基站可以装在移动平台上跑差分不再必须是钉死在屋顶的静态基站。EKF 融合位置稳定的那份保险RTK 给的是每秒几个厘米级的位置点但机体姿态、高度、速度怎么拼成连续航迹靠的是扩展卡尔曼滤波EKF简单说就是预测一次、修正一次的循环。ArduPilot 的 EKF3 在 libraries/AP_NavEKF3/IMU 以很高频率做预测GPS 每来一个位置点做一次更新气压计管高度GPS 管平面位置与速度各司其职关键在门限GPS 点与 EKF 预测值偏离超过EK3_GATE_SIZE单位是标准差就拒绝这次 GPS 数据而不是硬跟着跳——多路径、天线磕碰造成的毛刺就是被这关挡掉的开机航向有多解GSF高斯和滤波会并行跑多个航向假设、按一致性加权收敛选出的才是真北验证融合是否健康看 Mission Planner 的 EKF 状态页有没有 glitch、variance 报警。EK3_GPS_TYPE1 # 融合 GPS 速度位置更顺滑 EK3_GATE_SIZE3 # 拒判门限(标准差倍数)默认3 EK3_ALT_SOURCE0 # 高度用气压计垂直方向更稳✅ RTK 不固定、定位漂移的 4 个排查点修正流断了最常见。先确认基站串口波特率、链路质量GPS_RTCM_DATA是否持续到达移动站——RTCM 数据延迟或丢包会让模糊度永远解不了一直浮点不固定多半是卫星几何差或双站共视卫星少把基站挪到视野更好的位置等 GDOP 改善位置间歇跳变查 EKF 状态页的 glitch/variance 标志通常是天线晃动、遮挡或城市多路径把天线挪离金属面、加地面板状态显示 NONE模块插错串口或GPS_TYPE与芯片不匹配对照飞控接线图核一遍。修正流稳定、模糊度固定、EKF 不拒判三件事同时成立ArduPilot 输出的 RTK 位置才真正站在厘米级。文中提到的基站/移动站驱动、RTCM3 解析器和 EKF3 都在 AP_GPS 与 AP_NavEKF3 两个库里配合状态栏文字和 EKF 页面逐项核对是定位这类问题最快的路径。下一步可以在固定解之上再看精确降落与视觉里程计的扩展用法。【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →