李 雪
(安徽工贸职业技术学院 计算机信息工程系,安徽 淮南 232001)
动态环境中移动机器人室内自主导航是一项备受关注的课题。路径规划和导航最容易被描述为行为的集合。移动机器人室内自主导航的行为有:不要碰到东西、直行、后退、右转、左转、停住。在行走的过程中,都要靠人行道的右边,这些命令集合构成了一个实体试图从一个位置移动到另一个位置的一切可能的行为。动态重新规划问题的解决方案是一种用于描述感知和动作之间的交互作用的方法,可用于生成对当前感知世界高度敏感的移动机器人系统。以并发的、独立的、可通信的方式运行的电机模式生成反映检测对象的不确定性[1-3]。此外,它们可以处理由不同的传感器模式和策略引起的数据冲突。国内外学者对视觉伺服室内自主导航做了深入的研究[4],例如Suh和Kim提出了一种新的交互矩阵,其中每个元素只与图像特征相关联。在此基础上,提出了一种具有监督学习能力的模糊控制器来逼近与这种新型交互矩阵相关的特征变化与摄像机运动之间的非线性映射关系。作者还将他们的工作扩展到机器人操纵控制,通过基于模糊隶属函数的神经网络逼近他们发现的非线性映射。虽然该方法可以很好地逼近特征变化与摄像机运动之间的映射关系,但是视觉伺服控制器仍然需要计算近似交互矩阵的逆矩阵来确定每个关节角度命令[5]。为了完全避免计算逆相互作用矩阵,Sequeira Goncalves等人利用模糊建模技术获得了特征变化与关节速度映射的逆模型。
对于一个移动机器人来说,各种环境中进行视觉导航是整个研究领域的重大进展。但是,在杂乱环境中,基于视觉导航的成功尝试使用了高度几何化的空间基础模型,这样的表现将很难扩展到其他场景,在这些场景中,一个机器人可能需要在混乱的环境中,根据它们的语义来寻找环境中的某些对象。本文对动态环境中移动机器人室内自主导航进行了深入的研究。
过去,一个室内移动机器人不可能在杂乱的走廊里找到自己的路,动态的杂乱环境处理起来非常困难,因为任何特征检测器都会输出过多的特征。由于后续需要确定这些特征的子集是否符合机器人的期望而变得更加复杂[6-7]。但是现在,使用一个基于模型的框架,机器人只需要检查在模型特征的“邻近”部分包含低级特征的相机图像部分,“邻近”的程度由机器人位置的不确定性决定。本文设计一个基于视觉的导航系统,该系统使用空间的拓扑表示和神经网络的集成来引导机器人通过内部空间,拓扑表示帮助机器人确定在空间的哪个部分使用哪个神经网络。
移动机器人领域中的导航是一种方法,可以指导移动机器人以良好而安全的方式在有障碍的环境中完成任务[8-10]。导航涉及的两个基本任务是环境感知和路径跟踪。任务的概念是指实现一组导航和操作目标;从这个意义上讲,移动机器人应该具有一种能够协调车载要素的结构:感官系统、运动和操作控制,以便能够高效地正确实现任务中指定的不同目标,并且可以在室内或室外执行环境。
通常,由于环境已知或部分已知,因此将全局路径规划方法与本地方法相补充用于室内任务。如图1所示为软件界面,对于户外应用,局部规划方法更为合适,由于缺乏环境信息,因此成为全局规划方法的补充。移动机器人的导航问题可以分为四个子问题:
图1 软件界面主界面Fig.1 Main screen of the software interface
1)世界感知。 感觉其象征性的特征。
2)路径规划。 使用功能创建机器人必须达到的有序目标点序列。
3)路径生成。 目的是获得通过目标点序列的路径。
4)路径跟踪。 移动机器人沿着路径负责控制。
视觉系统用于导航必须包含一些室内动态环境知识标识。一些最初为移动机器人导航开发的视觉系统严重依赖于空间的几何形状和其他测量信息,来驱动视觉过程和执行自我定位,特别是室内空间由不同复杂程度的CAD模型表示。在一些报告的工作中,CAD模型被更简单的模型代替,如占用图、拓扑图甚至图像序列。如图2所示,机器人平台的实线视野和虚线的浅色条纹,当用图像序列表示空间时,将导航过程中拍摄的图像提交给感知(实际图像)与期望(目标图像或存储在数据库中的目标图像)之间的某种基于外观的匹配。
图2 机器人平台的实线视野和虚线的浅色条纹Fig.2 Solid line field view of robot platform and light stripe of dotted line
目前的导航可以分为三类,分别是基于地图的导航、基于地图构建的导航和无地图导航:
1)基于地图的导航。这些系统依赖于用户创建的环境的几何模型或拓扑图。
2)基于地图构建的导航。这些系统使用传感器构建自己的环境几何或拓扑模型,然后将这些模型用于导航。
3)无地图导航。这些系统完全不使用任何关于导航的明确指引,而是依靠识别在环境中发现的物体或通过视觉观察产生运动来跟踪那些物体。
基于地图的导航为机器人提供环境模型。这些模型可能包含不同程度的详细信息,从完整的环境CAD模型到环境中元素之间的相互关系或相互关系的简单图形不等。在某些最初的视觉系统中,对环境的了解由网格表示组成,其中环境中的每个对象都由其体积在水平面上的2D投影表示。这种表示形式通常称为“占用图”,并已正式引入。后来,通过合并“虚拟力场”(VFF)改进了占用图的概念。VFF是一个占用图,其中每个占用的单元格都向机器人施加排斥力,而目标则施加吸引力。然后,将所有力被使用矢量加法/减法和用于指示机器人的新的标题有关此合力结合。如今,在许多研究导航系统中仍使用基于占用的表示形式[11-13]。
需要对三维地标进行空间分析并将其表面投影到2D地图。另一个详细说明包括在占用图中合并不确定性,以解决与空间中物体相关联的位置坐标的测量误差以及将这些坐标量化为“占用/空置”单元的误差。已提出用于处理占用图中不确定性的一些技术:1)直方图网格或矢量场直方图,其中检测到对象或检测到空位会导致增量或分别减少网格中相应单元格的值。机器人的新航向取决于直方图网格中谷的宽度以及通往目标位置的路径。2)模糊算子,其中每个单元格都具有代表相应空间的占用或空缺的模糊值。同样,已经提出了基于传感器融合的方法,其中将来自相机和测距仪的读数结合起来以生成基于占用率的环境模型等。
由于任何基于地图的导航的中心思想都是直接或间接地向机器人提供一系列预期在导航期间找到的地标,因此视觉系统的任务是搜索并识别图像中观察到的地标。一旦识别出它们,机器人就可以使用所提供的地图,通过将观测值(图像)与期望值(数据库中的地标描述)进行匹配,来估计机器人的位置(自我定位)。基于视觉的定位所涉及的计算可以分为以下四个步骤:
1)获取感官信息。对于基于视觉的导航,这意味着获取并数字化相机图像。
2)检测地标。通常意味着根据灰度、颜色、深度或运动的差异提取边缘,对区域进行平滑、过滤和分割。
3)在观察和期望之间建立匹配。在此步骤中,系统尝试通过根据某些测量标准在数据库中搜索可能的匹配项来识别观察到的地标。
4)计算位置。一旦获得匹配项(或一组匹配项),系统需要根据观察到的地标及其在数据库中的位置来计算其位置。
到目前为止,讨论的基于视觉的导航方法都要求机器人拥有环境地图(或模型)。但是模型描述并不总是易于生成,尤其是当模型描述也必须提供度量信息时。因此,许多研究人员提出了自动化或半自动化的机器人,它们可以探索其环境并建立其内部表示。斯坦福移动车使用单个摄像头拍摄了沿50 cm滑块间隔的九幅图像。接下来,一个兴趣算子(Moravec的兴趣算子)被用于提取图像中的独特特征。然后将这些特征关联起来以生成3D坐标。
程序迭代一次会在网格和图像平面中标记一次。尽管此网格间接表示了障碍物在地图上的位置,并且对路径规划很有用,但它并没有提供有意义的环境模型。因此,1985年,Moravec和Elfes提出了一种数据结构,称为占用栅格,该数据结构用于累积来自超声传感器的数据。占用网格中的每个单元格都附带有一个概率值,该概率值是对该单元格被占用的信念的度量。数据被投影到地板的平面上,并且占用栅格的每个正方形代表对象在地图上所对应正方形的占用概率。在当今的机器人中,占用栅格可以将来自多个传感器的测量结果合并到一张感知到的环境地图中,甚至不确定性也可以嵌入到地图中,例如直方图栅格或矢量场直方图。虽然基于占用网格的方法能够生成丰富的几何细节的地图,但是可以依赖所生成的几何图形进行后续导航的程度自然取决于机器人测距的准确性和地图构建过程中的传感器不确定性。此外,对于大规模和复杂的空间,所得到的表示对于路径规划、本地化等而言可能在计算上并不高效。此类缺点也适用于基于非占用网格的地图学习方法。这些表示通常具有嵌入的本地度量信息,用于节点识别并有助于在构建地图后进行导航决策。关于空间中如何将节点与其他相邻节点区分开,因为传感器不确定性的影响,各种建议的方法有所不同。拓扑方法的主要困难是识别先前访问的节点。在此类别中,包括所有无需进行环境事先描述即可实现导航的系统。当然,在自动构建地图的方法中也没有对环境的事先描述。但是,在进行任何导航之前,系统必须创建地图。通过观察和提取有关环境中元素的相关信息来确定所需的机器人运动。这些元素可以是墙壁、物体(例如书桌,门口等)。不必知道环境中这些元素的绝对(或相对)位置。但是,只能针对这些元素进行导航。在为此尝试过的技术中,最突出的技术是:基于光流和基于外观。还可以参考在无地图空间中尝试基于行为的方法进行基于视觉的导航的尝试。
虽然在基于地图的系统中很容易为机器人建立有意义的导航目标,但大多数机器人系统实际上仅限于在无地图系统中漫游。这样做的原因是,操作人员可以使用结构化环境的内部地图表示来方便地为机器人指定不同的目的地。目前基于无地图的对象识别导航主要采用的是基于外观的方法,机器人可以通过获取一些目标的预定义图像来进行追踪识别。Kim和Nevatia提出了另一种无地图导航方法。代替使用基于外观的方法来记忆和调用位置,而是使用符号导航方法。在这种情况下,机器人会接受“走到门”或“走到您面前的桌子”等命令,并使用这些命令中包含的符号信息来建立需要识别的地标和路径达到目标。例如,诸如“转到前面的办公桌”之类的命令告诉机器人,地标是办公桌,路径应指向前方。该机器人构建了作者所谓的“将3D空间压缩为2D空间图”,这是一个2D网格,用于存储通过视觉系统识别的观察到的地标的投影。一旦识别出目标地标(例如桌子)并将其位置投影到s地图中,机器人就会使用类似GPS的路径规划器并进行沉没追踪来绘制路径,以逼近目标。
绝对定位与增量定位是相对的,增量定位假定机器人的位置大约在导航会话开始时就知道了,而视觉系统的目标是细化位置坐标。在这种情况下,可以根据机器人大致已知的初始位置生成期望视图。当这个期望视图与摄像机的感知相一致时,结果是更精确地确定了机器人的位置。
3.3.1绝对定位
由于在绝对定位中,机器人的初始姿态是未知的,因此导航系统必须在整个数据库的观测值和期望值之间建立匹配。由于与观测结果相关的不确定性,同一组观测结果可能符合多个预期。由此产生的定位歧义可以通过以下方法来解决:马尔科夫定位,部分可观测马尔科夫过程,蒙特卡罗定位,基于混合高斯的多重假设卡尔曼滤波,使用区间表示不确定性,以及确定性三角测量等。在这里,我们将进一步解释Atiya和Hager提出的绝对定位方法。他们的方法是在摄像机图像中识别出机器人在其环境中行走时,其位置和方向是保持不变的实体。当机器人相对于三角形的三个点移动到不同位置时,三角形的每条边的长度将保持不变。因此,与三个地标点相关的长度和角度属性就足以识别这三个地标点,并在环境中的地标点与相机图像中的像素之间建立对应关系。一旦建立了这样的对应关系,发现机器人的绝对位置变成了三角测量的练习,但在现实世界中,这些地标点的坐标可能不知道确切的位置。此外,观察到的图像点的像素坐标可能会出现误差。此外,考虑到墙壁上的地标点的多样性,在建立地标三元组和观测像素三元组之间的对应关系时可能存在模糊性。
为了检测、跟踪和定位,机器人大约需要知道人的位置。也就是说,对于人的检测,不需要进行详细的分析,但是需要对机器人周围的环境进行高速粗略的了解。因此,我们介绍一种全向相机,它可以获得全方位(360度)的视野。如图3所示。通过安装在机器人上,使光轴垂直,可以获得机器人周围360度的视角。双曲面镜通过点P及其轴线,得到空间中某点在垂直平面上的像。因此,点P(X,Y,Z)投影到图像点P(X,Y)上。
(1)
分割算法返回图像中斑点的坐标(x,y)。 由于地标之间有意间隔(通常约为3 m),因此假设一次只能看到一个地标,因此只有一个斑点(最大的)用于本地化目的。 因为相机的水平φ和垂直χ视场以及图像的水平τ和垂直υ尺寸是已知的(参见图4),所以环相对于相机方向的水平和α和垂直β角可以计算方法如下:
(2)
由于摄像机的高度H及其倾斜角δ和旋转ρ以及机器人的全球位置x;y和方向θ是已知的(见图5),到环相对于机器人当前位置的感知距离计算为:
d=tan(β+δ)×H
ringY=x+sin(α+ρ+θ)×d
(3)
3.3.2卡尔曼滤波
卡尔曼滤波(Kalman filtering),一种利用线性系统状态的方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于它便于计算机编程实现,并能够对现场采集的数据进行实时的更新和处理,Kalman滤波是目前应用最为广泛的滤波方法,在通信、导航、制导与控制等多领域得到了较好的应用。到目前为止,我们已经展示了在机器人执行每个平移或旋转命令之后,如何更新机器人位置的均值和协方差。我们还展示了如何将机器人位置的不确定性投影到摄像机图像中,以便更好地定位摄像机图像中的地标特征。下一步包括在将地标(以直线特征的形式)与图像特征匹配之后,FINALE更新机器人位置的统计参数。这是借助于基于模型的卡尔曼滤波器完成的,该模型是从约束方程的线性化版本中得出的,约束方程必须由直线中的直线参数满足环境和相机图像中对应线的霍夫空间参数。
图4显示了当机器人使用基于卡尔曼滤波器的方法对自身进行定位时,一些更为重要的中间结果。图3中显示的是摄像机图像,其上叠加有根据内部空间的线框模型构建的期望图。白色边缘代表边缘检测器的输出。重要一点是,边缘检测器忽略了相机图像中的大多数灰度变化;它仅提取在Hough空间中位于模型边缘附近的那些边缘。显示了模型线要素末端的单位——马哈拉诺比斯距离不确定性椭圆。最后,显示了由边缘检测器产生的与模型边缘匹配的那些边缘,正是这种匹配导致机器人能够自行定位。我们在FINALE上的讨论表明,凭经验构造的模型在机器人执行平移和旋转运动时其位置不确定性的变化起着关键作用。通常,传感器不确定性以及不确定性与导航决策之间的取舍也很重要。
图3 相机图像和叠加的期望图Fig.3 The camera image and the superimposed expectation map
图4 卡尔曼滤波后的匹配Fig.4 Matching after Kalman filtering
正如我们的调查显示,用于移动机器人导航的计算机视觉已经完成了许多工作。如果目标是将移动机器人从一个坐标位置发送到另一个坐标位置,我们认为当今的研究界已经积累了足够的专业知识,可以设计出典型环境下完成该功能的移动机器人(不包括机器人所需的机电能力)。诸如开门、呼叫电梯、爬楼梯等任务。但是,如果目标是进行功能驱动的导航(例如,拿取位于给定走廊某处的灭火器或在变化的光照和背景条件下停在停车标志处),则距离我们还很遥远。
目前,对赋予移动机器人传感智能所面临的问题有了一定的了解。通过先验知识来构建几何的、拓扑的、基于外观的模型,从而获得不同的设计方案。对于移动机器人而言,有用的导航往往不能够解决不同环境下所遇到的问题,和固定臂的机器人相比,移动机器人所遇到的场景更为复杂。因此可见,未来将会有在特定任务和特定环境下的移动机器人问世,同时带有机器视觉的移动机器人已经在患者护理、建筑安全等领域得到了应用。在复杂的环境下必将有用来表示环境度量和拓扑属性的方式,目前,机器人在导航和面向任务进行决策时如何精准地考虑各种不确定性还有许多的不足,然而马尔科夫决策过程(POMDP)为解决该缺陷创造了良好的技术支持。在未来的几年时间内,该种方法为从事特殊任务的移动机器人提供了更多的功能支持。