(今天考古了一下,翻到了一篇1999年的老文章,阅读这篇老文章的目的主要是觉得本文使用到了拓扑地图,觉得会对今后的研究工作有一个新的思路)
目录
1. 论文背景
本文是早期机器人自主探索的文章,因此使用的技术十分陈旧,但老论文嘛,常读常新。本文的主要思想依然是基于边界思想(Frontier-based,1997年由Yamauchi提出),即探索过程中的目标点选在边界附近。而边界思想的原文使用的是栅格地图或表征地图,这类地图首先需要对机器人的激光传感器数据有很高的要求,因为建立这类地图需要高精度的定位。本文则是在边界思想的前提上,使用拓扑地图(topological map)来表示环境,而且加入了一个全连接神经网络来选择目标点。这样做的优缺点是:
优点: 拓扑地图可以简化地图的存储形式,并且不需要很高精度的传感器数据,使用神经网络来学习地图,减少了算法的复杂程度。
缺点: 需要提前准备数据集对网络进行训练,虽然拓扑地图存储小,易遍历,但是可读性差,表达不够直观。
2.探索策略概述
这一块也是我觉得有所启发的一部分,因为拓扑地图在现在的机器人探索研究工作中并不属于热点话题,因为它的可读性实在太差了(对于一个外行人根本不知道啥意思),但是拓扑地图有一个优点是,它可以清楚的表现出相邻节点之间的连接关系,也就是说,可以只用点和线来表示哪些地方可走,哪些地方不可走。
2.1 地图的两类节点
拓扑地图仅有点和线段连接而成,本文中把地图上的节点分为两类:预测点(Predicted)和可通过点(Confirmed)
(1)预测点(Predicted):此类点由神经网络预测得到,表示的是下一步机器人要走的目标点,或者是候选目标点;
(2)可通过点(Confirmed):机器人已经探索过的点,并确保此点可通行。
图1 生成的拓扑地图(方块表示预测点,原点表示可通过点)
这种地图虽然不易读,但是连接关系很明朗,而且实心的点都是确保可以到达的,有点类似于随机图(RRG)。
2.2 神经网络结构
本文使用的是上图所示的全连接三层神经网络,6intput,1output, 六个输入分别来自于红外线传感器和声纳传感器的数据,输出就是当前机器人转角下的一定距离内是否可以通过。如果预测可以通过,那么就在拓扑地图上的相应转角下画一个方块,如果不可以通过,那就不对map进行处理。
有了预测点后,机器人会选择距离自己最近的一个预测点导航,如果顺利无碰撞的导航至该点,那么就将地图上的方块变为圆点,如果不能顺利到达,就将地图中的方块删掉,以此来完成地图的验证和更新。
2.3 预测结果误差的影响
由于任何一个网络都会存在误差,即便是网络的精确度再高,误差也会存在,因此,这就牵扯到了一个预测结果的问题。结果总共有四种情况:
(1)真阳性:预测某一点为可通过,实际上该点确实可通过;
(2)假阴性:预测某一点为不可通过,实际上该点确实不可通过;
(3)真阴性:预测某一点为不可通过,但实际上该点是可通过的;
(4)假阳性:预测某一点为可通过,但实际上该点是不可通过的;
(1)和(2)是网络预测正确的结果,(4)尽管预测错了,但是对于建图来说没有什么影响,因为机器人在确定预测点后,会移动至该点,起到了一个后验的作用。(3)这种情况是对建图有影响的,因为预测为不可通过,地图中就不会有预测点,后续也不会有验证的过程,相当于地图上这个点就遗失了,建图不完整。
本文中的解决方案就是,为神经网络中的neural添加一个偏执δ,提高了网络判定某个点为不可通过点的难度。换句话说就是,对于一个点来说,网络更容易判断它为不可通过点。
3. 算法优缺点
优点: 拓扑地图可以简化地图的存储形式,并且不需要很高精度的传感器数据,使用神经网络来学习地图,减少了算法的复杂程度。
缺点: 需要提前准备数据集对网络进行训练,虽然拓扑地图存储小,易遍历,但是可读性差,表达不够直观。