APP下载

基于虚拟标志的移动机器人导航方法

2022-06-10邓朝阳陆静平苏文桂

装备制造技术 2022年1期
关键词:代价障碍物标志

邓朝阳,陆静平,苏文桂,肖 威

(广西大学 机械工程学院,广西 南宁 530004)

0 引言

导航系统是移动机器人的核心。由于自主导航过程是以最短路径为路径规划目标,最短路径却不一定是最适合物流需求的规划目标。当移动机器人执行任务时会驶入动态变化的环境中,如暂存区等,而动态加入的障碍物容易造成机器人在动态环境中进行多次的路径规划,从而导致导航失败甚至使得机器人在原地旋转或者左右抖动造成机器人处于“假死”状态,这极大降低机器人的工作效率。当机器人在执行搬运任务时,期望其货物流通是在物流通道内进行,这样会保障流通的有序高效和安全可靠。

目前,机器人导航主要依赖多层代价地图,它是以栅格地图为基础,将地图相关数据信息根据语义信息进行分层处理[1-2]。栅格地图只能输出显示该位置信息是否占有的状态,不能获得更深层次的信息。而多层代价地图对不同类型障碍信息的分类处理及地图更新也更具灵活性,如今被广泛使用,如文献[3-5]均提出对代价地图的自定义方法,通过添加虚拟的障碍物或者扩大膨胀半径,避免了机器人与真实障碍发生碰撞,也改变机器人的导航结果。而实体的人工路标的导航方法在机器人行驶的路径中铺设人工标志,用路标引导机器人运动,不受周围环境变化影响,但人工标志必须设置到环境中,这限制了机器人的灵活性和使用范围[6-9]。

针对上述问题,提出在动态环境的多层代价地图中建立虚拟标志,用于引导机器人运动,使得机器人在物流通道内进行货物搬运任务。在代价地图中添加的虚拟标志,通过实时检测机器人周围的地图数据从而识别虚拟标志的信息,并根据标志信息发送运动指令引导机器人运动。其优点是虚拟标志不用添加到真实的环境中,而是添加在导航需要使用的代价地图中,具有极大的便利性和灵活性。然后在导航过程中对目标点进行分解,若经过较为固定环境采用自主自由导航,若在动态环境则采用虚拟标志导航,对每段进行单独的路径规划,降低了整体路径规划算法的难度。最后,通过仿真实验验证了基于虚拟标志的导航方法具备可行性。

1 虚拟标志的设计与识别

1.1 多层代价地图的组成

代价地图是通过SLAM(Simultaneous Localization and Mapping)算法构建静态环境信息地图,然后将地图相关信息根据语义信息进行分层处理,分别保存在各分层地图的对应栅格内,最后将各层地图进行叠加便生成了多层代价地图,代价地图更新流程如图1所示。代价地图中对障碍物周围膨胀,设定碰撞代价为机器人与障碍物之间提供一定的安全距离[10-12]。

图1 代价地图更新流程

本研究是在自定义地图层添加虚拟标志,然后地图更新时虚拟标志数据就更新至全局代价地图中。代价地图输出范围从[0,100]的完整梯度值,用于表达不同的状态,其中当值为100时表示完全占用;值为0时表示完全空闲;当代价值在[1,99]范围内,值越大表示发生碰撞的可能性越大。

1.2 虚拟标志的设计

由于移动机器人构建地图时只能扫描到障碍物的外轮廓,不能扫描到障碍物内部结构,根据此特性设计了外围包裹的结构与地图中障碍物进行区分。虚拟标志设计如图2所示,均采用8×9的近似正方形像素栅格结构和纯黑白设计,其中标志分为上下两个部分,上半部分中空白的一行用于增加标志的特征,提高识别的准确性;下半部分中中间黑色的栅格的个数表示标志的编号,同时这部分可以进行延长以增加编号容量,虚拟标志的编号是后续进行路径规划和导航依据的基础。标志下方的圆点为移动机器人,淡灰色框为机器人实时读取局部地图的范围。

图2 虚拟标志和机器人读取局部地图的范围

1.3 虚拟标志识别与功能设计

虚拟标志被放入代价地图中后不会受环境变化所影响,具有良好的稳定性。因此,识别虚拟标志的方法是更简单和准确,其识别流程如图3所示。

图3 虚拟标志识别流程

(1)实时读取局部代价地图数据:局部代价地图是以机器人为中心设定的小范围内实时检测和更新地图数据,根据此特性用于检测在设定范围内是否存在虚拟标志。实时读取的局部代价地图的数据是一个包含该范围内每个像素点代价值列表。

(2)轮廓检测:把读取到的代价值列表进行处理,对每个相邻代的价值为100的像素点进行连接。其中,最外层的像素点连接线为标志的外轮廓,最内层的像素点连接线为标志的内轮廓。

(3)最大内接矩形轮廓匹配:对识别到标志的内轮廓求出其最大内接矩形,通过与标志的上、下部分内轮廓的最大内接矩形进行对比,两者大小与位置对比一致,则识别到了虚拟标志。其中标志上部分的轮廓用于增加验证提高识别的准确性。

(4)标志编号识别:当识别出虚拟标志后,标志的下部分则包含虚拟标志的标号。通过计算下半部分轮廓内相邻连续代价值为100的像素点个数,即为标志编号。

在导航方面,将机器人经过的各个转弯路口和需要停驻的位置为目标位置,虚拟标志的识别是触发引导机器人运动的关键。而机器人导航过程可分解为基础的直线运动和转向运动,以及到达目的地后的运动停止,将这些运动过程通过不同的运动控制指令实现,并用不同的指令标志区分见表1。

表1 虚拟标志功能表

轮式机器人是通过轮间的差速运动实现运动过程,要控制机器人的运动则需要通过ROS(机器人操作系统)向机器人底盘发送x轴方向的线速度ν与z轴方向的角速度ω关系,当虚拟标志引导机器人进行直线运动时,没有转向所以角速度的值为0;当进行转向运动时,需要通过转弯半径R和航向角的变化值θ,计算出线速度与角速度的关系。

2 基于虚拟标志的导航方法

2.1 虚拟标志导航的原理

本研究的导航过程旨在贴近实际中机器人执行搬运任务的过程,能够实现灵活设置起始地和目的地两个地点的位置,然后让这两个位置进出最近的物流通道,在物流通道中实现搬运的主要过程,以保障搬运的高效性和可靠性。

整个过程可以简化为自由路径导航+虚拟标志引导路径导航+自由路径导航,这是对目标点进行了分解,使得每个部分能以较简单的目标点进行路径规划,提高整体路径规划效率。传统的自由路径导航阶段机器人一般使用A_star算法进行路径规划,用A_star算法遍历的节点越多,算法计算消耗的时间越多。本文在自由路径导航阶段,机器人仅从起点到虚拟标志入口节点和虚拟标志出口节点到目标点,这两个过程可以同时进行路径规划,并减少了A_star算法遍历的节点,提高了整体的路径规划效率。当给定了机器人起点和目标点位置时,通过分别计算起点和目标点到虚拟标志出入口节点列表中节点的距离,通过式(1)计算两者为最小的距离的节点即为出入口节点。

在虚拟标志引导区域,以各个虚拟标志为节点建立距离网络图,采用Dijkstra算法根据出入口节点为虚拟标志引导区域的起点和终点进行路径规划。同时,将此路径规划与引导机器人运动控制指令相互匹配,每个节点对应所需的运动指令,把两者匹配的结果存储为路径规划运动关系表。在导航时机器人需要不断检测自身周围内代价地图数据,检测是否是别到虚拟标志;当识别到虚拟标志时,需要校正运动方向,还要把识别到的虚拟标志编号与路径规划运动关系表比对,并发出该标志编号对应的运动指令,从而实现按已规划的路径完成导航,导航过程中路径规划流程如图4所示。

图4 路径规划流程

2.2 仿真验证

某环境中主要分为综合仓库、生产线和暂存区3个主要区域,这3个区域间较大空白区域即为物流通道。仓库和生产线中的设备位置不容易发生变化,而暂存区内的货物动态变化。因此,在暂存区周围建立虚拟标志引导机器人运动,将各个节点、暂存区的出入口等设为目标位置,将目标位置与虚拟标志建立对应关系,如图4所示,总共有A~J共10个目标位置建立虚拟标志。

通过仿真验证基于虚拟标志的导航方法,仿真验证的步骤:(1)机器人在仿真环境中建立环境地图;(2)让机器人以自主导航方式从货架区域行驶到暂存区域,并记录路径规划轨迹;(3)在代价地图中添加虚拟标志,并更新代价地图;(4)以同样的起点和终点下,运用基于虚拟标志的导航方法进行导航,记录运动轨迹,与步骤(2)中的轨迹进行对比。

仿真环境按照图5的物流环境布局,图中左侧为固定的货架区域,右侧有两条绿色固定的生产线以及在各暂存区堆积的货物,暂存区的范围用了绿色线条标出。

图5 物流仿真环境

其中路径规划运动关系见表2,分别以A节点到D节点和s到d1为例介绍,s到A节点与D到d2节点均是通过A_star算法进行路径规划,而A节点到D节点则通过虚拟标志导航。在表格中,两者采用“+”符号进行连接区分,在节点后括号内为运动指令,其中标志Q表示直线前进运动,[Z90,Q]表示在该位置先进行向左转,再进行直线前进运动,标志S停止运动。

表2 路径规划运动关系表

在同样的起点和终点的情况下,基于虚拟标志的导航方法是融合了A_star算法和虚拟标志导航方法,在起点s到标志A处与从标志D到目的地d1处采用A_star算法导航,而在A—B—C—D这段路径采用虚拟标志导航。在进行虚拟标志导航过程中,机器人利用AMCL(自适应蒙特卡罗定位算法)进行重定位,实时的确定机器人在地图中的位置。仿真环境中的运动轨迹如图6所示,其中图6(a)是s到d1段A_star算法路径规划,图中明显表现出了按最短路径规划的结果,但这是以s为起点和当前地图进行的规划,没有考虑后续路径的通行情况,具有很大的不确定性;其中图6(b)是按A_star算法规划的运动轨迹,其中刚开始是按照图6(a)规划路径行驶,但行驶到暂存区中遇到了障碍物,需要以障碍物周围进行减速绕行;而(c)(d)分别是s到d1段与d3到s段融合虚拟标志导航运动轨迹,其运动结果表明机器人按照规划路径运动,按照物流通道内行驶,与障碍物间保持了安全距离运动更加规范,在转向时轨迹更加圆滑。

图6 仿真环境中导航效果对比

经过10组s到d1段平均仿真运动结果见表3,融合虚拟标志的导航算法因为按照物流通道行驶,所以平均运动轨迹长度比以A_star算法导航的自由导航运动轨迹长。但因为物流通道内没有障碍物和物流通道是简单和规则的通道,所以机器人可在物流通道内保持默认速度行驶,而且基于虚拟标志的导航方法也可以设定机器人移动速度,使其运动更加高效。但是以A_star算法导航的自由导航却因为最短路径和周围障碍物等的限制,会多次进行转向和减速导致其平均速度相比更低。仿真实验验证了基于虚拟标志的导航方法的可行性,这种导航方法既保证机器人的起点和终点的灵活性,也规范了在暂存区等动态环境中机器人的运动,提高了机器人在货物运输过程中的安全性和可靠性。

表3 s到d1段10组平均运动结果对比

3 结语

针对移动机器人在生产物流的环境中的自主导航容易不按物流通道规范行驶,容易直接闯入暂存区域等造成反复路径规划或“假死”被困等情况。提出了在机器人导航的基础即代价地图中添加虚拟标志,并提出了基于虚拟标志导航的导航方法,结合了自主导航和虚拟标志导航,既保障机器人在起点和终点自主灵活性,也保证了在货物运输过程的安全性和可靠性。

猜你喜欢

代价障碍物标志
当代标志设计的创意构思和发展趋势
多功能标志杆的使用
高低翻越
赶飞机
首都的标志是只熊
月亮为什么会有圆缺
爱的代价
幸灾乐祸的代价
代价
代价