刘颖妮
(安徽汽车职业技术学院,安徽 合肥 230000)
随着移动机器人相关技术的不断发展,对于移动机器人技术的研究已经不止停留在对单一机器人的路径规划和地图定位等基本问题上。如何让多台运动的机器人在未知环境中结合其各自的位置及地图模型协同作业已经成为了该领域的研究热点[1]。
传感器系统的作用是发现移动机器人在其环境中的位置。不同方法所使用的研究平台、关键假设存在差异很大。由于不同的系统处于不同的开发阶段,这一现象给新技术的研究带来了进一步的挑战。因为用于移动机器人的传感器系统通常必须相对较小、重量轻且便宜,在目前的相关研究中仅将调查重点放在与移动机器人直接相关的方向。此外在经过对关于移动机器人定位的文献调研后可知,目前尚没有针对移动机器人的定位问题真正成熟的解决方案。许多局部解决方案可以大致分为两类:相对位置测量和绝对位置测量。由于缺少一种好的方法,移动机器人技术的开发人员通常将两类方法结合起来应用,而这两类方法可进一步分为以下7个类别[2]:
I.相对位置测量:1.里程计;2.惯性导航;
II.绝对位置测量:3.磁罗盘;4.主动信标;5.全球定位系统;6.地标导航;7.模型匹配。
作为在移动机器人定位中使用最广泛的传感器,里程计的基本思想是随着时间的推移对增量运动信息进行整合,这种做法不可避免地导致了错误的无限累积。具体来说,定向误差的累积将导致较大的横向位置误差,该误差量随着机器人行进距离的增加而成比例的增大。尽管存在这些缺陷,但大多数研究人员都使用里程计作为机器人导航系统的重要组成部分,并且如果可以提高里程计的准确性,导航任务将得到简化[3]。
当轮系旋转可以准确地转换为相对于地面的线性位移时,里程计适用。但是,在车轮打滑和其他一些更细微的情况下,车轮旋转可能不会成比例地转化为相对于地面的线性位移。产生错误的原因可分为两类:系统误差和非系统误差。系统误差是指由机器人的运动学缺陷产生,例如轮径和轴距确切值的不确定性。非系统性误差由地板与车轮之间的相互作用所导致,例如车轮打滑、颠簸和裂纹。
作为移动机器人技术中的一个重要但较难解决的问题。里程计误差的定量测量常因缺少明确用于量化里程误差的测量程序,导致移动平台的校准性较差。为了解决这个问题,国外学者开发了一种用于定量测量系统里程计误差的方法,并在一定程度上测量非系统的里程计误差,这种方法被称为密歇根大学基准(UMBmark)[4]。
用测距法计算机器人的返回位置与实际返回位置进行比较显示,将产生类似于图1所示的误差。图1的结果可以解释如下:cw和ccw运行后的停止位置聚集在两个不同的区域。cw和ccw群集内的分布是非系统误差导致的结果。此外,图1显示,当未校准的移动机器人在合理光滑的混凝土地板上行驶时,系统误差对总里程计误差的贡献可能明显大于非系统误差的影响。
图1 使用未经校准的机器人运行UMBmark的典型结果
惯性导航使用陀螺仪和加速度计分别测量旋转速率和加速度。一次(对于加速度计,两次测量)测量以得出初始位置。惯性导航系统的优势在于其本身是独立的,即惯性导航系统不需要外部参考,因此惯性传感器数据会随时间漂移。多次测量后,任何的小恒定误差都会无限制地增加。因此,惯性传感器不适合在长时间的精确定位。
惯性导航对累积误差的影响而言,航向是导航参数(x,y和θ)中最重要的。因此,提供绝对航向测量值的传感器对于解决自主平台的导航需求极为重要,磁罗盘可解决上述问题。然而,任何磁罗盘通常都会在电力线或钢结构附近变形,这使得在室内应用中难以直接使用地磁传感器。基于与地球磁场相关的各种物理效应,可以使用不同的传感器系统:机械磁性罗盘、磁通罗盘、霍尔效应罗盘、磁阻罗盘和磁弹性罗盘。
主动信标导航系统是船舶、飞机以及商用移动机器人系统上最常见的导航辅助工具。可以检测到活动信标,并以最少的信息处理量提供准确的定位信息。该方法具有高采样率及高可靠性,但是也存在安装和维护的成本过高。主动信标导航系统可区分为两种不同类型的活动信标系统:三边测量和三角测量。
1.三边测量。三边测量是根据已知信标源的距离测量值来确定车辆的位置。在三边测量导航系统中,通常在已知位置安装三个或更多的发射器,并在机器人身上安装一个接收器。相反,板上可能有一个发射器,接收器安装在墙上。系统使用飞行时间信息,计算固定发射器与机载接收器之间的距离。
2.三角剖分。在三角剖分配置中,安装三个或三个以上的活动发射器于已知位置。如图2所示,机器人身上的旋转传感器记录了角度“λ1、λ2和λ3”,在该情景下,机器人可“看到”发射器信标相对于车辆的信标。根据这三个测量值,可计算出未知的x和y坐标以及未知的车辆方向。其具体流程如下:
仅当机器人位于由三个信标组成的三角形之内时,几何三角剖分方法才能始终如一地工作。在信标三角形之外的区域中可以使用几何方法,但是这些区域很难确定,并且高度依赖于角度的定义方式。
当三个信标和机器人都位于或靠近同一圆时,使用“几何圆相交”方法会产生较大的误差。当对机器人位置和方向的初始猜测超出一定范围时,该方法将失败。此外,该算法要求至少两个信标的航向大于90°。任何一对信标之间的角度间隔都必须大于45°。因而,上述任何一种方法都存在误差,但是将两种或多种方法智能组合则可以克服单一方法的弱点。
图2 基本的三角剖分问题
全球定位系统(GPS)是一种用于室外导航的革命性技术,GPS系统拥有24颗卫星(包括3颗备用卫星),它们发射具有编码的RF信号。地面接收器可以使用先进的三边测量方法测量卫星RF信号的传播时间(包括有关卫星瞬时位置的信息)来计算其位置。理论上,知道从地面接收器到三颗卫星的精确距离即可计算接收器的纬度、经度和高度。
为防止敌对国家使用GPS来支持精确武器的使用,美国政府故意在时间和卫星位置上留有一定的误差,使得位置精度降低到约100m,该种情况被称为选择性可用性(SA)。通过差分GPS(DGPS)算法可以基本上消除SA的影响。将第二个GPS接收设置器与第一个GPS接收器非常接近(即在10km之内),当两个GPS观看相同的参考卫星时,将遭受基本相同的误差影响。如果第二个接收器固定在精确测量的位置,则可以将其计算出的解与已知位置进行比较,以生成表示该区域中主要情况的复合误差矢量。然后,可以将这种差分校正传递给第一接收器,以消除该种影响,从而有效地减少商用系统的位置误差。
作为机器人从其感官输入可识别的独特地理信息,地标可以是几何形状(例如,矩形,直线,圆形),也可以包括其他信息(例如条形码形式)。通常,地标具有已知固定的位置,机器人可以相对于其来定位自身。精心选择地标,以便于识别。例如,相对于背景必须有足够的对比度。在机器人利用地标进行导航之前,必须知道地标的特征并将其存储在机器人的内存中。地标导航的主要任务是识别地标并计算机器人的位置。
为了简化路标获取问题,通常假定当前机器人的位置和方向是已知的,机器人只需要在有限的区域中查找路标。因此,良好的里程计精度是成功检测地标的前提。
某些算法介于地标和地图的定位之间。通过使用传感器来感知环境,然后提取出不同的结构,这些结构将在未来成为导航的地标信息。本节中讨论的是两种地标类型:“人工”和“自然”地标。重要的是,“自然”地标在高度结构化的环境(例如走廊,生产车间或医院)中效果最佳。事实上,“自然”地标实际上是人工制造的。因此,将术语“自然地标”和“人工地标”定义如下:自然地标是那些已经存在于环境中并且用于机器人导航以外还具有其他功能的对象或特征;人工地标是经过特殊设计的对象或标记,需要将其放置在环境中,其唯一目的是用于机器人导航。
基于地图的定位技术,也称为“地图匹配”技术,其中机器人使用其传感器创建本地环境地图。然后将该局部图与先前存储在存储器中的全局图进行比较。如果找到匹配项,则机器人可以计算其在环境中的实际位置和方向。预先存储的地图可以是环境的CAD模型,也可以根据以前的传感器数据构建。基于地图的定位技术使用典型室内环境的自然结构来导出位置信息,而无需修改环境。同样,随着一些算法的开发,基于地图定位的机器人将学习新环境并通过探索来提高定位精度。基于地图定位的缺点是对传感器地图准确性的严格要求,并且要求有足够的静止,易于区分的特征才可用于匹配。由于具有挑战性,当前大多数基于地图的定位工作仅限于实验室设置和相对简单的环境。
与地图构建有关的问题是“自主探索”。为了构建地图,机器人必须探索其环境以绘制未知区域。通常,假定机器人在没有任何环境知识的情况下开始其探索。然后,遵循一定的运动策略,在最短的时间内最大化绘制区域的数量。这种运动策略称为“探索策略”,它的准确性在很大程度上取决于所使用的传感器的类型。
许多研究人员认为,没有任何一种传感器能够单独捕获现实环境中所有相关特征。为了克服这个问题,有必要组合来自不同传感器模态的数据,这一过程称为传感器融合。例如,Buchberger等开发了一种机制,该机制利用从激光雷达和声纳系统中获得的异类信息来构建可靠且完整的世界模型。传感器融合是一个活跃的研究领域,文献中有各种类型传感器融合数据的技术。
基于地图导航最重要和最具挑战性的方面之一是地图匹配,即在本地地图和存储的全球地图之间建立对应关系。计算机视觉社区中的地图匹配工作,通常集中在匹配相对于模型的任意位置和方向这一普遍问题上。通常情况下,首先提取特征,然后确定图像和模型特征之间的正确对应关系(通过某种形式的约束搜索)来实现匹配。
单个机器人的SLAM问题处理如下:在时间1,2,...t,令x1:t表示机器人位置的序列,z1:t表示相应的观察序列,并且通过u0:t-1表示机器人相应执行的动作序列。中间目标是在给定一些初始位姿x0的情况下计算机器人轨迹x1:t和地图m上的后验概率p(x1:t,m|z1:t,u0:t-1,x0)。将后验概率p分解为两个因子:
p(x1:t,m|z1:t,u0:t-1,x0)=p(m|x1:t,z1:t,u0:t-1,x0)p(x1:t|z1:t,u0:t-1,x0)
(1)
其中第一项是可能的地图分布,第二项是可能的轨迹分布。通过公式(1),一旦获得机器人轨迹x1:t,就可以分析、计算第一项。因此,可以使用粒子滤波器来近似后验轨迹和地图,其中每个样本代表完整的机器人轨迹,并且这些样本的存在是形成独立地图的前提。
单机器人SLAM问题具有一定的条件依赖性,图3为单机器人SLAM的粒子滤波器。假设每个粒子(i)为元组
xt(i)=A(ut-1,xt(i))
mt(i)=M(zt,xt(i))+mt-1(i)
wt(i)=S(zt,xt(i),mt-1(i))wt-1(i)
(2)
其中A,S和M分别为动作、传感器和地图模型。更具体地说:A返回从分布p(xt(i)|xt(i-1),ut-1)绘制的随机位姿;S是传感器模型p(zt|xt(i),mt-1(i));M是一个增量地图生成器,返回部分占据栅格(以对数似然形式表示,以允许网格的线性叠加)。在这些方程中捕获的是具有自洽映射的粒子,相较于具有非自洽映射的粒子赋予更大的权重,并且后者最终会通过重采样被移除。
图3 单机器人SLAM贝叶斯网络
图3中机器人轨迹由序列(x0,x1,x2,x3……)观察引导,通过序列(z1,z2……)和序列(u0,u1……)的动作观测地图m。
现在可以引入以下反应式导航规则,是在离散时间0,δ,2δ,3δ,……更新机器人角速度u(t)的规则:
若m(kδ)=0,则对于任意t∈[kδ,(k+1)δ)
u(t)=Umaxsign(θ0(t)-θ(t))
(3)
若m(kδ)=1,则对于任意t∈[kδ,(k+1)δ)
u(t)=Umaxsign(C(t)-θ(t))
(4)
这里C(t)由为位置坐标误差,函数sign(x)为标准符号函数。
sign(x)={-1x<0
0x=0
1x>1
(5)
导航规则(4)的描述非常简单。当机器人没有感知到前方的环境(m(t)=0)时,它使机器人航向尽可能接近θ0(t)的方向。当机器人感知环境(m(t)=1)时,它使机器人航向尽可能接近C(t)的方向。
本文分析了目前用于移动机器人定位的传感器和技术,并对这些方法进行了分类。相关调研显示,对于室内移动机器人导航,由于当前没有基于RF的三边测量系统在室内进行可靠工作,很难实现与GPS等效的室内环境。如果可以保持固定组件和车载组件之间的视线,那么基于RF的解决方案也可以在室内使用。但是,在那种情况下,使用三角测量的光学组件通常具有更高的经济性。尽管现有的系统功能强大和技术多种多样,但本文认为移动机器人仍然需要一种通用的室内导航方法。