基于激光传感器的移动机器人动态运动检测
运动物体检测模型
对于静止的激光传感器,检测动态物体非常容易,进入到上一时刻“自由空间”(激光点和激光传感器包围的空间)的物体就可以认为是动态物体。对于移动机器人,检测动态运动的问题在于,环境中的物体运动的同时,机器人也会移动,而环境的变化使得扫描匹配等方法的匹配效果下降,需要找到一种方法将临近帧的数据“对齐”(在一个坐标系下表示)。因此,融合移动机器人的里程计信息。
运动检测模型如下图所示:T-1时刻由机器人位姿
(激光数据可以看成是环境中物体的表面的离散观测),下一时刻,机器人移动到
移动到上时刻Free Space 的物体可以得出是一个Violation,即动态物体。不过存在图中黄色的圆不能被检测到的问题。物体远离机器人运动不会进入到Free Space。解决办法:将当前的激光数据与上一时刻对调,由T时刻的数据生成Free Space,然后检测T-1在T中的违背点,如下图,最后由里程计数据把上一时刻检测到的动态点对应到当前时刻。
Free Space生成
如何处理激光数据生成Free Space
Bounded Minimization Operator
激光数据
因为激光数据本身会有误差,还要进行一个收缩操作:
因为里程计数据和激光数据来自不同的数据源,考虑数据到达的时间问题,需要考虑多帧的数据。
Find Violations
对一帧激光点的每一个索引
如下图中粗的绿色的点,是运动中的人,在机器人的移动过程中检测到。
Notes
1、在实现收缩的时候(自己曾经的BUG),考虑t-1 -> t的时候收缩t-1是
2、其实动态也是一种”特征“,在动态检测的时候可以考虑其他”特征“
有问题可加群 (移动机器人导航与控制群:199938556) 讨论交流,进群修改备注。