Topological Map
- 又称: topological graph, topometric map, place graph
- 类别: State estimation & navigation › Navigation
- 标签: navigation, mapping, graph-search, visual-navigation, mobile-robots
一种地图,把环境表示为由可通行链接相连的不同地点组成的图,而不是精确的几何,使机器人能够规划这些地点之间的路线。
定义
拓扑地图(Topological maps)把环境表示为一张图。节点代表不同的地点,例如房间、门口、路口或记住的视点;边记录机器人可以在两个地点之间直接通行。与占据栅格等度量地图不同,拓扑地图不需要全局一致的坐标;它记录的是地点之间如何连通,而不是它们的确切位置。
这与人们描述路线的常见方式相似:沿走廊走,在厨房处转弯,实验室是第二扇门。Benjamin Kuipers 的空间语义层级(Spatial Semantic Hierarchy)是一个著名的框架,本着这种思路把控制、因果、拓扑和度量知识分层组织。许多实用系统使用拓扑-度量混合地图,用图进行长距离规划,用局部度量地图在每个节点内实现精确运动。
使用拓扑地图导航分为两个层次。图搜索,例如 Dijkstra 算法或 A*,找出从当前地点到目标的一系列节点。然后由局部控制器把机器人从一个节点移动到下一个节点,通常借助传感器数据识别目标地点。在基于学习的视觉导航中,节点经常存储相机图像,由学习得到的策略驶向下一个节点的图像。
拓扑地图能很好地扩展到大型空间,并能容忍里程计的漂移,因为误差不会在一个全局坐标系中累积。它们的弱点是感知混淆(两个不同的地点看起来很像)和缺失的边(一条可通行的连接从未被观测到)。回环,即识别出机器人回到了一个已知的地点,使图保持一致。
为何重要
拓扑地图让机器人能以紧凑的存储、在没有完美全局定位的情况下,在大型环境中导航。它们天然适合学习型视觉导航,在这种导航中,机器人根据地点的外观而不是它们在坐标系中的位置来记住地点。
主要应用
- 借助基于图像的地点记忆进行室内外长距离导航
- 在大型建筑或园区中进行路线规划
- 探索,把新发现的地点作为节点加入
- 把图上的路线与局部度量控制相结合的分层规划
实际应用
部署视觉导航机器人的团队可能会先驾驶它走遍一栋建筑,每隔一段时间保存一张相机图像作为图的节点,把相邻的图像连接起来,并在学习得到的模型预测两张图像可以相互到达的地方加入额外的边。运行时,机器人把自己定位到最近的节点,在图中搜索通往目标图像的路线,并用学习得到的策略依次驶向每一个后续节点的图像,一边行进一边重新定位。
常见误解
- 拓扑地图完全不包含几何信息 — 许多拓扑地图在节点上存储相对位姿或局部度量地图;它们舍弃的是单一的全局坐标系
- 拓扑地图和度量地图互相排斥 — 拓扑-度量混合地图在实践中很常见
- 拓扑地图只是一串航点 — 它是一张图,因此支持备选路线,并能在某条边被阻断时重新规划
谁需要了解
- 移动机器人导航工程师
- 研究学习型视觉导航的研究人员
- SLAM 和建图工程师
相关技术
- SLAM
- 占据栅格(Occupancy Grid)
- 图搜索(Graph Search,A*、Dijkstra)
- 视觉位置识别(Visual Place Recognition)
- 回环(Loop Closure)
相关术语
相关项目
- LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- RTAB-Map: Versatile graph-based SLAM supporting RGB-D, stereo, and LiDAR with real-time operation