ArduPilot RTK 从米级到厘米级:跑通、验证与排障手册

📅 发布时间:2026/9/11 2:45:41
ArduPilot RTK 从米级到厘米级:跑通、验证与排障手册
ArduPilot RTK 从米级到厘米级跑通、验证与排障手册【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot做 ArduPilot 高精度定位项目绕不开三个场景楼群边上定位慢慢漂起飞前盯着 RTK 收敛干着急进城市峡谷一会儿就丢锁。这份手册不聊概念框架直接讲怎么把 RTK 跑起来、怎么确认解算可信、出了问题往哪儿查。先把 RTK 讲明白移动站怎么从米级变厘米级先说人话基站相当于一位报误差的同事。它站得稳、位置已知测出我这边卫星信号差了多少再把这份差值广播出去移动站收到后把同样的误差从自己的测量里扣掉误差抵消精度就从米级提到厘米级。传的就是 RTCM3 校正报文走串口、遥测链路或 MAVLink 都行。源码层面这套逻辑在 libraries/AP_GPS/定位状态机里和精度直接相关的是这几个状态值状态值含义典型精度33D 单点定位1~3 米4DGPS 差分0.5~1 米5RTK 浮点解10~30 厘米6RTK 固定解2~5 厘米链路长这样基站 GPS → 生成 RTCM3 → 串口/遥测链路 → 移动站 GPS → 载相位差分解算 → 飞控按状态值 5/6 上报 → EKF 融合进位置估计记住一个判断基准状态 6 才是你要的状态 5 能飞但别指望它站桩。上电前把这份硬件清单过一遍天线远离飞控本体和金属板正上方天空视野开阔最好用地面板或吸盘支架抬高链路基站到移动站的校正通道独立走线波特率不低于 57600链路带宽吃紧时校正数据丢一个包收敛就得重来供电GPS 电流通电别拉塌电压掉电重锁一次就要重新收敛收敛期间飞机是不敢飞的基线距离自建站一般控制在 20 公里内越近越稳三步配好基站让移动站开始收敛第一步基站侧。用一台独立飞控或单独接一路 u-blox RTK 模块放在开阔、不动的位置# Mission Planner / QGC 参数设置基站 GPS1_TYPE 17 # u-blox RTK 基站 GPS1_AUTO_CONFIG 2 GPS1_RATE_MS 100 # 校正数据通道按你的链路选GPSx_MB_USE_UARTx 或 RTCM 注入口第二步移动站侧。飞机上的接收器改成 rover参数示例值含义GPS1_TYPE18u-blox RTK 移动站GPS1_AUTO_CONFIG2允许飞控重写接收器配置GPS1_RATE_MS100100 Hz 数据率动态平台建议 50~100 HzGPS1_MB_USE_UARTx / 注入口按硬件校正数据进来的通道第三步观察收敛。冷启动后先出浮点解状态 5正常收敛窗口 30~60 秒u-blox 超过 2 分钟还没到 6基本可以断定链路或基站端有问题别再等。怎么确认 RTK 真的固定了别只看状态值是 6 的那一刻要连续观察。下表是判断基准指标优秀合格待改进状态值稳定 65/6 偶尔跳长期 5水平精度 HAcc2 cm2~5 cm5 cm校正数据年龄1 秒1~2 秒2 秒卫星数128~128HDOP1.01.0~2.02.0收敛时间30 秒30~60 秒60 秒HDOP 可以理解为卫星摆位的打分卫星在天上分布越均匀分越低2.0 时同样的卫星数误差也会被放大。校正数据年龄源码里是rtk_age_ms超过 2 秒说明链路已经不够用了。EKF 侧别急着乱调噪声。ArduPilot 里 EKF3 用来源掩码参数决定 GPS 速度和位置是否参与融合调优思路是按症状动日志里看到 GPS 漂移、滤波量测修正过大再考虑收紧 GPS 速度噪声系数频繁出现位置跳变检查 glitch 半径参数厘米为单位数值越大门槛越松。一次只动一个参数飞一次记一次否则日志没法回溯。按症状查RTK 失锁、漂移、收敛慢怎么办现象可能原因处理办法一直浮点解锁不到 6基站被移动过、校正数据太弱基站重新固定重收敛加大校正流强度或降低基站发送间隔压力固定后又慢慢漂天线多路径贴金属、贴玻璃天线换位、加地面板日志确认 EKF 量测修正幅度收敛超过 60 秒卫星几何差、链路丢包等 GDOP 变好再试抓链路丢包查波特率城市峡谷反复失锁遮挡导致校正中断确认链路余量多 GPS 时开启融合模式让 EKF 平滑过渡状态在 5/6 之间跳校正流时断时续检查基站发射端与链路跳变持续超过几秒就要当故障处理不同平台怎么配多 GPS 冗余与自动切换多旋翼动态快、悬停多数据率拉满50~100 Hz失锁后要快收敛快恢复glitch 半径取保守值固定翼长航时短时 GPS 缺失 EKF 可以航位推算容错半径放宽没问题数据率 10~25 Hz 足够水下RTK 完全用不上信号到不了水底。ArduSub 靠轮式编码器、DVL 和 IMUGPS 类参数全部让位给惯导与深度源多 GPS 冗余用自动切换参数控制0 不切换、1 自动选最优、2 融合按水平/垂直/速度精度加权混合两路 GPS、4 有 3D 定位就优先用主 GPS。双 GPS 场景一路 RTK 一路普通推荐 2 或 4RTK 路失锁时另一路兜底EKF 不会硬切到烂数据上。起飞前速查一页记住五件事天线正上方无障碍远离飞控和金属面基站状态 6 且固定后不再移动移动站数据率 50 Hz 以上收敛超 60 秒先查链路别怀疑飞机确认固定要连看三项状态值、HAcc、校正数据年龄调 EKF 一次只动一个参数留日志可回溯【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考