激光测距在移动机器人自主导航中的应用
激光测距在移动机器人自主导航中的应用
隋金雪 1 ,杨 莉 1 ,贺永强 2
机器人在运动范围内需要有足够的传感器信息可供利用 ,以便进行地图构建、定位和自主导航。在完全未知环境中由机器人依靠其自身携带的传感器所提供的信息建立环境模型是机器人进行自主定位和导航的前提之一。通过二维测距传感器可以对机器人前方的情况进行扫描 ,结合其他外部传感器利用相应的算法就可以有效地得到一个三维的环境描述 ,这种方法广泛应用于机器人导航方面的物体特征提取、周围环境地图创建和自我定位。
实现真正使机器人完成在室内情况下的自主导航 ,实际上 ,就是要解决 Leonard J J[ 1 ]提出的 3个问题 ,一是移动机器人的自定位 ,也就是要明确自身所在环境中的正确方位。只有当这个问题解决之后 ,第 2个问题即机器人的运动目标才有意义 ,它主要涉及到机器人的任务描述和安排。最后一个问题指的是路径规划问题 ,也就是要在当前位置和目标位置之间规划出一条合理的路径 ,使得它在能保证机器人安全的前提下稳定地避障 ,并在路径长度或运行时间等指标意义上达到最优。实际上 ,在 Leonard J J的 3个基本问题的提法中 ,它的前提是己经有了一个先验的环境模型 ,即通常所说的环境地图 ,机器人的导航都是建立在它上面的。本文讨论了激光测量在机器人导航的地图自动生成和定位中的应用 ,并对如何用二维扫描获得三维数据流的算法进行描述 ,最后 ,取得良好的应用效果。
1 激光测量在地图自动生成中的应用
地图生成首先涉及到的问题就是地图的表达方式。主要有如下几种 :网格法、几何元素表示法、统计区域法和拓扑地图。网格法是建立在声纳传感器的基础上 ,几何表示法即利用点、线段等普通几何元素来表示未知环境 ,但它只适合于结构化的室内 ,且静止的环境。对于较复杂的室内环境则很难适合。因此 ,有人提出了基于激光测距扫描的统计区域法 [ 2 ]。统计区域法对激光测距扫描进来的距离数据点先按距离阈值准则进行聚簇。对于每一簇内的点以统计的随机变量表示 : x, y均值、方差、x, y协方差 ,协方差矩阵特征值。协方差矩阵特征值求出后 ,该区域的特征就确定了。从几何上来说 , 2个特征值分别表示一个椭圆障碍区域的长轴和短轴 ,还可以求出长轴和短轴的倾角。该方法不需要任何环境模型 ,也比较适合于复杂环境的地图建立。但是 ,与网格法相似 ,精度不高。
随着基于行为的移动机器人导航模式的出现 ,机器人需要具有较强与环境交互能力 ,因此 ,又出现了一种拓扑地图。它以不同符号表示不同的环境位置 ,但拓扑图同样由于几何信息过少而不具备定位功能。同时 ,又提出了一种将几何地图和拓扑图结合在一起的方法 ,让机器人既能运用拓扑图实现基于行为的导航 ,又能在各个节点上利用几何图实现定位。Gonzalez J[ 3 ]提出的可以利用激光测距扫描数据点对几何地图的自动生成作一个很好的参考。通过对超过一定距离值的不可靠的测距数据点进行数据滤波 ,然后 ,对激光测距扫描得到的每一个离散数据点进行坐标变换和点簇聚类。再通过递归分割技术把每一点簇内的点进一步细分成更小的簇。使得细分后的每一簇都能直接用于直线拟合。通过直线拟合后 ,把得到的局部线段特征应用到全局地图的更新算法中 ,即可完成室内几何地图的自动生成。
2 激光测量在机器人定位中应用
2. 1 基于完整线段的初始定位
初始定位问题实际上是要在机器人没有自身所处在环境中的位置的先验知识的情况下估计出自身位置。首先 ,由 Cox I J等人 [ 4 ]提出在对移动机器人 B lanche的实验工作中把这个问题作为问题 W here am I? 的答案。随后 ,很多计算几何学界的研究者把环境抽象为一个多边形的地图P,并假设机器人上装有能获得机器人周围“可见 ”部分信息的距离传感器 ,把该传感器的输入抽象为可视多边形 V。假设传感器输入的是零噪声的数据 ,而且 ,机器人己经有航向的先验信息 (通过罗盘等 ) ,他们把初始定位问题分为假设产生和假设删除 2个阶段。在假设产生阶段 ,获得所有可能的机器人定位 ,而在假设删除阶段则应用启发式规则删除所有不可能的假设。
在实验研究方面 ,针对二维激光测距扫描的特点 ,文献 [ 5 ]提出了基于“完整线段 ”匹配来实现室内移动机器人初始定位的方法。该方法首先辨别出当前扫描图中的完整和不完整特征信息 ,然后 ,仅仅将完整特征用来与已知地图匹配定位 ,计算量小 ,而且 ,剔除了不完整和不真实数据的干扰 ,鲁棒性好。针对实际室内环境经常会有局部小变化的特点 ,采取了在一定条件下将“次级完整线段 ”转换为 “完整线段 ”的措施 ,实现了对小变化环境的自适应能力。具体给出了“完整线段 ”和“次级完整线段 ”的定义、性质和判定方法 ,并介绍了基于“完整线段 ”匹配实现机器人自定位的详细算法过程 ,对算法实施过程中易碰到的几种情况做了分析 ,给出了具体的解决措施 ,并获得了良好的实验效果。
2. 2 基于环境特征跟踪的运动过程定位
运动过程定位指机器人在出发点的位置已知的情况下 ,在向目标点运动的过程中 ,能够不断地重复自身定位 ,从而不断校正位置误差 ,最终准确到达目标点。由于环境的复杂多样性 ,移动机器人的定位问题到目前为止还没有一套完整地具有很好环境适应能力的定位方法 ,基本上都是针对某一类特定环境而采用某一种或几种特定传感器来实现。日前 ,用得较多的传感器主要有声纳、激光测距传感、单目视觉和立体视觉等。其中 ,由于激光测距具有测距范围大、精度高、环境适应能力强等优点 ,在结构化环境中的机器人上获得了越来越多的应用。文献 [ 6 ]提出了一种基于环境特征跟踪实现机器人定位的方法 ,正是利用了激光测距扫描器的优点 ,同时 ,考虑了它的测量结果的不精确性 ,根据定位系统的需要对它建立了模型。该模型尤其强调了测量数据的原始误差对最后的观测向量的影响。同时 ,从机器人的里程计和惯性导航系统得到的信息可以建立机器人的运动模型。将机器人的运动模型和观测模型相结合 ,利用扩展卡尔曼滤波技术对环境特征进行跟踪 ,最终 ,实现了移动机器人的精确定位。
3 激光测量在机器人导航中的应用
由于激光测距传感器在 20世纪 90年代后的广泛应用 ,针对移动机器人的激光测距导航也就越来越多。 SICK激光扫描器在世界范围内机器人研究实验室中应用最广泛的一种。它可以设置成以 0. 5°, 1°为单位发射光束扫描 180°的平面 ,也可以设置成以 0. 25°, 0. 5°, 1°为单位发射光束扫描 100°的平面 ,测量范围可以设置成 8. 1, 81, 150 m。
激光测距扫描器的典型应用就是扫描和地面相平行的水平面 ,它可以提供一个好的解决侧面和障碍物的二维断截面 ,如果所有环境中的物体都是圆柱体 ,所有的表面都是垂直并且单一的水平面 ,这样 ,就可以获得所有环境物体的情况 ,然后 ,一个二维的数据描述传输给移动机器人一个合适的地图路线规划 ,一个通过激光测距扫描器获得的环境地图如图 1所示 ,测距仪前面是一个有两扇门开着的走廊。但真正的环境中肯定不是如此 ,它可能有许多不规则的障碍物存在 ,所以 ,这样的解决办法只是在某些理想的环境中。
3. 1 如何用二维扫描获得三维数据流
通过在水平面和垂直面各安装一个激光扫描器 ,在室内环境中已经利用 2个激光扫描器产生一个三维地图 ,把激光扫描器安装在机器人的前进方向上 , 并且 ,激光扫描器可以上下摆动 ,这样 ,就可以获得一个积累的二维半、三维的数据流 ,就可以得出一个解决三维外界环境描述的综合模型。
地图创建过程是一个坐标互相转换、互相衔接的过程。坐标转换过程涉及到传感器采集数据到机器人处理数据 ,再到描述周围的环境地图的 2个转换过程。图 2所示为传感器和机器人整体位置关系 ,传感器的位置平面可以作为xy扫描平面。把传感器旋转倾斜一定的角 ,就可以得到一个 x和 y值 ,再有了倾斜角θ,即可求出高度 H,当不断地沿着 x轴旋转轴旋转和不断地对 z值进行转换 ,机器人就可获得一个 32D的坐标数据流 ,即得到一个三维扫描传感器到机器人的齐次转换矩阵。把此矩阵和方向向量 [ x, y, z, 1 ]相乘即可在机器人中产生一个点的位置坐标 ,必须指出此过程中 x值没有变 ,而变化的只是 y和 z值。
如果机器人避障算法已经嵌到机器人坐标框架中 ,那么 ,在机器人坐标中的激光传感数据对避障就可以起到直接作用。要用直接嵌到环境坐标框架的算法实现地图创建和避障 ,还必须进行一个从机器人处理数据到描述周围环境地图的转换。
室外环境在探索未知地形方面存在很多潜在的导航问题 ,可以先从简单的室内导航来解决一些基本的问题 ,这里提供可以有效地构造一个解决环境 2. 5维的多问题解决环境模型 ,此模型可以有效简化地板表面室内导航问题。
从机器人处理数据到描述周围环境地图就是把采集的数据及时地转换成周围环境坐标的系统。转换完后 ,传感器采集数据继续更新输入环境地图模型 ,此模型可以产生一个适合路径规划的三维环境描述。环境地图模型包含了许多地图层 ,例如 :包括前方正视图、障碍物地图、走廊地图 ,而且 ,每一个单元正视图都包括基本的几何信息 :平均正视高度、最大最小正视高度和正视数据的反射信任度等 ,此反射信任度有助于处理机器人在前进中激光扫描器产生的测距白噪声。
包括激光扫描器、声波定位仪、视觉传感器和缓冲器所有的测量传感数据被输入到地图中 ,一组先验数据 ,一个构建层的地图可以类似地添加到环境地图模型中 ,地图融合数据后产生一个最佳的外界环境路径规划。用一些简单的方法就可以用来规划室内导航 ,把所有的数据可以直接输入一个单一的局部地图 ,合适的路径规划可以降低误差校正偏离 ,从一个直行线形的走廊中躲避障碍物。而复杂的室外算法则是基于信任度基础上的地图描述。在这个算法中 ,随着传感器模型地不断更新数据 ,测量信任度相应的线性也相应地提高和减少。当 1个地图单元收到 1个种类的突发信息时 ,例如 : 1个障碍物 , 1个正视图测量或 1个地形分类等 ,根据预先测量的传感器可靠性参数 ,在这个种类中的单元信任度就会相应地提高 ,单元网格的正视信任度也随着每个传感数据循环相应地提高 ,正视图也就被通用数据流和数据积累值不断更新而不断变化。
一个地图单元被分类到一个物体类型中 ,物体的分类 ,如 ,墙、桌子等实物类型 ,这些分类信任度是基于 SICK分类算法被不断更新 ,信任值随着被传感器特征决定的一个因素而提高 ,它可以通过离线的数据检测与分析而得出。信任度可以作为一个价值因素来决定一个单元网格的可行性 ,此可行性可以用来进行路径规划。一个不断更新的方位地图模型可以融合新的传感数据 ,这些数据可以使机器人始终保持在地图中心。不断的更新逼近可以尽量缩小各个单元的方位 ,数据虽然不断地被更新 ,但并不保存。当机器人偏离此单元中心时 ,不断更新的数据就向机器人传达新方位指令 ,不断更新的模型包括重新定位地图中心和机器人的方位。因为地图是以机器人为中心而进行规划的 ,所以 ,只有地图边缘不断地包含新区域 ,而必须进行初始化。
3. 2 实验验证
机器人在走廊中向前行进 1 m的一个单一扫描最大正视图。机器人中所显示的地图大小约为40 cm×40 cm ×20 cm。在这个扫描区域 ,激光扫描器被安装在离地面 1. 1m高 ,向下倾斜 12°。通过对走廊地面的离散点进行测量 ,可以获得一个完全前方环境的最大正视地图 ,如此就提供了一个 2. 5维的地图 ,包括了所有对机器人来说可能为障碍物的形状描述。灰度光线区域为获得的传感区域 ,黑暗区域为未知区域 ,机器人为地图的扫描中心。
废纸篓和左边门上的门把手被检测到 ,并显示在 32D地图上。类似的这些物体如果只通过单一的水平扫描就可能会丢失 ,在地图上显现不出来 ,例如 :门把手影射到地板上可能就是一个柱状体 ,这在圆柱式机器人来说是一个正确的表示 ,而对于在一个复杂多变的环境中行进的机器人 ,就需要构建一个更复杂的 32D外延扫描 ,以保障机器人可以无碰撞地通过。其中 ,最重要的一点就是环境中所有障碍物的三维特征高度必须低于传感器的高度 ,也是机器人上的扫描传感器必须捕捉到障碍物 ,然后 ,才能在路径规划中的合适位置中得以显现。既然传感扫描器只能看到其前面和下面 ,那么 ,高于机器人的悬挂物就很难看到 ,把传感器放在一个可以来回倾斜的支架上或者从机器人的下方再加一个向上扫描的激光扫描器 ,再或者加一个补充声纳传感器 ,这样 ,就可检测到有可能给机器人造成危险的所有障碍物。对于单传感器来说易存在许多类似的扫描盲区 ,只有使用多传感器才能解决这一问题。有玻璃墙的 32D走廊效果图 ,这些数据是通过一个可以向下倾斜 12°的激光扫描器在 2个建筑物间行进中获得 ,整个构架结构有一系列的柱体组成 ,包括向外延伸的窗户、地板等 ,一个扫描器放在机器人的中间 ,它可以把许多中空的地方扫描出来 ,必须指出 :如果外部的墙是透明的玻璃 ,而传感器也会把它作为一堵墙来显示。这些数据是在有光线的条件测得的 ,可以代表光传感器在最恶劣环境下的工作情况。这样 ,使用一个二维激光测距扫描仪通过技术手段就可获得一个三维的空间描述 ,从而可以使机器人获得一个很好的三维视觉结构图。
4 结 论
本文系统地介绍了激光测距在移动机器人自主导航中的应用研究 ,并提出了机器人导航中地图创建、定位如何用二维扫描获得三维数据流的算法描述 ,实验验证了该算法的运用使机器人获得一个很好的三维视觉结构图。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除