路径规划方法、计算机设备及存储介质与流程

文档序号:32051044发布日期:2022-11-03 09:14阅读:66来源:国知局
路径规划方法、计算机设备及存储介质与流程

1.本技术涉及路径规划的技术领域,尤其涉及一种路径规划方法、计算机设备及存储介质。


背景技术:

2.这里的陈述仅提供与本技术有关的背景信息,而不必然地构成示例性技术。
3.随着自移动设备的功能以及性能的不断增强,越来越多的领域都逐渐开始采用自移动设备进行工作。例如,利用扫地机器人对房间进行清扫,利用割草机器人对草地或草坪进行修剪、利用无人机对作物进行喷洒或播撒等,这些自移动设备无需人为直接控制和操作,能够极大地提高工作效率。
4.目前,自移动设备可以按照规划好的沿边路径沿着作业区域的边沿进行割草、扫地、喷洒或播撒等作业。然而,现有的路径规划算法存在规划的沿边路径不准确的问题,使得自移动设备按照规划好的沿边路径进行作业时会遗漏某些区域,影响自移动设备对作业区域进行沿边作业的准确性。


技术实现要素:

5.根据本技术的各种实施例提供了一种路径规划方法、计算机设备及存储介质。
6.第一方面,本技术实施例提供一种路径规划方法,包括:
7.获取待执行的初始路径,所述初始路径包括多个路径点;
8.获取所述初始路径中的各个路径点对应的位置信息;所述位置信息用于表征所述路径点相对于相邻两个路径点的位置关系;
9.根据所述初始路径中的各个路径点对应的位置信息,从所述多个路径点中确定初始路径分段点;
10.在任意相邻两个初始路径分段点之间的多个路径点中确定所述初始路径的补充路径分段点;
11.将所述初始路径分段点和所述补充路径分段点均作为目标路径分段点,并对所述目标路径分段点进行平滑处理,得到待执行的目标路径。
12.第二方面,本技术实施例还提供一种路径规划装置,所述路径规划装置包括:
13.获取模块,被配置为获取待执行的初始路径,所述初始路径包括多个路径点;
14.获取模块,还被配置为获取所述初始路径中的各个路径点对应的位置信息;所述位置信息用于表征所述路径点相对于相邻两个路径点的位置关系;
15.确定模块,被配置为根据所述初始路径中的各个路径点对应的位置信息,从所述多个路径点中确定初始路径分段点;
16.所述确定模块,还被配置为在任意相邻两个初始路径分段点之间的多个路径点中确定所述初始路径的补充路径分段点;
17.平滑处理模块,被配置为将所述初始路径分段点和所述补充路径分段点均作为目
标路径分段点,并对所述目标路径分段点进行平滑处理,得到待执行的目标路径。
18.第三方面,本技术实施例还提供一种计算机设备,所述计算机设备包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时,实现如上所述的路径规划方法。
19.第四方面,本技术实施例还提供一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的路径规划方法。
20.本技术的一个或多个实施例的细节在下面的附图和描述中提出。本技术的其他特征、目的和优点将从说明书、附图以及权利要求书变得明显。
附图说明
21.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本技术实施例提供的一种路径规划方法的流程示意图。
23.图2为本技术实施例中的初始路径的一示意图。
24.图3为本技术实施例中的初始路径的另一示意图。
25.图4为本技术实施例中的初始路径的另一示意图。
26.图5为图1中的路径规划方法的子步骤流程示意图。
27.图6为本技术实施例中确定补充路径分段点的一场景示意图。
28.图7为本技术实施例提供的一种路径规划装置的结构示意框图。
29.图8为本技术实施例提供的一种计算机设备的结构示意框图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
32.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
33.目前,自移动设备可以按照规划好的沿边路径沿着作业区域的边界进行割草、扫地、喷洒或播撒等作业。然而,现有的路径规划算法存在规划的沿边路径不准确的问题,使得自移动设备按照规划好的沿边路径进行作业时会遗漏某些区域,影响自移动设备对作业区域进行沿边作业的准确性。
34.为解决上述问题,本技术实施例提供一种路径规划方法、设备及存储介质。其中,该路径规划方法可应用于服务器、终端设备或自移动设备等计算机设备,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是遥控设备、手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等,自移动设备可以是扫地机、割草机、无人机等。
35.下面结合附图,对本技术的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
36.请参阅图1,图1为本技术实施例提供的一种路径规划方法的流程示意图。
37.如图1所示,该路径规划方法包括步骤s101至步骤s105。
38.步骤s101、获取待执行的初始路径。
39.其中,待执行的初始路径为自移动设备在某一待作业区域内的作业路径,待作业区域为自移动设备进行沿边作业的地块、房间、绿化地或草地等。待作业区域可以由用户手动选择,也可以基于自移动设备的定位信息选择。待作业区域可以为封闭的作业区域,也可以为不封闭的作业区域。初始路径为自移动设备对待作业区域进行完整作业的移动路径,初始路径可以实时生成,也可以预先生成,本实施例对此不做具体限定,初始路径包括多个路径点。
40.示例性的,从云端或存储器中获取待执行的初始路径。通过将预先规划的初始路径存在云端和本地存储器,可以在使用时快速地获取到待作业的初始路径。
41.示例性的,从包含待作业区域的地图中获取待作业区域的边界,并将边界内缩预设距离,得到自移动设备在待作业区域的边界上的初始路径。其中,包含待作业区域的地图可以为栅格地图,预设距离可以基于实际情况进行设置,比如根据自移动设备在执行单次作业时的覆盖宽度来确定,具体地,可以将预设距离设置为自移动设备单次作业所覆盖宽度的一半。本实施例对此不做具体限定,例如,预设距离为30厘米。如图2所示,待作业区域的边界11内缩预设距离之后,得到自移动设备在待作业区域的边界上的初始路径12。
42.示例性的,从包含待作业区域的地图中获取待作业区域的边界,在边界周围选择路径起始点和路径结束点,从路径起始点开始,沿着顺时针方向或逆时针方向按照预设采样距离对边界进行路径点采样,直至到达路径结束点,得到多个路径点,并按照每个路径点的位置,依次连接每个路径点,得到自移动设备在待作业区域的边界上的初始路径。其中,预设采样距离可以基于实际情况进行设置,本实施例对此不做具体限定,例如,预设采样距离为50厘米。如图3所示,对待作业区域的边界11进行路径点采样,可以得到多个路径点13,多个路径点13可以组成初始路径。
43.步骤s102、获取初始路径中的各个路径点对应的位置信息。
44.其中,位置信息用于表征路径点相对于相邻两个路径点的位置关系,该位置关系可以包括路径点对应的角度或路径点相对于相邻路径点的距离,该路径点对应的角度为路径点与相邻两个路径点之间的连线所形成的夹角,一个路径点对应一个角度。
45.步骤s103、根据初始路径中的各个路径点对应的位置信息,从多个路径点中确定初始路径分段点。
46.如图4所示,路径点a、b、c构成线段ab和线段bc,将线段ab与线段bc之间的夹角θ2作为路径点b的角度,路径点b、c、d构成线段bc和线段cd,将线段bc和线段cd之间的夹角θ3作为路径点c的角度,按照同样的方式可以获取到路径点d、e、f、g、h、i、j、k、l、m、n、o、p、q的角度分别为θ4、θ5、θ6、θ7、θ8、θ9、θ
10
、θ
11
、θ
12
、θ
13
、θ
14
、θ
15
、θ
16
、θ
17
,在初始路径为封闭的路径时,路径点a的角度为路径点q、a、b构成的线段qa与线段ab之间的夹角θ1,在初始路径为开放的路径时,路径点a的角度可以为缺省值或0。
47.在一实施例中,获取各个路径点相对于相邻路径点的位置信息变化量;在位置信息变化量超过预设位置变化量时,将位置信息变化量超过预设位置变化量所对应的路径点确定为初始路径分段点;或者在位置信息超过预设位置阈值时,将路径点确定为初始路径分段点。通过路径点相对于相邻路径点的位置信息变化量或位置关系,可以准确地确定初始路径分段点。
48.其中,路径点相对于相邻路径点的位置信息变化量包括路径点相对于相邻路径点的角度变化量或位置坐标变化量。例如,如图4所示,路径点a与路径点q相邻,则路径点a相对于路径点q的角度变化量为|θ
1-θ
17
|,路径点a分别与路径点q和路径点b相邻,则路径点a(x1,y1)相对于路径点b(x2,y2)的位置坐标变化量为(y
2-y1)/(x
2-x1)。预设位置变化量可以包括预设角度变化量或预设位置坐标变化量,预设角度变化量和预设位置坐标变化量可以基于实际情况进行设置,本技术实施例对此不做具体限定。例如,预设角度变化量为30度或50度。
49.示例性的,获取各个路径点相对于相邻路径点的角度变化量,并将该角度变化量超过预设角度变化量所对应的路径点确定为初始路径分段点。
50.在另一实施例中,获取各个路径点相对于相邻路径点的位置坐标变化量,并将该位置坐标变化量超过预设位置坐标变化量所对应的路径点确定为初始路径分段点。
51.其中,位置信息包括路径点对应的角度,预设位置阈值可以包括预设角度阈值,预设角度阈值可以基于实际情况进行设置,本技术实施例对此不做具体限定。例如,预设距离阈值为50厘米,预设角度范围为25
°
至135
°
、20
°
至130
°
或者15
°
至130
°
等。
52.示例性的,获取各个路径点对应的角度,并将该角度超过预设角度阈值所对应的路径点确定为初始路径分段点。
53.在一实施例中,如图5所示,步骤s103包括:子步骤s1031至子步骤s1033。
54.子步骤s1031,获取每个路径点对应的角度。
55.示例性的,对于初始路径上的每个路径点,在初始路径上与确定各路径点的相邻两个路径点;计算路径点与相邻两个路径点之间的连线所形成的夹角,并将路径点与相邻两个路径点之间的连线所形成的夹角确定为该路径点对应的角度。
56.其中,一个路径点对应一个角度,路径点的角度是路径点与相邻两个路径点之间的连线所形成的夹角。如图4所示,路径点a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p、q的角度分别为θ1、θ2、θ3、θ4、θ5、θ6、θ7、θ8、θ9、θ
10
、θ
11
、θ
12
、θ
13
、θ
14
、θ
15
、θ
16
、θ
17

57.子步骤s1032、对各个路径点对应的角度进行拟合,得到多个目标拟合线。
58.其中,可以对各个路径点对应的角度进行线性拟合,得到多个目标拟合直线,或者也可以对各个路径点对应的角度进行曲线拟合,得到多个目标拟合曲线,目标拟合线对应的角度队列中的最后两个角度之间的斜率相对于其他相邻两个角度之间的斜率的变化量
大于或等于斜率变化阈值。该斜率变化阈值可以基于实际情况进行设置,本实施例对此不做具体限定。例如,斜率变化阈值为0.3。
59.示例性的,对各个路径点对应的角度进行拟合,得到多个目标拟合线的方式可以为:根据路径点在初始路径的布局顺序,对路径点对应的角度θ逐个执行拟合,得到拟合线对应的角度队列[θ1,θ2,...,θ
i-1
,θi],其中,n≥i≥2,n为角度个数;当检测到θi与θ
i-1
之间的斜率相对于其他相邻两个角度之间的斜率的变化量大于或等于斜率变化阈值时,将角度队列[θ1,θ2,...,θ
i-1
,θi]对应的拟合线确定为目标拟合线;将剩余未执行拟合的角度继续按照根据路径点在初始路径的布局顺序,对路径点对应的角度θ逐个执行拟合,得到拟合线对应的角度队列[θ
i+1
,θ
i+2
,...,θ
i+m-1
,θ
i+m
]的步骤,以得到多个目标拟合线,其中,i+m≤n。通过路径点在初始路径的布局顺序,可以快速地对各个路径点对应的角度进行拟合,可以提高确定目标拟合线的准确性,从而提高了初始路径分段点的准确性。
[0060]
例如,在i为2时,基于图4所示的初始路径,可以得到路径点在初始路径的布局顺序,基于路径点在初始路径的布局顺序,可以先对角度θ1和θ2执行拟合,得到拟合线l
11
,拟合线l
11
对应的角度队列[θ1,θ2],由于角度队列[θ1,θ2]仅有一对相邻的角度,即无法进行与其他相邻的两个角的斜率的变化量进行比较,因此继续基于路径点在初始路径的布局顺序,对角度θ1、θ2和θ3执行拟合,得到拟合线l
12
,拟合线l
12
对应的角度队列为[θ1,θ2,θ3],若θ2与θ3之间的斜率变化量相对于θ1与θ2之间的斜率变化量大于或等于斜率变化阈值,则将拟合线l
12
确定为目标拟合线。
[0061]
然后将剩余未执行拟合的角度θ4,θ5,θ6,θ7,θ8,θ9,θ
10
,θ
11
,θ
12
,θ
13
,θ
14
,θ
15
,θ
16
,θ
17
继续按照路径点在初始路径的布局顺序,对路径点对应的角度θ逐个执行拟合,即先对角度θ4和θ5执行拟合,得到拟合线l
13
对应的角度队列[θ4,θ5],由于角度队列[θ4,θ5]不存在其他相邻两个角度,则不比较,而是基于路径点在初始路径的布局顺序,对角度θ4,θ5和θ6执行拟合,得到拟合线l
14
,拟合线l
14
对应的角度队列为[θ4,θ5,θ6],若θ6与θ5之间的斜率相对于θ5与θ4之间的斜率的变化量大于或等于斜率变化阈值,则将拟合线l
14
确定为目标拟合线。按照上述相同的方式继续将剩余未执行拟合的角度,按照路径点在初始路径的布局顺序,对路径点对应的角度θ逐个执行拟合,直到参与拟合的角度中包含θ
17
,以结束对角度进行拟合,从而可以得到多个目标拟合线。
[0062]
类似的,在i为3时,基于图4所示的初始路径,可以得到路径点在初始路径的布局顺序,基于路径点在初始路径的布局顺序,可以先对角度θ1,θ2和θ3执行拟合,得到拟合线l
12
对应的角度队列[θ1,θ2,θ3],θ3与θ2之间的斜率相对于θ2与θ1之间的斜率的变化量大于斜率变化阈值,则将拟合线l
21
确定为目标拟合线。然后将剩余未执行拟合的角度θ4,θ5,θ6,θ7,θ8,θ9,θ
10
,θ
11
,θ
12
,θ
13
,θ
14
,θ
15
,θ
16
,θ
17
继续按照路径点在初始路径的布局顺序,对路径点对应的角度θ逐个执行拟合,即先对角度θ4,θ5和θ6执行拟合,得到拟合线l
21
对应的角度队列[θ4,θ5,θ6],若θ6与θ5之间的斜率相对于θ5与θ4之间的斜率的变化量大于或等于斜率变化阈值,则将拟合线l
21
确定为目标拟合线,按照上述相同的方式继续将剩余未执行拟合的角度,按照路径点在初始路径的布局顺序,对路径点对应的角度θ逐个执行拟合,直到参与拟合的角度中包含θ
17
,以结束对角度进行拟合,从而可以得到多个目标拟合线。
[0063]
子步骤s1033、获取位于各个目标拟合线末端的角度,以末端的角度所对应的路径点作为初始路径分段点。
[0064]
本实施例中,由于待作业区域的实际边界不规则,这样会导致生成的初始路径无法紧贴待作业区域的实际边界,通过对各个路径点对应的角度进行拟合,得到多个目标拟合线,由于角度之间的斜率的变化量可以表示参与拟合的角度的一致性的程度,目标拟合线对应的角度队列中的最后两个角度之间的斜率相对于其他相邻两个角度之间的斜率的变化量大于或等于斜率变化阈值,获取位于各个目标拟合线的末端的角度,以末端的角度所对应的路径点确定为初始路径分段点,这样可以确定参与拟合的多个角度中存在对一致性影响较大的角度,对一致性影响较大的角度所对应的路径点即为路径分段点,这样可以准确地确定路径分段点,从而能够提高后续过滤路径分段点之间的路径点的准确性,可以减少不规则的沿边路径上的实际沿边路径点被遗漏的问题,使得沿边路径可以紧贴待作业区域的实际边界。
[0065]
示例性的,获取各个目标拟合线对应的角度队列所在的队尾位置的角度,将队尾位置的角度作为目标角度;将目标角度对应的路径点作为初始路径分段点。例如,目标拟合线包括角度队列[θ1,θ2,θ3]对应的拟合线,由于角度队列[θ1,θ2,θ3]中的角度θ3位于对应拟合线的末端,则将角度θ3对应的路径点c确定为初始路径分段点。目标拟合线还包括角度队列[θ4,θ5,θ6]对应的拟合线,由于角度队列[θ4,θ5,θ6]中的角度θ6位于对应拟合线的末端,则将角度θ6对应的路径点e确定为初始路径分段点。
[0066]
步骤s104、在任意相邻两个初始路径分段点之间的多个路径点中确定初始路径的补充路径分段点。
[0067]
由于初始路径不是绝对连续的,且初始路径是基于栅格地图生成的,初始路径上的相邻路径点之间的距离与栅格地图的分辨率有关,通常栅格地图的分辨率较高,这样使得生成的初始路径上存在很多非必要的路径点,导致初始路径无法贴合待作业区域的实际边界,因此,在确定初始路径分段点之后,在任意相邻两个初始路径分段点之间的多个路径点中,确定初始路径的补充路径分段点,可以消除初始路径上的一些非必要的路径点,也可以减少不规则路径的路径点被遗漏的问题,以提高路径点的精确性。
[0068]
在一实施例中,获取任意相邻两个初始路径分段点之间的路径点到对应的子路径的垂直距离,子路径由任意相邻两个初始路径分段点连线得到;将垂直距离大于或等于预设的参考阈值的路径点作为补充路径分段点;将垂直距离小于预设的参考阈值的路径点进行删除;对补充路径分段点和与其相邻的初始路径分段点之间的多个路径点,执行获取任意相邻两个初始路径分段点之间的路径点到对应的子路径的垂直距离的步骤,直至对应子路径上不存在其他路径点。其中,预设的参考阈值可以基于实际情况进行设置,本实施例对此不做具体限定。例如,预设的参考阈值为0.1米。通过将垂直距离小于预设的参考阈值的路径点进行删除,可以消除初始路径上的一些非必要的路径点,而将垂直距离大于或等于预设的参考阈值的路径点作为补充路径分段点,可以减少不规则路径的路径点被遗漏。
[0069]
例如,如图6所示,相邻两个初始路径分段点分别为初始路径分段点p1和初始路径分段点p2,路径段p1p2为对应的子路径,且路径段p1p2之间有路径点a、路径点b和路径点c,确定路径点a、路径点b和路径点c与路径段p1p2之间的垂直距离,由于路径点b和路径点c与路径段p1p2之间的垂直距离大于预设的参考阈值,则将路径点b和路径点c确定为补充路径分段点,而路径点a与路径段p1p2之间的垂直距离小于预设的参考阈值,则删除路径点a,由于补充路径分段点b与初始路径分段点p1之间不存在其他路径点,以及补充路径分段点b与初
始路径分段点p2之间也不存在其他路径点,则不进行过滤,类似的,补充路径分段点c与初始路径分段点p1之间不存在其他路径点,以及补充路径分段点c与初始路径分段点p2之间也不存在其他路径点,则不进行过滤。
[0070]
在另一实施例中,遍历路径段p1p2之间的路径点a、b以及c,获取到路径点a、b以及c到路径段p1p2的垂直距离。在路径点a、b以及c中确定b为距离路径段p1p2最远的路径点,若路径点b到路径段p1p2的垂直距离小于预设的参考阈值,则可知路径点a、b以及c到路径段p1p2的垂直距离小于预设的参考阈值,将删除路径点路径点a、b以及c即可。在若路径点b到路径段p1p2的垂直距离大于或等于预设的参考阈值,将b作为补充路径分段点,此时补充路径分段点b与初始路径分段点p1、p2形成路径段p1b和bp2。此时,遍历补充路径分段点b与初始路径分段点p1之间的路径点,可以得到路径点a到路径段p1b的距离,在该距离小于预设的参考阈值时,删除该路径点即可,反之则将a作为新的补充路径分段点,并对各路径分段点之间的路径点再次进行判断,直至p1b之间不存在其他路径点。同样的,对补充路径分段点b与初始路径分段点p2之间的点进行判断,比如对c点的距离进行判断,如果大于预设的参考阈值,则将其作为补充路径分段点,否则删除。
[0071]
步骤s105、将初始路径分段点和补充路径分段点均作为目标路径分段点,并对目标路径分段点进行平滑处理,得到待执行的目标路径。
[0072]
其中,可以基于预设平滑算法对目标路径分段点进行平滑处理,预设平滑算法可以包括最小二乘法、样条插值法、多项式插值法、佛洛依德算法、贝塞尔曲线算法、b样条曲线算法等,本技术实施例对此不做具体限定。例如,使用b样条曲线算法对目标路径分段点进行平滑处理,得到待执行的目标路径。具体为:从全部目标路径分段点选取一个目标路径点作为待处理路径点,并从全部目标路径分段点中选择多个控制点,基于选择的多个控制点,生成待处理路径点对应的b样条曲线;对b样条曲线进行线段碰撞检测,碰撞检测的目的是保证自移动设备在所规划的路径行驶时不与障碍物发生碰撞。在b样条曲线未通过线段碰撞检测时,调整b样条曲线的控制点,以更新b样条曲线,直至b样条曲线通过线段碰撞检测,待处理路径点以及选择的多个控制点之间的路径段替换为通过线段碰撞检测的b样条曲线;遍历剩下的目标路径分段点,重复上述过程,以完成目标路径分段点的平滑处理,得到待执行的目标路径。
[0073]
在一实施例中,获取目标路径上的每个路径段的曲率,路径段为任意相邻两个目标路径分段点之间的路径段;根据每个路径段的曲率,配置自移动设备在对应路径段上的移动速度。通过路径段的曲率,配置自移动设备在每个路径段上的移动速度,使得自移动设备在执行作业时可以进一步地沿着待作业区域的边界进行工作,提高作业效果。
[0074]
示例性的,路径段的曲率的确定方式可以为:对位于路径段,即两个相邻的路径分段点之间的路径点进行拟合,得到路径拟合线;确定该路径拟合曲的曲率,并将该路径拟合线的曲率确定为路径段的曲率。
[0075]
示例性的,获取预存的曲率与移动速度之间的对应关系,并根据预存的曲率与移动速度之间的对应关系以及每个路径段的曲率,配置自移动设备在每个路径段上的移动速度。其中,曲率与移动速度之间的对应关系可以预先通过多次试验得到,本实施例对此不做具体限定。
[0076]
在一实施例中,获取目标路径上的每个目标路径分段点的角度;并根据目标路径
上的每个目标路径分段点的角度,配置自移动设备在目标路径上的每个目标路径分段点处的角速度。通过在路径分段点处给自移动设备配置对应的角速度,使得自移动设备在执行作业时可以进一步地沿着待作业区域的边界进行工作,进一步地提高作业效果。
[0077]
示例性的,获取预存的角度与角速度之间的对应关系;根据角度与角速度之间的对应关系以及目标路径上的每个路径分段点的角度,配置自移动设备在目标路径上的每个路径分段点处的角速度。其中,角度与角速度之间的对应关系可以预先通过多次试验得到,本实施例对此不做具体限定。
[0078]
上述实施例提供的路径规划方法,基于待执行的初始路径中的各个路径点对应的位置信息,从初始路径中的各个路径点内确定初始路径分段点,并在任意相邻两个初始路径分段点之间的多个路径点中确定初始路径的补充路径分段点,在进行路径点过滤的同时,可以避免不规则的路径上的实际路径点被遗漏,将初始路径分段点和补充路径分段点均作为目标路径分段点,并对目标路径分段点进行平滑处理,得到待执行的目标路径,可以得到更加贴合待作业区域的实际边沿的目标路径,极大地提高了路径规划的准确性,使得自移动设备在按照目标路径进行作业时,能够紧贴待作业区域的边沿,从而减少遗漏区域,极大地提高了自移动设备对作业区域进行作业的准确性。
[0079]
请参阅图7,图7为本技术实施例提供的一种路径规划装置的结构示意性框图。
[0080]
如图7所示,路径规划装置200包括:
[0081]
获取模块210,被配置为获取待执行的初始路径,所述初始路径包括多个路径点;
[0082]
获取模块210,还被配置为获取所述初始路径中的各个路径点对应的位置信息;所述位置信息用于表征所述路径点相对于相邻两个路径点的位置关系;
[0083]
确定模块220,被配置为根据所述初始路径中的各个路径点对应的位置信息,从所述多个路径点中确定初始路径分段点;所述位置信息用于表征所述路径点相对于相邻两个路径点的位置关系;
[0084]
所述确定模块220,还被配置为在任意相邻两个初始路径分段点之间的多个路径点中确定所述初始路径的补充路径分段点;
[0085]
平滑处理模块230,被配置为将所述初始路径分段点和所述补充路径分段点均作为目标路径分段点,并对所述目标路径分段点进行平滑处理,得到待执行的目标路径。
[0086]
在一实施例中,所述路径规划装置200还包括速度配置模块,其中:
[0087]
所述获取模块210,还被配置为获取所述目标路径上的每个路径段的曲率,所述路径段为任意相邻两个所述目标路径分段点之间的路径段;
[0088]
所述速度配置模块,被配置为根据每个路径段的曲率,配置自移动设备在对应路径段上的移动速度。
[0089]
在一实施例中,所述确定模块220,还被配置为:
[0090]
获取各个路径点相对于相邻路径点的位置信息变化量;在所述位置信息变化量超过预设位置变化量时,将所述路径点确定为初始路径分段点;或者
[0091]
在所述位置信息超过预设位置阈值时,将所述路径点确定为初始路径分段点。
[0092]
在一实施例中,所述位置信息包括角度;所述角度为所述路径点与相邻两个路径点之间的连线所形成的夹角;所述确定模块220,还被配置为:
[0093]
获取每个所述路径点对应的角度;
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0114]
具体地,存储器320可以是flash芯片、只读存储器(rom,read-only memory)磁盘、光盘、u盘或移动硬盘等。
[0115]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术实施例方案相关的部分结构的框图,并不构成对本技术实施例方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0116]
其中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现本技术实施例提供的任意一种所述的路径规划方法。
[0117]
在一实施例中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现以下步骤:
[0118]
获取待执行的初始路径,所述初始路径包括多个路径点;
[0119]
根据所述初始路径中的各个路径点对应的位置信息,从所述多个路径点中确定初始路径分段点;所述位置信息用于表征所述路径点相对于相邻两个路径点的位置关系;
[0120]
在任意相邻两个初始路径分段点之间的多个路径点中确定所述初始路径的补充路径分段点;
[0121]
将所述初始路径分段点和所述补充路径分段点均作为目标路径分段点,并对所述目标路径分段点进行平滑处理,得到待执行的目标路径。
[0122]
在一实施例中,所述处理器在实现对所述目标路径分段点进行平滑处理,得到待执行的目标路径之后,还用于实现:
[0123]
获取所述目标路径上的每个路径段的曲率,所述路径段为任意相邻两个所述目标路径分段点之间的路径段;
[0124]
根据每个路径段的曲率,配置自移动设备在对应路径段上的移动速度。
[0125]
在一实施例中,所述处理器在实现根据所述初始路径中的各个路径点对应的位置信息,从所述多个路径点中确定初始路径分段点时,用于实现:
[0126]
获取各个路径点相对于相邻路径点的位置信息变化量;在所述位置信息变化量超过预设位置变化量时,将所述路径点确定为初始路径分段点;或者
[0127]
在所述位置信息超过预设位置阈值时,将所述路径点确定为初始路径分段点。
[0128]
在一实施例中,所述位置信息包括角度;所述角度为所述路径点与相邻两个路径点之间的连线所形成的夹角;所述处理器在实现根据所述初始路径中的各个路径点对应的位置信息,从所述多个路径点中确定初始路径分段点时,用于实现:
[0129]
获取每个所述路径点对应的角度;
[0130]
对各个所述路径点对应的角度进行拟合,得到多个目标拟合线;
[0131]
获取位于各个所述目标拟合线的末端的角度,以所述末端的角度所对应的路径点作为初始路径分段点。
[0132]
在一实施例中,所述处理器在实现对各个所述路径点对应的角度进行拟合,得到多个目标拟合线时,用于实现:
[0133]
根据所述路径点在初始路径的布局顺序,对所述路径点对应的角度θ逐个执行拟合,得到拟合线对应的角度队列[θ1,θ2,...,θ
i-1
,θi],其中,n≥i≥2,n为角度个数;
[0134]
当检测到θi与θ
i-1
之间的斜率相对于其他相邻两个角度之间的斜率的变化量大于或等于斜率变化阈值时,将所述角度队列[θ1,θ2,...,θ
i-1
,θi]对应的拟合线确定为目标拟合线;
[0135]
将剩余未执行拟合的角度继续按照根据所述路径点在初始路径的布局顺序,对所述路径点对应的角度θ逐个执行拟合,得到拟合线对应的角度队列[θ
i+1
,θ
i+2
,...,θ
i+m-1
,θ
i+m
]的步骤,以得到多个目标拟合线,其中,i+m≤n。
[0136]
在一实施例中,所述处理器在实现获取位于各个所述目标拟合线末端的角度,以所述末端的角度所对应的路径点作为初始路径分段点时,用于实现:
[0137]
获取各个所述目标拟合线对应的角度队列所在的队尾位置的角度,将所述队尾位置的角度作为目标角度;
[0138]
将所述目标角度对应的路径点作为初始路径分段点。
[0139]
在一实施例中,所述处理器在实现在任意相邻两个初始路径分段点之间的多个路径点中确定所述初始路径的补充路径分段点时,用于实现:
[0140]
获取任意相邻两个初始路径分段点之间的路径点到对应的子路径的垂直距离,所述子路径由任意相邻两个初始路径分段点连线得到;
[0141]
将所述垂直距离大于或等于预设的参考阈值的路径点作为补充路径分段点;
[0142]
将所述垂直距离小于预设的参考阈值的路径点进行删除;
[0143]
对所述补充路径分段点和与其相邻的初始路径分段点之间的多个路径点进行过滤,直至对应子路径上不存在其他路径点。
[0144]
在一实施例中,所述处理器在实现对所述目标路径分段点进行平滑处理,得到待执行的目标路径时,用于实现:
[0145]
基于预设平滑算法对目标路径分段点进行平滑处理,得到待执行的目标路径,其中,所述预设平滑算法包括最小二乘法、样条插值法、多项式插值法、佛洛依德算法、贝塞尔曲线算法、b样条曲线算法中的任意一种。
[0146]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的计算机设备的具体工作过程,可以参考前述路径规划方法实施例中的对应过程,在此不再赘述。
[0147]
本技术实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本技术实施例说明书提供的任一项路径规划的方法。
[0148]
其中,所述存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0149]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物
理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0150]
应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0151]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本技术的具体实施例,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1