1.本发明涉及机器人技术领域,尤其涉及一种巡检模式下的机器人路径规划方法、装置、设备及介质。
背景技术:2.随着技术的发展,机器人已经逐渐代替人们来实现一些繁琐和重复性的工作。例如,目前机器人已经被广泛应用于机房、电力室、工厂等区域的巡检,通过机器人,可以实现全天候的巡检,而且也可以更精确的发现这些区域存在的故障或者危险等。
3.然而,这些巡检的区域一般地形比较复杂,存在较多的障碍物或者无法通行的路段,因此需要对机器人的巡检路径进行规划,以使得机器人能够规避障碍物且成功的到达目标点。
4.目前采用的算法一般是实时规避算法,其可以根据实际的障碍物情况进行规避更改路线,但是这种算法难以保证机器人的路径是最短的,如此降低了巡检的效率。
技术实现要素:5.本发明提出一种巡检模式下的机器人路径规划方法、装置、设备及介质,以改善上述问题。
6.本发明实施例提供一种巡检模式下的机器人路径规划方法,其包括:
7.获取地图上的起始点、导航点以及目标点;
8.判断起始点与目标点之间是否存在障碍物;
9.若所述起始点与所述目标点之间存在障碍物,则根据导航点以及最短路径规划算法规划出从起始点到目标点的最短路径;
10.若所述起始点与所述目标点之间不存在障碍物,则将起始点与目标点之间的直线路径作为最短路径;
11.根据所述最短路径从起始点移动到目标点。
12.优选地,根据导航点以及最短路径规划算法规划出从起始点到目标点的最短路径具体包括:
13.以地图上的导航点、起始点和目标点为顶点,以顶点之间的线段为无向边,根据顶点和无向边构建无向连通图;
14.计算无向边的长度;其中,根据机器人的尺寸指定宽度,两点之间的距离为长度形成长条状区域;当所述长条状区域内没有障碍物时,无向边的长度为两点之间的直线距离,如果有障碍物则无向边的长度为无限大;
15.基于所述无向连通图内各个无向边的长度,利用dijkstra算法计算最短路径,输出最短路径中需要依次经过的导航点。
16.优选地,对于相邻导航点之间的运动控制,路线为直线,且速度变化曲线呈梯形状。
17.优选地,在相邻的导航点a点和b点时,机器人的速度变化曲线为:
18.在a点时在一个加速度的作用下,速度呈线性上升,然后到达设置的行进速度之后保持不变;
19.在距离b点一定距离时,在一个减速度的作用下速度呈线性降低直到到达b点的位置正好为0m/s。
20.优选地,速度变化曲线的控制算法表示为:
21.v=at+v0,v0=0m/s
22.vn=v
n-1
xdist/slow_dist
23.其中,起始速度v0为0,以预设的时间间隔进行循环,每循环一次增加一次速度,增加的速度量即为设置的加速度a,当速度大于等于设置的行进速度时不再增加,并调整为设置的行进速度;
24.在行进过程中不断地接收机器人的位姿,并实时计算与b点的距离xdist,与设置的停止时提前减速距离slow_dist作比较,当xdist《slow_dist时,进入减速阶段,保持以预设的时间间隔进行循环,vn为当前速度,v
n-1
为上一次循环的速度,在xdist/slow_dist《1,速度一直降低;当xdist越来越小接近于0时,即机器人越来越接近b点,vn也越来越接近0,并在机器人到达b点时控制速度恰好为0。
25.优选地,所述预设的时间间隔为0.05秒。
26.优选地,还包括:
27.当确定新接收的目标点与起始点与上一次的目标点与起始点相同时,则获取由路径规划算法形成的可通行路径集合;其中,每个可通行路径包括其经过的导航点的坐标,且可通行路径的路径长度不大于最短路径的预设倍数;
28.从可通行路径集合中选取经过的导航点与最短路径经过的导航点重复率最低的可通行路径;
29.将该可通行路径确定为当前的路径。
30.本发明实施例还提供了一种巡检模式下的机器人路径规划装置,其包括:
31.获取单元,用于获取地图上的起始点、导航点以及目标点;
32.判断单元,用于判断起始点与目标点之间是否存在障碍物;
33.第一路径规划单元,用于若所述起始点与所述目标点之间存在障碍物,则根据导航点以及最短路径规划算法规划出从起始点到目标点的最短路径;
34.第一路径规划单元,用于若所述起始点与所述目标点之间不存在障碍物,则将起始点与目标点之间的直线路径作为最短路径;
35.移动单元,用于根据所述最短路径从起始点移动到目标点。
36.本发明实施例还提供了一种巡检模式下的机器人路径规划设备,其包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的巡检模式下的机器人路径规划方法。
37.本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的巡检模式下的机器人路径规划方法。
38.综上所述,本实施例中,通过在地图上构建导航点,并根据路径算法规划机器人在导航点之间的行进路线,使得机器人能够在成功的避开障碍物的同时,实现最短路径行走,
提升了巡检的效率。
附图说明
39.图1是本发明第一实施例提供的巡检模式下的机器人路径规划方法的流程示意图。
40.图2为地图上的顶点以及障碍物示意图。
41.图3为本发明第二实施例提供的巡检模式下的机器人路径规划装置的结构示意图。
具体实施方式
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.参见图1,本发明实施例提供了一种巡检模式下的机器人路径规划方法,其包括:
44.s101,获取地图上的起始点、导航点以及目标点。
45.具体地,在本实施例中,首先需要在机器人内输入待巡检区域的地图,其中,该地图上预先标记有多个导航点。如图2所示,导航点可以是点阵格,也可以是其他形式的,本发明不做具体限定。其中,一般的,导航点因设置在没有障碍物的位置。
46.s102,判断起始点与目标点之间是否存在障碍物。
47.s103,若所述起始点与所述目标点之间存在障碍物,则根据导航点以及最短路径规划算法规划出从起始点到目标点的最短路径。
48.s104,若所述起始点与所述目标点之间不存在障碍物,则将起始点与目标点之间的直线路径作为最短路径。
49.在本实施例中,在进行巡检时,首先需要向机器人输入目标点,然后机器人再根据自身的当前位置,即起始点来确定出与目标点之间的最短路径。
50.具体地,在本实施例中,机器人上设置有感应器,例如红外感应器或者摄像头等。在确定好起始点与目标点后,所述机器人调整自身的位姿使其前进方向朝向目标点,然后通过感应器感知起始点与目标点之间是否存在障碍物,若不存在障碍物,则所述机器人直接将起始点与目标点之间的直线路径作为最短路径。
51.若所述起始点与所述目标点之间存在障碍物,则根据导航点以及最短路径规划算法规划出从起始点到目标点的最短路径。
52.具体地,
53.首先,以地图上的导航点、起始点和目标点为顶点,以顶点之间的线段为无向边,根据顶点和无向边构建无向连通图。
54.如图2所示,在地图上,导航点、起始点和目标点均为顶点,然后顶点之间互相连接就构成无向连通图。
55.然后,计算无向边的长度;其中,根据机器人的尺寸指定宽度,两点之间的距离为长度形成长条状区域;当所述长条状区域内没有障碍物时,无向边的长度为两点之间的直
线距离,如果有障碍物则无向边的长度为无限大。
56.其中,所述长条状区域内有障碍物时,则说明该路线不能通过,因此将其长度设置为无限大,如此可以避免选择到该路线。
57.最后,基于所述无向连通图内各个无向边的长度,利用dijkstra算法计算最短路径,输出最短路径中需要依次经过的导航点。
58.其中,dijkstra是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。其算法原理如下:
59.把顶点集合v分成两组:
60.(1)s:已求出的顶点的集合(初始时只含有源点v0)
61.(2)v-s=t:尚未确定的顶点集合
62.将t中顶点按递增的次序加入到s中,保证:
63.(1)从源点v0到s中其他各顶点的长度都不大于从v0到t中任何顶点的最短路径长度
64.(2)每个顶点对应一个距离值
65.s中顶点:从v0到此顶点的长度
66.t中顶点:从v0到此顶点的只包括s中顶点作中间顶点的最短路径长度1.67.依据:可以证明v0到t中顶点vk的,或是从v0到vk的直接路径的权值;或是从v0经s中顶点到vk的路径权值之和。
68.求最短路径步骤算法步骤如下:
69.g={v,e}
70.1.初始时令s={v0},t=v-s={其余顶点},t中顶点对应的距离值
71.若存在,d(v0,vi)为弧上的权值
72.若不存在,d(v0,vi)为∞
73.2.从t中选取一个与s中顶点有关联边且权值最小的顶点w,加入到s中
74.3.对其余t中顶点的距离值进行修改:若加进w作中间顶点,从v0到vi的距离值缩短,则修改此距离值
75.重复上述步骤2、3,直到s[1]中包含所有顶点,即w=vi为止。
[0076]
上述算法为现有的算法。但应当理解的是,在本发明的其他实施例中,也可以采用其他的最短路径算法来获取起始点与目标点之间的最短路径,这些方案均在本发明的保护范围之内。
[0077]
s105,根据所述最短路径从起始点移动到目标点。
[0078]
在本实施例中,在确定了最短路径后,机器人即可以从起始点出发,根据最短路径上经过的各个导航点进行移动,最终到达目标点。其中,为了保证机器人的平稳移动,在本实施例中,对于相邻导航点之间的运动控制,路线为直线,且速度变化曲线呈梯形状。
[0079]
具体地,在相邻的导航点a点和b点时,机器人的速度变化曲线为:
[0080]
在a点时在一个加速度的作用下,速度呈线性上升,然后到达设置的行进速度之后保持不变;
[0081]
在距离b点一定距离时,在一个减速度的作用下速度呈线性降低直到到达b点的位置正好为0m/s。
[0082]
例如,在一种具体的实现方式中,速度变化曲线的控制算法表示为:
[0083]
v=at+v0,v0=0m/s
[0084]
vn=v
n-1
xdist/slow_dist
[0085]
其中,起始速度v0为0,以预设的时间间隔(如0.05秒)进行循环,每循环一次增加一次速度,增加的速度量即为设置的加速度a,当速度大于等于设置的行进速度时不再增加,并调整为设置的行进速度;
[0086]
在行进过程中不断地接收机器人的位姿,并实时计算与b点的距离xdist,与设置的停止时提前减速距离slow_dist作比较,当xdist《slow_dist时,进入减速阶段,保持以预设的时间间隔进行循环,vn为当前速度,v
n-1
为上一次循环的速度,在xdist/slow_dist《1,速度一直降低;当xdist越来越小接近于0时,即机器人越来越接近b点,vn也越来越接近0,并在机器人到达b点时控制速度恰好为0。
[0087]
综上所述,本实施例中,通过在地图上构建导航点,并根据路径算法规划机器人在导航点之间的行进路线,使得机器人能够在成功的避开障碍物的同时,实现最短路径,提升了巡检的效率。
[0088]
优选地,还包括:
[0089]
当确定新接收的目标点与起始点与上一次的目标点与起始点相同时,则获取由路径规划算法形成的可通行路径集合;其中,每个可通行路径包括其经过的导航点的坐标,且可通行路径的路径长度不大于最短路径的预设倍数;
[0090]
从可通行路径集合中选取经过的导航点与最短路径经过的导航点重复率最低的可通行路径;
[0091]
将该可通行路径确定为当前的路径。
[0092]
在本实施例中,机器人在达到目标点后表示完成一次巡检,然后机器人可能进行下一次的巡检。其中,可以通过更改目标点和起始点来更改机器人的巡检路线,但是由于最短路径的存在,难以保证机器人能够实现对地图的大范围的巡检。为此,在本实施例中,若巡检的目标点与起始点与上一次的目标点与起始点相同,则为了避免重复的巡检,提高巡检的效率,本实施例进行了如下的设定:
[0093]
获取由路径规划算法形成的可通行路径集合;其中,每个可通行路径包括其经过的导航点的坐标,且可通行路径的路径长度不大于最短路径的预设倍数;
[0094]
从可通行路径集合中选取经过的导航点与最短路径经过的导航点重复率最低的可通行路径;
[0095]
将该可通行路径确定为当前的路径。
[0096]
其中,从起始点到目标点的可通行路径可能有无数条,因此需要设定路径长度来筛选一些不合适的路径,例如设置可通行路径的路径长度不大于最短路径的3倍。
[0097]
然后,从满足条件的可通行路径中,获取经过的导航点与最短路径经过的导航点重复率最低的可通行路径,这可以保证新的可通行路径的巡检区域与上一次巡检的重复范围小,从而提高巡检的覆盖率。需要说明的是,在下一次巡检时,同样为了提高巡检的覆盖率,以使用过的路径将不再被选中,直至遍历可通行路径集合中的所有可通行路径。
[0098]
请参阅图3,本发明第二实施例还提供了一种巡检模式下的机器人路径规划装置,其包括:
[0099]
获取单元210,用于获取地图上的起始点、导航点以及目标点;
[0100]
判断单元220,用于判断起始点与目标点之间是否存在障碍物;
[0101]
第一路径规划单元230,用于若所述起始点与所述目标点之间存在障碍物,则根据导航点以及最短路径规划算法规划出从起始点到目标点的最短路径;
[0102]
第二路径规划单元240,用于若所述起始点与所述目标点之间不存在障碍物,则将起始点与目标点之间的直线路径作为最短路径;
[0103]
移动单元250,用于根据所述最短路径从起始点移动到目标点。
[0104]
本发明第三实施例还提供了一种巡检模式下的机器人路径规划设备,其包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的巡检模式下的机器人路径规划方法。
[0105]
本发明第四实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的巡检模式下的机器人路径规划方法。
[0106]
示例性地,本发明所述的计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述设备中的执行过程。
[0107]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述打印方法的控制中心,利用各种接口和线路连接整个所述方法的各个部分。
[0108]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现打印方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据用户终端的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0109]
其中,所述实现用户终端的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、
移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0110]
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0111]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
[0112]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。