CN116700235A - 动态全覆盖路径规划方法及装置、清洁设备、存储介质 - Google Patents
动态全覆盖路径规划方法及装置、清洁设备、存储介质 Download PDFInfo
- Publication number
- CN116700235A CN116700235A CN202210188044.6A CN202210188044A CN116700235A CN 116700235 A CN116700235 A CN 116700235A CN 202210188044 A CN202210188044 A CN 202210188044A CN 116700235 A CN116700235 A CN 116700235A
- Authority
- CN
- China
- Prior art keywords
- area
- path
- cleaning
- coverage
- contour
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 362
- 238000000034 method Methods 0.000 title claims abstract description 123
- 238000003860 storage Methods 0.000 title claims description 17
- 230000008859 change Effects 0.000 claims abstract description 59
- 230000007613 environmental effect Effects 0.000 claims abstract description 46
- 238000005457 optimization Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 33
- 230000009466 transformation Effects 0.000 claims description 30
- 238000009499 grossing Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 4
- 230000004888 barrier function Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 59
- 230000008569 process Effects 0.000 description 38
- 230000000694 effects Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 22
- 238000005070 sampling Methods 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 10
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000010408 sweeping Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 238000012216 screening Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- ZZZCUOFIHGPKAK-UHFFFAOYSA-N D-erythro-ascorbic acid Natural products OCC1OC(=O)C(O)=C1O ZZZCUOFIHGPKAK-UHFFFAOYSA-N 0.000 description 4
- 229930003268 Vitamin C Natural products 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 235000019154 vitamin C Nutrition 0.000 description 4
- 239000011718 vitamin C Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 102220495430 Glutaredoxin-like protein C5orf63_S12A_mutation Human genes 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011065 in-situ storage Methods 0.000 description 2
- 102200084388 rs121918345 Human genes 0.000 description 2
- 241001417527 Pempheridae Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开一种动态全覆盖路径规划方法及装置,方法包括根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域,并对选取的待路径规划区域进行全覆盖路径规划。本发明的方案使得当前行驶所依据的清扫路径能够根据环境变化而动态调整,能够更好地适应环境的变化,提高了清扫任务执行的灵活性,且更符合人的清扫习惯,保证清扫效率。
Description
技术领域
本发明涉及自动驾驶技术领域,尤其涉及一种动态全覆盖路径规划方法、动态全覆盖路径规划装置、以及清洁设备和存储介质。
背景技术
近年来,随着无人驾驶技术在清洁领域的发展,我们越来越多的看到一些无人车在大型广场、超市以及地库等场景自由地执行着清扫任务,极大地减轻了清洁工人的负担。对于这种清洁方式来说,如何实现指定场景下的全覆盖任务是一个需要克服的至关重要的技术难题。特别是,现实场景下,环境状况经常是动态变化的,而传统的全覆盖路径规划方法多是采用一次性生成的清扫路径,在面对复杂的动态环境时,一次性生成的清扫路径往往容易导致漏扫,甚至有可能整个清扫路径都会失效使得无法执行清扫任务。
发明内容
本发明实施例提供一种动态全覆盖路径规划方案,以解决现有技术中往往采用一次性生成的清扫路径、无法适应环境变化因而导致清扫路径不可用或清扫效率低的问题。
第一方面,本发明实施例提供一种动态全覆盖路径规划方法,其包括
根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;
在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域,并对选取的待路径规划区域进行全覆盖路径规划。
第二方面,本发明实施例提供一种动态全覆盖路径规划装置,其包括存储器,用于存储可执行指令;以及
处理器,用于执行存储器中存储的可执行指令,所述可执行指令在由所述处理器执行时使得所述处理器执行如第一方面所述的动态全覆盖路径规划方法。
第三方面,本发明实施例提供了一种动态全覆盖路径规划装置,其包括:
状态更新模块,用于根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;
动态调度模块,用于实时检测触发条件,并在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域和调用路径规划模块进行全覆盖路径规划;
路径规划模块,用于对选取的待路径规划区域进行全覆盖路径规划。
第四方面,本发明实施例提供了一种清洁设备,其包括:
机身;和
上述的动态全覆盖路径规划装置,设置于所述机身上。
第五方面,本发明提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
第六方面,本发明提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述的动态全覆盖路径规划方法。
本发明实施例的有益效果在于:本发明实施例提供的方法能够根据环境变化信息动态维护覆盖状态地图,并根据更新后的覆盖状态地图来动态触发全覆盖路径规划,使得当前的路径规划能够根据环境变化而动态调整,以更好地适应环境的变化,提高清扫任务执行的灵活性,且更符合人的清扫习惯,保证清扫效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施方式的动态全覆盖路径规划方法的流程图;
图2为本发明另一实施方式的动态全覆盖路径规划方法的流程图;
图3为本发明一实施方式的全覆盖路径规划方法的流程图;
图4示意性地显示了优化前后的最外圈路径的效果展示图;
图5示意性地显示了在优化后的最外圈路径上模拟清洁设备外轮廓覆盖效果的展示图;
图6示意性地展示了优化前后的外轮廓和内轮廓的效果示意图;
图7为本发明实施例一实施方式的全覆盖路径规划的方法流程图;
图8示意性地显示了变换处理前后目标区域地图的效果示意图,其中,图8A所示为映射有轮廓边界的栅格地图,图8B所示为对图8A所示的栅格地图进行距离变换后得到的距离变换图;
图9示意性地显示了根据本发明实施例的方法形成的等高线路径的结果示意图,其中,图9A根据距离变换图的距离生成的等高线线簇,图9B展示了对图9A的等高线线簇进行处理后得到的可行驶等高线路径;
图10为本发明一种实施方式的将生成的等高线路径连通的方法流程;
图11为本发明一实施方式的对遍历到的当前路段执连通处理的方法流程;
图12示意性地展示了执行一轮遍历后得到的连通处理效果展示图;
图13示意性地展示了连通后得到的一种完整清洁路径的展示效果图;
图14为本发明实施例另一实施方式的全覆盖路径规划处理的方法流程图;
图15示意性地显示了将区域面积较小的等高线确定为不符合预设要求的待删除等高线的效果展示图,其中,图15是以栅格地图为例进行的展示;
图16示意性地显示了在删除了等高线的区域进行弓字型填充的效果示意图,其中,图16是以栅格地图为例进行的效果展示;
图17为本发明实施例另一实施方式的全覆盖路径规划处理的方法流程图;
图18示意性地展示了维诺骨架线与漏覆盖区域的关系图,其中,图18A展示了模拟覆盖运动后得到的漏覆盖区域与维诺骨架线的关系,图18B展示了生成的维诺骨架线在地图上与漏覆盖区域的对应关系;
图19示意性地显示了优化后的维诺骨架线在地图上的覆盖效果;
图20展示了实际执行清扫过程中产生的小碎漏扫区域的效果图;
图21示意性展示了连通后得到的另一种完整清扫路径的展示效果图;
图22为本发明一实施方式的动态全覆盖路径规划装置的原理框图;
图23为本发明另一实施方式的动态全覆盖路径规划装置的原理框图;
图24为本发明又一实施方式的动态全覆盖路径规划装置的原理框图;
图25为本发明又一实施方式的动态全覆盖路径规划装置的原理框图;
图26为本发明又一实施方式的动态全覆盖路径规划装置的原理框图;
图27为本发明又一实施方式的动态全覆盖路径规划装置的原理框图;
图28为本发明又一实施方式的动态全覆盖路径规划装置的原理框图;
图29为本发明一实施方式的清洁设备的原理框图;
图30为本发明的电子设备的一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例中的动态全覆盖路径规划方法可以应用在动态全覆盖路径规划装置中,以使得用户能够利用动态全覆盖路径规划装置来动态执行路径规划,提高清洁任务执行的灵活性和环境适应性,这些动态全覆盖路径规划装置例如包括但不限于智能手机、智能平板、个人PC、计算机、云端服务器等。特别地,本发明实施例中的动态全覆盖路径规划方法还可以应用在具有清洁功能的智能设备(或称为提供有自动清洁功能的移动平台)中,例如无人清洁车、扫地机器人或自动驾驶清洁车等上,本发明对此不作限定。
图1示意性地显示了根据本发明一实施方式的动态全覆盖路径规划方法,该方法可适用于诸如智能手机、个人电脑、云端服务器等动态全覆盖路径规划装置上,以使得这些装置能够根据接收到的环境变化信息进行动态清洁路径分析,规划出随环境变化信息动态更新的清洁路径;也适用于执行清洁任务的清洁设备上,以根据环境变化信息来动态执行路径规划和清洁任务,诸如无人环卫车、无人清洁车、无人扫地车、扫地机器人、无人洗地机等。如图1所示,本发明实施例的方法包括:
步骤S10:根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;
步骤S11:在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域,并对选取的待路径规划区域进行全覆盖路径规划。
本发明实施例通过维护一个动态更新的覆盖状态地图,来根据环境变化动态地执行全覆盖路径规划,以动态生成和重新规划当前的清洁路径,使得面对复杂的动态环境,也能够保持实时清洁路线的有效性,提高全覆盖路线规划算法的适用场景和范围,避免一次性生成的清洁路径失效带来的效率低、清洗故障、清洗不干净等问题,更符合人的清洁处理思路,更加智能,可行性更高。
其中,具体地,在步骤S10中,环境变化信息是指用于指示当前环境变化的实时信息,其可以从其他模块或其他装置获取或被动接收。示例性地,是指实时环境地图,可以从实时拍摄当前环境地图的摄像装置处获取。在其他实施例中例如还可以是指用于执行当前清洁任务的设备走过的实时行驶轨迹或在指定时间周期内走过的行驶轨迹等,如扫地机器人、无人扫地车等走过的实时行驶轨迹或在指定时间周期内走过的行驶轨迹,此时可以从导航模块获取该环境变化信息。在其他实施例中,根据需求,环境变化信息还可以是由用户通过全覆盖路径规划装置或清洁设备提供的用户界面进行输入,以获取环境变化信息。在本发明实施例中,覆盖状态地图是标记出了已覆盖区域、未覆盖区域和漏覆盖区域的当前清洁任务针对的目标清洁区域对应的地图,该地图可以是栅格地图,也可以是实时环境地图,还可以是对栅格地图进行距离变换后得到的距离变换地图,本发明实施例对此不进行限制,只要能够实现维护一个动态标记覆盖状态的覆盖状态地图,以使得能够根据覆盖状态地图上动态变化的覆盖状态标记进行动态路径规划即可。优选地,本发明实施例中的覆盖状态地图是指在目标清洁区域对应的栅格地图上进行覆盖状态标记得到的地图,覆盖状态标记具体包括将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域。
在步骤S11中,触发条件是用于触发待路径规划区域的确定和全覆盖路径规划的预置条件,其可以根据需求进行设定,也可以设置为系统默认条件,以使得根据预设情景或用户自定义需求来结合动态的覆盖状态地图执行动态的路径规划,其中,全覆盖路径规划是针对选取的待路径规划区域进行的。在进行了全覆盖路径规划之后,就可以将执行清洁任务所依据的清洁路径动态替换为新规划出的更符合实际环境信息状况的清洁路径,从而实现对执行任务所依据的清洁路径的动态更新,达到灵活执行清洁任务的效果。
由于在实际应用中,需要对当前行驶依据的清扫路径进行动态更新的情况有很多,最典型的比如在障碍物状态发生变化时,示例性地,在目标清洁区域突然出现了新的障碍物时,由于新障碍物的存在,原来一次性规划的离线清洁路径将会失效;或在目标清洁区域中的原有障碍物突然被移走时,如果按照原来一次性规划的离线清洁路径执行清洁任务,被移开的区域就不能被清洁到,因而会导致清洁不彻底、不干净等。因此,本发明实施例可以根据需求来灵活设置触发条件,即根据需求和实际情况来确定需要执行全覆盖路径规划的情况和区域,并根据预置的触发条件和选取的待路径规划区域相应执行全覆盖路径规划即可。
下文将以两种不同情况作为具体实施例,对图1所示的实施方式的具体实现进行详细阐述,当然,对本领域技术人员来说不难理解的是,下文所列举的两种具体实施例并不是现实中唯一需要更新变化的情况,本领域技术人员完全可以基于本发明构思对其他具体情况进行灵活适用。
以在目标清洁区域突然出现了新的障碍物时,由于新障碍物的存在,原来规划的离线清洁路径可能会失效这种情况为例,所述环境变化信息可以实现为包括实时环境地图,在步骤S10中,根据环境变化信息动态更新目标区域对应的覆盖状态地图具体可以实现为还包括:根据实时环境地图进行障碍物检测,确定是否存在新增的第一障碍物,并根据检测到的实时障碍物信息,在存在新增的第一障碍物时,将新增的第一障碍物添加到覆盖状态地图的对应位置。其中,根据实时环境地图进行障碍物检测可以参照现有技术实现,本发明实施例在此不进行赘述。另外,在覆盖状态地图为栅格地图的场景下,本发明实施例还会根据现有技术的实现方式,将实时环境地图转换为栅格地图,并根据转换后的栅格地图来进行新增的第一障碍物的标记和覆盖状态更新,从而生成更新的覆盖状态地图。相应地,根据获取的环境变化信息确定是否存在新增障碍物,可以是基于障碍物检测的结果与原始未更新的覆盖状态地图中的障碍物位置的比对结果来确定是否存在新增障碍物。
由于在实际应用中,对于新增障碍物的情况,通常是在新增障碍物位于未清洁区域时,才会对规划好的清洁路径和清洁任务的执行产生影响,因此,在优选实施例中,在存在新增的第一障碍物时,将新增的第一障碍物添加到覆盖状态地图的对应位置,还可以实现为包括进一步判断新增的第一障碍物在目标区域中的位置,当新增的第一障碍物位于未覆盖区域时,才将新增的第一障碍物添加到覆盖状态地图的未覆盖区域中的对应位置。
在其他实施例中,环境变化信息也可以不局限于是实时环境地图,而直接是新增的第一障碍物信息。在这种情况下,在步骤S10中,就不需要执行实时环境地图的障碍物检测处理,而是可以直接根据包括新增的第一障碍物的环境变化信息,将新增的第一障碍物添加到覆盖状态地图的对应位置,或在判断新增的第一障碍物位于未覆盖区域时,将新增的第一障碍物添加到覆盖状态地图的未覆盖区域中的对应位置。
在存在新增的第一障碍物的情形下,预置的触发条件可以根据用户的路径规划需求来灵活设置,示例性地,在本发明的其中一个实施例中,预置的触发条件可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域,相应地,选取的待路径规划区域可以为目标区域中包含所述第一障碍物的未清洁区域。在其他实施例中,以全局路径规划为例,由于在进行全局路径规划时,会对整个目标区域的未清洁区域进行整体路径规划,因此,在目标区域的未覆盖区域中新增了第一障碍物时,就会产生对目标区域进行路径规划的需求,因此,示例性地,此时预置的触发条件可以设置为包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域。此时,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域具体可以是目标区域的未清洁区域。而在局部路径规划的例子中,一般是只针对当前的清洁区域进行路径规划,因此,只有新增的第一障碍物落入当前清洁区域的未清洁区域,才会产生对当前清洁区域的动态路径规划需求,因此,示例性地,在这种情况下,预置的触发条件包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于当前清洁子区域中的未清洁区域,相应地,此时根据覆盖状态地图从未覆盖区域中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。当然,不难理解的是,在其他情景下,还可能存在其他的触发动态路径规划的需求和可能性,例如,在目标区域中存在被不可通行区域分割形成的多个不连通的可通行区域时,一般情况下,是针对各个可通行区域分别执行路径规划和清洁任务的(本发明实施例将形成的各可通行区域称之为目标区域中的清洁子区域),此时,对于局部路径规划而言,一般是仅仅关注当前正在执行清洁任务的清洁子区域的动态变化,会在新增的第一障碍物位于当前清洁子区域中的未清洁区域时,才产生重新路径规划的需求,此时,预置的触发条件也可以设置为包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于当前清洁子区域中的未清洁区域,相应地,此时根据覆盖状态地图从未覆盖区域中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。而对于利用云端服务器进行全覆盖路径规划的情景下,对于全局路径规划或局部路径规划而言,当目标区域中存在多个清洁子区域时,如果新增的第一障碍物是位于其他尚未清洁到的清洁子区域中时,也会产生重新路径规划的需求,以更新云端存储或下发给清洁设备的清洁路径,此时,预置的触发条件则可以设置为包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域,相应地,在这种情况下,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域则为所述第一障碍物所在的清洁子区域的未清洁区域。
以在目标清扫区域突然移走了障碍物时,由于原有障碍物的消失,原来一次性规划的离线清洁路径的清洁效率将会降低这种情况为例,步骤S10还进一步实现为包括根据实时环境地图中的实时障碍物信息更新覆盖状态地图,在判断实时环境地图中的实时障碍物信息存在移除的第二障碍物时,将移除的第二障碍物所占区域对应更新为未覆盖区域。其中,在步骤S10中,本发明实施例通过对获取的实时环境地图中的障碍物进行检测,来确定实时环境地图中的实时障碍物信息,并根据该实时障碍物信息与原始未更新的覆盖状态地图中的障碍物信息进行比较,如通过障碍物栅格状态或位置或坐标等,来确定当前获取的实时环境地图中是否存在有障碍物被移除了的情况,如果存在,则将移除的第二障碍物所在的区域标记为未覆盖区域,从而实现对覆盖状态地图的更新。
在其他实施例中,环境变化信息也可以不局限于是实时环境地图,而直接是移除的第二障碍物信息。在这种情况下,在步骤S10中,就不需要执行实时环境地图的障碍物检测处理,而是可以直接根据包括移除的第二障碍物的环境变化信息,将移除的第二障碍物所占区域对应更新为未覆盖区域。
在存在移除的第二障碍物的情形下,预置的触发条件同样可以根据用户的路径规划需求来灵活设置,示例性地,在本发明的其中一个实施例中,预置的触发条件可以设置为包括获取到的环境变化信息中存在移除的第二障碍物;相应地,选取的待路径规划区域可以为目标区域中包含所述第二障碍物的未清洁区域。在本发明的其他实施例中,以全局路径规划为例,由于在进行全局路径规划时,会对整个目标区域的未清洁区域进行整体路径规划,因此,在目标区域中移除了第二障碍物时,移除的第二障碍物区域由于会变成新的未覆盖区域,因而就会产生对目标区域进行路径规划的需求,因此,示例性地,此时预置的触发条件就可以设置为包括获取到的环境变化信息中存在移除的第二障碍物。此时,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域具体可以是目标区域的未清洁区域。而在局部路径规划的例子中,一般是只针对当前的清洁区域进行路径规划,这种情况下,由于会存在两种不同的情况:移除的第二障碍物是位于当前的清洁区域的已清洁区域的,或者移除的第二障碍物是位于当前的清洁区域的未清洁区域的。在这两种情况下,对于实时执行的清洁任务来说,只有移除的第二障碍物是位于当前的清洁区域的未清洁区域时,才会产生对当前清洁区域的动态路径规划需求,因此,示例性地,在这种情况下,预置的触发条件包括获取到的环境变化信息中存在移除的第二障碍物且第二障碍物位于当前清洁子区域的未清洁区域,相应地,此时根据覆盖状态地图从未覆盖区域中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。当然,不难理解的是,在其他情景下,还可能存在其他的触发动态路径规划的需求和可能性,例如,在利用云端服务器进行全覆盖路径规划的情景下,对于全局路径规划或局部路径规划而言,当移除的第二障碍物是位于当前的清洁区域的已清洁区域时,由于被移除的第二障碍物对应的位置又形成了新的待清洁的清洁子区域,此时也可能存在对该新形成的清洁子区域进行预先的路径规划的需求,此时,所述预置的触发条件包括获取到的环境变化信息中存在移除的第二障碍物,相应地,选取的待路径规划区域为所述第二障碍物所在的清洁子区域的未清洁区域。在另一些实施例中,如在利用云端服务器进行全覆盖路径规划的情景下,对于全局路径规划或局部路径规划而言,当目标区域中存在多个清洁子区域时,如果移除的第二障碍物是位于其他尚未清洁到的清洁子区域中时,也可能会产生预先的重新路径规划的需求,以更新云端存储或下发给清洁设备的清洁路径,此时,预置的触发条件则可以设置为包括获取到的环境变化信息中存在移除的第二障碍物,相应地,在这种情况下,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域则为第二障碍物所在的清洁子区域的未清洁区域。
在具体应用中,由于清洁任务的执行可能是存在预设规则的,例如是按指定的顺序执行的,即在执行完一个清洁子区域之后按预设的顺序去执行另一清洁子区域;例如还可以是按指定的周期或时间执行的,即在预设的时间到达或者在指定的周期到达时,去执行相应的清洁子区域的清洁任务。因此,根据实际的应用需求,本发明实施例预置的触发条件还可以设置为包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达,此时,选取的待路径规划区域可以为覆盖状态地图中符合预设清洁规则的未覆盖区域。其中,预设的清洁规则可以由系统默认设定,也可以由用户自定义设备,示例性地,预设的清洁规则例如可以是按指定的顺序对清洁子区域执行清洁任务,此时,选取的待路径规划区域可以是指定顺序中的下一个待清洁子区域对应的未覆盖区域。在其他实现例中,预设的清洁规则还可以是按清洁子区域的远近程度来执行清洁任务,此时,选取的待路径规划区域可以是离当前结束清洁任务的清洁子区域距离最近的下一个待清洁子区域对应的未覆盖区域。在又一个实施例中,预设的清洁规则还可以是按清洁子区域的面积大小按照面积由大到小的顺序来执行清洁任务,此时,相应地,选取的待路径规划区域可以是与当前结束清洁任务的清洁子区域的区域面积最接近的下一个待清洁子区域对应的未覆盖区域。
示例性地,考虑到移除障碍物的情况下而产生的新的清洁子区域可能是与当前行驶方向或行驶轨迹不一致的,无法立刻有效地移步到该区域进行清洁,因此,针对这种情况,本发明实施例可以优选是按照预设的清扫执行时间或预设的清扫时间周期(如设置为一个小时之后)来对这种情况下产生的清洁子区域进行路径规划和执行清洁任务。示例性地,以基于预设的清洁执行时间为例,在标记移除第二障碍区对应的未覆盖区域时,可以同时为该未覆盖区域设置需要执行路径规划和/或清洁任务的执行时间,如设置为2021年10月31日下午5点等。此时,在步骤S11中,将会根据设置的清洁执行时间来执行路径规划,之后会根据设置的清洁执行时间来执行该清洁子区域的清洁任务。
由此,本发明实施例就可以实现当原有障碍物被检测到已经移走了以后,在覆盖状态地图中更新这一块未清洁区域,然后在合适的时间去补扫这块区域,从而达到对环境变化的动态适应和保证清洁效率及覆盖率的效果。
作为另外一种实施例,图2还以环境变化信息包括实时行驶轨迹为例,展示了根据实时行驶路径来执行清洁路径的动态规划的实现方法。如图2所示,本发明实施例中,图1所示的步骤S10还实现为包括
步骤S101:根据实时行驶轨迹确定当前行驶所依据的清扫路径的覆盖状态,并根据确定的覆盖状态更新覆盖状态地图。
在本发明实施例中,是根据清扫设备,如无人扫地车,的实际行驶轨迹,来动态地更新覆盖状态地图的,以便实时地规划和更新清洁路径。其中,根据实时行驶轨迹确定当前行驶所依据的清扫路径的覆盖状态的具体实现方式可以为根据实时行驶轨迹走过的清扫路径,将已经走过的清扫路径确定为已覆盖状态,并相应在覆盖状态地图上,将走过的清扫路径标记为已覆盖区域。示例性地,可以是根据预置的清洁宽度和实际清洁轨迹确定新增已清洁区域,并将所述新增已清洁区域标记为已覆盖区域,例如将预置的清洁宽度和根据实际清洁轨迹计算得到的走过的路径长度进行乘法运算,以得到实际的清洁面积,根据实际的清洁面积来确定已覆盖区域。
在环境变化信息为实际清洁轨迹的实施例中,可以将预置的触发条件设置为包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达,相应地,选取的待路径规划区域可以为覆盖状态地图中符合预设清洁规则的未覆盖区域。以基于预设的周期来进行清洁路径的实时规划更新为例,示例性地,在设置进行清洁路径规划的执行周期时,可以将实时获取清洁轨迹相应设置为是每执行完清洗路径中的其中一条路径时获取一次清洁轨迹,以下文的套圈路径(即等高线路径)为例,可以在执行完一圈时,才获取一次实时清洁轨迹,并根据实时清洁轨迹,将当前执行完的某一圈路径在覆盖状态地图上相应标记为已覆盖区域,并触发一次路径规划,此时选取的待路径规划区域可以是当前清洁子区域的未清洁区域,即可以将触发条件设置为每执行完一圈路径的清洁时,进行一次当前行驶依据的清洁路径的更新。在其他实现例中,还可以根据需求将获取实时清洁轨迹的周期设置为是以一个清洁子区域执行完毕为实时获取清洁轨迹的周期,并将触发条件设置为当前清洁子区域执行完毕时,即在执行完某一细分的清洁子区域时,获取实时清洁轨迹进行覆盖状态的更新和执行一次清洁路径的动态规划。
作为一种示例性实现例,在上述实施例中,根据覆盖状态地图从未覆盖区域中选取待路径规划区域的具体实现方式,可以实现为是基于像素的。示例性地,可以用不同的像素值来区别不同的清洁子区域的未覆盖区域,如以像素值取225来标识当前清洁子区域的未覆盖区域、以像素值取200~225来标识由于移除第二障碍物而形成的清洁子区域的未覆盖区域,以像素值取160来标识某一其他未清洁子区域的未覆盖区域等。由此,就可以根据像素值来提取所需要的地图区域作为待路径规划区域,以对提取的待路径规划区域进行全覆盖路径规划处理。
以下将对前文述及的全覆盖路径规划的优选实施例进行详细说明。
以全覆盖路径规划是规划出套圈路径为例,图7示意性地显示了本发明一种实施方式的全覆盖路径规划方法,在该实现例中是以动态提取的待路径规划区域作为输入的目标区域,来生成清洁路径的。该方法实施例的执行主体与图1所示执行主体可以为相同,也可以为专门的全覆盖路径规划装置的处理器来执行,如图7所示,其实现为包括:
步骤S80:提取待路径规划区域的轮廓边界,并对获取的轮廓边界进行平滑处理;
步骤S81:将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图;
步骤S82:在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径,并对各等高线路径分别进行平滑处理;
步骤S83:根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。
其中,在步骤S80中待路径规划区域优选是基于栅格地图形成的其中,在栅格地图中标识出通行区域和不可通行区域,例如以白色栅格表示可通行区域,以黑色栅格表示不可通行区域,本发明实施例正是基于输入的具有通行区域和不可通行区域标识的栅格地图来进行全覆盖路径规划;或者,还可以用其他方式标识栅格地图中的可通行区域和不可通行区域,例如将栅格填充0表示可通行,将栅格填充1表示不可通行,本领域技术人员可根据实际需求灵活设置,本申请不做严格限定。具体地,在步骤S80中,首先会对待路径规划区域对应的栅格地图进行轮廓提取,其中,轮廓提取是利用不可通行区域的标识进行实现的,示例性地,可以是识别出不可通行区域的标识,如识别出黑色栅格,以基于不可通行区域的标识范围来形成轮廓边界,即在本发明实施例中的轮廓边界是指由不可通行区域的外围边缘形成的不可通行区域的轮廓边界。不难理解的是,由于在一个目标清洁区域中的不可通行区域的数量是不确定的,因而在本发明实施例中,基于不可通行区域提取的轮廓边界的数量也是不确定的,以不可通行区域包括两个为例,提取的轮廓边界相应可以是两个,以不可通行区域包括三个为例,提取的轮廓边界相应是三个。如图8A所示的示例,在该目标清洁区域中包括有三个不可通行区域(黑色栅格表示的区域),即区域A、区域B和区域C,因而形成的轮廓边界相应有与区域A对应的轮廓边界1、与区域B对应的轮廓边界2、和与区域C对应的轮廓边界3,其中,轮廓边界1位于整个目标清洁区域的最外层,其限定了整个目标清洁区域的最大范围,因而本发明实施例中称之为外轮廓边界;而轮廓边界2和3由于是在目标清洁区域内的不可通行区域,因而本发明实施例中称之为内轮廓边界。由于在形成初始的栅格地图的时候,一般都是由激光点云打到障碍物上生成的,因而在进行轮廓提取时,得到的轮廓边界难免会出现有噪点的现象,为了保证轮廓的平滑性,本发明实施例在提取出轮廓边界后,还需要对轮廓边界进行平滑处理,以使得之后构建的全覆盖路径较为流畅,且还能够减少后续生成的维诺骨架的不必要的分支。经过平滑处理能够使得到的轮廓边界的平滑性更好,这也能够进一步使得在后面的步骤中构建的等高线线簇和连通路径都较为流畅,从而构建出流畅的全覆盖清扫路径。示例性地,本发明实施例中进行平滑处理的方式可以是使用滤波的方式,也可以是采用现有技术中的路径平滑算法实现,示例性地,包括但不限于利用佛洛依德路径平滑算法、或多次曲线模拟的方式等。其中,需要说明的是,本发明实施例中将目标清洁区域中由于被不可通行区域分割而形成的各自独立连通的可通行区域称之为清洁子区域,在实际执行清洁任务或路径规划时,可以是对当前的某一清洁子区域进行单独的局部路径规划,也可以是对整个目标清洁区域进行全局路径规划,其适应的动态路径规划的触发条件和相应提取的待路径规划区域可以参照前文描述,根据需求进行适用,本发明实施例对此不进行限制。
在步骤S81中,本发明实施例首先会将步骤S80中提取的轮廓边界再映射回栅格地图中,之后再对映射有轮廓边界的栅格地图进行距离变换,由此以得到整张栅格地图的距离变换图,从而使得后续的路径规划分析是基于整张栅格地图的,即是着眼于整个完整的目标区域来进行清扫策略分析,这样,相较于进行区域划分后着眼局部的策略分析而言,能够有效保证规划出的清洁路径的平滑性和清洁路径的覆盖率。其中,对映射有轮廓边界的栅格地图进行距离变换以得到距离变换图的具体实现方式可以参照现有技术中的距离变换方法进行实现,例如通过brushfire算法来实现,在此不再赘述,从而获得距离变换图。图8示意性地显示了映射有轮廓边界的栅格地图的变换处理前后的效果展示图,如图8A所示为映射有轮廓边界的栅格地图,在该目标清洁区域中包括有三个不可通行区域(黑色栅格表示的区域),即区域A、区域B和区域C,因而形成的轮廓边界相应有与区域A对应的轮廓边界1、与区域B对应的轮廓边界2、和与区域C对应的轮廓边界3。图8B所示为对图8A所示的栅格地图进行距离变换后得到的距离变换图,如图8B所示,变换后得到的距离变换图清晰地呈示了映射有轮廓边界的栅格地图的骨架。
在步骤S82中,本发明实施例优选在得到的距离变换图中,生成等高线路径,以使得能够基于生成的等高线路径来形成清洁路径。在本发明实施例中,等高线路径是指包括有至少一条等高线的线簇集合,其中,等高线是指在距离变换图上由高程相等的相邻各点所连成的闭合曲线。本发明实施例中的高程相等是指到轮廓边界的距离相同,在本发明实施例的距离变换图中,优选以距离变换图中可通行区域中的各个点的灰度值来表征该点距离不可通行区域的轮廓边界的距离,由灰度值相同的点来组合连成一条等高线。优选地,在本发明实施例中等高线线簇中的各等高线距离轮廓边界具有设定的距离间隔,即本发明实施例是按照设定的距离间隔和灰度值来寻找等高线和形成等高线线簇的。作为一种优选的实现例,在步骤S82中,本发明是以轮廓边界为基准来生成等高线线簇,示例性地,可以为以轮廓边界为初始位置、以第一预设宽度为间隔距离平行于轮廓边界来生成等高线线簇。具体地,本发明实施例生成等高线线簇的方法可以是:以整个距离变换图所示的区域中的外轮廓边界或内轮廓边界为初始位置,分别平行于外轮廓边界或内轮廓边界来生成各条等高线,其中,相邻的两条等高线之间的间隔距离设置为是相等的,如可以为都等于第一预设宽度,由此,以选定的轮廓边界为起点,通过迭代的方式就可以逐步地向可通行区域中生成多条等高线,从而形成等高线线簇。示例性地,以外轮廓边界作为起点为例,将相邻的两条等高线之间的间隔距离设置为一个清洁设备的宽度d(例如清洁设备的清洁宽度),通过迭代的方式逐步地向可通行区域中生成多条等高线是指:以外轮廓边界为起点,向里内缩d的距离之后就可以得到第一条等高线;然后以第一条等高线作为边界,再向里内缩d的距离之后得到第二条等高线;以此类推,由此形成等高线线簇。由此,生成的这些等高线线簇中的等高线基本上是与内轮廓或者外轮廓平行的曲线,且相邻线簇之间的间距均为第一预设宽度的距离,由此就可以建立基本的全覆盖线簇(本发明实施例也称之为套圈路径),实现线簇在距离变换图所示整个区域中的全覆盖。优选地,第一预设宽度设置为一个车宽,由此以保证生成的等高线之间恰好是一个车宽的距离,使得在按等高线执行清洁的过程中,每次清洁线路之间均没有漏缝,保证清洁路径的覆盖率。图9示意性地显示了根据本发明实施例的方法形成的等高线线簇的结果示意图,如图9A所示为对图8所示的距离变换图进行步骤S82的处理后得到的等高线线簇。在优选实现例中,还可以继续根据这些等高线线簇生成路径点,并对这些路径点进行平滑处理,降低转弯处的路径曲率,生成无人车可以行驶的等高线路径,如图9B所示即为对图9A的等高线线簇进行路径点生成和平滑处理后得到的可行驶等高线路径(本发明实施例也称之为套圈路径)的效果图。如图9所示,根据距离变换图生成的套圈路径可以基本上完成百分之九十以上的区域覆盖率。经过步骤S82的处理,即可形成覆盖整个区域的等高线路径,然而各条等高线之间是相互独立的,即等高线路径之间是没有连通的,因而为了得到一条完整的清扫路径,在步骤S83中,会将步骤S82中生成的等高线路径连通。具体地,步骤S83将等高线路径连通的方式可以实现为:从最外层等高线路径(即最外圈等高线路径)的某个点作为起点位置,找到下一条路径中距离它的最近点作为出发点,然后从该最近的出发点出发,向前筛选二个车宽远的位置,在该筛选出的位置选取一个点作为终点位置,使用贝塞尔路径将起点位置和终点位置连接起来,其中,起点位置和终点位置的方向为该处的切线方向。对生成的所有等高线路径中的每条路径以此类推,从而得到一条完整的路径。其中,优选地,向前筛选是指以行驶路径的行驶方向作为前进方向,沿该前进方向行进,以筛选出所需要的点的位置。
具体地,图10示出了一种实施方式的将生成的等高线路径连通的方法,如图10所示,该方法包括:
步骤S131:对等高线路径中的所有等高线分别进行记录,将各条等高线记录为一条路段;
步骤S132:以最外层的轮廓边界作为遍历的起始路段,遍历所述等高线路径对应的所有路段,并对遍历到的当前路段执行连通处理。
在步骤S131中,示例性地,可以将等高线路径中的每条等高线作为一个路段并对其进行标识记录,从而形成L1、L2…Ln共n条路段,其中,n为等高线路径中的等高线的数量,L1是指最外层的轮廓边界即外轮廓边界对应的路段,由外轮廓边界向内依次进行标识记录,即与外轮廓边界相邻的次外层等高线对应的路段为L2,以此类推。需要说明的是,在具体实现中该步骤并非是必须的,对等高线路径进行路段标记只是为了方便进行步骤S132的遍历处理和方便对等高线路径进行记录、存储,在其他实现例中也可以不经由该步骤,而直接对等高线路径进行步骤S132的遍历处理,以实现将等高线路径连通,即将形成的所有路段连通。
在步骤S132中,可以以外轮廓边界作为当前路段,对等高线路径对应的所有路段进行依次遍历,以将所有等高线路径连通。示例性地,可以从外轮廓边界开始寻找距离当前路段L1最近的路段Lk,在路段Lk上寻找到距离当前路段L1末端位置最近的点(例如当前路段L1的末端位置在路段Lk上的投影点),再以该点为出发点,向预设方向筛选第二预设宽度的距离,将距离出发点第二预设宽度远的位置作为路段Lk的起点位置,并将路段L1的末端位置与路段Lk的起点位置进行连接,从而实现将相邻两条路段连接起来,以此类推,从而得到一整条相互连通的清洁路径。其中,需要说明的是,当前路段的末端位置是指在当前路段上执行清洁时到达的终点位置,即当前路段的清洁终点位置,起点位置是指在该路段上执行清洁时的起步位置,即当前路段的清洁开始位置,通过将当前路段的终点位置与下一条路段的开始位置连通,即可根据该连通的线路顺畅地转到下一条路段上继续进行清洁处理,使得整个清洁流程非常流畅,保证清洁效率。优选地,为了满足更高的覆盖率,同一条路段即同一条等高线上的起点位置和末端位置可以设置为同一位置,路段L1即外轮廓边界上的起点位置和末端位置可以根据具体路况或经验等进行设置。具体地,图11示出了步骤S132的对遍历到的当前路段执行的连通处理的具体内容,如图11所示,其具体包括:
步骤S132A:在尚未遍历到的剩余路段中,选取距离当前路段最近的路段作为次当前路段;
步骤S132B:在当前路段上选取末端位置,将次当前路段上距离选取的末端位置最近的点确定为出发点;
步骤S132C:以出发点为基准在次当前路段的预设方向上筛选确定出起点位置;
步骤S132D:将在当前路段上选取的末端位置与在次当前路段上确定出的起点位置连接。
其中,在步骤S132A中,剩余路段是指尚未被连通到清洁路径的路段,即尚未遍历到的路段,其是相对当前路段而言的。由于在一次遍历过程中,是针对当前路段来寻找下一条待执行即待连通路段,因而,相对当前路段而言,剩余路段均尚未连通至当前路段。在本发明实施例中,次当前路段是相对当前路段而言的,是指下一条待执行路段,即当前路段如果执行完清洁处理,接着将要去到的下一条路段。在步骤S132A中选取距离当前路段最近的路段,实际上实现为是从尚未被连通的等高线路径中选取与当前等高线距离最近的等高线。
在步骤S132B中,在当前路段上选取末端位置示例性地可以实现为包括:对当前路段进行判断,若当前路段为路段L1即外轮廓边界,则根据预先设置或默认的规则来选取末端位置,否则,则将在上一轮遍历中即对当前路段的上一条路段的遍历中(在上一轮遍历中,本轮的当前路段为上轮遍历的次当前路段)确定的该路段的起点位置作为其末端位置。在确定了当前路段的末端位置后,从步骤S132A中确定的次当前路段上选取距离末端位置最近的点作为出发点。其中,确定距离的远近在具体实现中可以通过现有技术中的坐标测距法等方式进行判断,本发明实施例对此不进行限制。
在步骤S132C中,在次当前路段上筛选确定出起点位置是以步骤S132B确定出的出发点为判断基准的,示例性地,可以以出发点为基准,向预设方向筛选起点位置。作为一种优选实现例,为了方便转向操作,预设方向可以确定为无人车或机器人等自动驾驶清洁设备的行进方向,即以出发点为基准,在无人清洁设备的行进方向上,从次当前路段筛选出起点位置。示例性地,在次当前路段上筛选起点位置是将在预设方向上距离出发点第二预设宽度的点所处的位置作为起点位置。其中,第二预设宽度可以根据清洁设备的尺寸、体积、转向能力等进行确定,以较为大型的自动驾驶清洁设备为例,第二预设宽度可以设置为两个车宽的距离。其中,图12示意性地显示了执行一轮遍历得到的连通处理效果图,如图12所示,其以当前路段为路段L1为例,展示了路段L1上的末端位置、确定的次当前路段Lk、在Lk上确定的出发点以及起点位置,同时展示了当前路段L1和次当前路段Lk的连通关系,即当前路段与次当前路段是通过当前路段的末端位置和次当前路段的起点位置连通,形成的连通路径并非是直线转折处,而是具有平滑的过渡,方便清洁设备转向。
在其他优选实现例中,可以将清洁设备如无人扫地车当前所处的位置到上述形成的等高线路径之间也使用一条贝塞尔曲线连接起来,以形成更为完整的清洁路径,其具体实现为是将是以清洁设备当前的位置作为贝塞尔曲线的起点,以距离当前位置最近的等高线路径上的点向前筛选2个车宽远的位置的点作为贝塞尔曲线的终点,将二者连接。图13示意性地显示了由此生成的完整清洁路径展示图,如图13所示,在该拼接效果展示图中,各等高线路径之间以及等高线路径与清扫设备当前位置之间,均连通成了一条完整的路径。
由此形成的完整的清扫路径既能够覆盖全部地图区域,达到高的覆盖率,而且,由于等高线路径之间是通过确定的终点位置和起点位置进行连接的,终点位置和起点位置之间存在平滑的过度,如两个车宽的距离,因而不需要急转向就能实现两个路段之间的过渡,整个清扫路径具有平滑的连续性,大幅减少了清扫移动平台原地转向的次数,提高清扫效率和清扫过程的流畅性。
作为另一种优选实现例,如图14所示,在对各等高线路径分别进行平滑处理之前,本发明的方法在图7所示方法的基础上还可以进一步包括:
步骤S12A:根据生成的等高线线簇包围的区域面积的大小,删除不符合预设要求的等高线线簇;
步骤S12C:对删除的等高线线簇包围的区域进行“弓”字型填充,形成“弓”字型清洁路径。
在本发明实施例中,除了采用等高线的清洗策略之外,还结合了“弓”字型清洁策略对生成的清洗路径进行优化。具体地,在将等高线线簇连通之前,本发明实施例还会对各等高线包围的区域面积进行判断。由于等高线是闭合曲线,因此,在形成等高线线簇的清洁策略中,每条等高线都包围有相应的区域面积。在步骤S12A中,本发明实施例会对生成的所有等高线线簇进行区域面积的计算,统计出各等高线围成的区域面积,并对区域面积进行判断。其中,针对某一条等高线而言,其围成的区域面积是指该等高线包围的封闭区域内的整个区域的面积,可以理解的是,一条等高线的围成的区域面积实际上包含了位于该条等高线包围的封闭区域内的其他内圈等高线围成的区域面积。示例性地,对生成的等高线围成的区域面积的计算可以是通过将等高线包围的内部区域涂成特定颜色,然后就计算该特定颜色的点的数目,由于在图像中每个点都是一个像素,根据像素点大小各个点都具有一个相应的面积值,因此,通过将计算出的特定颜色的像素点的数目乘以像素点对应的面积值就可以得到该等高线围成的区域的面积。其中,对生成的所有等高线线簇进行区域面积的计算的方式还可以参照其他现有技术计算方式实现,在此不再赘述。本发明实施例优选设定有一个预设标准,对区域面积进行判断可以实现为将计算出的各等高线围成的区域面积与预设标准进行比较,从而确定出等高线的删除策略。示例性地,删除策略可以是将区域面积小于预置的面积阈值的等高线从等高线线簇中删除。由于清洁设备自身具有体积、尺寸、转向角度等特征,当等高线区域面积较小时,过小的等高线区域会由于路线曲率太大导致清洁设备跟踪效果不好,如就很难进行清洁或转向,在这种情况下,就可以根据执行清洁任务的清洁设备的特点通过设定一个清洁区域的最小面积值作为预设面积阈值,将各等高线区域面积与之比较,删除区域面积小于该预设面积阈值的等高线。在步骤S12C中,为了对删除了等高线的区域也进行清洁覆盖,就可以结合“弓”字型清洁策略,在这些删除了等高线的较小区域内进行“弓”字型填充,由此既可以避免漏扫,也能够完善等高线覆盖路径中存在的过小区域清洁困难的弊端,并且由于是在较小区域内进行弓字型填充,在这些区域内本身的清洁路径是比较短的,因而对清洁效率影响也比较小。其中,需要说明的是,对于某条区域面积小于预设面积阈值且其内包围有其他等高线的等高线而言,由于其围成的区域面积是大于位于其内圈的其他等高线围成的区域面积的,因而在删除了这些等高线之后,仅需对删除了这些等高线的空白区域,即位于最外圈的那条区域面积小于预设面积阈值的等高线围成的区域进行“弓”字型填充即可覆盖删除了等高线之后的全部较小区域,因而对本领域技术人员来说不难理解的是,对于删除了多条圈套等高线的情形,并不需要对每条圈套的等高线围成的区域分别进行一次“弓”字型,例如,图15以栅格地图为背景示意性地显示了将区域面积较小的等高线确定为不符合预设要求的待删除等高线的效果展示图,如图15可见,图中的等高线1、等高线2和等高线3由于围成的区域面积较小,即被确定为需要删除的等高线,会将其进行删除。图16则以栅格地图为背景示意性地显示了在删除了等高线的区域进行弓字型填充的效果示意图,如图16可见,在图中删除了等高线1、等高线2和等高线3的区域,是在等高线1围成的区域和等高线3围成的区域内分别进行了“弓”字型填充形成了两条弓字型路径4,而由于等高线2是位于等高线1的内圈中的等高线,其围成的区域包含于等高线1的区域之内,因而在等高线2围成的区域内就不需要重复进行“弓”字型填充。如图15和16可见,由于这些区域面积比较小,因而形成的弓字型路径较短,存在的转折处也比较少(甚至没有),因此并不会对清洁效率产生太大影响。可以理解的是,图15和图16也可以以距离变换图为背景进行相应效果的示意展示,为了方便直观清楚地看到效果和进行更清晰的显示示意,本发明实施例选用了栅格地图进行效果示意,但这不视为是对本发明实施例方法的限制。
在具体应用中,在同时采用了上述等高线路径规划和“弓”字型填充规划策略的场景中,可以根据具体的应用需求来确定对目标清洁区域的清洁策略。示例性地,可以将通过上述等高线路径规划得到的清洁路径和通过“弓”字型填充得到的清洁路径分别存储,并根据需求分别执行两种策略对应生成的清洁路径。当然,在其他实现例中,也可以将通过上述等高线路径规划得到的清洁路径和通过“弓”字型填充得到的清洁路径连通,即将通过“弓”字型填充得到的清洁路径也连接到通过上述等高线路径规划得到的清洁路径中,以将连通后的清洁路径作为目标清洁区域的完整清洁路径,并依据该完整的清洁路径执行清洁策略。本发明实施例对此不进行限制。其中,将通过“弓”字型填充得到的清洁路径连接到通过上述等高线路径规划得到的清洁路径中,具体可以实现为:确定通过弓字型填充得到的弓字型清洁路径与围成该填充区域的原始等高线的交点,将交点连接至等高线线簇形成的清洁路径的末端或连接至与当前交点距离最近的等高线上的末端位置。其中,围成该填充区域的原始等高线是指围成用于进行弓字型填充的区域的尚未被删除的等高线,即在删除之前对区域面积小于预设面积阈值的等高线围成的区域进行填充,并记录填充路线与该等高线的交点,并将交点与等高线线簇的清洁路径连通。优选地,选定的用于与等高线线簇的清洁路径连通的交点,可以是距离等高线线簇形成的清洁路径的末端最近的交点或距离与围成填充区域的等高线最近的等高线上的末端位置最近的交点。其中,在将两种清洁策略得到的清洁路径连通的实施例中,为了更清楚区分,本发明实施例将所述等高线线簇连通形成的完整的清洁路径称之为第一清洁路径,将通过“弓”字型填充得到的弓字型清洁路径称之为第二清洁路径。
图3示出了本发明另一实施方式的动态全覆盖路径规划方法,以全覆盖规划处理是套圈路径的规划处理方法为例,如图3所示,本发明实施例的方法在图7所示方法的基础上,还包括
步骤S84:对待路径规划区域对应的清洁路径中的最外圈路径进行第一优化处理,以及
步骤S85:对待路径规划区域对应的清洁路径中的次外圈路径进行第二优化处理。
其中,在本发明实施例中,通过全覆盖规划处理生成的清洁路径是套圈路径(即等高线路径),由于直接使用距离变换生成的套圈路径的缺点是没有考虑车的外轮廓,对于一些障碍物比较多的复杂地图,生成的最外圈路径的贴边效果并不好,容易产生漏扫,发生碰撞的概率也比较大,且如果根据这个最外圈路径去生成内圈路径的话,内圈路径也会产生一些不必要的来回摆头的现象,影响清扫效率,另外,基于不平滑的外圈路径使用距离变换向里生成路径时,也容易产生零碎的区域,因此本发明实施例在生成待路径规划区域对应的清洁路径之后,还会对生成的清洁路径进行最外圈路径和内圈路径的优化处理,以提高清扫路径的覆盖效率。
在步骤S84中,第一优化处理具体实现为是包括:以清洁路径中的优化前的最外圈路径作为参考线,对最外圈路径进行动态规划采样,将所有采样的结果拼接以形成优化好的最外圈路径。具体地,对最外圈路径进行动态规划采样可以是使用动态规划采样贝塞尔曲线,每隔一个小间距进行一次采样。其中,间隔的小间距可以根据需求设置,例如根据执行清洁任务的设备的尺寸和体积进行设置,将采样间隔设置成与设备尺寸呈正相关,即在设备尺寸比较小时,采样间隔也相应设置为较小的值,由此可以使得采样出来的路径更具有灵活性,能更好地贴边;而在设备尺寸较大时,采样间隔也相应设置为更大的值,由此可以使得采样出来的路径更加平滑,更适合大型车的转向操作。示例性地可以将设备尺寸较小的设备的采样间隔设置为0.3-0.5m,而将尺寸较大的设备的采样间隔设置为0.5-0.8m。更优地,第一优化处理还包括:在采样的过程当中,对采样结果进行碰撞检测,如对采样的每条贝塞尔曲线都进行碰撞检测,并将存在碰撞的采样曲线过滤掉,以得到不存在碰撞的采样结果,将经过碰撞检测和过滤得到的采样结果作为拼接形成优化后的最外圈路径的依据。由于碰撞检测考虑了车的外轮廓,所以最后的结果具有更好的贴边效果,也不容易产生碰撞。图4示意性地显示了优化前后的最外圈路径的展示效果,如图4所示,绿色的曲线a是优化前的最外圈,蓝色的曲线b是优化后的结果,图5示意性地显示了模拟的清洁设备的外轮廓在优化好的最外圈路径上时的覆盖效果,从图5中可以看到,在有障碍物的边界上,蓝色的曲线b有提前避让障碍物的趋势,几乎不会发生碰撞;而在没有障碍物的边界上,基本上优化前后是一致贴合的。
在步骤S85中,第二优化处理是采用平滑优化实现,示例性地,是使用带有约束的二次规划方法实现,具体包括:首先,计算最外圈路径的曲率;接着,根据最外圈路径的曲率的正负来判断最外圈路径的凹凸性,其中,凹的轮廓附近一般为障碍物,凸的轮廓一般没有障碍物,因而本发明实施例将曲率为正的点确定为凸点,将曲率为负的点确定为凹点;最后,通过设置二次规划约束大小的方式对次内圈路径进行平滑优化处理,使次内圈路径在最外圈路径的凹点处的偏移优化尽量减少,而在最外圈路径的凸点处的偏移优化加大。具体地,采用设置二次规划约束大小的方式对次内圈路径进行平滑优化可以实现为包括:首先将最外圈路径向里内缩半个车宽至一个车宽左右的距离结果作为次内圈路径的参考线;接着设置二次规划的代价项,优选地,将二次规划的代价项设置为包括优化结果的曲率尽可能小、优化结果的路径尽可能短、和优化结果距离参考线的偏差尽可能小三个代价项;最后,通过将次外圈路径上的每个离散点的最大偏移值作为该离散点的约束条件,采用二次函数对次内圈路径进行优化。在为每个离散点设置偏移值约束时,示例性地,由于最外圈路径的曲率为负表示该处形状为凹,凹点的外边一般是由障碍物引起,因此凹处的点的最大偏移值约束可以设为半个车宽左右,保证不会碰到障碍物;而最外圈路径的曲率为正表示该处形状为凸,凸的外边一般无障碍物,将该处的点的最大偏移值约束设为一个较小的数量值(如0~0.2m),可以使得优化结果将该凸包填掉,同时简化和平滑内轮廓。现有技术中采用的常用的平滑处理方法(例如均值滤波、高斯滤波)只有减缓波浪的功能,而本发明实施例采用的第二优化处理,不仅仅实现了对次内圈路径的偏移优化,而且是以最外圈路径的轮廓凹凸性作为约束条件的,因而兼顾了最外圈路径的轮廓的简化,同时能够进一步减少向内生成路径时产生的零碎区域。图6示意性地显示了第一优化处理后的外轮廓c(即最外圈路径)及第二优化处理后的内轮廓d(即次外圈路径)的效果示意图,如图6所示,通过第二次优化处理,外轮廓c和内轮廓d之间的间距小于一个车宽,因此在执行清扫任务时通过这两圈路径的执行,能够很好地重叠覆盖,提高覆盖效率,避免产生漏覆盖的碎片区域。由于实际应用中,清洁任务是按圈依次执行的,作为一种优选实现例,本发明实施例还可以是基于清洁任务的执行周期来进行动态路径规划的,即本发明实施例可以将触发条件设置为执行完清洁路径中的次外圈路径的清洁时,此时,步骤S10中获取的环境变化信息相应地可以为在执行完清扫路径中的次外圈路径时获取的相应的实时清洁轨迹,由此,本发明实施例获取的实时清洁轨迹实际上包括了最外圈路径和次外圈路径的行驶轨迹,即此时获取的行驶轨迹是在最外圈和次外圈路径上先后覆盖了一次。作为一种优选实施例,本发明实施例在进行路径规划时,会对最外圈和次外圈路径进行优化处理,由于经过优化,最外圈路径和次外圈路径之间的间距是小于一个车宽的,因此能很好地重叠上。因此,在这两圈覆盖完之后,由于动态地更新了覆盖状态地图,则后续从覆盖状态地图中提取待路径规划区域进行下一条覆盖路线的生成时,就能够将上一圈优化的结果体现到下一圈规划的路径上去,实现真正的基于环境变化的动态路径规划和更新,提高清洁效率和覆盖率。
需要说明的是,在具体应用中,本发明实施例也不局限于要同时对最外圈路径和次外圈路径同时进行上述优化处理,还可以根据需求仅仅执行上述第一优化处理或仅仅执行上述第二优化处理,本发明实施例对此不进行限制。
作为一种更优的实现例,图17还示出了本发明另一实施方式的全覆盖路径规划处理方法,如图17所示,其在图7所示方法的基础上还包括:
步骤S86:对待路径规划区域对应的清洁路径进行模拟覆盖运动以确定出漏扫区域,并根据确定的漏扫区域生成所述栅格地图的维诺线覆盖路径,将生成的维诺线覆盖路径增加至所述待路径规划区域的清洁路径中。
发明人在研发过程中发现,虽然套圈的路径可以实现百分之九十以上的路径覆盖率,但是根据实际应用的经验总结,发现这种路径规划方式依然存在一些区域是难以避免会产生漏扫的。发明人对产生漏扫的主要原因进行了总结归纳,发现主要原因有以下几点:
(1)由于套圈路径在狭窄空间处会生成曲率较大的行驶路径,经过路径平滑后虽然是不需要原地转向,更加方便无人车的行驶,但是在转弯处容易产生漏扫;
(2)套圈路径的最内圈往往是小区域,生成的小圈路径不方便无人车行驶;
(3)对于较复杂的地图,距离变换生成的等高线之间的距离并不是严格为一个车宽的距离。
基于这个发现,发明人为了解决这一缺陷,想到了通过使用矩形框来近似清扫车辆的覆盖区域来寻找解决方案,具体是让该矩形框沿着覆盖路径运动,以模拟清扫车辆在目标区域对应的地图上的覆盖运动,发明人通过将该矩形框覆盖区域涂黑来寻找到未被涂黑的白色的区域,覆盖运动执行完毕之后显露出来的白色区域即为漏覆盖的区域(即漏扫区域),如图18A所示。经过分析,发明人意外地发现,漏扫区域基本上分布在地图的维诺骨架上(即距离变换图所示的骨架线上),因此发明人想到只需要生成该地图的维诺骨架线作为补充的清扫路径(即维诺线覆盖路径),即可将漏扫区域覆盖,生成的维诺骨架线如图18B所示。其中,需要说明的是,维诺骨架线是指维诺(Voronoi)图上的线,即泰森多边形的边。它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。维诺骨架线的特点是其将该处的区域垂直平分,并且还具有每个V多边形内有一个生成元、每个V多边形内点到该生成元距离短于到其它生成元距离、多边形边界上的点到生成此边界的生成元距离相等、以及邻接图形的Voronoi多边形界线以原邻接界线作为子集等特点。在具体实现中,可以通过分治法、扫描线算法和Delaunay三角剖分算法等现有方式生成上述维诺骨架线,特别地,本发明实施例采用现有开源算法来生成目标区域的栅格地图的维诺骨架线。基于此,通过形成包括维诺骨架线的清扫路径,就可以达到百分之百的漏扫区域覆盖,提高套圈路径的覆盖率和清扫效率。作为一种更优的实现例,在具体实现中,也可以进一步对生成的维诺骨架线进行优化,剔除不必要的维诺骨架线,以形成最终的维诺线覆盖路径。具体地,对维诺骨架线进行优化可以实现为:将维诺骨架线映射到通过模拟覆盖运动而呈现有漏覆盖区域的地图上,判断该维诺骨架线是否能够对应匹配地图中呈现的漏覆盖区域,若存在未对应漏覆盖区域的维诺骨架线,则将未匹配到漏覆盖区域的维诺骨架线剔除。示例性地,可以根据生成的清扫路径离线构建漏覆盖区域地图,然后获取生成的维诺骨架线上的点坐标,将其转换和覆盖到漏覆盖区域地图的像素坐标系下,并通过判断维诺骨架线的线段上的点有几个落在了地图的漏覆盖区域上来判断该线段与漏覆盖区域的对应匹配程度,将与漏覆盖区域的匹配度超过一定阈值的线段确定为对应匹配上了漏覆盖区域,将匹配度不满足一定阈值的线段确定为需要剔除的线段。图19示意性地显示了优化后的维诺骨架线,如图19所示,优化后的维诺骨架线可以较好地将漏覆盖区域覆盖。其中,生成地图的维诺骨架线可以是基于距离变换图来提取地图的骨架的轮廓得到,可以参照现有技术进行实现,本发明实施例对此不进行赘述。
在实际应用中,发明人还进一步发现:对于一些面积较大的未覆盖区域,按上述全覆盖路径规划的处理方式可以生成套圈路径,加上维诺线覆盖路径的补扫,可以实现百分之九十以上的覆盖率,然而由于环境动态地变化,实际的清扫路径由于存在定位和控制误差,因而也不是精确按照规划的清扫路径执行的,因此,不可避免会产生一些小块碎片化的未覆盖区域,如图20就展示了实际执行清扫过程中产生的小碎漏扫区域E的效果图。为了进一步解决该问题,作为另一种优选实现例,本发明实施例在上述方法的基础上,还进一步包括:判断所述待路径规划区域中的清洁子区域的面积是否均小于或等于预置的面积阈值;若是,则生成各清洁子区域的最小面积外接矩形,将基于各外接矩形生成的直线路段确定为各清洁子区域的清洁路径,并将各清洁子区域的清洁路径根据预设的连通策略连通,形成所述待路径规划区域对应的清洁路径。其中,预设的连通策略可以是就近连通的策略。具体地,其可以实现为确定待路径规划区域中是否存在面积小于或等于阈值面积阈值的清洁子区域(即碎片区域),若存在,则根据每块清洁子区域的面积,生成其最小面积外接矩形,然后根据该矩形的长和宽判断是否可以用一条直线段覆盖,如果可以,就生成该清洁子区域对应的覆盖线段作为线段覆盖路径,然后将生成的各清洁子区域的线段覆盖路径以就近的顺序使用贝塞尔曲线拼接至上述生成的套圈路径中,由此形成覆盖率更高的完整清洁路径。其中,生成的包含线段覆盖路径的更完整的清洁路径的拼接效果如图21所示,其示意性地显示了确定的碎片区域E,用于覆盖的外界矩形F和确定的线段覆盖路径G。其中,在具体实现中,可以通过对生成的套圈路径执行模拟覆盖运动来确定可能产生的未覆盖的碎片区域,也可以直接根据经验在目标清洁区域地图上标记可能产生的未覆盖的碎片区域等,具体实现方式本发明实施例不进行限制。
图22示意性地显示了本发明一实施方式的动态全覆盖路径规划装置,如图22所示,该装置包括:
存储器60,用于存储可执行指令;以及
处理器61,用于执行存储器中存储的可执行指令。
其中,作为一种优选实现例,存储器60中存储的可执行指令在由所述处理器执行时使得所述处理器执行本发明任一实施例所述的动态全覆盖路径规划方法。
图23示意性地显示了本发明一实施方式的动态全覆盖路径规划装置,如图23所示,该装置包括:
状态更新模块100,用于根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;
动态调度模块200,用于实时检测触发条件,并在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域和调用路径规划模块进行全覆盖路径规划;
路径规划模块300,用于对选取的待路径规划区域进行全覆盖路径规划。
其中,在本发明的优选实施例中,获取的环境变化信息包括新增的第一障碍物,所述状态更新模块可以具体用于在第一障碍物位于未覆盖区域时,则将所述第一障碍物添加到所述未覆盖区域中的对应位置。
在该实施例中,示例性地,预置的触发条件可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域;动态调度模块中选取的待路径规划区域为所述第一障碍物所在的清洁子区域的未清洁区域或为目标区域的未清洁区域。
在该实施例中,示例性地,预置的触发条件还可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于当前清洁子区域中的未清洁区域;动态调度模块中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。
在该实施例中,示例性地,预置的触发条件还可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域,相应地,选取的待路径规划区域可以为目标区域中包含所述第一障碍物的未清洁区域。
在本发明的另一优选实施例中,获取的环境变化信息包括移除的第二障碍物,所述状态更新模块可以具体用于将所述第二障碍物所占区域对应更新为未覆盖区域。
在该实施例中,示例性地,预置的触发条件可以是包括获取到的环境变化信息中存在移除的第二障碍物;所述选取的待路径规划区域为所述第二障碍物所在的清洁子区域的未清洁区域,或为目标区域中的未清洁区域。
在该实施例中,示例性地,所述预置的触发条件还可以是包括获取到的环境变化信息中存在移除的第二障碍物且第二障碍物位于当前清洁子区域的未清洁区域;所述选取的待路径规划区域为当前清洁子区域中的未清洁区域,或为目标区域中的未清洁区域。
在该实施例中,示例性地,预置的触发条件还可以设置为包括获取到的环境变化信息中存在移除的第二障碍物;相应地,选取的待路径规划区域可以为目标区域中包含所述第二障碍物的未清洁区域
在本发明的另一优选实施例中,获取的环境变化信息可以是包括实际清洁轨迹,所述状态更新模块还可以具体用于根据预置的清洁宽度和实际清洁轨迹确定新增已清洁区域,并将所述新增已清洁区域标记为已覆盖区域。
在本发明的一实施例中,预置的触发条件还包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达;所述选取的待路径规划区域为覆盖状态地图中符合预设清洁规则的未覆盖区域。
图24示意性地显示了本发明一实施方式的动态全覆盖路径规划装置,如图24所示,该装置中,路径规划模块300具体包括:
边界提取单元301,用于提取待路径规划区域的轮廓边界,并对所述轮廓边界进行平滑处理;
距离变换单元302,用于将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图;
等高线生成单元303,用于在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径;
平滑处理单元304,用于对各等高线路径分别进行平滑处理;
清洁路径生成单元305,用于根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。
其中,示例性地,清洁路径生成单元305可以实现为具体用于以最外层的轮廓边界作为遍历的起始路段,遍历所述等高线线簇对应的所有路段,并对遍历到的当前路段执行如下处理:
在尚未遍历到的剩余路段中,选取距离当前路段最近的路段作为次当前路段;
在当前路段上选取末端位置,将次当前路段上距离选取的末端位置最近的点确定为出发点;
以出发点为基准在次当前路段的预设方向上筛选确定出起点位置;
将在当前路段上选取的末端位置与在次当前路段上确定出的起点位置连接。
图25示意性地显示了本发明另一种实施方式的动态全覆盖路径规划装置,如图25所示,本发明实施例的装置中,路径规划模块300在图24所示装置的基础上实现为还包括:
等高线滤除单元306,用于根据生成的等高线路径包围的区域面积的大小,删除不符合预设要求的等高线路径;
第二清洁路径生成单元307,用于对删除的等高线路径包围的区域进行“弓”字型填充,形成“弓”字型清洁路径。
在该实施例中,在执行清洁路径生成单元的将所述等高线路径连通或在平滑处理单元进行平滑处理之前,即在等高线生成单元生成了等高线路径之后或在平滑处理单元进行等高线路径的平滑处理之前,会首先调用等高线滤除单元对等高线路径中不符合预设条件的等高线进行删除操作,并在删除操作之后,调用第二清洁路径生成单元对相应的区域进行“弓”字型填充,以形成“弓”字型清洁路径。
在具体应用中,本领域技术人员可以根据需求按照预定的策略执行清洁路径生成单元和第二清洁路径生成单元生成的清洁路径,例如可以按照预设的时间分别执行清洁路径生成单元和第二清洁路径生成单元生成的清洁路径,也可以通过设置用于将清洁路径生成单元和第二清洁路径生成单元生成的清洁路径进行整合连通的整合单元,其具体实现过程可以参见前文描述在此不再赘述。
图26示意性地显示了本发明另一种实施方式的动态全覆盖路径规划装置,如图26所示,本发明实施例的装置中,路径规划模块300在图24所示装置的基础上实现为还包括:
第一优化处理单元308,用于对所述待路径规划区域对应的清洁路径中的最外圈路径进行第一优化处理;和/或
第二优化处理单元309,用于对所述待路径规划区域对应的清洁路径中的次外圈路径进行第二优化处理。
图27示意性地显示了本发明另一种实施方式的动态全覆盖路径规划装置,如图27所示,本发明实施例的装置中,路径规划模块在图24所示装置的基础上实现为还包括:
路径修正单元310,用于对所述待路径规划区域对应的清洁路径进行模拟覆盖运动以确定出漏扫区域,并根据确定的漏扫区域生成所述栅格地图的维诺线覆盖路径,将生成的维诺线覆盖路径增加至所述待路径规划区域的清洁路径中。
图28示意性地显示了本发明另一种实施方式的动态全覆盖路径规划装置,如图28所示,本发明实施例的装置中,在图23所示装置的基础上实现为还包括:
第二路径规划模块400,用于判断所述待路径规划区域中的清洁子区域的面积是否均小于或等于预置的面积阈值;若是,则生成各清洁子区域的最小面积外接矩形,将基于各外接矩形生成的直线路段确定为各清洁子区域的清洁路径,并将各清洁子区域的清洁路径根据预设的连通策略连通,形成所述待路径规划区域对应的清洁路径。
需要说明的是,本发明实施例的动态全覆盖路径规划装置的各个模块和单元的具体实现过程和实现原理具体可参见上述方法实施例的相应描述,例如方法实施例部分对轮廓边界、距离变换和等高线线簇的生成及连通等的相应描述,以及对第一优化处理、第二优化处理、以及具体进行动态更新等处理的相应描述等,故在此均不再赘述。示例性地,本发明实施例的动态全覆盖路径规划装置可以是具有处理器的任何智能设备,包括但不限于计算机、智能手机、个人电脑、机器人、云端服务器等。
图29示意性地显示了本发明一种实施方式的清洁设备,如图29所示,该清洁设备包括:
机身70;
动态全覆盖路径规划装置71,设置于所述机身70上。
其中,动态全覆盖路径规划装置71可以选用上述的任意实施例的装置。其中,动态全覆盖路径规划装置的具体其实现过程和实现原理具体可参见上述实施例的相应描述,在此不再赘述。需要说明的是,本发明实施例中的清洁设备可以是具有自动清洁功能的无人清洁车、无人清扫机、扫地机器人等。
在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项实施例的动态全覆盖路径规划方法。
在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项实施例的动态全覆盖路径规划方法。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一实施例的动态全覆盖路径规划方法。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一项实施例的动态全覆盖路径规划方法。
图30是本申请另一实施例提供的执行动态全覆盖路径规划方法的电子设备的硬件结构示意图,如图30所示,该设备包括:
一个或多个处理器610以及存储器620,图30中以一个处理器610为例。
执行动态全覆盖路径规划方法的设备还可以包括:输入装置630和输出装置640。
处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图30中以通过总线连接为例。
存储器620作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的动态全覆盖路径规划方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的动态全覆盖路径规划方法。
存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据动态全覆盖路径规划方法的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可接收输入的数字或字符信息,以及产生与动态全覆盖路径规划装置的用户设置以及功能控制有关的信号。输出装置640可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器620中,当被所述一个或者多个处理器610执行时,执行上述任意方法实施例中的动态全覆盖路径规划方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.动态全覆盖路径规划方法,其特征在于,所述方法包括:
根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;
在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域,并对选取的待路径规划区域进行全覆盖路径规划。
2.根据权利要求1所述的方法,其特征在于,环境变化信息包括新增的第一障碍物,所述根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图包括:
若第一障碍物位于未覆盖区域,则将所述第一障碍物添加到所述未覆盖区域中的对应位置;
所述预置的触发条件包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域;选取的待路径规划区域为目标区域中包含所述第一障碍物的未清洁区域。
3.根据权利要求1所述的方法,其特征在于,环境变化信息包括移除的第二障碍物,所述根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图包括:
将所述第二障碍物所占区域对应更新为未覆盖区域;
所述预置的触发条件包括获取到的环境变化信息中存在移除的第二障碍物;所述选取的待路径规划区域为目标区域中包含所述第二障碍物的未清洁区域。
4.根据权利要求1所述的方法,其特征在于,环境变化信息包括实际清洁轨迹,所述根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图包括:
根据预置的清洁宽度和实际清洁轨迹确定新增已清洁区域,并将所述新增已清洁区域标记为已覆盖区域。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述预置的触发条件还包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达;所述选取的待路径规划区域为覆盖状态地图中符合预设清洁规则的未覆盖区域。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述对选取的待路径规划区域进行全覆盖路径规划具体包括:
提取待路径规划区域的轮廓边界,并对所述轮廓边界进行平滑处理;
将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图;
在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径;
对各等高线路径分别进行平滑处理;
根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。
7.根据权利要求6所述的方法,其特征在于,在对各等高线路径分别进行平滑处理之前,所述方法还包括:
根据生成的等高线路径包围的区域面积的大小,删除不符合预设要求的等高线路径;
对删除的等高线路径包围的区域进行“弓”字型填充,形成“弓”字型清洁路径。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对所述待路径规划区域对应的清洁路径中的最外圈路径进行第一优化处理;和/或
对所述待路径规划区域对应的清洁路径中的次外圈路径进行第二优化处理。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对所述待路径规划区域对应的清洁路径进行模拟覆盖运动以确定出漏扫区域,并根据确定的漏扫区域生成所述栅格地图的维诺线覆盖路径,将生成的维诺线覆盖路径增加至所述待路径规划区域的清洁路径中。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述对选取的待路径规划区域进行全覆盖路径规划具体包括:
判断所述待路径规划区域中的清洁子区域的面积是否均小于或等于预置的面积阈值;
若是,则生成各清洁子区域的最小面积外接矩形,将基于各外接矩形生成的直线路段确定为各清洁子区域的清洁路径,并将各清洁子区域的清洁路径根据预设的连通策略连通,形成所述待路径规划区域对应的清洁路径;
若否,则对所述待路径规划区域执行以下处理:
提取待路径规划区域的轮廓边界,并对所述轮廓边界进行平滑处理;
将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图;
在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径;
对各等高线路径分别进行平滑处理;
根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。
11.动态全覆盖路径规划装置,其特征在于,包括
存储器,用于存储可执行指令;以及
处理器,用于执行存储器中存储的可执行指令,所述可执行指令在由所述处理器执行时使得所述处理器执行如权利要求1~10任意一项所述的动态全覆盖路径规划方法。
12.动态全覆盖路径规划装置,其特征在于,所述装置包括:
状态更新模块,用于根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;
动态调度模块,用于实时检测触发条件,并在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域和调用路径规划模块进行全覆盖路径规划;
路径规划模块,用于对选取的待路径规划区域进行全覆盖路径规划。
13.清洁设备,其特征在于,包括:
机身;和
权利要求11或12所述的动态全覆盖路径规划装置,设置于所述机身上。
14.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~10中任意一项所述方法的步骤。
15.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1~10任一项所述的动态全覆盖路径规划方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188044.6A CN116700235A (zh) | 2022-02-28 | 2022-02-28 | 动态全覆盖路径规划方法及装置、清洁设备、存储介质 |
PCT/CN2023/078401 WO2023160698A1 (zh) | 2022-02-28 | 2023-02-27 | 动态全覆盖路径规划方法及装置、清洁设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210188044.6A CN116700235A (zh) | 2022-02-28 | 2022-02-28 | 动态全覆盖路径规划方法及装置、清洁设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116700235A true CN116700235A (zh) | 2023-09-05 |
Family
ID=87764880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210188044.6A Pending CN116700235A (zh) | 2022-02-28 | 2022-02-28 | 动态全覆盖路径规划方法及装置、清洁设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116700235A (zh) |
WO (1) | WO2023160698A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117268401A (zh) * | 2023-11-16 | 2023-12-22 | 广东碧然美景观艺术有限公司 | 一种动态围栏的园艺路径生成方法 |
CN118031975A (zh) * | 2024-04-15 | 2024-05-14 | 山东省科霖检测有限公司 | 一种大规模环境湿度监测方法与系统 |
CN118519456A (zh) * | 2024-07-19 | 2024-08-20 | 苏州市伏泰信息科技股份有限公司 | 一种无人驾驶清扫控制方法及装置 |
CN118584962A (zh) * | 2024-07-26 | 2024-09-03 | 浙江有鹿机器人科技有限公司 | 一种全覆盖路径生成方法及装置、无人清扫车及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117928520B (zh) * | 2024-03-21 | 2024-08-23 | 武汉博雅宏科技有限公司 | 一种覆膜路径规划方法、装置、机器人及存储介质 |
CN118437684B (zh) * | 2024-07-08 | 2024-09-13 | 山西晋缘电力化学清洗中心有限公司 | 一种变电站带电水冲洗机械清洗设备及其控制系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320140B (zh) * | 2015-12-01 | 2018-09-18 | 浙江宇视科技有限公司 | 一种扫地机器人及其清扫路径规划方法 |
CN107328419A (zh) * | 2017-06-21 | 2017-11-07 | 上海斐讯数据通信技术有限公司 | 一种清扫机器人的清扫路径的规划方法及清扫机器人 |
CN108594828B (zh) * | 2018-06-05 | 2021-05-07 | 北京智行者科技有限公司 | 一种清扫作业路径的生成方法 |
CN109460064B (zh) * | 2019-01-03 | 2019-11-15 | 中国人民解放军战略支援部队航天工程大学 | 基于虚拟势场函数的无人机集群区域覆盖方法及其装置 |
CN110728447B (zh) * | 2019-10-10 | 2021-03-09 | 合肥工业大学 | 一种最早完成区域目标覆盖的分区卫星任务规划方法 |
CN115373426B (zh) * | 2022-10-26 | 2023-02-17 | 四川腾盾科技有限公司 | 一种固定翼集群无人机区域覆盖在线路径协同规划方法 |
-
2022
- 2022-02-28 CN CN202210188044.6A patent/CN116700235A/zh active Pending
-
2023
- 2023-02-27 WO PCT/CN2023/078401 patent/WO2023160698A1/zh unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117268401A (zh) * | 2023-11-16 | 2023-12-22 | 广东碧然美景观艺术有限公司 | 一种动态围栏的园艺路径生成方法 |
CN117268401B (zh) * | 2023-11-16 | 2024-02-20 | 广东碧然美景观艺术有限公司 | 一种动态围栏的园艺路径生成方法 |
CN118031975A (zh) * | 2024-04-15 | 2024-05-14 | 山东省科霖检测有限公司 | 一种大规模环境湿度监测方法与系统 |
CN118031975B (zh) * | 2024-04-15 | 2024-06-11 | 山东省科霖检测有限公司 | 一种大规模环境湿度监测方法与系统 |
CN118519456A (zh) * | 2024-07-19 | 2024-08-20 | 苏州市伏泰信息科技股份有限公司 | 一种无人驾驶清扫控制方法及装置 |
CN118584962A (zh) * | 2024-07-26 | 2024-09-03 | 浙江有鹿机器人科技有限公司 | 一种全覆盖路径生成方法及装置、无人清扫车及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023160698A1 (zh) | 2023-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116700235A (zh) | 动态全覆盖路径规划方法及装置、清洁设备、存储介质 | |
Bastani et al. | Roadtracer: Automatic extraction of road networks from aerial images | |
CN110148144B (zh) | 点云数据的分割方法和装置、存储介质、电子装置 | |
WO2020134082A1 (zh) | 一种路径规划方法、装置和移动设备 | |
CN111951397A (zh) | 一种多机协同构建三维点云地图的方法、装置和存储介质 | |
KR20210006511A (ko) | 차선 결정 방법, 디바이스 및 저장 매체 | |
CN108733060A (zh) | 一种作业地图信息的处理方法 | |
CN111797187A (zh) | 地图数据的更新方法、装置、电子设备和存储介质 | |
CN112232330B (zh) | 车道连接线生成方法、装置、电子设备和存储介质 | |
JP2017533482A (ja) | 車線データの処理方法、装置、記憶媒体及び機器 | |
JP2021051736A (ja) | 車両走行経路計画方法、装置、システム、媒体及びデバイス | |
KR20200109275A (ko) | 차량 궤적 계획 방법, 장치, 컴퓨터 장치, 컴퓨터 저장 매체 | |
CN110146098A (zh) | 一种机器人地图扩建方法、装置、控制设备和存储介质 | |
CN111728535A (zh) | 一种生成清扫路径的方法、装置、电子设备及存储介质 | |
CN111295666A (zh) | 一种车道线检测方法、装置、控制设备及存储介质 | |
CN110986945A (zh) | 基于语义高度地图的局部导航方法和系统 | |
CN112562029B (zh) | 图像重构方法、系统、电子设备及计算机可读存储介质 | |
CN111026136A (zh) | 基于监控设备的港口无人驾驶清扫车智能调度方法及装置 | |
CN112270272A (zh) | 高精度地图制作中道路路口提取方法及系统 | |
CN114037966A (zh) | 高精地图特征提取方法、装置、介质及电子设备 | |
WO2022047744A1 (zh) | 一种用于地图的路面提取方法及装置 | |
CN112987749A (zh) | 一种智能割草机器人混合路径规划方法 | |
CN114511632A (zh) | 车位地图的构建方法及装置 | |
CN113378605A (zh) | 多源信息融合方法及装置、电子设备和存储介质 | |
CN115638787A (zh) | 一种数字地图生成方法、计算机可读存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |