无人机与农机自动驾驶避障实战:当GNSS信号消失时如何维持厘米级定位
在农田喷洒农药的无人机突然失去卫星信号,或是自动收割机驶入密集果园后定位漂移——这些场景对自动驾驶系统的可靠性提出了严峻挑战。传统RTK定位在开阔环境下能达到厘米级精度,但当GNSS信号被建筑物、树木或地形遮挡时,系统性能会急剧下降。这时,惯性导航系统(INS)与RTK的紧组合算法就成为了维持定位精度的关键防线。
1. 为什么复杂环境下传统RTK会失效?
当无人机飞入高楼林立的城市峡谷或农机进入茂密果园时,卫星信号可能被完全遮挡或产生多路径效应。此时RTK接收机面临三个致命问题:
- 周跳检测失效:载波相位观测值出现跳变时,传统RTK难以区分是真实运动还是信号中断
- 模糊度重新固定:信号恢复后需要重新计算整周模糊度,耗时可能达数十秒
- 定位输出中断:连续丢失4颗以上卫星时,RTK解算直接停止工作
实测数据显示,在玉米田中作业的农机,GNSS信号遮挡率可达30%-50%,传统RTK的可用性会降至60%以下。
下表对比了开阔环境与复杂环境下的RTK表现:
| 指标 | 开阔环境 | 信号遮挡环境 |
|---|---|---|
| 水平定位精度 | 1-2cm | >1m或无法定位 |
| 重新收敛时间 | 瞬时 | 10-30秒 |
| 数据输出连续性 | 100% | 可能完全中断 |
2. RTK/INS紧组合如何破解信号遮挡困局?
2.1 紧组合与松组合的本质区别
松组合系统中,RTK和INS各自独立解算,仅通过位置/速度信息进行松散耦合。而紧组合将两个系统深度融合:
// 松组合接口示例(位置级融合) rtk_position = getRTKPosition(); ins_position = getINSPosition(); fused_position = kalmanFilter(rtk_position, ins_position); // 紧组合直接使用原始观测值 gnss_obs = getGNSSRawObservations(); imu_data = getIMURawData(); tightly_coupled_filter(gnss_obs, imu_data);紧组合的核心优势体现在三个方面:
- INS辅助周跳检测:利用惯性数据预测载波相位变化,显著提升周跳检测灵敏度
- INS辅助模糊度固定:惯性推算提供初始位置约束,加速整周模糊度解算
- 无缝定位切换:GNSS中断期间,INS维持高精度推算;信号恢复时立即重新融合
2.2 关键算法实现要点
在农机自动驾驶系统中实现紧组合,需要特别注意以下技术细节:
- 坐标系统一:建议采用ECEF坐标系(e系)处理所有数据,避免频繁的坐标系转换
- 时间同步:GNSS接收机与IMU的时钟偏差必须控制在1ms以内
- 杆臂补偿:精确测量IMU与GNSS天线之间的物理偏移量
姿态更新的四元数实现示例:
def quaternion_update(q_prev, gyro_data, dt): # 计算等效旋转矢量 rotation_vector = gyro_data * dt theta = np.linalg.norm(rotation_vector) if theta > 1e-6: axis = rotation_vector / theta delta_q = np.concatenate([ [np.cos(theta/2)], axis*np.sin(theta/2) ]) q_new = quaternion_multiply(delta_q, q_prev) return q_new / np.linalg.norm(q_new) # 归一化 return q_prev3. 实战中的性能优化策略
3.1 INS短期误差控制
虽然INS在短时间内精度很高,但误差会随时间累积。通过以下措施可提升INS推算性能:
- IMU温度补偿:农机在户外工作温差大,必须实时补偿温度对IMU零偏的影响
- 运动约束应用:农机在田间基本保持二维运动,可引入零速修正(ZUPT)算法
- 多传感器冗余:在关键部位加装低成本IMU作为冗余参考
3.2 紧组合系统部署建议
根据我们在小麦收割机上的实测经验,推荐以下配置方案:
| 组件 | 推荐规格 | 备注 |
|---|---|---|
| GNSS接收机 | 双频RTK,更新率≥10Hz | 支持原始观测数据输出 |
| IMU | 战术级,零偏稳定性<0.5°/h | 带温度补偿功能 |
| 处理器 | 四核ARM Cortex-A72,主频≥1.5GHz | 需满足紧组合算法实时性要求 |
| 电源管理 | 宽电压输入(9-36V),带浪涌保护 | 适应农机电力环境 |
4. 典型场景下的实测表现
在新疆棉花田的对比测试中,我们记录了传统RTK与RTK/INS紧组合的差异:
场景1:穿越防风林带
- 传统RTK:信号中断8秒,定位漂移最大2.3米
- 紧组合:维持2cm精度,无任何中断
场景2:绕行灌溉水塔
- 传统RTK:多路径效应导致定位跳动达1.5米
- 紧组合:通过INS辅助抑制多路径误差,精度保持在5cm内
场景3:全天候连续作业
- 传统RTK:日均定位可用性82%
- 紧组合:将可用性提升至99.7%
实际部署中发现,IMU安装位置对性能影响很大。最佳实践是将IMU固定在车辆刚性结构上,远离发动机等振动源,同时确保与GNSS天线的杆臂量测误差小于1cm。