APP下载

基于改进双向探索A*算法的医疗巡检机器人路径规划研究

2022-01-13赵靖华王建森孙宏宇

关键词:移动机器人双向机器人

赵靖华,王建森,鲁 铮,孙宏宇

(吉林师范大学 计算机学院,吉林 四平 136000)

0 引言

近年来世界人口老龄化加剧,医疗诊断和治疗量增加,医护人员工作强度大,医疗巡检机器人应用得到了快速发展[1].医疗巡检机器人可以减轻医护人员的工作量,并避免医护人员和高传染性患者的直接接触,代替医护人员完成简单但耗费体力的流程性工作,有效缓解医护人员的工作压力和心里负担[2].如何安全合理规划机器人的运动方式是移动机器人领域的难点问题[3].路径规划算法的研究能缩短机器人寻路时间并准确找出一条无碰撞高效路径,对移动机器人就成为了必然.其中,路径规划算法是实现机器人移动控制的一项关键技术[4].路径规划的传统方法包括A*算法[5-6]、D*算法[7]、人工势场法[8]、粒子群算法[9]等.

其中,A*算法本身搜索速度快、效率高,被广泛应用于静态环境的全局最优路径求解[10].然而,传统A*算法为了获得最优轨迹产生了大量冗余计算[11],在复杂环境地图需要较长的处理时间和较高的内存资源占用.对此,L.Zhang等[12]采用了一种在动态障碍物的复杂环境下路径规划方法,通过GoogLeNet识别障碍,自适应步长调整A*算法,改进评价参数,对路径进行二次平滑处理,缩短了运行时间,减少了路径长度,但降低了搜索效率;L.Xin等[13]采用了一种中心约束加权A*算法,该算法为不同位置的节点分配不同的动态权重,在扩展过程,节点权重沿指定方向变化,以减少搜索节点的数量,障碍环境下加快搜索速度,减少了规划时间,但路径安全性有待提高;殷祥钊等[14]采用了一种将跳点搜索算法对传统A*算法进行改进,删除大量计算机列表中的节点,极大缩短了搜索时间,减少计算内存开销,但会导致路径不平滑转折幅度增大;王云峰等[15]针对仓储自动导引车路径规划中转弯次数多、冲突节点多的问题采用一种改进A*算法,在传统A*算法的启发函数中加入“方向函数”,不断修正代价值减少不必要的转弯,缩短时间,但计算量较大,运行效率不高;白雄等[16]针对标准A*算法在路径过程中拐点较多,转角大等缺点通过引入障碍物权重系数来改进A*算法的启发函数,算法搜索节点更有方向性,提高了算法的效率,但内存使用率仍然很高;李冲等[17]采用一种单边矩形扩展A*算法,该方法采用受迫扩展规则,用一条公共边代替相邻矩形的两条冗余独立边,提高了搜索速度,优化了路径质量,但并不适用医院等复杂的环境.

从上述文献可以看出,以往的改进算法主要局限于启发式函数和搜索点的改进,在一定程度上提高了搜索效率,但不适用于医院复杂环境下的地图,很少考虑到移动机器人的环境信息和避障能力等问题[18].本文基于双向探索A*算法[19]对医院复杂情况下机器人的寻路策略进行优化,在保留原有算法安全性基础上,提高了寻路效率和实时规划能力.

1 双向探索A*算法

本章对双向探索A*算法进行描述和分析,阐述了医院复杂环境下基于双向探索A*算法的寻路策略.

1.1 双向探索A*算法

A*算法是由起始点开始向目标点搜索,虽然最终的搜索路径最短,但速度不一定是最快的.因此,基于A*算法,同时从起始点和目标点开始搜索,搜索从单向搜索变为双向搜索.双向探索A*算法公式为:

(1)

其中:s为节点;F(s)为出发点到目标点的总损失值;G(s)为出发点到s节点的损失值;H(s)为s节点到目标点的损失值.当一方检测到另一方的已检查节点node时,此时F1(node)+F2(node)的值最小,搜索结束.其中F1(node)是从起始点到节点node的最小损失值,F2(node)是从起始点到节点node的最小损失值.双向探索A*算法基于A*算法的高精度,选择两条搜索结果中较好的一条作为最优路径,既保留了A*算法原有的安全性,又使路径规划更快更准确,安全可靠.

改进双向探索A*算法寻路策略如下:

图1 改进双向探索A*算法路径的规划策略Fig.1 The path planning strategy of the improved two-way exploration A* algorithm

本文选择医院作为试验环境.医院环境复杂多变,机器人路径规划也更为困难[20].为此,采用一种改进双向探索A*算法的路径规划策略.医疗巡检机器人工作过程中,常遇到三种复杂情况,分别是遇到障碍物、接到临时任务指令以及在同一楼层中两个行驶机器人相遇.第一种情况,遇到障碍物时,医院楼层中人流量大,机器人自主避障困难.本文在路径规划中加入障碍物等待机制,如果识别障碍物面积大于1.5 m2,此时障碍物为人,则等待10 s后开始绕行;识别障碍物面积小于1.5 m2,此时障碍物为固定障碍物,直接绕行.第二种情况,机器人行驶过程中,接到临时任务指令时,机器人对自身任务进行判断,如果当前无任务,则直接执行临时任务;如果当前存在正在执行任务,则变更任务,执行临时任务.第三种情况,同一楼层中两个行驶机器人相遇时,此时构成多机器人协同系统[21].其一,两个机器人协同配合执行任务,采用分层式结构,由掌控全局环境信息的主控单元对信息集中处理,对两个机器人进行运动规划;其二,遇到突发状况时,采用分布式结构,主控单元停止工作,各机器人自主规划运动路线;其三,当检测到两机器人同向且距离小于1 m时,为避免机器人相撞,触发停止保护功能,另一机器人绕行.

改进双向探索A*算法的路径规划策略基于双向A*算法高精度,选择两条搜索结果中较好的一条作为最优路径,既保留了双向A*算法原有的安全性[22],又使路径规划更快速更合理,实用性更强.

2 仿真试验评估

本章对医院环境地图作栅格化处理,在机器人操作系统(Robot Operating System,ROS)操作系统[23-24]中对医院地图环境下的改进双向探索A*算法的路径规划进行验证和评估.

2.1 栅格地图下改进A*算法的试验评估

常见移动机器人地图有拓扑地图、栅格地图等.栅格地图中的地图位置信息以一维数组的形式存在,具有资源占用小,易表示多维度语义信息[25]等优点.本文选用栅格地图来模拟医疗机器人仿真环境.在ROS平台上对改进双向探索A*算法在医院复杂栅格地图环境进行路径规划仿真试验.试验所采用的计算机配置是:Windows7操作系统,处理器为AMD A8-5600k,运行内存为8 GB,主频为3.6 GHz.

图2是改进的双向探索A*算法在20×50的栅格地图中得到的仿真试验结果,其中黑色方块代表环境地图中的障碍物,Start处代表起始点,Goal处代表目标点,黄线为从起始点开始探索的规划路径,蓝线为从目标点开始探索的规划路径.从图2中可以看出,当从目标点出发的蓝线探索结束时,起始点出发的黄线探索仍在继续.显然,目标点蓝线探索路径速度快于起始点黄线探索速度;此时选择从目标点出发的蓝线探索路径作为机器人最优路径,探索时间更短,效率更高.

图2 双向探索A*算法路径规划Fig.2 The path planning results of the two-way exploration A* algorithm

仿真试验结果表明,改进双向探索A*算法作为路径规划算法能够适应医院复杂环境下的地图,可以得到至少一条用时最短的最优路径,加快探寻最短路径的速度,提高搜索效率,实用性更强.

3 真实环境下的试验验证

本章介绍了试验应用的软件系统和硬件系统,使用EAI移动机器人对医院真实环境地图进行构建,对障碍环境下的改进双向探索A*算法路径规划进行验证.

3.1 试验平台环境

试验软件系统采用VMware15.5虚拟机、Ubuntu16.04和Kinetic版本的ROS操作系统.硬件系统采用EAI D1移动机器人,YDLIDAR G4激光雷达和4枚声呐传感器和一台台式机以及一台EAI笔记本电脑.EAI移动机器人如图3所示.

图3 EAI移动机器人Fig.3 EAI mobile robot

系统硬件框架如图4所示.笔记本电脑置于机器人底盘支架,通过USB接口连接EAI机器人的Dashgo D1移动底盘和G4传感器.台式机作为远程工作站,在同一WiFi环境下,通过SSH远程登录协议与EAI笔记本电脑通信.在台式机上可以输入命令控制移动机器人运动,实时观察机器人的建图效果、路径轨迹和进程调试.

图4 系统硬件框架Fig.4 System hardware framework

选用激光雷达和声呐融合传感器作为EAI移动机器人传感器.与传统单一传感器相比,融合传感器定位误差更小,获取初始位姿更加准确.然后结合ROS操作系统中的amcl工具包和Gmapping建图算法实现地图的实时构建[26].其中,G4激光雷达传感器主要参数如表1.

表1 YDLIDAR G4传感器主要参数Tab.1 Main parameters of YDLIDAR G4 sensor

3.2 医院环境试验

3.2.1 医院环境地图构建

本文选择医院作为EAI移动机器人路径规划的试验环境.试验部分环境如图5左图所示.启动keyboard键盘控制终端,控制EAI机器人进行移动和转向.机器人行驶过程中,平均移动速度为0.45 m/s.EAI机器人利用激光雷达和声呐融合传感器对周围环境进行扫描,获取自身位姿信息以完成定位功能.图5右图为EAI机器人构建医院完整地图,地图包括大、小病房、卫生间、输液厅、护士站和配药室等.医院整体地图构建完成后,将扫描地图保存,用于接下来进行的自主导航试验.

图5 EAI移动机器人试验地图构建Fig.5 The map construction for the EAI mobile robot

3.2.2 路径规划试验

路径规划试验建立在3.2.1节构建医院整体环境地图上.先对EAI机器人的位姿进行初始化设置[27],使用ROS操作系统中的RVIZ工具为机器人设置一个目标点后,EAI机器人会按照规划路径自主导航到目标点.EAI机器人路径规划轨迹如图6所示,红色轨迹为改进双向探索A*算法的路径规划结果,路径搜索时间为248.59 s,转弯处的红色箭头代表医疗巡检机器人的转弯角度,表明改进后双向探索A*算法转角平缓,路径平滑.

图6 改进双向探索A*算法路径规划结果Fig.6 The path planning results of the improved two-way exploration A* algorithm

继续验证连续障碍环境下,改进的双向探索A*算法的路径规划能力和探索路径安全性,测试结果如图7所示,红色轨迹为改进双向探索A*算法的路径规划轨迹.试验结果表明,EVI机器人能够自主躲避障碍物,改进后双向探索A*算法路径规划轨迹平滑不突出,安全性高.

图7 连续障碍环境下改进双向探索A*算法路径规划结果Fig.7 The path planning results of the improved two-way exploration A* algorithm in the continuous obstacle environment

表2为连续障碍环境下测试数据.测试过程中发生碰撞的原因有手动拖动鼠标完成机器人朝向时打滑,导致没有得到正确的初始位姿.数据显示,安全到达率>96%,证明改进后的双向探索A*算法寻路策略具备完成障碍环境下路径规划的能力且有较高的安全性.

表2 连续障碍环境下测试结果Tab.2 The test results in the continuous obstacle environment

5 结语

针对医院环境复杂多变、障碍物多、移动机器人路径规划困难等问题,采用了一种基于医院复杂环境的改进双向探索A*算法导航策略,该方法解决了机器人遇到障碍时、接到临时任务、同一楼层两车相遇等复杂情况下机器人的路径规划问题.在ROS平台上结合栅格地图对改进双向探索A*算法进行测试,结果表明:改进双向探索A*算法具有很好的鲁棒性,探寻最短路径的速度更快,搜索效率更高.在医院真实环境下,应用EAI移动机器人进行改进双向探索A*算法的路径规划试验.结果表明:本文采用的导航策略路径搜索探索时间为248.59 s,在医院复杂环境下,搜索路径时间较快,搜索效率高,连续障碍环境下安全到达率>96%,安全性高.本文采用的方法相比于其他路径规划算法具有一定的优越性,完全适合医院较为复杂环境,满足路径规划要求,具有广泛的应用场景.

猜你喜欢

移动机器人双向机器人
双向度的成长与自我实现
移动机器人自主动态避障方法
降低寄递成本需双向发力
用“双向宫排除法”解四宫数独
基于Twincat的移动机器人制孔系统
一种软开关的交错并联Buck/Boost双向DC/DC变换器
机器人来帮你
认识机器人
机器人来啦
极坐标系下移动机器人的点镇定