maplab的简介
地图:通过制图生成并用于本地化的环境表示。
映射:机器人通过融合一个或多个传感器的输出来建立环境模型的过程。
本地化:机器人推断其位置的过程。环境模型。
SLAM:同时定位和映射是机器人在本地化和地图绘制之间交替进行的过程,以便在以前未知的环境中构建地图,同时从中进行本地化。
地标从多个连续摄像机图像可见的点。根据这些信息,点的位置可以进行三角化。
循环闭合:识别先前访问的地点的过程,允许机器人纠正在探索环境期间积累的任何错误。类似于我们人类认识的地方,然后告诉我们某事。关于我们在世界上的位置。
密集重建:从图像中构建具有大量3d点的3d模型的过程。
概观
现代自主机器人系统由许多软件构建块(SLAM,路径规划,场景解释)组成,其中大部分取决于某种形式的本地化和映射。因此,需要一个API来允许这些不同的元素进行通信,并尽可能减少相互依赖性。
长期本地化循环
为了使机器人能够执行长期操作,上述算法需要与s.t.紧密集成。他们可以互补。我们把这个组合称为终身定位循环:
在线定位和注册:来自机器人传感器的实时自我运动估计(SLAM)与先前已知的地图(本地化)的更新相结合。这允许机器人不断地估计它在全局参照系中的姿态,并由此执行它的任务。
离线几何对齐:代理在线捕获的数据需要对齐并注册到之前已知的参考数据,如建筑物模型或其他代理创建的地图。这通常是通过使用闭环算法来完成的。然后将组合数据进行联合优化,以获得所有涉及数量(三维结构,轨迹等)的最佳(最大似然)估计值。
地图总结:为了生成一个紧凑的环境表示,我们需要从地图中删除多余的信息,并专注于最丰富的部分。最终的模型应该只包含对本地化最有用的部分数据(步骤1)。
三维重建:为了使机器人能够避开障碍物并在环境中导航,建立一个比第一步中的SLAM算法给出的环境更丰富的表示是非常重要的。
maplab和ROVIOLI
ROVIOLI前端
用于制图和本地化的在线前端,
将ROVIO扩展到6DoF本地化约束,
单一会话的独立操作,
多会话地图支持使用控制台(见下文)
离线maplab控制台
它允许细化地图,将多个地图合并在一起并使用它们,例如为密集重建。 其中的功能包括以下几点:
方便的控制台用户界面和地图管理器来访问地图,
一个插件架构可以用新的命令和算法轻松扩展它,
视觉惯性最小二乘优化,可以通过附加传感器进行扩展,
使用可切换约束的健壮姿势图放松,
基于BRISK/ FREAK的环路,
终生测绘地图总结,
密集的重建和与Voxblox的接口。
a)在VIO模式下使用ROVIOLI构建地图。
(b)使用maplab控制台优化地图。合并多个地图。进行实验并应用您选择的算法。
(c)可选:使用结果图在本地化模式下使用ROVIOLI进行本地化。本地化增加了视觉 – 惯性姿态估计的准确性。
相关研究
以下列表包含maplab特定组件构建于其上的纸张列表:
初始化:
使用PMVS/ CMVS输出器进行3D重建:
由ROVIO+ maplab组成的ROVIOLI用于地图制作和本地化:
参考:https://github.com/ethz-asl/maplab