连载文章,长期更新,欢迎关注:
不管是激光SLAM还是视觉SLAM,由于传感器采样率、传感器测量精度、主机计算力等因素的限制,在高速运动状态下定位追踪极易丢失。虽然轮式里程计能为激光SLAM系统提供短期运动预测以避免高速运动时丢失的风险,轮式里程计还能在长走廊这样的低特征环境下提供定位辅助。但是轮式里程计也不是万能的,当地面起伏较大或轮子打滑时,轮式里程计将不再可靠;对于在三维空间工作的视觉SLAM来说,提供二维空间定位信息的轮式里程计很难应用其中。而在高速运动(尤其是高速旋转)或特征严重缺失(比如白墙、天空、地面等场景)时视觉SLAM基本上无法工作。采用IMU进行融合,无疑成了解决这些棘手问题的香饽饽。
关于IMU数据融合的问题,大体上又分为内部融合和外部融合两种,如表10-3所示。所谓内部融合,就是利用IMU模块内部各个轴的数据(acc、gyro、mag)进行姿态融合(也叫数据滤波),求解出IMU模块在空间中的姿态角(roll、pitch、yaw),在4.1.5节中已经给出了用于姿态融合的几种常用滤波算法,即卡尔曼滤波和互补滤波。通过内参标定,能大大提高IMU原始测量数据的精度,而姿态融合过程不仅能解算出姿态角,还能进一步修正IMU原始测量数据。而外部融合,是将IMU数据与其他传感器(比如轮式里程计(odom)、视觉(camera)、激光雷达(lidar)、GPS等)的数据进行融合。在外部融合过程中,既可以使用仅经过内参标定校正后的IMU原始测量数据(acc、gyro或acc、gyro、mag)也可以使用经姿态融合后得到的姿态角(roll、pitch、yaw)及IMU原始测量数据(acc、gyro或acc、gyro、mag),然后将IMU与其他传感器建立松/紧耦合联系,当然需要对IMU与其他传感器的安装坐标关系(也就是外参)进行标定,最后进行位姿估计实现定位追踪。物体在三维空间的状态可以由空间位姿(姿态角和位置)、线速度、线加速度、角速度、角加速度等描述,由于这里不涉及物体运动学问题,仅讨论空间姿态。内部融合只求出了空间姿态的姿态角orientation(roll,pitch,yaw)分量,也就是模块在空间的朝向。有些朋友可能会说,利用加速度和角速度积分不就能求出位移量,这样不就求出了空间姿态的位置position(x,y,z)分量了。这样做确实是可以的,但是IMU测量数据严重的长期漂移问题,求解出的位置很难用于像机器人这样需要大规模全局定位的场景。既然通过IMU测量数据本身无法提供可靠的位姿估计,那么就需要引入额外的传感器测量数据,也就是外部融合。在条件允许的情况下,配备越多的传感器理论上讲越有利于位姿估计,但是系统设计难度也更困难&#