本公开涉及避障路径生成,特别涉及一种多障碍物的避障路径生成方法及装置、电子设备、介质。
背景技术:
1、农业自动化作业通常需要按照设定好的路径进行跟踪作业,而实际的作业环境往往是复杂多变的,例如,作业场地可能会出现一些树木、自建蓄水池、石块等多种障碍物,因此,为了保障自动化作业的顺利进行,需要对作业路径进行避障路径设计。同时,农机在进行自动化作业过程中,不仅要保证行驶安全性,还要保证能够具有最大的资源利用,即以最小资源损耗保证最大作业面积。
2、现有技术中,霍迎辉和张连明研究的“最短切线避障法”将障碍物边界作为一个圆形,再利用两条直线段和一圆弧段进行组合避障,然而,这种方法无法满足农机作业对其行驶的路径具有最小转弯半径的需求。易晟和樊晓平利用图论和dijkstra算法进行避障路径规划,其方法能够寻找最短避障路径,但无法满足农机作业对标准化作业行的需求。刘宇峰采用四段圆弧总长度作为避障代价,基于多障碍物之间远近属性判断是否可规划,然而,该方法在两个障碍物过近时会出现规划失败而停止作业的问题。现有技术中还存在一些其他的避障路径规划方法,但基本是以上述几种方法为基础进行改进以达到避障目的。
3、总体而言,现有技术大多不区分障碍物类型,统一将障碍物边界设定为圆形,同时也较少考虑多障碍的避障情况,因此,这些现有技术存在以下问题:一方面,采用外接圆作为避障边界会造成土地浪费,特别是障碍物长度沿作业方向较大时,其外接圆半径过大,造成土地资源较多浪费;另一方面,若存在多个障碍物特别是障碍物距离过近时,无法生成合理的可行驶避障路径。
技术实现思路
1、本公开旨在至少解决现有技术中存在的问题之一,提供一种多障碍物的避障路径生成方法及装置、电子设备、介质。
2、本公开的一个方面,提供了一种多障碍物的避障路径生成方法,所述生成方法包括:
3、分别获取各个障碍物的轮廓点坐标;
4、生成最小凸包步骤:根据所述轮廓点坐标,分别确定各个所述障碍物的最小凸包点集;
5、生成避障路径边界步骤:根据所述最小凸包点集、预设的作业幅宽以及车辆最小转弯半径,分别确定每个所述障碍物对应的避障路径边界;
6、判断避障路径边界是否相交步骤:判断各个所述避障路径边界之间是否相交,若是,则按照第一预设规则生成新的避障路径边界;
7、逐作业行判断原始规划行驶路径是否会与各个所述避障路径边界发生碰撞:
8、若是,则基于所述原始规划行驶路径和所述避障路径边界,生成多个避障规划路径段,判断各个所述避障规划路径段是否相交:若是,则按照第二预设规则生成新的避障规划路径段;若否,则基于各个所述避障规划路径段,生成避障行驶路径;
9、若否,则表明对应的作业行无需生成避障路径,执行对应的原始规划行驶路径。
10、可选地,所述按照第一预设规则生成新的避障路径边界,包括:
11、将避障路径边界相交的各个所述障碍物的所述最小凸包点集合并为一个凸多边形障碍物;
12、基于所述生成最小凸包步骤和所述生成避障路径边界步骤,确定所述凸多边形障碍物对应的避障路径边界;
13、重复所述判断避障路径边界是否相交步骤,直至各个所述避障路径边界之间两两不相交。
14、可选地,所述按照第一预设规则生成新的避障路径边界,包括:
15、采用所述车辆最小转弯半径的曲率圆分别与相交的各个所述避障路径边界相切,将所述曲率圆在各个切点之间的圆弧与相交的各个所述避障路径边界组成新的避障路径边界。
16、可选地,所述按照第二预设规则生成新的避障规划路径段,包括:
17、将相交的避障规划路径段对应的所述障碍物合并为一个新的障碍物;
18、基于所述生成最小凸包步骤和所述生成避障路径边界步骤,确定所述新的障碍物对应的避障路径边界,并重新执行所述判断避障路径边界是否相交步骤。
19、可选地,所述按照第二预设规则生成新的避障规划路径段,包括:
20、采用所述车辆最小转弯半径的曲率圆分别与相交的各个所述避障规划路径段所连接的避障路径边界相切,将所述曲率圆在各个切点之间的圆弧与相交的各个所述避障规划路径段所连接的避障路径边界组成新的避障规划路径段。
21、可选地,所述生成方法还包括:
22、在所述避障行驶路径的数量为多个时,分别计算各个所述避障行驶路径的路径总长;
23、将所述路径总长最小且满足预设条件的所述避障行驶路径,作为最终避障行驶路径;其中,所述预设条件包括所述避障行驶路径的规划路径航向与车辆作业方向夹角不超过90度。
24、可选地,所述生成方法还包括:
25、在所述原始规划行驶路径包括多个作业行时,分别生成每个所述作业行对应的至少一个所述避障行驶路径;
26、根据作业环境需求,分别确定每个所述作业行对应的最终避障行驶路径;
27、将各个所述作业行对应的所述最终避障行驶路径首尾相连,生成全局避障行驶路径。
28、本公开的另一个方面,提供了一种多障碍物的避障路径生成装置,所述生成装置包括:
29、获取模块,用于分别获取各个障碍物的轮廓点坐标;
30、第一生成模块,用于根据所述轮廓点坐标,分别确定各个所述障碍物的最小凸包点集;
31、第二生成模块,用于根据所述最小凸包点集、预设的作业幅宽以及车辆最小转弯半径,分别确定每个所述障碍物对应的避障路径边界;
32、第一判断模块,用于执行判断避障路径边界是否相交步骤:判断各个所述避障路径边界之间是否相交,若是,则按照第一预设规则生成新的避障路径边界;
33、第二判断模块,用于逐作业行判断原始规划行驶路径是否会与各个所述避障路径边界发生碰撞:
34、若是,则基于所述原始规划行驶路径和所述避障路径边界,生成多个避障规划路径段,判断各个所述避障规划路径段是否相交:若是,则按照第二预设规则生成新的避障规划路径段;若否,则基于各个所述避障规划路径段,生成避障行驶路径;
35、若否,则表明对应的作业行无需生成避障路径,执行对应的原始规划行驶路径。
36、可选地,所述第一判断模块,用于按照第一预设规则生成新的避障路径边界,包括:
37、所述第一判断模块,具体用于:
38、将避障路径边界相交的各个所述障碍物的所述最小凸包点集合并为一个凸多边形障碍物;
39、利用所述第一生成模块和所述第二生成模块,确定所述凸多边形障碍物对应的避障路径边界;
40、重复执行所述判断避障路径边界是否相交步骤,直至各个所述避障路径边界之间两两不相交。
41、可选地,所述第一判断模块,用于按照第一预设规则生成新的避障路径边界,包括:
42、所述第一判断模块,具体用于:
43、采用所述车辆最小转弯半径的曲率圆分别与相交的各个所述避障路径边界相切,将所述曲率圆在各个切点之间的圆弧与相交的各个所述避障路径边界组成新的避障路径边界。
44、可选地,所述第二判断模块,用于按照第二预设规则生成新的避障规划路径段,包括:
45、所述第二判断模块,具体用于:
46、将相交的避障规划路径段对应的所述障碍物合并为一个新的障碍物;
47、利用所述第一生成模块和所述第二生成模块,确定所述新的障碍物对应的避障路径边界,并重新利用所述第一判断模块执行所述判断避障路径边界是否相交步骤。
48、可选地,所述第二判断模块,用于按照第二预设规则生成新的避障规划路径段,包括:
49、所述第二判断模块,具体用于:
50、采用所述车辆最小转弯半径的曲率圆分别与相交的各个所述避障规划路径段所连接的避障路径边界相切,将所述曲率圆在各个切点之间的圆弧与相交的各个所述避障规划路径段所连接的避障路径边界组成新的避障规划路径段。
51、可选地,所述生成装置还包括:
52、最终路径生成模块,用于在所述避障行驶路径的数量为多个时,分别计算各个所述避障行驶路径的路径总长;将所述路径总长最小且满足预设条件的所述避障行驶路径,作为最终避障行驶路径;其中,所述预设条件包括所述避障行驶路径的规划路径航向与车辆作业方向夹角不超过90度。
53、可选地,所述生成装置还包括:
54、全局路径生成模块,用于在所述原始规划行驶路径包括多个作业行时,分别生成每个所述作业行对应的至少一个所述避障行驶路径;根据作业环境需求,分别确定每个所述作业行对应的最终避障行驶路径;将各个所述作业行对应的所述最终避障行驶路径首尾相连,生成全局避障行驶路径。
55、本公开的另一个方面,提供了一种电子设备,包括:
56、至少一个处理器;以及,
57、与至少一个处理器通信连接的存储器;其中,
58、存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前文记载的多障碍物的避障路径生成方法。
59、本公开的另一个方面,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现前文记载的多障碍物的避障路径生成方法。
60、本公开相对于现有技术而言,不仅能够满足农用机械车辆行驶的避障需求,而且对于特定作业任务与环境,还能在生成多障碍物避障路径的同时实现最小面积损耗。