机器人自主绕障方法、设备、系统及存储介质与流程

文档序号:32757222发布日期:2022-12-31 04:40阅读:35来源:国知局
机器人自主绕障方法、设备、系统及存储介质与流程

1.本技术涉及智能机器人技术领域,尤其涉及一种机器人自主绕障方法、设备、系统及存储介质。


背景技术:

2.目前,在工业场景中运行的机器人常常需要提前绘制机器人运行的路径。机器人在预先绘制的路径中运行时,如果障碍物出现机器人在运行路径上,很多机器人会停止在障碍物前方,直到障碍物消失,才可以继续运动,这会极大降低现场机器人运行效率。
3.但是,机器人作业场景中的障碍物可能是生产需要,而不能随意转移,所以需要使得机器人具备避障功能。目前对于机器人避障功能的实现一般是重新绘制一条新的路线进行避障,这样的做法往往会存在很多不确定性,比如开发的新路线上是否会存在其他障碍物,是否会干扰其他设备或机器人的运行等;同时,也加大了数据处理量,降低机器人的运行效率。因此,如何解决目前机器人避障运行的效率低成为了亟待解决的技术问题。


技术实现要素:

4.本技术提供了一种机器人自主绕障方法、设备、系统及存储介质,旨在提高机器人避障运行效率。
5.第一方面,为实现上述目的,本技术提供一种机器人自主绕障方法,所述机器人自主绕障方法包括以下步骤:
6.获取预设运行路径;
7.控制机器人沿所述预设运行路径行驶;
8.若在所述机器人行驶过程中,检测到所述预设运行路径上存在障碍物,获取障碍物信息和所述机器人的当前节点位置;
9.基于目标节点位置、所述当前节点位置以及所述障碍物信息,确定绕障路径,其中,所述目标节点位置位于所述预设运行路径上;
10.控制所述机器人沿所述绕障路径行驶,以使得所述机器人绕过所述障碍物并回到所述预设运行路径上。
11.第二方面,为实现上述目的,本技术还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的机器人自主绕障方法的步骤。
12.第三方面,为实现上述目的,本技术还提供一种机器人自主绕障系统,所述机器人自主绕障系统包括至少一个机器人以及如上所述的计算机设备。
13.第四方面,为实现上述目的,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的机器人自主绕障方法的步骤。
14.本技术提供一种机器人自主绕障方法、设备、系统及存储介质,本技术用于提高机
器人避障运行效率。通过对机器人预设运行路径上的障碍物检测,能够提前控制机器人做出规避、停止等操作,避免机器人与障碍物发生碰撞;若检测到预设运行路径上存在障碍物,则可以在预设运行路径上设置一个目标节点位置,作为机器人绕障路径的终点;并根据障碍物信息、机器人的当前节点位置以及目标节点位置,在机器人的地图上搜索可以绕过障碍物并到达目标节点位置的绕障路径,从而可以控制机器人沿着绕障路径行驶,以绕过障碍物,并返回到预设运行路径上,继续沿着预设行驶路径运行,同时,可以保留绕障路径,不需要对障碍物进行转移,避免对工作环境的影响,且只需要计算绕开障碍物的路径,能够降低数据运算量,从而提高机器人的运行效率。
附图说明
15.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明实施例方案中涉及的机器人自主绕障设备的硬件结构示意图;
17.图2为本技术提供的一种机器人自主绕障方法的第一实施例流程示意图;
18.图3为本技术提供的一种机器人自主绕障方法的第二实施例流程示意图;
19.图4为本技术提供的一种机器人自主绕障方法的第三实施例流程示意图;
20.图5是本技术的实施例提供的一种机器人自主绕障装置的示意性框图;
21.图6是本技术实施例提供的一种计算机设备的结构示意性框图。
22.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
25.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
26.本技术的实施例提供了一种机器人自主绕障方法、机器人自主绕障系统、计算机设备及存储介质,用于绘制机器人绕障路径,以使得机器人可以绕过障碍物并返回到预设运行路径,减少数据运算量,以提高机器人运行效率。
27.如图1所示,图1为本发明实施例方案中涉及的机器人自主绕障设备的硬件结构示意图。本发明实施例中,机器人自主绕障设备可以包括处理器1001(例如cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005可以
是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
28.本领域技术人员可以理解,图1中示出的硬件结构并不构成对机器人自主绕障设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
29.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及机器人自主绕障程序。
30.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的机器人自主绕障程序,并执行本发明实施例提供的机器人自主绕障方法。
31.以下,将基于该机器人自主绕障系统对本技术的实施例提供的机器人自主绕障方法进行详细介绍。
32.请参照图2,图2为本技术提供的一种机器人自主绕障方法的第一组实施例流程示意图。该机器人自主绕障方法可以用于机器人自主绕障系统的终端中。
33.如图2所示,该机器人自主绕障方法包括步骤s101至步骤s105。
34.步骤s101、获取预设运行路径;
35.在机器人工作场景中,工作环境复杂,且可能存在多个机器人设备、移动设备或者障碍物等,而机器人虽然可以通过图像识别等技术识别工作环境中的障碍物等,为了提高机器人的工作效率,避免机器人与其他物体发生碰撞,或者受到其他设备的干扰,需要对机器人的移动路径进行预先规划。
36.在一示例性的实施方式中,后台服务器可以通过slam等方法构建一张环境全局地图,全局地图中可以标注出障碍物区域、自由移动区域和未被探索区域,机器人可以在自由移动区域中进行移动,可以人为设置机器人的移动路径、移动速度等参数,作为机器人的默认参数。
37.具体实施例中,slam技术又称为即时定位与地图构建,可以实现环境的地图构建、定位以及多点导航等。slam技术可以分为激光slam和视觉slam,其中,激光slam采用的传感器为激光雷达,视觉slam采用深度摄像头。在slam方法中,机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。
38.步骤s102、控制机器人沿所述预设运行路径行驶;
39.本实施例中,在需要机器人工作时,后台服务器可以调用预先绘制的全局地图和当前机器人的移动路径,控制机器人沿着预设运行路径行驶,以完成当前机器人的目标任务。
40.可选地,可以将机器人放置在预设起点处,通过开启机器人运行开关或者发送运行指令,使得机器人开始运行,并提前将运行轨迹的指令发送给机器人,以使得机器人可以根据运行轨迹指令沿着预设运行路径行驶,比如移动距离,移动速度,拐弯点以及拐弯角度等。也可以通过远程控制指令,远程操控机器人运行。
41.在一示例性的实施方式中,后台服务器可以通过远程图像监控的方式监测机器人的运行状态,比如,后台服务器可以通过比对机器人当前行驶路径的环境是否与建图环境一致,从而检测机器人行驶路径是否存在偏移或者错误等。也可以通过定位装置跟踪机器
人的实时位置,在后台服务器中的预制地图中对机器人的位置进行显示,从而跟踪机器人的行驶路径,并与预设运行路径进行比对,从而判断机器人当前行驶路径是否正确。
42.步骤s103、若在所述机器人行驶过程中,检测到所述预设运行路径上存在障碍物,获取障碍物信息和所述机器人的当前节点位置;
43.进一步地,所述若在所述机器人行驶过程中,检测到所述预设运行路径上存在障碍物,获取障碍物信息和所述机器人的当前节点位置,包括:
44.在检测到所述机器人的行驶路径上存在所述障碍物时,获得所述机器人的当前位置与所述障碍物的当前距离;
45.获取所述机器人的当前速度信息,并基于所述当前速度信息和所述当前距离,控制所述机器人减速行驶,以使得所述机器人在与所述障碍物碰撞之前停止;
46.获取所述机器人的停止位置和所述障碍物的障碍物信息,其中,所述机器人的停止位置作为所述机器人的当前节点位置。
47.本实施例中,可以在机器人上搭载一个检测装置,如雷达传感器、视觉传感器等,实时监测机器人运行路径中的环境,防止机器人受到外界环境的影响而发生工作错误等。
48.在一示例性的实施方式中,后台服务器可以构建一个以机器人为中心,一定保护范围的局部地图,比如可以是机器人周围4*4米的局部地图,在机器人行驶过程中,通过传感器实时检测该范围内的环境信息,并传输至后台服务器,以实时更新到局部地图中。
49.在一示例性的实施方式中,当检测到运行路径上存在障碍物时,可以控制机器人减速停止,防止发生碰撞,并且在停止之后,通过传感器检测障碍物信息和机器人的停止位置信息,以便重新规划行驶路径。
50.可选地,可以通过后台服务器通过远程指令操控机器人减速停止;也可以通过在机器人端设置控制算法控制机器人减速停止,比如可以设置机器人在检测到障碍物时即可减速慢行,在与障碍物距离小于预设阈值时停止移动。
51.其中,预设阈值为大于机器人安全范围且小于局部地图探测范围的距离值,比如,机器人尺寸为0.5*0.5m,机器人安全范围可以设为0.8*0.8m,局部地图探测范围为4*4m,则预设阈值可以设为大于0.8m且小于4m的值。为避免机器人过早执行停止指令,可以将预设阈值向靠近安全距离的数值设定,比如设为1m,此时,机器人局部地图检测到障碍物时,此时可以操控机器人减速,并根据机器人的预设运行路径,判断机器人是否会与该障碍物发生碰撞。如果机器人在该区域存在绕行路线,且始终与障碍物保持安全距离,则机器人不需要执行停止指令,避免误判而影响机器人工作效率;如果机器人向着障碍物所在方向行驶,并移动到与障碍物距离为1m时,则执行停止指令,从而避免机器人与障碍物发生碰撞,并可以预留充足的调整空间。
52.步骤s104、基于目标节点位置、所述当前节点位置以及所述障碍物信息,确定绕障路径,其中,所述目标节点位置位于所述预设运行路径上;
53.本实施例中,后台服务器可以根据机器人上传的障碍物信息和机器人的当前节点位置,在当前机器人的预设运行路径上选择一个目标节点位置,作为机器人绕过障碍物的绕障路径终点,从而使得机器人可以根据目标节点位置、机器人的当前节点位置以及障碍物信息,自主规划出一条从当前节点位置到目标节点位置的路径,可以使得机器人绕过障碍物且回到预设运行路径上继续运行。
54.在一示例性的实施方式中,后台服务器可以通过路径搜索的方式构建绕障路径。在路径搜索的过程中,考虑当前节点位置到预设运行路径的距离,从而使得规划的路径接近预先设计的机器人预设运行路径,以减少绕行代价,提高机器人运行效率。
55.步骤s105、控制所述机器人沿所述绕障路径行驶,以使得所述机器人绕过所述障碍物并回到所述预设运行路径上。
56.本实施例中,后台服务器可以通过远程指令控制机器人按照绕障路径行驶,或者将绕障路径发送给机器人,以使得机器人沿绕障路径行驶,从当前节点位置行驶至目标节点位置,从而避过障碍物,并返回到预设行驶路径上,按照原预设运行路径继续运行。
57.本实施例提供一种机器人自主绕障方法,所述方法通过对机器人预设运行路径上的障碍物检测,能够提前控制机器人做出规避、停止等操作,避免机器人与障碍物发生碰撞;若检测到预设运行路径上存在障碍物,则可以在预设运行路径上设置一个目标节点位置,作为机器人绕障路径的终点;并根据障碍物信息、机器人的当前节点位置以及目标节点位置,在机器人的地图上搜索可以绕过障碍物并到达目标节点位置的绕障路径,从而可以控制机器人沿着绕障路径行驶,以绕过障碍物,并返回到预设运行路径上,继续沿着预设行驶路径运行,同时,可以保留绕障路径,不需要对障碍物进行转移,避免对工作环境的影响,且只需要计算绕开障碍物的路径,能够降低数据运算量,从而提高机器人的运行效率。在一些实施例中,该绕障路径可通过后台服务器同步到具有相似路径的其他机器人中。
58.请参照图3,图3为本技术提供的一种机器人自主绕障方法的第二组实施例流程示意图。该机器人自主绕障方法可以用于机器人自主绕障系统中。
59.基于上述图2所示实施例,本实施例中,所述机器人上设置有传感器,所述步骤s103具体包括:
60.步骤s201、基于局部地图构建方法,构建以所述机器人为中心的局部代价地图;
61.步骤s202、基于所述传感器,检测所述机器人行驶路径上预设范围内的环境信息,并基于所述环境信息,更新所述局部代价地图;
62.步骤s203、基于所述局部代价地图,检测所述机器人的行驶路径上是否存在障碍物;
63.步骤s204、在检测到所述机器人在局部代价地图内的行驶路径上存在障碍物时,控制所述机器人停止,获取所述机器人的当前节点位置和所述障碍物的障碍物信息。
64.本实施例中,所述局部代价地图可以为以机器人为中心构建的局部地图,该地图可以是动态更新的,是能够反应机器人周围最新环境信息的地图,可以通过该地图来计算各种避障路线的行进代价。
65.本实施例中,可以在机器人上搭载一个传感器,检测机器人周围环境信息,并将环境信息传输给后台服务器,以使得后台服务器可以根据环境信息,实时更新局部代价地图;或者将环境信息传输给机器人端的处理器,对局部代价地图进行更新,机器人端的处理器可以将局部代价地图实时共享给后台服务器。
66.在一示例性的实施方式中,可以通过机器人建立两个地图:一个静态全局地图和一个动态局部地图。机器人可以利用当前速度信息以及局部代价地图,预判未来一定时间是否会碰到障碍物,从而控制机器人提前减速避障。
67.其中,静态全局地图显示全局环境中的所有区域状态,可以包括障碍物、可移动区
域和未知区域;该状态是机器人在构建全局地图时的环境状态。静态全局地图适合描述整个静态场景的静止障碍物信息,如墙面、固定不动的桌柜等。而对于静态地图中的障碍物,即使将障碍物移走,在静态地图中也会显示该障碍物存在,机器人在该区域仍然会执行避障行为。
68.动态局部地图是通过传感器实时构建的,适合描述运行的障碍物,如行人、小车、移动位置的桌椅等。在实际机器人应用场景中,运行环境中可能会发生变化,障碍物的位置发生变化或者会新增障碍物,但是在静态全局地图中并未记录,所以在静态全局地图中显示为可移动区域。而动态局部地图的障碍物信息是变化的,对于机器人的实时避障具有极大的帮助。
69.在一示例性的实施方式中,在后台服务器和机器人端均可以实时维护一个以机器人中心,大小为4m*4m的局部代价地图,两者实时同步更新。机器人利用携带的传感器,比如激光雷达、视觉传感器等,可以将周围的环境信息更新到局部代价地图上,并可以根据局部代价地图计算出局部路径。其中,局部代价地图的参数可以在后台服务器端进行预设置或者更改,再传输给传感器和机器人端的处理器。
70.具体地,局部代价地图用于在局部地图中将激光扫描数据或者点云数据转化为一个二维的网格地图,是根据机器人的传感器数据创建的,与静态地图无关,由用户在后台服务器设置宽度和高度。不管机器人怎么运动,局部代价地图只会以机器人为中心,显示机器人一定范围内的环境信息,并随着机器人的移动,实时更新,而不在该动态窗口中的障碍信息则不显示。
71.进一步地,基于上述图3所示实施例,本实施例中,所述步骤s104之前,具体还包括:
72.基于所述传感器,检测所述障碍物的边缘信息;
73.基于所述机器人与障碍物的预设安全距离以及所述障碍物的边缘信息,在所述预设运行路径上设置所述绕障路径的目标节点,获取所述目标节点位置。
74.本实施例中,可以通过传感器检测障碍物的边缘信息,后台服务器根据预设安全距离和障碍物的边缘信息,在预设运行路径上设置一个目标节点,作为绕障路径的终点。
75.可以理解地是,机器人的局部地图是以传感器所在机器人的位置为中心,但是机器人本身存在一定的宽度和高度等参数,所以为避免机器人发生碰撞,在需要转弯或者绕行的时候,需要考虑机器人本身的参数信息,设置一个安全距离,避免机器人与障碍物等发生碰撞。
76.在一示例性的实施方式中,如果传感器可以检测到障碍物的位置信息和尺寸信息,则可以根据障碍物的尺寸信息,提取障碍物的边缘与预设运行路径的交点位置信息,结合预设安全距离,可以在障碍物背离机器人一侧的预设运行路径上选择一个最近的安全点作为目标节点,并获取该目标节点的位置信息。
77.在一示例性的实施方式中,如果传感器不能一次性检测到障碍物的位置信息和尺寸信息,则可以根据预设安全距离,控制机器人沿着障碍物的边缘位置进行图搜索,对障碍物的尺寸和位置进行测量,进而获得障碍物的尺寸信息和位置信息。该测量可以由当前机器人在距离障碍物的安全距离外移动获得,也可以由后台服务器控制其他终端测量,也可以由当前机器人直接获得后台服务器已存储的该障碍物信息。在获得障碍物的尺寸信息和
位置信息之后,确定障碍物与预设运行路径的交点位置信息,然后可以结合预设安全距离,在预设运行路径上确定一个目标点作为目标节点,并获取该目标节点的位置信息。
78.请参照图4,图4为本技术提供的一种机器人自主绕障方法的第三组实施例流程示意图。该机器人自主绕障方法可以用于机器人自主绕障系统中。
79.基于上述图3所示实施例,本实施例中,所述步骤s104具体包括:
80.步骤s301、获取预设全局地图,在所述预设全局地图上标记所述目标节点位置,并获取所述当前节点位置和所述目标节点位置的相对位置信息;
81.步骤s302、基于所述相对位置信息,在所述局部代价地图中循环搜索所述当前节点位置到所述目标节点位置的扩展节点,直至搜索到所述目标节点位置为止;
82.步骤s303、基于优先级队列,依次保存所述扩展节点,并基于所述优先级队列中各扩展节点的位置信息和移动顺序,生成所述绕障路径。
83.本实施例中,机器人在障碍物前方停止后,后台服务器可以根据机器人当前节点位置、检测到的障碍物信息以及目标点的位置,采用图搜索方法,搜索到目标点的新路径。
84.其中,图搜索方法可以是针对无权图的基本图搜索算法:深度优先搜索(depth first search,dfs)、广度优先搜索(breadth first search,bfs);也可以是启发式搜索算法:贪婪最佳优先算法(greedy best first search,gbfs);还可以是dijkstra算法、a*算法,其中dijkstra算法是广度优先算法(bfs)在带权图中的扩展,a*算法则是在dijkstra算法中加入启发函数得到的算法。本实施例以一种启发式搜索算法为例。
85.在一示例性的实施方式中,可以使用优先级队列保存所有需要被扩展的节点。定义启发函数h(n)等于当前节点位置到目标节点位置的距离加上当前节点到预设运行路径的距离。因为启发函数中考虑了节点到参考路径的距离,可以保证在搜索得到的路径尽快回归到预先绘制的路径上。
86.进一步地,基于上述图4所示实施例,本实施例中,所述步骤s302具体包括:
87.基于图搜索方法,在所述局部代价地图上搜索所述当前节点位置的相邻节点,获得至少一个待扩展节点;
88.基于代价值计算方法,计算所述机器人从所述当前节点位置移动到各待扩展节点的节点代价值,以及所述机器人从所述当前节点位置移动到所述目标节点位置的基础代价值,根据所述节点代价值和所述基础代价值,在所述各待扩展节点中确定所述扩展节点;
89.基于所述图搜索算法,基于已确定的扩展节点获得对应的待扩展节点,并基于所述代价值计算方法,在各待扩展节点中确定所述扩展节点,并继续搜索,直至所述扩展节点与所述目标节点位置重合为止。
90.本实施例中,可以通过设置在机器人上的传感器搜集机器人周围的环境信息,并实时更新至局部代价地图上,在局部代价地图上可以显示障碍物、可移动节点位置等。其中,可移动节点位置可以作为待扩展节点,在后台服务器中的全局地图上显示当前位置的所有待扩展节点,并通过代价值计算,在所有待扩展节点中确定下一个扩展节点,并在机器人移动到该扩展节点后继续重复上述步骤,以获得机器人从当前节点位置到目标节点位置的最小代价路径。
91.具体实施例中,用机器人避障停止的位置x_s初始化优先级队列,定义g(x_s)=0,表示机器人位于当前节点位置,不需要进行移动。对于搜索图中的其他扩展节点,定义g(n)
等于无穷大,表示从起点到达该节点需要付出的代价。
92.其中,优先级队列可以保留机器人从当前节点位置到目标节点位置的路径上的各节点的移动到达顺序,比如当前节点位置为第一优先级,表示起点,目标节点位置为最低优先级,表示终点。
93.循环搜索到目标点的路径,循环过程如下:
94.·
如果队列为空,搜索失败,跳出循环;如果队列为空,则可能存在位置搜索错误或者信号连接等存在错误,机器人的位置不能识别,此时需要重新检查机器人状态等;
95.·
从队列中删除f(n)=g(n)+h(n)值最小的节点;启发函数h(n)等于当前节点位置到目标节点位置的距离加上当前节点位置到预设运行路径的距离;g(n)等于无穷大,表示从起点到达该节点需要付出的代价;机器人在移动到某一扩展节点之后,可以将该节点从优先级队列中删除,将下一个扩展节点的优先级调整为最高优先级;
96.·
将扩展节点n标记为已经访问;对于已确定为扩展节点的节点位置标记为已经访问,避免重复搜索;
97.·
如果扩展节点n为目标点,搜索完成,返回;如果扩展节点与目标节点位置重合,即搜索到目标节点,此时,已经获得机器人从机器人绕障搜索起始点到目标节点位置的绕障路径;
98.·
对于扩展节点n所有没有被访问的邻居节点m:如果g(m)等于无穷大,g(m)=g(n)+cnm,其中,cnm表示从扩展节点n到扩展节点m需要的代价,将扩展节点m放入优先级队列。如果g(m)》g(n)+cnm+cnm,那么更新从扩展节点n到扩展节点m的代价值,g(m)=g(n)+cnm;如果从起点位置到扩展节点m的代价,与从起点位置到扩展节点n再到扩展节点m的代价值相同,则表示扩展节点n为从起点到m点的路径上的某一节点,此时,可以直接移动到m点,而如果从起点到m点的代价值大于从起点到n点再到m点的代价值,则表示m点不是最小代价绕障路径上的节点;
99.·
循环结束。
100.上述实施例中,为了让重新规划的路径贴近机器人预先定义的运行路径,在启发函数计算的时候,考虑了节点到预先定义路径的距离,可以让机器人绕过障碍物之后快速回归到预先定义的路径上。
101.进一步地,基于上述图2所示实施例,本实施例中,所述步骤s104之后,还包括:
102.基于所述绕障路径和所述预设运行路径,生成自主绕障路径;
103.基于所述自主绕障路径的生成操作,触发对所述预设运行路径的更新指令,将所述自主绕障路径作为所述预设运行路径。
104.本实施例中,在生成绕障路径之后,后台服务器可以将当前绕障路径添加到静态全局地图中,对静态全局地图进行更新,并且将绕障路径和预设运行路径进行结合,生成新的运行路径,即自主绕障路径,并且将原先的预设运行路径进行替换,将自主绕障路径作为该机器人的运行路径,之后该机器人即可按照该自主绕障路径进行运行,避免按照原预设运行路径行驶时,每次都需要执行避障搜索,从而提升机器人运行效率。
105.请参阅图5,图5是本技术的实施例提供的一种机器人自主绕障装置的示意性框图,该机器人自主绕障装置用于执行前述的机器人自主绕障方法。其中,该机器人自主绕障装置可以配置于机器人自主绕障系统中。其中,机器人自主绕障系统包括至少一个机器人
和至少一个计算机设备。
106.如图5所示,该机器人自主绕障装置300,包括:工具运行模块301、类型获取模块302、前端显示模块303、参数获取模块304、脚本确定模块305。
107.预设运行路径获取模块301,用于获取预设运行路径;
108.机器人运行控制模块302,用于控制机器人沿所述预设运行路径行驶;
109.环境检测模块303,用于若在所述机器人行驶过程中,检测到所述预设运行路径上存在障碍物,获取障碍物信息和所述机器人的当前节点位置;
110.绕障路径确定模块304,用于基于目标节点位置、所述当前节点位置以及所述障碍物信息,确定绕障路径,其中,所述目标节点位置位于所述预设运行路径上;
111.绕障行驶模块305,用于控制所述机器人沿所述绕障路径行驶,以使得所述机器人绕过所述障碍物并回到所述预设运行路径上。
112.在一实施例中,所述机器人上设置有传感器,所述环境检测模块303,还用于基于局部地图构建方法,构建以所述机器人为中心的局部代价地图;基于所述传感器,检测所述机器人行驶路径上预设范围内的环境信息,并基于所述环境信息,更新所述局部代价地图;基于所述局部代价地图,检测所述机器人的行驶路径上是否存在障碍物;在检测到所述机器人在局部代价地图内的行驶路径上存在障碍物时,控制所述机器人停止,获取所述机器人的当前节点位置和所述障碍物的障碍物信息。
113.在一实施例中,所述机器人自主绕障装置300还包括目标节点确定模块,所述目标节点确定模块,用于基于所述传感器,检测所述障碍物的边缘信息;基于所述机器人与障碍物的预设安全距离以及所述障碍物的边缘信息,在所述预设运行路径上设置所述绕障路径的目标节点,获取所述目标节点位置。
114.在一实施例中,所述绕障路径确定模块304,还用于获取预设全局地图,在所述预设全局地图上标记所述目标节点位置,并获取所述当前节点位置和所述目标节点位置的相对位置信息;基于所述相对位置信息,在所述局部代价地图中循环搜索所述当前节点位置到所述目标节点位置的扩展节点,直至搜索到所述目标节点位置为止;基于优先级队列,依次保存所述扩展节点,并基于所述优先级队列中各扩展节点的位置信息和移动顺序,生成所述绕障路径。
115.在一实施例中,所述绕障路径确定模块304,还用于基于图搜索方法,在所述局部代价地图上搜索所述当前节点位置的相邻节点,获得至少一个待扩展节点;基于代价值计算方法,计算所述机器人从所述当前节点位置移动到各待扩展节点的节点代价值,以及所述机器人从所述当前节点位置移动到所述目标节点位置的基础代价值,根据所述节点代价值和所述基础代价值,在所述各待扩展节点中确定所述扩展节点;基于所述图搜索算法,基于已确定的扩展节点获得对应的待扩展节点,并基于所述代价值计算方法,在各待扩展节点中确定所述扩展节点,并继续搜索,直至所述扩展节点与所述目标节点位置重合为止。
116.在一实施例中,所述环境检测模块303,还用于在检测到所述机器人的行驶路径上存在所述障碍物时,获得所述机器人的当前位置与所述障碍物的当前距离;获取所述机器人的当前速度信息,并基于所述当前速度信息和所述当前距离,控制所述机器人减速行驶,以使得所述机器人在与所述障碍物碰撞之前停止;获取所述机器人的停止位置和所述障碍物的障碍物信息,其中,所述机器人的停止位置作为所述机器人的当前节点位置。
117.在一实施例中,所述机器人自主绕障装置300还包括路径更新模块,所述路径更新模块用于基于所述绕障路径和所述预设运行路径,生成自主绕障路径;基于所述自主绕障路径的生成操作,触发对所述预设运行路径的更新指令,将所述自主绕障路径作为所述预设运行路径。
118.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述机器人自主绕障方法实施例中的对应过程,在此不再赘述。
119.上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
120.请参阅图6,图6是本技术实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是终端。
121.参阅图6,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
122.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种机器人自主绕障方法。
123.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
124.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种机器人自主绕障方法。
125.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
126.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
127.其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
128.获取预设运行路径;
129.控制机器人沿所述预设运行路径行驶;
130.若在所述机器人行驶过程中,检测到所述预设运行路径上存在障碍物,获取障碍物信息和所述机器人的当前节点位置;
131.基于目标节点位置、所述当前节点位置以及所述障碍物信息,确定绕障路径,其中,所述目标节点位置位于所述预设运行路径上;
132.控制所述机器人沿所述绕障路径行驶,以使得所述机器人绕过所述障碍物并回到所述预设运行路径上。
133.在一个实施例中,所述机器人上设置有传感器,所述处理器在实现所述获取障碍
物信息和所述机器人的当前节点位置时,用于实现:
134.基于局部地图构建方法,构建以所述机器人为中心的局部代价地图;
135.基于所述传感器,检测所述机器人行驶路径上预设范围内的环境信息,并基于所述环境信息,更新所述局部代价地图;
136.基于所述局部代价地图,检测所述机器人的行驶路径上是否存在障碍物;
137.在检测到所述机器人在局部代价地图内的行驶路径上存在障碍物时,控制所述机器人停止,获取所述机器人的当前节点位置和所述障碍物的障碍物信息。
138.在一个实施例中,所述处理器在实现所述基于目标节点位置、所述当前节点位置以及所述障碍物信息,确定绕障路径之前,还用于实现:
139.基于所述传感器,检测所述障碍物的边缘信息;
140.基于所述机器人与障碍物的预设安全距离以及所述障碍物的边缘信息,在所述预设运行路径上设置所述绕障路径的目标节点,获取所述目标节点位置。
141.在一个实施例中,所述处理器在实现所述基于目标节点位置、所述当前节点位置以及所述障碍物信息,确定绕障路径时,用于实现:
142.获取预设全局地图,在所述预设全局地图上标记所述目标节点位置,并获取所述当前节点位置和所述目标节点位置的相对位置信息;
143.基于所述相对位置信息,在所述局部代价地图中循环搜索所述当前节点位置到所述目标节点位置的扩展节点,直至搜索到所述目标节点位置为止;
144.基于优先级队列,依次保存所述扩展节点,并基于所述优先级队列中各扩展节点的位置信息和移动顺序,生成所述绕障路径。
145.在一个实施例中,所述处理器在实现所述基于所述相对位置信息,在所述局部代价地图中循环搜索所述当前节点位置到所述目标节点位置的扩展节点,直至搜索到所述目标节点位置为止时,用于实现:
146.基于图搜索方法,在所述局部代价地图上搜索所述当前节点位置的相邻节点,获得至少一个待扩展节点;
147.基于代价值计算方法,计算所述机器人从所述当前节点位置移动到各待扩展节点的节点代价值,以及所述机器人从所述当前节点位置移动到所述目标节点位置的基础代价值,根据所述节点代价值和所述基础代价值,在所述各待扩展节点中确定所述扩展节点;
148.基于所述图搜索算法,基于已确定的扩展节点获得对应的待扩展节点,并基于所述代价值计算方法,在各待扩展节点中确定所述扩展节点,并继续搜索,直至所述扩展节点与所述目标节点位置重合为止。
149.在一个实施例中,所述处理器在实现所述在检测到所述若在所述机器人行驶过程中,检测到所述预设运行路径上存在障碍物,获取障碍物信息和所述机器人的当前节点位置时,用于实现:
150.在检测到所述机器人的行驶路径上存在所述障碍物时,获得所述机器人的当前位置与所述障碍物的当前距离;
151.获取所述机器人的当前速度信息,并基于所述当前速度信息和所述当前距离,控制所述机器人减速行驶,以使得所述机器人在与所述障碍物碰撞之前停止;
152.获取所述机器人的停止位置和所述障碍物的障碍物信息,其中,所述机器人的停
止位置作为所述机器人的当前节点位置。
153.在一个实施例中,所述处理器在实现所述控制所述机器人沿所述绕障路径行驶,以使得所述机器人绕过所述障碍物并回到所述预设运行路径上之后,还用于实现:
154.基于所述绕障路径和所述预设运行路径,生成自主绕障路径;
155.基于所述自主绕障路径的生成操作,触发对所述预设运行路径的更新指令,将所述自主绕障路径作为所述预设运行路径。
156.本技术的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本技术实施例提供的任一种机器人自主绕障方法。
157.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
158.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1