第4章:状态估计与传感器融合:卡尔曼滤波、扩展卡尔曼、IMU/GPS融合
高频面试问答卡片
面试问题:请解释标准卡尔曼滤波(KF)的基本原理和更新步骤。
考察点:对KF基础假设(线性高斯)、预测-更新递归框架的理解;是否清晰记得五个核心公式。
回答框架:1)定义状态向量和噪声模型;2)预测阶段(状态预测+协方差预测);3)更新阶段(卡尔曼增益→状态修正→协方差更新)。
简短示例回答:卡尔曼滤波假设线性动态系统和高斯噪声。每步先利用运动模型预测状态和协方差,再根据观测计算卡尔曼增益,加权修正状态并更新协方差。递归执行,最小化均方误差,得到最优估计。
可能追问:如果系统非线性怎么办?卡尔曼增益的物理意义是什么?
面试问题:扩展卡尔曼滤波(EKF)如何处理非线性?与标准KF有何核心区别?
考察点:对线性化方法的理解(泰勒展开一阶近似),以及雅可比矩阵的作用。是否意识到EKF的局限性。
回答框架:1)EKF将非线性系统在估计点处泰勒展开;2)用雅可比矩阵代替KF中的状态转移矩阵和观测矩阵;3)协方差传播和增益计算沿用KF框架。
简短示例回答:EKF将非线性函数f(x)、h(x)在当前状态估计处一阶线性化,计算雅可比矩阵F、H,代替KF中的状态转移和观测矩阵。预测和更新公式基本不变,但线性化误差可能导致滤波发散。
可能追问:EKF与UKF/粒子滤波相比优劣?如何减轻线性化误差?
面试问题:如何融合IMU和GPS实现车辆定位?请画系统框图并说明关键问题。
考察点:工程实现能力,对松耦合/紧耦合区别、坐标系对齐、时间同步、异常处理的理解。
回答框架:1)选择耦合方式:松耦合(GPS输出位置/速度) vs 紧耦合(GPS原始观测量);2)IMU高频预测,GPS低频修正;3)处理IMU零偏、GPS信号丢失、频率不匹配等。
简短示例回答:采用松耦合EKF:IMU以100Hz推算状态并传播协方差,1Hz GPS观测(位置/速度)进入更新。状态向量包括位置、速度、姿态、IMU零偏。关键解决IMU积分漂移、GPS时间戳对齐、坐标转换(导航系→IMU系)。
可能追问:GPS信号丢失时怎么处理?如何标定IMU与车辆的安装角度?
项目案例模板:基于EKF的IMU/GPS融合定位系统
| 项目名称 | 智能车多传感器融合定位模块(EKF + IMU/GPS) |
| 业务背景 | 解决自动驾驶车辆在隧道、城市峡谷等GPS弱信号场景下定位不连续、漂移大的问题,提供鲁棒的厘米级定位。 |
| 规模指标 | 定位精度:正常场景 < 0.5m(RMS);GPS丢失30s内漂移 < 2m;系统延迟 < 50ms;支持50Hz状态输出。 |
| 技术栈 | C++17, ROS Melodic, Eigen 3, GeographicLib, Gazebo仿真, 实车测试(IMU: Xsens MTi-670, GPS: u-blox F9P) |
| 核心难点 | ① IMU零偏在线估计与收敛速度;② GPS/IMU时间戳异步(采用插值与协方差调整);③ GPS异常值检测(基于新息卡方检验);④ 坐标系对齐(IMU与车辆刚体安装角标定)。 |
| 面试高频追问 | 1) 为什么选择EKF而不是UKF/粒子滤波? 2) 如何处理IMU和GPS频率不匹配? 3) GPS信号丢失时如何维持定位? 4) 如何评估融合结果的可靠性? |
| 可迁移回答话术 | “在工程中我们平衡精度与计算资源,EKF复杂度为O(n³),n=15(位置、速度、姿态、偏置),满足实时性;采用IMU积分作为预测,GPS观测作为更新,丢失时启用死算+运动约束;异常检测基于新息卡方分布,阈值自适应调整。” 强调工程化思维:简化模型、轻量计算、鲁棒触发。 |