路径确定方法、装置、可读存储介质及电子设备与流程

文档序号:32165175发布日期:2022-11-12 04:11阅读:42来源:国知局
路径确定方法、装置、可读存储介质及电子设备与流程

1.本公开涉及路径规划技术领域,具体地,涉及一种路径确定方法、装置、可读存储介质及电子设备。


背景技术:

2.油气管道铺建在石油化工领域中是运输石油、天然气资源的重要环节,油气管道铺建时,需要对管道环境进行探测。然而,在海拔较高的地方进行管道环境时,由于人体对高海拔环境的不适应,会给人体带来不适,甚至造成生命危险。
3.相关技术中,会采用多足机器人来进行管道环境探测,然而高原的地形复杂,多足机器人进行探测时,容易出现频繁的侧翻与转弯的现象,多足机器人频繁侧翻与转弯会导致多足机器人进行管道探测的效率降低,也浪费了管道环境探测的资源。


技术实现要素:

4.本公开的目的是提供一种路径确定方法、装置、可读存储介质及电子设备,以解决上述相关技术问题。
5.为了实现上述目的,本公开实施例的第一方面提供一种路径确定方法,所述方法包括:
6.获取本次迭代过程中,移动物所经过的移动路径的路径分数;所述迭代过程包括:确定所述移动物经过所述移动路径后所得到的路径长度、转弯次数与坡度,以及根据所述路径长度、所述转弯次数与所述坡度,确定所述路径分数;
7.在所述本次迭代的移动路径的路径分数小于上次迭代的移动路径的路径分数,且所述本次迭代的迭代次数达到预设次数的情况下,将所述本次迭代过程中的移动路径作为目标移动路径;其中,所述路径分数与所述路径长度、所述转弯次数以及所述坡度中的至少一者呈正比关系。
8.可选地,所述移动路径所在的区域被划分为多个栅格,所述确定所述移动物经过所述移动路径后所得到的路径长度、转弯次数与坡度,包括:
9.确定本次迭代过程中,所述移动物从所述移动物所在的第一栅格分别移动至多个相邻的第二栅格的多个转移概率,所述第二栅格为所述移动物未经过的下一栅格;
10.根据所述多个转移概率,从所述多个第二栅格中确定所述移动物下一步到达的目标栅格;
11.根据所述目标栅格所形成的移动路径,确定所述移动物经过所述移动路径的路径长度、所述转弯次数以及坡度。
12.可选地,确定所述移动物从所述第一栅格分别移动至多个第二栅格的多个转移概率,包括:
13.根据所述移动物从所述第一栅格分别移动至多个第二栅格的多个二维平滑性启发函数以及多个三维平滑性启发函数,确定所述移动物从所述第一栅格分别移动至所述多
个第二栅格的所述多个转移概率;
14.其中,所述二维平滑性启发函数用于减小所述移动物转弯的转移概率;所述三维平滑性启发函数用于减小所述移动物侧翻的转移概率。
15.可选地,所述三维平滑性启发函数通过以下步骤确定:
16.确定所述移动物所在的第一栅格与所述第二栅格之间的第一高度差、多个相邻栅格与所述第一栅格之间的最大高度差、所述多个相邻栅格与所述第一栅格之间的最小高度差;所述相邻栅格为与所述第一栅格相邻的多个栅格;
17.根据所述第一高度差、所述最大高度差以及所述最小高度差,确定所述三维平滑性启发函数。
18.可选地,所述二维平滑性启发函数通过以下步骤确定:
19.确定所述移动物从第三栅格转移至所述移动物所在的第一栅格的第一转向标号,所述第三栅格为与所述第一栅格相邻的上一栅格;
20.确定所述移动物从所述第一栅格转移至第二栅格的第二转向标号,所述第二栅格为与所述第一栅格相邻的下一栅格;
21.在所述第一转向标号与所述第二转向标号相同的情况下,以第一函数作为所述二维平滑性启发函数;
22.在所述第一转向标号与所述第二转向标号不同的情况下,以第二函数作为所述二维平滑性启发函数;其中,在计算变量相同的情况下,所述第一函数的计算结果大于所述第二函数的计算结果。
23.可选地,根据所述移动物从所述第一栅格分别移动至多个第二栅格的多个二维平滑性启发函数以及多个三维平滑性启发函数,确定所述移动物从所述第一栅格分别移动至所述多个第二栅格的所述多个转移概率,包括:
24.根据所述移动物从所述第一栅格分别移动至所述多个第二栅格的多个修正距离函数、所述二维平滑性启发函数以及所述三维平滑性启发函数,确定所述多个转移概率;
25.其中,所述修正距离函数用于减小所述路径长度。
26.可选地,所述修正距离函数通过以下步骤得到:
27.根据所述多个第二栅格与终点栅格之间的最大距离、所述多个第二栅格与终点栅格之间的最小距离以及所述第二栅格与所述终点栅格之间的距离,确定所述修正距离函数。
28.可选地,根据所述路径长度、所述转弯次数以及所述坡度,确定所述路径分数,包括:
29.根据第一分数、第二分数以及第三分数,确定所述路径分数;
30.其中,所述第一分数为根据所述路径长度与所述第一系数得到,所述第二分数为根据所述转弯次数与第二系数得到,所述第三分数为根据所述坡度与第三系数得到。
31.根据本公开实施例的第二方面,提供一种路径确定装置,所述装置包括:
32.路径分数确定模块,被配置为获取本次迭代过程中,移动物所经过的移动路径的路径分数;所述迭代过程包括:确定所述移动物经过所述移动路径后所得到的路径长度、转弯次数与坡度,以及根据所述路径长度、所述转弯次数与所述坡度,确定所述路径分数;
33.目标移动路径确定模块,被配置为在所述本次迭代的移动路径的路径分数小于上
次迭代的移动路径的路径分数,且所述本次迭代的迭代次数达到预设次数的情况下,将所述本次迭代过程中的移动路径作为目标移动路径;其中,所述路径分数与所述路径长度、所述转弯次数以及所述坡度中的至少一者呈正比关系。
34.根据本公开实施例的第三方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面所提供的路径确定方法的步骤。
35.根据本公开实施例的第四方面,提供一种电子设备,包括:
36.存储器,其上存储有计算机程序;
37.处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第一方面所提供的路径确定方法的步骤。
38.通过上述技术方案,模拟多次迭代过程中移动物所经过的移动路径,并根据多次迭代过程中移动物经过移动路径的路径长度、转弯次数与坡度来得到路径分数;在多次迭代的过程中,得到多次迭代过程中的最小路径分数,并将最小路径分数所对应的移动路径来作为目标移动路径。如此,由于路径分数与所述路径长度、所述转弯次数以及所述坡度中的至少一者呈正比关系,所以当得到的目标移动路径是多条移动路径中移动代价最小的移动路径的情况下,移动物经过移动路径的路径长度、转弯次数以及坡度中的至少一者的数值处于较小的状态。
39.当移动物经过目标移动路径的路径长度较小的情况下,可以减少移动物的移动时间,提升移动物的管道探测效率,也能够减少移动物的耗能;当移动物经过目标移动路径的转弯次数较小的情况下,避免移动物频繁转弯所带来的管道探测效率低、耗能大的缺陷;当移动物经过目标移动路径的坡度较小的情况下,移动物所行驶的道路较为平缓,减少了移动物侧翻的概率,降低了移动物侧翻所带来的移动物损伤,避免了移动物侧翻所带来的管道探测效率低、耗能大的缺陷。
40.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
41.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
42.图1是本公开一示例性实施例示出的一种路径确定方法的步骤流程图。
43.图2是本公开一示例性实施例示出的相邻栅格与第一栅格的一种示意图。
44.图3是本公开一示例性实施例示出的相邻栅格与第一栅格的另一种示意图。
45.图4是本公开一示例性实施例示出的一种路径确定方法的逻辑示意图。
46.图5是本公开一示例性实施例示出的一种路径确定装置的框图。
47.图6是本公开一示例性实施例示出的一种路径确定装置的框图。
具体实施方式
48.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
49.需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国
家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
50.请参阅图1所示出的一种路径确定方法的步骤流程图,以及图4示出的路径确定方法的逻辑示意图,该方法可以运用在多足机器人、轮式机器人、履带式机器人等各种类型的机器人中,也可以运用在终端中,该方法包括以下步骤:
51.在步骤s11中,获取本次迭代过程中,移动物所经过的移动路径的路径分数;所述迭代过程包括:确定所述移动物经过所述移动路径后所得到的路径长度、转弯次数与坡度,以及根据所述路径长度、所述转弯次数与所述坡度,确定所述路径分数。
52.本公开中,每模拟一次移动物所经过的移动路径,则可以理解为一次迭代过程;在经过一次迭代过程之后,可以得到该移动路径的路径长度、移动物经过该移动路径后的转弯次数以及目标物经过该移动路径后的坡度。
53.其中,本公开采用蚁群算法,来模拟每只蚂蚁从起始位置至终点位置所探索的移动路径,并得到每只蚂蚁经过移动路径后的路径分数。模拟一只蚂蚁从起始位置至终点位置的移动路径可以视为一次迭代过程,在多次迭代过程中,每次迭代所得到的路径分数具有减小的趋势,最终得到一条路径分数较小,蚂蚁能够付出较小移动代价的移动路径。在上述过程中,蚂蚁可以理解为机器人等移动物。
54.其中,每只蚂蚁所移动的移动路径的起始位置与终点位置相同。
55.其中,路径分数表明了移动物在本次迭代过程中的移动代价,路径分数越小,移动物在本次迭代过程中行驶移动路径所付出的代价越小,移动物在移动路径上行驶的坡度越小且转弯次数越少。在行驶坡度越小的情况下,移动物发生侧翻的概率越小;在转弯次数越少的情况下,移动物的移动路径越接近直线,移动物进行管道探测的效率越高。
56.其中,路径长度指的是从移动路径的起始位置至终点位置移动物所探索的路径长度;转弯次数指的是移动物从移动路径的起始位置至终点位置的过程中,总共所转弯的次数;坡度指的是移动物从移动物的起始位置至终点位置的过程中的坡度总和,具体是移动物在移动的过程中,会将移动路径划分为多个栅格来移动,坡度总和指的是多个栅格中相邻两个栅格之间所形成的坡度的总和。
57.在步骤s12中,在所述本次迭代的移动路径的路径分数小于上次迭代的移动路径的路径分数,且所述本次迭代的迭代次数达到预设次数的情况下,将所述本次迭代过程中的移动路径作为目标移动路径;其中,所述路径分数与所述路径长度、所述转弯次数以及所述坡度中的至少一者呈正比关系。
58.本公开中,可以设定预设次数的迭代次数。在小于预设次数之前,可以反复迭代,以模拟每次迭代过程的移动路径;在迭代次数达到预设次数的情况下,可以将本次迭代的移动路径作为目标移动路径。
59.其中,目标移动路径是在多次迭代过程中所得到的最小路径分数对应的移动路径。
60.其中,在多次迭代的过程中,会判断本次迭代的移动路径的路径分数是否小于上次迭代的移动路径的路径分数,在本次迭代的路径分数大于上次迭代的路径分数的情况下,表明本次迭代模拟的移动路径的移动代价相较于上次迭代模拟的移动路径的移动代价增大,此时可以丢弃本次迭代的路径分数与移动路径;在本次迭代的路径分数小于上次迭
代的路径分数的情况下,表明本次迭代模拟的移动路径的移动代价相较于上次迭代模拟的移动路径的移动代价有所减小,此时可以继续进行下次迭代,再判断相邻两次迭代得到的路径分数的大小,直至在迭代次数达到预设次数的情况下,将多次迭代过程中最小路径分数对应的移动路径作为目标移动路径。
61.其中,预设次数可以根据实际的路径模拟情况来进行确定,本公开在此不做限制。
62.其中,在丢弃本次迭代的路径分数,进行下一次迭代的路径分数的比较时,是将下一次迭代的路径分数与上一次未被丢弃的路径分数进行比较。
63.例如,以预设次数为5次举例,在第3次得到的路径分数为200,第4次得到的路径分数为250的情况下,将第4次的路径分数丢弃;再将第5次的路径分数192与第3次得到的路径分数200进行比较,确定第5次的路径分数小于第3次得到的路径分数,且第5次达到预设次数,此时将第5次的移动路径作为目标移动路径。
64.其中,在本次迭代达到预设次数,且本次迭代的路径分数大于上次迭代的路径分数的情况下,将上次迭代的路径分数所对应的移动路径作为目标移动路径。
65.例如,以预设次数为5次举例,在第4次得到的路径分数为200,第5次得到的路径分数为250的情况下,虽然第5次迭代达到了预设次数,但是第5次迭代的路径分数相较于第4次迭代的路径分数更大,所以可以将第5次迭代的路径分数丢弃,将第4次迭代的路径分数所对应的移动路径作为目标移动路径。
66.通过本公开提出的路径确定方法,模拟多次迭代过程中移动物所经过的移动路径,并根据多次迭代过程中移动物经过移动路径的路径长度、转弯次数与坡度来得到路径分数;在多次迭代的过程中,得到多次迭代过程中的最小路径分数,并将最小路径分数所对应的移动路径来作为目标移动路径。由于路径分数与所述路径长度、所述转弯次数以及所述坡度中的至少一者呈正比关系,所以当得到的目标移动路径是多条移动路径中移动代价最小的移动路径的情况下,移动物经过移动路径的路径长度、转弯次数以及坡度中的至少一者的数值处于较小的状态。
67.当移动物经过目标移动路径的路径长度较小的情况下,可以减少移动物的移动时间,提升移动物的管道探测效率,也能够减少移动物的耗能;当移动物经过目标移动路径的转弯次数较小的情况下,避免移动物频繁转弯所带来的管道探测效率低、耗能大的缺陷;当移动物经过目标移动路径的坡度较小的情况下,移动物所行驶的道路较为平缓,减少了移动物侧翻的概率,降低了移动物侧翻所带来的移动物损伤,避免了移动物侧翻所带来的管道探测效率低、耗能大的缺陷。
68.在一种可能的实施方式中,可以通过以下步骤来确定每次迭代过程中移动物经过移动路径后得到的路径长度、转弯次数与坡度,并依据路径长度、转弯次数以及坡度,来得到本次迭代的路径分数。
69.在步骤s21中,确定本次迭代过程中,所述移动物从所述移动物所在的第一栅格分别移动至多个相邻的第二栅格的多个转移概率,第一栅格指的是移动物当前所在的栅格,所述第二栅格为与所述第一栅格相邻的下一栅格。
70.其中,在计算移动物从当前所在的第一栅格移动至相邻的第二栅格转移概率时,可以通过以下公式(1)来确定:
[0071][0072]
在公式(1)中,代表第t次迭代过程中移动物从第一栅格i移动至第二栅格j的转移概率,allowedk表明第二栅格的集合,τ
ij
(t)代表此次迭代过程中的信息素,η
ij
(t)代表启发式信息,α代表信息素重要程度因子,β代表启发式信息重要程度因子。
[0073]
从公式(1)中可以看出,移动物从第一栅格移动至第二栅格的转移概率主要由信息素与启发式信息来决定,所以本文将改变启发式信息与信息素,以改变移动物从第一栅格移动至第二栅格的转移概率。
[0074]
具体地,启发式信息可以通过以下公式(2)来确定:
[0075][0076]
在公式(2)中,η
ij
(t)代表启发式信息;为修正距离函数,表示与第一栅格i相邻的第二栅格j至终点栅格q的修正距离,终点栅格q可以理解为上述的移动路径的终点位置;表示二维平滑性启发函数,u(i,j)表示三维平滑性启发函数。
[0077]
从公式(2)中可以看出,通过改变修正距离函数、二维平滑性启发函数以及三维平滑性启发函数,可以改变启发式信息的值,进而改变移动物从第一栅格移动至第二栅格的转移概率。
[0078]
具体地,二维平滑性启发函数用于减小移动物转弯的转移概率,二维平滑性启发函数可以通过以下子步骤来得到:
[0079]
子步骤a1:确定所述移动物从第三栅格转移至所述移动物所在的第一栅格的第一转向标号,所述第三栅格为与所述第一栅格相邻的上一栅格。
[0080]
其中,请参阅图2所示,每个第一栅格周围均具有左上角、正上角、右上角、左方、右方、左下角、正下角以及右下角这8个栅格,因此可以为这8个栅格设定转向标号,例如将左上角、正上方、右上角、左方、右方、左下角、正下方以及右下角这8个栅格的转向标号依次设置为1、2、3、4、5、6、7、8。
[0081]
请参阅图2与图3所示,以第三栅格为g,第一栅格为i,确定移动物从第三栅格g移动至第一栅格i的第一转向标号为例,由于第一栅格i在第三栅格g的右下角,所以第一转向标号为8。
[0082]
子步骤a2:确定所述移动物从所述第一栅格转移至第二栅格的第二转向标号,所述第二栅格为与所述第一栅格相邻的下一栅格。
[0083]
请参阅图3所示,以第一栅格为i,第二栅格为j,确定移动物从第一栅格i移动至第二栅格j的第二转向标号为例,由于第二栅格j在第一栅格i的右下角,所以第二转向标号为8。
[0084]
又如,以第一栅格为i,第二栅格为h,确定移动物从第一栅格i移动至第二栅格h的第二转向标号为例,由于第二栅格h在第一栅格i的正下方,所以第二转向标号为7。
[0085]
子步骤a3:在所述第一转向标号与所述第二转向标号相同的情况下,以第一函数作为所述二维平滑性启发函数;在所述第一转向标号与所述第二转向标号不同的情况下,
以第二函数作为所述二维平滑性启发函数;其中,在计算变量相同的情况下,所述第一函数的计算结果大于所述第二函数的计算结果。
[0086]
其中,在第一转向标号与第二转向标号相同的情况下,说明移动物从第三栅格移动至第一栅格的过程中是直线移动的,此时可以以计算结果较大的第一函数作为二维平滑性启发函数;在第一转向标号与第二转向标号不同的情况下,说明移动物从第三栅格移动至第一栅格的过程中是转弯的,此时可以以计算结果较小的第二函数来作为二维平滑性启发函数。
[0087]
具体请参阅以下公式(3)来得到二维平滑性启发函数:
[0088][0089]
在公式(3)中,表示二维平滑性启发函数;n代表移动物直行的重要程度;u表示启发常量;dir
g,i
(t)表示在第t次迭代过程中,从第三栅格g移动至第一栅格i的第一转向标号;dir
i,j
(t)表示在第t次迭代过程中,从第一栅格i转移至第二栅格j的第二转向标号;card表示从第一栅格转移至第二栅格的过程中,可允许移动物通过的第二栅格的数量。
[0090]
移动物在从第一栅格移动至第二栅格的过程中,由于第二栅格可能是障碍物区域,为了避免移动物朝障碍物区域行驶,可以从与第一栅格相邻的所有第二栅格中删除具有障碍物区域的第二栅格,进而得到可允许移动物通过的第二栅格的数量。
[0091]
从公式(3)可以看出,在第一转向标号与第二转向标号相同,第一函数与第二函数的计算变量η与μ相同时,所得到的第一函数ημ的计算结果大于第二函数的计算结果。
[0092]
在二维平滑性启发函数为计算结果较小的第二函数的情况下,所得到的启发式信息的值较小,使得移动物从第一栅格转移至第二栅格的转移概率较小;在二维平滑性启发函数为计算结果较大的第一函数的情况下,所得到的启发式信息的值较大,使得移动物从第一栅格转移至第二栅格的转移概率较大。
[0093]
例如,请参阅图3所示,在得到第一转向标号与第二转向标号均为8的情况下,说明移动物从第三栅格移动至第二栅格为直线移动,移动物从第一栅格i转移至第二栅格j的转移概率较大;在得到的第一转向标号为8,第二转向标号为7的情况下,说明移动物从第三栅格至第二栅格为转弯移动,移动物从第一栅格i转移至第二栅格h的转移概率较小。
[0094]
通过二维平滑性启发函数的设置,可以提高移动物直行的转移概率,降低移动物转弯的转移概率。由于移动物直行的转移概率相较于移动物转弯的移动概率更大,可以使得移动物在面对多个第二栅格时,能够依据多个不同大小的转移概率,尽量选择直行的移动路径,减少移动物在本次迭代所得到的移动路径中的转弯次数。
[0095]
具体地,三维平滑性启发函数用于减小移动物侧翻的移动概率,三维平滑性启发函数可以通过以下子步骤来得到:
[0096]
子步骤b1:确定所述移动物所在的第一栅格与所述第二栅格之间的第一高度差、多个相邻栅格与所述第一栅格之间的最大高度差、所述多个相邻栅格与所述第一栅格之间的最小高度差;所述相邻栅格为与所述第一栅格相邻的多个栅格。
[0097]
其中,相邻栅格包括第二栅格与第三栅格,第二栅格为与第一栅格相邻的多个相邻栅格中移动物未经过的下一栅格,第三栅格为与第一栅格相邻的多个相邻栅格中移动物经过后的上一栅格。例如,请参阅图2所示,以第一栅格为i,上一栅格为g为例,第二栅格可以为c、d、e、f、o、h、j中的任意一个。
[0098]
其中,在确定多个相邻栅格与第一栅格之间的最大高度差时,是将移动物在多个相邻栅格上的高度分别减去移动物在第一栅格上的高度,来得到多个高度差;最后比较多个高度差的大小,从多个高度差中,确定最大高度差。
[0099]
其中,在确定多个相邻栅格与第一栅格之间的最小高度差时,是从多个高度差中,确定最小高度差。
[0100]
其中,由于第二栅格具有多个,所以得到的第一高度差具有多个。
[0101]
子步骤b2:根据所述第一高度差、所述最大高度差以及所述最小高度差,确定所述三维平滑性启发函数。
[0102]
其中,三维平滑性启发函数可以通过以下公式(4)来得到:
[0103][0104]
在公式(4)中,u(i,j)表示三维平滑性启发函数;h(i)表示移动物在第一栅格i上的栅格高度矩阵;h(j)表示移动物在第二栅格j上的栅格高度矩阵;maxh代表多个相邻栅格与第一栅格之间的最大高度差;minh表示多个相邻栅格与第一栅格之间的最小高度差;λ与σ表示修正参数;0.01是用于避免分母为0导致三维平滑性启发函数无限大所增加的常量。
[0105]
从公式(4)可以看出,依据第一高度差h(i)-h(j)、最大高度差maxh以及最小高度差minh,可以得到三维平滑性启发函数。
[0106]
在最大高度差与最小高度差不变的情况下,第一栅格与所述第二栅格之间的第一高度差的绝对值越大,得到的三维平滑性启发函数越小,移动物从第一栅格转移至第二栅格的概率越小;第一栅格与第二栅格之间的第一高度差的绝对值越小,得到的三维平滑性启发函数越大,移动物从第一栅格转移至第二栅格的概率越大。
[0107]
可以得知,第一栅格与第二栅格之间的第一高度差表明了移动物即将移动的坡道的坡度平缓度;第一高度差越大,坡道的坡度越大,第一高度差越小,坡道的坡度越小。因此,在公式(4)中得到,坡道的坡度越大的情况下,得到的三维平滑性启发函数越小,得到的移动物从第一栅格移动至第二栅格的概率越小;在坡道的坡度越小的情况下,得到的三维平滑性启发函数越大,得到的移动物从第一栅格移动至第二栅格的概率越大。
[0108]
通过三维平滑性启发函数的设置,可以提高移动物行驶坡度较小的坡道的概率,降低移动物行驶坡度较大的坡道的转移概率。由于移动物行驶坡度较小的坡道的转移概率比移动物行驶坡度较大的坡道的转移概率更大,使得移动物在面对多个第二栅格时,能够依据多个不同大小的转移概率,尽量选择大概率的较小坡度的第二栅格行驶,减少移动物在本次迭代所得到的移动路径中的坡度。
[0109]
具体地,修正距离函数用于减小本次迭代过程所得到的移动路径的路径长度,修正距离函数可以通过以下子步骤来得到:
[0110]
子步骤c1:根据所述多个第二栅格与终点栅格之间的最大距离、所述多个第二栅格与终点栅格之间的最小距离以及所述第二栅格与所述终点栅格之间的距离,确定所述修正距离函数。
[0111]
其中,修正距离函数可以通过以下公式(5)来得到:
[0112][0113]
在公式(5)中,表示修正距离函数;d(j,q)表示当前计算的第二栅格j至终点栅格q之间的距离;maxd表示多个第二栅格至终点栅格q之间距离的最大距离;mind表示多个第二栅格至终点栅格q之间距离的最小距离;w、μ为修正参数;0.01是用于避免分母为0导致修正距离函数无限大所增加的常量。
[0114]
从公式(5)可以看出,根据多个第二栅格与终点栅格之间的最大距离maxd、最小距离mind以及第二栅格与终点栅格之间的距离,可以确定修正距离函数。
[0115]
在最大距离与最小距离不变的情况下,第二栅格与终点栅格之间的距离越大,得到的修正距离函数越小,移动物从第一栅格移动至第二栅格的转移概率越小;第二栅格与终点栅格之间的距离越小,得到的修正距离函数越大,移动物从第一栅格移动至第二栅格的概率越大。
[0116]
可以得知,当移动物从第一栅格移动至第二栅格的过程中,若第二栅格与终点栅格之间的距离越大,表明移动物在朝远离终点栅格的方向行驶,此时通过公式(5)可以减小第一栅格移动至第二栅格的转移概率;若第二栅格与终点栅格之间的距离缩小,表明移动物在朝靠近终点栅格的方向行驶,此时通过公式(5)可以增大第一栅格移动至第二栅格的转移概率。
[0117]
通过修正距离函数的设置,可以提高移动物朝靠近终点栅格方向行驶的转移概率,降低移动物朝远离终点栅格方向行驶的转移概率,使得移动物在面对多个第二栅格时,能够依据多个不同大小的转移概率,尽量选择朝靠近终点栅格的第二栅格,减少移动物在本次迭代所得到的移动路径的路径长度。
[0118]
本公开中,在公式(1)至公式(5)中,i仅代表第一栅格的某一符号,第一栅格的符号可以为图3中g、c、d、e、i、f、o、h、j中的任意一种,也可以为其它符号,本公开只是一种示例;j也仅代表第二栅格的某一符号,第二栅格的符号也可以为图3中g、c、d、e、i、f、o、h、j中的任意一种,也可以为其它符号。
[0119]
具体地,信息素越大的区域,得到的转移概率越大,越容易被移动物经过,因此在蚁群算法中,可以对每个栅格的信息素进行初始化,来引导移动物到达终点栅格,信息素可以通过以下公式(6)来确定:
[0120][0121]
在公式(6)中,τ
ij
(t+1)表示在第t+1次迭代的过程中,移动物从第一栅格i移动至第二栅格j的信息素值,ρ表示信息素挥发剩余度,τ
ij
(t)表示第t次迭代的过程中,移动物从
第一栅格i移动至第二栅格j的信息素值,表示第m个移动物在第t次迭代的过程中得到的移动路径新增的信息素。
[0122]
其中,若第二栅格包含障碍物区域,则该第二栅格不参与转移giallo的计算,从而自动生成从起始位置的栅格,绕开障碍物区域到达终点栅格的移动路径。
[0123]
在步骤s22中,根据所述多个转移概率,从所述多个第二栅格中确定所述移动物下一步到达的目标栅格。
[0124]
本公开中,每个第二栅格具有各自的二维平滑性启发函数、三维平滑性启发函数以及修正距离函数,在得到二维平滑性启发函数、三维平滑性启发函数以及修正距离函数之后,可以依据公式(2)来得到每个第二栅格各自的启发式信息函数;再通过公式(1)来得到移动物从第一栅格转移至每个第二栅格的转移概率。
[0125]
例如,请参阅图3所示,可以得到移动物从第一栅格i分别至第二栅格c、d、e、f、o、h、j、g的转移概率分别为:10%、40%、50%、70%、50%、60%、90%、5%。
[0126]
在得到移动物从第一栅格分别至多个第二栅格的转移概率之后,可以采用以下两种方式来确定移动物下一步达到的目标栅格。
[0127]
方式1:利用轮盘赌的方式,根据多个转移概率,从多个第二栅格中确定移动物下一步要达到的目标栅格。
[0128]
其中,轮盘赌的方式是一种基于概率选择和随机采用的选择方法,通过在轮盘上划分对应的第二栅格的选择区域,第二栅格的转移概率越大,对应的选择区域也越大,然后根据轮盘赌随机指针所指向的选择区域对应的第二栅格,作为目标栅格。
[0129]
在这个过程中,由于第二栅格的转移概率越大,对应的选择区域也越大,所以转移概率越大的第二栅格,越有可能成为目标栅格。
[0130]
而第二栅格的转移概率越大,表明移动物从第一栅格至第二栅格越靠近终点栅格、从第一栅格移动至第二栅格的坡度越小、从第一栅格移动至第二栅格的转弯概率越小,移动物从第一栅格移动至第二栅格所付出的移动代价越小。因此,采用轮盘赌的方式,可以提升移动物转移至移动代价较小的目标路径的概率,降低移动物从第一栅格移动至第二栅格所付出的移动代价。
[0131]
方式2:从多个转移概率中,确定最大转移概率对应的第二栅格,作为目标栅格。
[0132]
可以得知,转移概率越大,表明移动物从第一栅格移动至第二栅格的概率越大,因此可以选择转移概率最大的第二栅格作为目标栅格。
[0133]
而转移概率最大的目标栅格往往是靠近终点栅格、坡度较小且转弯概率较小的栅格,控制移动物朝转移概率最大的目标栅格移动,可以降低移动物从第一栅格移动至第二栅格所付出的移动代价。
[0134]
在步骤s23中,根据所述目标栅格所形成的移动路径,确定所述移动物经过所述移动路径的路径长度、所述转弯次数以及坡度。
[0135]
本公开中,在每次迭代过程中,均会对移动物从当前所在的第一栅格移动至第二栅格的转移概率进行计算,以得到移动物下一步要走的目标栅格,再以下一步要走的目标栅格作为第一栅格,来计算下下步要走的目标栅格,如此反复计算,得到本次迭代过程中多个目标栅格所形成的移动路径。
[0136]
在得到本次迭代的移动路径之后,可以获取到移动路径的路径长度移动物的转弯
次数以及坡度。
[0137]
在步骤s24中,根据第一分数、第二分数以及第三分数,确定所述路径分数;其中,所述第一分数为根据所述路径长度与所述第一系数得到,所述第二分数为根据所述转弯次数与第二系数得到,所述第三分数为根据所述坡度与第三系数得到。
[0138]
本公开中,可以通过以下公式(7)来确定本次迭代的路径分数:
[0139]
sm(t)=xlm(t)+ytm(t)+znm(t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0140]
在公式(7)中,sm(t)为第t次迭代过程的路径分数;x、y、z分别为第一系数、第二系数、第三系数;lm(t)为路径长度;tm(t)为转弯次数;nm(t)为坡度。
[0141]
从公式(7)可以看出,路径长度、转弯次数以及坡度越小,路径分数越小,移动物经过本次迭代的移动路径所付出的移动代价越小;路径长度、转弯次数以及坡度越大,路径分数越大,移动物经过本次迭代的移动路径所付出的移动代价越大。
[0142]
其中,第一系数、第二系数与第三系数可以根据实际的工况来确定,第一系数、第二系数与第三系数的总和为固定值。
[0143]
例如,在进行管道探测时,若需要更多地关注路径长度,降低路径长度的情况下,则可以降低第一系数,使得路径分数受到路径长度的影响更大,那么得到的移动路径的路径长度会更低;若需要更多地关注转弯次数,减少转弯次数的情况下,可以降低第二系数,使得路径分数受到转弯次数的影响更大,那么得到的移动路径中移动物的转弯次数会更少;若需要更多地关注坡度,可以降低第三系数,使得路径分数受到坡度的影响更大,那么得到的移动路径中移动物的坡度会更加平缓。
[0144]
通过本公开提出的路径确定方法,可以在每次迭代的过程中,确定移动物付出较小代价的移动路径,也可以理解为移动物的移动路径较小、转弯次数较少且坡度较为平缓的移动路径,使得每次迭代得到的移动路径是较优的;再从多条较优的移动路径中确定路径分数最小的移动路径,作为更优的目标移动路径。如此,移动物按照目标移动路径移动,才会减少发生侧翻以及转弯的几率,减少移动物移动的路径长度。
[0145]
基于同一发明构思,本公开还提出一种路径确定装置,请参阅图5所示,该路径确定装置120包括:
[0146]
路径分数确定模块121,被配置为获取本次迭代过程中,移动物所经过的移动路径的路径分数;所述迭代过程包括:确定所述移动物经过所述移动路径后所得到的路径长度、转弯次数与坡度,以及根据所述路径长度、所述转弯次数与所述坡度,确定所述路径分数;
[0147]
目标移动路径确定模块122,被配置为在所述本次迭代的移动路径的路径分数小于上次迭代的移动路径的路径分数,且所述本次迭代的迭代次数达到预设次数的情况下,将所述本次迭代过程中的移动路径作为目标移动路径;其中,所述路径分数与所述路径长度、所述转弯次数以及所述坡度中的至少一者呈正比关系。
[0148]
可选地,路径分数确定模块121包括:
[0149]
转移概率确定模块,被配置为确定本次迭代过程中,所述移动物从所述移动物所在的第一栅格分别移动至多个相邻的第二栅格的多个转移概率,所述第二栅格为所述移动物未经过的下一栅格;
[0150]
目标栅格确定模块,被配置为诶根据所述多个转移概率,从所述多个第二栅格中确定所述移动物下一步到达的目标栅格;
[0151]
移动路径参数确定模块,被配置为根据所述目标栅格所形成的移动路径,确定所述移动物经过所述移动路径的路径长度、所述转弯次数以及坡度。
[0152]
可选地,转移概率确定模块包括:
[0153]
第一转移概率确定模块,被配置为根据所述移动物从所述第一栅格分别移动至多个第二栅格的多个二维平滑性启发函数以及多个三维平滑性启发函数,确定所述移动物从所述第一栅格分别移动至所述多个第二栅格的所述多个转移概率;其中,所述二维平滑性启发函数用于减小所述移动物转弯的转移概率;所述三维平滑性启发函数用于减小所述移动物侧翻的转移概率。
[0154]
可选地,路径确定装置120包括:
[0155]
高度差确定模块,被配置为确定所述移动物所在的第一栅格与所述第二栅格之间的第一高度差、多个相邻栅格与所述第一栅格之间的最大高度差、所述多个相邻栅格与所述第一栅格之间的最小高度差;所述相邻栅格为与所述第一栅格相邻的多个栅格;
[0156]
三维平滑性启发函数确定模块,被配置为根据所述第一高度差、所述最大高度差以及所述最小高度差,确定所述三维平滑性启发函数。
[0157]
可选地,路径确定装置120包括:
[0158]
第一转向标号确定模块,被配置为确定所述移动物从第三栅格转移至所述移动物所在的第一栅格的第一转向标号,所述第三栅格为与所述第一栅格相邻的上一栅格;
[0159]
第二转向标号确定模块,被配置为确定所述移动物从所述第一栅格转移至第二栅格的第二转向标号,所述第二栅格为与所述第一栅格相邻的下一栅格;
[0160]
二维平滑性启发函数第一确定模块,被配置为在所述第一转向标号与所述第二转向标号相同的情况下,以第一函数作为所述二维平滑性启发函数;
[0161]
二维平滑性启发函数第二确定模块,在所述第一转向标号与所述第二转向标号不同的情况下,以第二函数作为所述二维平滑性启发函数;其中,在计算变量相同的情况下,所述第一函数的计算结果大于所述第二函数的计算结果。
[0162]
可选地,转移概率确定模块包括:
[0163]
第三转移概率确定模块,被配置为根据所述移动物从所述第一栅格分别移动至所述多个第二栅格的多个修正距离函数、所述二维平滑性启发函数以及所述三维平滑性启发函数,确定所述多个转移概率;
[0164]
其中,所述修正距离函数用于减小所述路径长度。
[0165]
可选地,路径确定装置120包括:
[0166]
修正距离函数确定模块,被配置为根据所述多个第二栅格与终点栅格之间的最大距离、所述多个第二栅格与终点栅格之间的最小距离以及所述第二栅格与所述终点栅格之间的距离,确定所述修正距离函数。
[0167]
可选地,路径分数确定模块121包括:
[0168]
第一路径分数确定模块,被配置为根据第一分数、第二分数以及第三分数,确定所述路径分数;
[0169]
其中,所述第一分数为根据所述路径长度与所述第一系数得到,所述第二分数为根据所述转弯次数与第二系数得到,所述第三分数为根据所述坡度与第三系数得到。
[0170]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法
的实施例中进行了详细描述,此处将不做详细阐述说明。
[0171]
图6是根据一示例性实施例示出的一种电子设备700的框图。如图6所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。
[0172]
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的路径确定方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
[0173]
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的路径确定方法。
[0174]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的路径确定方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的路径确定方法。
[0175]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的路径确定方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的路径确定方法。
[0176]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于
执行上述的路径确定方法的代码部分。
[0177]
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0178]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0179]
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1