新知一下
海量新知
6 0 8 2 1 8 8

IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

3D视觉工坊 | 个人微信公众号:3D视觉工坊。 2021/11/30 09:22

本文提出dll,一种直接基于历史地图的3D LiDAR定位方法。dll通过优化点云到历史点云地图的距离实现点云到地图的配准,而不通过特征计算和同名点对匹配。在给定初始位姿的情况下,本文方法基于里程计得到的位姿,并通过和地图的匹配更新位姿,实现机器人的位姿跟踪。通过在虚拟数据和真实数据集上的实验表明本文方法比基于蒙特卡洛定位的方法性能更优,比其他基于优化的方法速度更快,并对里程计位姿的初始位姿结果较为鲁棒。本文方法已开源:https://github.com/robotics-upo/dll。

作者借鉴NDT的思想(不对点云而是抽象化表达成其他形式),将历史点云地图表示成为3D距离场这种连续空间的表达(出去物体边缘和边界处),可以避免由于最邻近点搜索带来的计算瓶颈,同时这种高维拟合的表达对噪点较为不敏感,而且由于3D距离场的表达形式,使得在完成优化时梯度求解高效。并和基于ICP,NDT,蒙塔卡罗定位的方法进行了比较。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

图1. MBZIRC20比赛中的场景,无人机用来灭火,基于历史点云地图完成配准。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

式1. 对于点云和点云地图的匹配问题,可以用该式子来表达:Tmap表示将点Pi变换到地图的变换矩阵,mc表示pi在点云地图中的对应同名点。通过优化上述非线性函数得到最优的位姿Tmap。其中涉及到两个问题,1)对应同名点如何获取;2)超定方程的求解。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

式2. 为了减少KNN邻域点搜索带来的计算瓶颈,本文提出将点云地图表示为3D距离场,通过优化到点云地图中最近点的距离。历史地图的距离场可以离线事先构建好,而且只需要构建一次即可。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

式3. 构建好的距离场存储在固定大小的格网中,每个格网中的距离场表示点云地图中最近点到该格网的距离,一旦构建好距离场,可以通过3维线性插值的方式得到该格网中任意位置点的距离场值。表达成距离场减少了对点云空间进行量化带来的梯度不稳定性,同时这种形式对于优化非常友好。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

图2.Catec真实场景a、b,室内场景约15x15x5m和Airsim虚拟场景c、d室外场景约50x50x10m。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

图3.轨迹真值(蓝虚线),dll估计轨迹(红实线)和里程计估计值(绿虚线)在四个实验数据上的结果对比。dll只估计了UAV的xyz和yaw角,row和pitch通过倾斜补偿认为是不需要优化的参数。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

图4.MBZIRC2020比赛中的真实室外场景地图。

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

新知达人, IROS2021|DLL直接点云定位:一种基于点云地图的航空机器人定位方法

图5.MBZIRC2020数据集上估计的UAV位置。



更多“算法”相关内容

更多“算法”相关内容

新知精选

更多新知精选