CN114690753A - 基于混合策略的路径规划方法、自主行进设备及机器人 - Google Patents
基于混合策略的路径规划方法、自主行进设备及机器人 Download PDFInfo
- Publication number
- CN114690753A CN114690753A CN202011566482.9A CN202011566482A CN114690753A CN 114690753 A CN114690753 A CN 114690753A CN 202011566482 A CN202011566482 A CN 202011566482A CN 114690753 A CN114690753 A CN 114690753A
- Authority
- CN
- China
- Prior art keywords
- point
- road section
- path
- planned
- planning
- 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
- 238000013439 planning Methods 0.000 title claims abstract description 168
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000011218 segmentation Effects 0.000 claims abstract description 45
- 238000005192 partition Methods 0.000 claims abstract description 26
- 238000001514 detection method Methods 0.000 claims description 18
- 230000004888 barrier function Effects 0.000 claims description 12
- 238000000354 decomposition reaction Methods 0.000 claims description 10
- 230000007613 environmental effect Effects 0.000 claims description 10
- 238000011144 upstream manufacturing Methods 0.000 claims description 6
- 230000001276 controlling effect Effects 0.000 claims 2
- 230000002596 correlated effect Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 4
- 238000004140 cleaning Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 238000010408 sweeping Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000007689 inspection Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 8
- 238000003860 storage Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000009333 weeding Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 208000002177 Cataract Diseases 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0217—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请实施例提供一种基于混合策略的路径规划方法、自主行进设备及机器人。其中,路径规划方法包括:获取待规划场地的地图信息;基于地图信息,进行区域分割得到多个分割区域;针对多个分割区域执行路径规划得到全局路径;全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;行进在第一规划路段遇障碍物时,按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;第一规划路段为区域内路径或跨区路径中的路段;按照全局路径的路段行进顺序,第二规划路段为位于第一规划路段下游的路段。本申请提供的方案,避障路线简单,工作效率高;而且计算量小,可集成于低功耗芯片中,成本低。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种基于混合策略的路径规划方法、自主行进设备及机器人。
背景技术
随着人工智能技术的发展,机器人的使用越来越普遍,如清洁机器人、巡检机器人、酒店、商超或银行等公共场景内的服务机器人等等。有些机器人需执行全覆盖任务,如巡检机器人、清洁机器人。
现有技术中常见的机器人的路径规划方法,算法复杂,且可移植性差;机器人换一个环境就需要经过复杂的计算重规划路径。
发明内容
本申请提供一种解决上述问题或至少部分地解决上述问题的基于混合策略的路径规划方法、自主行进设备、清洁机器人及机器人。
在本申请的一个实施例中,提供了一种基于混合策略的路径规划方法。该方法包括:
获取待规划场地的地图信息;
基于所述地图信息,进行区域分割得到多个分割区域;
针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;
行进在第一规划路段遇障碍物时,按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
在本申请的另一实施例中,提供了一种自主行进设备,包括:
探测装置,用于探测自主行进设备所处环境的环境信息;
行进装置,用于为自主行进设备提供行进动力;
处理器,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
在本申请的又一实施例中,提供了一种清洁机器人,包括:
机体,其上设有探测装置,所述探测装置用于探测所述机器人所处环境的环境信息;
行进装置,设置在所述机体上,用于为机器人提供行进动力;
处理器,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
在本申请的又一实施例中,提供了一种机器人,包括:
探测装置,用于探测所述清洁机器人所处环境的环境信息;
行进装置,用于为清洁机器人提供行进动力;
处理器,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
清洁装置,用于清洁待清洁面;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
本申请实施例提供的技术方案,不考虑场地内是否有障碍物,先根据地图信息进行区域分割,然后针对各分割区域进行路径规划得到含有单个分割区域的区域内路径以及跨分割区域的跨区路径的全局路径;然后在机器人依据规划好的全局路径行进时,若遇到障碍物再按照临时路段转行至下游的规划路段上,绕开障碍物的同时还能继续按全局路径行进;其中,临时路段的确定可不用考虑障碍物实际参数,而采用较为简单的方式实现,比如直接做垂线、弧线、折线等方式便可确定出临时路段,计算量小;这样自主行进设备(如服务机器人、无人驾驶车、清洁机器人等)可配置一个低功耗芯片,成本低;另外,本申请实施例提供的技术方案选择继续沿用原有规划路段,而不是重新进行规划,简化路径规划算法的同时,还能提高自主行进设备的行进效率。
本申请各实施例提供的方案适于多种类型的机器人,如清洁机器人、除草机器人、导购机器人、巡检机器人、公共服务机器人、商超盘点机器人、餐厅送餐机器人等,采用本申请各实施例提供的技术方案,有助于提高机器人,如清洁、巡检等工作的行进效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要利用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的行走路径规划方法的流程示意图;
图2为本申请一实施例提供的一场地地图信息的分割区域分割结果示意图;
图3为本申请一实施例提供的另一场地地图信息的分割区域分割结果示意图;
图4a为本申请一实施例提供的分割区域内路径规划过程示意图;
图4b为本申请另一实施例提供的分割区域内路径规划过程示意图;
图5示出了参考线间距离过大出现未覆盖区域的示意图;
图6a为本申请一实施例提供的已规划好区域内路径的示意图;
图6b为本申请一实施例提供的在规划路段上存在障碍物的示意图;
图6c为本申请一实施例提供的在规划路段上存在障碍物时确定临时路段的示意图;
图6d为本申请一实施例提供的沿临时路段行进至第二规划路段的示意图;
图7a为本申请一实施例提供的行进覆盖回补过程中的路径规划结果示意图;
图7b为本申请另一实施例提供覆盖回补过程中的路径规划结果示意图;
图8为本申请一实施例提供的含有两个凸多边形对应区域的地图示意图;
图9为本申请一实施例提供的一路径规划装置的结构示意图;
图10为本申请一实施例提供的一自主行进设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的路段、装置、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。此外,下述的各实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1示出了本申请一实施例提供的一种路径规划方法的流程示意图。该方法的执行主体可以为自主行进设备,该自主行进设备可以为具有各种功能的自主移动机器人,例如:清洁机器人、除草机器人、公共服务机器人、巡检机器人、商超盘点机器人、餐厅送餐机器人、酒店或银行内的服务机器人等;还可以为无人驾驶汽车、无人物流配送车等,本实施例对此不作具体限定。该方法至少包括以下步骤:
101、获取待规划场地的地图信息;
102、基于所述地图信息,进行区域分割得到多个分割区域;
103、针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;
104、行进在第一规划路段遇障碍物时,按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
在具体实施时,本实施例方法的执行主体可利用自身的传感器组件,如图像采集传感器、激光雷达、距离传感器等等,采集环境信息;利用自身的定位装置定位自身位置及姿态等;然后采用SLAM(同步定位与地图构建,Simultaneous localization and mapping)技术构建地图得到上述101中的地图信息。当然,上述101中的地图信息也可以是用户导入的,比如,用户通过存储介质(如U盘,移动硬盘等)或带有存储介质的设备(如手机、电脑、智能穿戴设备等))将地图信息导入机器人。又或者,所述地图信息是从网络获取到的,比如,用户通过无线网络(如蓝牙、wifi、4G、5G网络等)或有线网络使用手机与机器人建立通信连接,然后将手机上存储的地图信息发送至机器人。
上述地图信息可包括但不限于如下几种:拓扑地图、几何地图、栅格地图等等。其中,拓扑地图是一种保持点与线相对位置关系正确而不一定保持图形形状与面积、距离、方向正确的抽象地图,它经过简化及调整,只保留重要信息。几何地图(又称特征地图)是指对从机器人传感器上采集到的环境信息进行共性筛选、特征提取后,得到简单的几何信息特征(如点、线段、圆弧或曲线)以此来建立地图;这种表示法更为简单,便于障碍物的位姿信息估计和特征识别。栅格地图是一种对现实中真实地图数字栅格化的产物,它将环境分解成一系列离散的栅格,每一个栅格有一个值,这个值可称为代价值(该代价值的使用将在下文中会介绍),它包含了坐标、是否障碍两类基本信息,用每一个栅格被占据的概率值来表示环境信息,一般标识为是否是障碍物。
以所述地图信息为栅格地图为例,本实施例102“基于所述地图信息,进行区域分割得到多个分割区域”可具体包括如下步骤:
1021、获取所述栅格地图中位于最外围,且代价值为设定值的边界栅格;
1022、基于边界栅格,确定封闭边界;
1023、在所述封闭边界存在凹点时,对所述封闭边界进行多边形凸分解,得到多个凸多边形的分割区域。
假设栅格的代价值为1标识为被障碍物占据,代价值为0标识为未被障碍物占据,则可获取栅格地图中位于最外围,且代价值为0的边界栅格。将这些边缘栅格连起来形成封闭边界。
上述1023中,若所述封闭边界不存在凹点(即该封闭边界为凸多边形)时可不进行多边形凸分解。在所述封闭边界存在凹点时,可在执行本步骤“对所述封闭边界进行多边形凸分解”之前还可执行如下步骤:
获取所述封闭边界的多个顶点;在所述多个顶点中区分出凸点及凹点。
具体地,参见图2所示的封边边界具有10个顶点,这10个顶点分别为:P0、P1、P2、P3、P4、P5、P6、P7、P8及P9。从这10个顶点中区分凸点和凹点,可采用如下方法实现:
对于连续的三个点,比如P0、P1、P2;基于顶点P1的两个相邻向量:向量a=;向量b=;计算两个向量的叉积a×b=×;a×b>0,则顶点P1为凸点。
再按顺时针获取连续的三个点,P1、P2和P3;其中基于顶点P2的两个相邻向量:向量c=;向量d=;计算两个向量的叉积c×d=×;c×d<0,则顶点P2为凹点。
重复上述步骤,直至遍历所有顶点,找出这10个顶点中的所有凹点以及凸点,即P0、P1、P3、P4、P6及P8为凸点,P2、P5、P7及P9为凹点。
在找出封闭边界的所有凸点和凹点后,上述步骤1023中“对所述封闭边界进行多边形凸分解”可包括如下步骤:
S11、获取所述多个顶点中的第一凹点;
S12、自所述第一凹点沿一方向查找所述多个顶点中位于所述第一凹点下游、且与所述第一凹点不相邻的第二凹点;
S13、存在所述第二凹点时,连接所述第一凹点及所述第二凹点形成分割线;
S14、不存在所述第二凹点时,连接所述第一凹点及第一凸点形成分割线,其中,所述第一凹点与所述第一凸点为不相邻的点。
若封闭边界的顶点较多可重复上述各步骤S11~S13,直至不存在凹边形为止。
为方便理解上述各步骤,继续以图2所示的例子进行说明。从上面的结果可知:P0、P1、P3、P4、P6及P8为凸点,P2、P5、P7及P9为凹点。从所有凹点中选出一个凹点,如P2为第一凹点。然后,自第一凹点P2沿一方向(如顺时针方向或逆时针方向)查找位于第一凹点P2下游、且与所述第一凹点P2不相邻的第二凹点。这里需要补充的是:按照顺时针方向,这10个顶点的顺序为:P0、P1、P2、P3、P4、P5、P6、P7、P8及P9;与P2相邻的点为P1和P3。从图2可以看出,位于所述第一凹点P2下游、且与所述第一凹点P2不相邻的第二凹点有:P5、P7及P9。P5、P7及P9中的任一点都可作为第二凹点。连接两个凹点P2与P5、P2与P7、P2与P9,便可形成如图2中的三条分割线10。这样图2所示的封边边界就被分割成4个凸多边形的分割区域,分别是:P0P1P2P9、P9P2P7P8、P2P5P6P7及P2P3P4P5。
上述图2所示的例子是含有两个或两个以上凹点的情况,实际上还存在一种情况封闭边界仅含有一个凹点,如图3所示的多边形封闭边界。对于这种情况便可采用上述步骤S14的方法进行分割。采用上述方法可从5个顶点:P10、P11、P12、P13及P14中,区分出一个凹点P11,4个凸点P10、P12、P13、P14。此时在执行上述步骤S12时是查找不到第二凹点的,因此在具体实施时,可连接凹点P11和任一与凹点P11不相邻的凸点形成分割线,来对封边边界进行分割。例如,可连接凹点P11和P13,也可连接凹点P11和P14;以将该封闭边界分割出两个凸多边形的分割区域。
本实施例步骤103“针对所述多个分割区域,执行路径规划得到全局路径”可具体包括如下步骤:
1031、分别为所述多个分割区域规划各分割区域的区域内路径;
1032、规划所述多个分割区域的顺序;
1033、按照所述多个分割区域的规划顺序,确定上游分割区域的终点至下游分割区域的起点的跨区域路径。
下面以多个分割区域中的一个分割区域(以下称为第一分割区域)为例,对区域内路径的规划过程进行说明。即“为所述多个分割区域中的第一分割区域规划区域内路径”可包括:
S21、内缩所述第一分割区域的区域边,得到内缩轮廓;
S22、确定多条平行且与所述内缩轮廓相交的参考线;
S23、基于所述内缩轮廓及所述多条参考线的交点,确定所述区域内路径的起点、转折点及终点;
S24、保存所述区域内路径的起点、转折点及终点。
上述S21内缩第一分割区域的区域边,即每条边向内平移一定距离形成的内缩轮廓。平移的距离可根据自主行进设备的外观尺寸来确定。假设自主行进设备的机身外观为圆形,则平移距离可以大于或等于机身半径。之所以要平移该距离是因为内缩轮廓的部分边会作为规划路径中的路段,在自主行进设备按照规划出的路段行进时机身不会超出边界或与边界障碍物(如腔壁、柜体壁等)碰撞或刮擦。
上述S22中,多条平行且与内缩轮廓相交的参考线,可与内缩轮廓的任一边平行,比如,与内缩轮廓的最长边平行。实际上参考线是后续规划路段的基础,特别是对于一些需要全面覆盖的设备来说,比如扫地机器人、拖地机器人等等,参考线间的距离需基于全面覆盖原则考虑。与上述内缩平移的距离类似,参考线间的距离也可根据自主行进设备的外观尺寸来确定。假设自主行进设备的机身外观为圆形,则参考线间的距离可小于或等于机身直径。图4a示出的参考线Line之间的距离等于机身直径的情况,基于图4a所示的多条参考线Line确定出的区域内路径(如图4a中粗线表示的轨迹),自主行进设备在按照该区域内路径行进时,刚好覆盖了其所经过的地方,之间不会出现未覆盖的部分。图4b所示的参考线Line之间的距离等于机身半径,基于图4b所示的多条参考线Line确定出的区域内路径(如图4b中粗线表示的轨迹),自主行进设备在按照该区域内路径行进时,会重复覆盖之前已经行进过的部分。在具体实施时,可根据实际的设计需求来确定参考线间的距离,比如,将参考线间的距离控制在机身半径到直径之间,即,参考线间的距离小于或等于机身直径,大于或等于机身半径。若参考线间的距离大于扫地机器人的机身直径,则按照这些参考线确定出的规划路段对地面清扫时会出现没有被清扫覆盖到的区域,参见图5中的区域100。
换个角度来说,假设内缩平移的距离一定(比如是),以内缩平移的距离为参照来限定参考线间的距离,所述第一分割区域的区域边内缩距离为第一距离d;所述多条参考线Line中相邻参考线间的距离为第二距离D;相应的,d≤D≤2d。实际上,上述的所述第二距离小于或相等所述第一距离。
为了方便理解,参见图4a所示的第一分割区域Q1Q2Q3Q4Q5,各区域边Q1Q2、Q2Q3、Q3Q4、Q4Q5均向第一分割区域内平移距离D,得到内缩轮廓Q’1Q’2Q’3Q’4Q’5。参见图4b所示,做多条平行于内缩轮廓Q’1Q’2Q’3Q’4Q’5中最长轮廓边(如Q’3Q’4),且与内缩轮廓相交的参考线Line。然后,自内缩轮廓Q’1Q’2Q’3Q’4Q’5中的一个顶点Q’4为起点,按照一行进方向,比如图4a中箭头所指的方向,至Q’3;然后,沿内缩轮廓边Q’3Q’2至Q’31,随后再沿参考线Line至Q’41;如此直至覆盖第一分割区域。规划好的区域内路径,可仅保存起始点(如Q’4)、转折点(Q’31、Q’41、……等等)、终点(Q’11)。
上述1032中规划所述多个分割区域的顺序,可按照多个分割区域的位置关系以及区域内路径的行进方向来确定。比如,图8所示的2个分割区域:S01和S02。S01的区域内路径及S02的区域内路径的行进方向如图8中箭头所示方向。按照行进方向可确定,这两个分割区域的顺序可以是S01—>S02;这样跨区路径具体为S01的区域内路径的终点e3至S02的区域内路径的起点en-1,即图8中的虚线表示的路径。
当然,在实际规划中,多个分割区域的顺序、各分割区域的区域内路径的行进方向是一个统筹规划的过程,比如按照全局路径最优的策略来规划的。本申请实施例对多个分割区域的顺序确定不作具体限定,任一方式确定均可。
上述内容中在规划全局路径时是没有考虑障碍物的,因此自主行进设备在按照全局路径行进时可能会遇到障碍物,针对遇障碍的情况,分为两种情况,一种是动态障碍;一种是静态障碍。动态障碍可理解为:短时间(比如,1s、3s或5s内)停留的人、物(如玩具车、机器人等)等。静态障碍可理解为:长时间停留的人或物等。对于动态障碍,因为停留时间较短,可稍等待一会儿,待障碍物走后再启动继续按规划路径行进。即本实施例提供的所述方法中,行进在第一规划路段遇障碍物后,按临时路段转行至第二规划路段之前,还包括:
启动停止等待模式;等待预设时长障碍仍存在时,再触发按临时路段转行至第二规划路段的步骤。
本实施例中所述临时路段可以为所述第一规划路段与所述第二规划路段间的直线路段、弧线路段或折线路段;所述临时路段的起点为遇障碍物停止在所述第一规划路段上的位置。该临时路段的确定可不考虑障碍物的参数,如障碍物边界轮廓。本方案随机确定一直线路段、弧线路段、折线路段等等,而不考虑障碍物的情况,可减少本实施例方法执行主体的数据处理量,加快了自主行进设备的行进效率。特别是对于一些较长时间停留,但位置不固定的障碍物来说,比如某一区域内有一个机器人因为要执行任务,它的停留时间要长于上文中提及的等待时长,但它的位置并不固定,在完成任务后还是会离开的,对于这类障碍物,本实施例提供的方案的优势就更加凸显。
在上述实施例规划好全局路径的基础上,下面将提供另一实施例以对遇到障碍时的具体执行过程进行说明。具体的,如图所示,所述方法包括:
201、行进在第一规划路段的过程中遇障碍物时,启动停止等待模式;其中,所述第一规划路段为所述区域内路径或跨区路径中的路段。
202、等待预设时长障碍物仍存在时,获取第二规划路段;其中,按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
203、确定一临时路段;其中,所述临时路段的起点为所述停止等待模式启动时自主行进设备的停止位置,终点为所述第二规划路段上的点。
204、控制所述自主行进设备沿所述临时路段行进至所述第二规划路段。
如图6a所示的示例,图6a为一分割区域100的区域内路径的示意图,其中,Qi、Qi+1、Qj、Qj+1为一分割区域100各条区域边的顶点,区域内路径具体可包括多个首尾相连的规划路段及路径方向;或者可包括多个首尾相连的规划路段、起始点及终点;或者包括:起始点、终点及转折点(转折点可以为一个、两个或更多,与实际分割区域大小,形状有关)。分割区域100可以是中大型商场区域、银行大厅、医院区域等,也可以为一个房间的地面、或者是房间内地面的某一块小区域。图8所示的示例中,分割区域S01和S02之间的跨区路径,跨区路径可包括起始点e3、终点en-1。图8中所示的情况,跨区路径仅包含一段规划路段e3 en-1,实际上跨区路径也可包含有两段、三段或更多段的规划路段,本实施例对此不作具体限定。比如,在从起始点e3至终点en-1之间存在固定的障碍,此时跨区路径中可能就存在有转弯的路段。
本实施例提供方案的前提是:全局路径已规划好,自主行进设备按照已经规划好的全局路径行进。有关全局路径中区域内路径的规划过程可参见上述实施例中的相应内容,此处不作赘述。跨区路径可使用A*算法来确定。A*算法是静态路网中求解最短路径最有效的直接搜索方法;具体原理可参见现有技术中的相关内容,本文不作赘述。
上述201中,所述障碍物可以由自主行进设备上的探测装置进行检测确定。该探测装置可以包括激光雷达,激光雷达的工作原理是向目标发射探测信号(如激光束),然后将接收到的从目标反射回来的信号(即目标回波)与发射信号进行比较,作适当处理后就可获得目标的有关信息,如距离、方位等参数。当自主行进设备按照规划路径行进在第一规划路段过程中,通过其设备上的探测装置(如激光雷达)对周围环境信息进行实时检测,当检测到当前行进规划路段(即第一规划路段)上存在障碍物且距该障碍物的距离在预设距离范围之内时,自主行进设备无法按照第一规划路段继续行进,此时将启动停止等待模式。其中,所述预设距离可以根据自主行进设备的行进参数来确定,比如,自主行进设备在行进时因自身外轮廓的尺寸需留出所述预设距离,以避免与障碍物发生碰撞,还能保证自主行进设备行进时不存在未覆盖到的地方或未覆盖到的地方尽可能的小。具体实施时,所述预设距离可基于自主行进设备在行进方向上的宽度来确定,比如等于或大于所述宽度的一半。
参见图6b所示的实施例,假设自主行进设备当前行进在图中L1对应的第一规划路段上,且在行进至位置b1时检测到障碍物01,且距该障碍物01的距离在预设距离范围之内。由于第一规划路段L1被障碍物01截断,自主行进设备无法按照第一规划路径L1继续行进,但又考虑到该障碍物01可能为动态障碍物,在该障碍物消失时仍能够沿着第一规划路段继续行进。为此在行进至位置b1遇到障碍物01时,将启动停止等待模式,停止在位置b1处进行等待,以便于在等待预设时长(比如3s、5s或10s等)后再做出判定。若障碍物在等待预设时长后或在到达预设时长之前消失,则沿第一规划路段L1继续行进;反之,若障碍物仍存在,则需确定一临时路段。
上述202中,所述等待预设时长可以为3s、5s、10s等,本实施例对此不作限定。在等待预设时长障碍物仍存在的情况下,可以获取如图6b中示出的第二规划路段L2。基于所获取到的第二规划路段L2和停止等待模式启动时机器人的停止位置b1,也就可以确定出一临时路段,以绕开障碍物,还能到达第二规划路段L2以沿第二规划路段L2继续行进。
即本实施例中步骤102“获取第二规划路段”,可具体为:获取所述规划路径中位于所述第一规划路段下游的路段为第二规划路段。
参见图6b所示的情况,按照图中所示的路径方向,需先经过的规划路段为上游路段,后经过的规划路段为下游路段。图6b中,第二规划路段L2位于第一规划路段L1的下游,且与所述第一规划路段L1平行。
参见图6c所示的情况,按照图6c中所示的路径方向,第二规划路段L2位于第一规划路段L1的下游,且与所述第一规划路段L1相邻。
即上述步骤202可具体为:获取所述规划路径中位于所述第一规划路段下游,且与所述第一规划路段平行或与所述第一规划路段L1相邻的路段,作为所述第二规划路段。
上述203中,确定临时路段的目的是:能绕开障碍物,又能回归至规划路径中的另一已知路径路段上,以避免重新规划路径。在一种可实现的方案中,上述203“确定临时路段”,可采用如下步骤2031或2032来实现:
2031、过所述停止位置生成一垂直于所述第二规划路段的垂线;将所述垂线在所述第一规划路段与所述第二规划路段间的垂线段,作为所述临时路段。
参见图6c所示,可过停止位置a作一条垂直于所述第二规划路段L2的垂线,该垂线在所述第一规划路段L1与第二规划路段L2间的垂线段ac,可作为临时路段。
或者,如图6d所示,过停止位置b1作一条垂直于所述第二规划路段L2的垂线,该垂线在所述第一规划路段L1与第二规划路段L2间的垂线段b1e1,可作为临时路段。
2032、过所述停止位置生成一垂直于所述第一规划路段的垂线;所述垂线与所述第二规划路段相交,将所述垂线在所述第一规划路段与所述第二规划路段间的垂线段作为所述临时路段。
如图6c所示的例子,过停止位置a做垂直于第一规划路段L1的垂线,在第一规划路段L1和第二规划路段L2间的垂线段为ac’;该垂线段ac’可作为临时路段。
换个角度来说,本实施例中步骤202中第二规划路段也可采用上述作垂线的方式来获取。具体的,参见图6d所示,先过所述停止位置b1生成一条垂直于第一规划路段L1的垂线Line1。按照规划路径的方向(或各规划路段的上下游关系),与该垂线Line1相交的第一个下游规划路段(图6d中是L2)为第二规划路段。
上述临时路段为在等待预设时长后所遇到的障碍物仍存在时,仅靠作垂线的方式确定,无需参照障碍物的参数(如外轮廓等),遇障处理方案简单,计算量小。当自主行进设备沿该临时路段行进至第二规划路段后,便可沿着当前在第二规划路段上的位置继续沿已知的第二规划路段的剩余路段行进。
以图6d所示的实例来说,自主行进设备因障碍物启动停止等待模式的停止位置为b1;自主行进设备沿临时路段b1e1行进至位置e1;然后自e1沿第二规划路段L2继续行进。即自主行进设备遇到障碍物后在障碍物一侧的实际行进路径为图6d中用实线段所示的路径,r1—>b1e1—>r2。第一规划路段L1实际与路段r1共线,此处为了便于说明,将第一规划路段L1的位置进行了平移显示。同理,第二规划路段L2实际与路段r2共线,此处为了便于说明,将第二规划路段L2的位置进行了平移显示。
这里需要补充的是:上述临时路段之所以称为“临时”是基于障碍物非长久位置固定为前提的。在规划路径上出现动态障碍物(如行人、运动中的小车等)的场景中,本实施例提供的方案的优势更突显。若在行进过程中遇到障碍物,停止行进等待预设时长(如5s)后障碍物移开,则可继续按照规划路径继续前进,无需进行任何的避让处理;即便是等待预设时长障碍物仍存在,也无需依据障碍物的参数,而是直接通过作垂线的方式来确定出临时路段,以行进至下一规划路段,使得自主行进设备能按照下一规划路段继续行进;临时路段的确定方法简单、快速,有助于提高自主行进设备的避障效率。
由于障碍物的阻碍,障碍物的另一侧并未行进覆盖,因此,需要执行行进覆盖回补。为后续行进覆盖回补能实现,本实施例提供的所述方法还包括如下步骤,以为后续实现回补提供数据基础:
205、获取所述第一规划路段上未遍历的第一特征点及所述第二规划路段上未遍历的第二特征点;
206、将所述临时路段的起点、所述临时路段的终点、所述第一特征点及所述第二特征点作为关联点组存入回补点集中。
上述205中,规划路段上的特征点可包括:该规划路段的起点和该规划路段的终点。通常情况下,规划路段是直线路段,因此在确定了起点和终点这两个特征点后,规划路段也就明确了。规划路段的起点和终点是按照规划方向来界定的。参见图6d所示的例子,第一规划路段L1的特征点可包括:特征点b0、特征点b1’。按照图6d所示的从左向右的规划方向,特征点b0可为第一规划路段L1的起点,特征点b1’为第一规划路段L1的终点。第二规划路段L2的特征点包括:特征点e0和特征点e1’。第二规划路段L2的规划方向为图6d所示的从右至左,特征点e0为第二规划路段L2的起点,特征点e1’为第二规划路段L2的终点。
图6d所示的情况,自主行进设备从特征点b0沿第一规划路段L1行进至b1点,因障碍物的存在再从b1点按照临时路段b1e1行进至第二规划路段L2上的e1点,位于障碍物右侧的第一规划路段的特征点b1’及第二规划路段的特征点e0,均为未遍历的特征点。
因此,可将临时路段b1e1的起点b1、临时路段b1e1的起点e1、第一规划路段L1的特征点b1’、以及第二规划路段L2的特征点e0作为关联点组存入回补点集中。
有了上述回补点集的存在,后续便可通过查询回补点集的方式来获取未覆盖的点,然后执行覆盖回补。覆盖回补的目的是将自主行进设备未行进遍历的路段遍历一次,以达到规划路径全面覆盖的目的。具体的,本实施例提供的所述方法还可包括如下步骤:
207、查询所述回补点集;
208、在所述回补点集非空时,启动行进覆盖回补模式;
209、获取所述回补点集中的关联点组;
210、确定所述关联点组中的一个点为回补起点;
211、按照所述规划路径,确定与所述关联点组相关的规划路段;
212、导航至所述回补起点;
213、从回补起点按照与所述关联点组相关的规划路段行进,以遍历到所述关联点组中的各点。
上述步骤207可在自主行进设备行进至规划路径的终点时触发执行。如图7a所示,自主行进设备在行进至规划路径的终点e3后,触发查询回补点集的步骤,在所述回补点集非空时启动行进覆盖回补模式。若回补点集为空,则表明该区域的规划路径均遍历过,无需行进覆盖回补。
或者,在自主行进设备行进至地图终点时触发执行步骤207以查询回补点集。如图8所示的一空间或场地的地图信息。在路径规划过程中,可利用自主行进设备上的激光雷达构建地图信息,以确定空间或场地内自主行进设备可运动的区域,形成闭合多边形,如图8中的闭合多边形S300。对该闭合多变形S300进行分隔,形成多个凸多边形,如第一凸多边形S01、第二凸多边形S02。分别对各凸多变形进行全遍历路径规划。然后使用如A*算法将一个凸多变形对应区域的终点和另一个凸多边形的起点连接,作为自主行进设备移动的全局路径。比如,图8所示的例子,该空间或场地的地图被划分为两个凸多边形,每个凸多边形对应一个区域。分别对这两区域进行路径规划,得到如图8中所示的两个规划路径。第一凸多边形S01对应的规划路径的起点为b0,终点为e3。第二凸多边形S02对应的规划路径的起点为en-1,终点为en。自主行进设备按照第一凸多边形S01对应的规划路径行进至终点e3后,移动至第二凸多边形S02的起点en-1,以按照第二凸多边形S02的规划路径行进至终点en。第二凸多边形S02的规划路径终点en,也是地图终点。
本实施例中步骤207可在自主行进设备行进至地图终点(如从b0按照本实施例提供的方案行进至en)后,再触发查询回补点集,以启动行进覆盖回补。即本实施例提供的所述方法还可包括如下步骤:
S11、按照规划路径行进至所述规划路径的终点时,判断所述规划路径的终点是否为地图终点;
S12、在所述规划路径的终点为地图终点时,触发查询所述回补点集(即上述步骤107),以进入行进覆盖回补模式。
上述208中,回补点集非空时说明存在有未遍历的特征点,需启动行进回补模式。但回补点集为空时说明不存在遗漏的特征点,此种情况下,自主行进设备是不需要启动行进回补模式的。
在回补点集中包含多个关联点组时,可按照关联点组的时间顺序,先存入的关联点组先被获取,后存入的关联点组后被获取;或者,后存入的关联点组先被获取,先存入的关联点组后被获取。
比如图7b所示的例子,自主行进设备从b0点起按照规划路径行进,遇到障碍物01按照临时路段b1e1行进至下一规划路段,并存入关联点组(b1、b1’、e0及e1)至回补点集;继续行进再遇障碍物物02按照临时路段b2e2行进至规划路段r3,并存入关联点组(b2、b2’、e2’及e2)。在自主行进设备行进至规划路径的终点e3时,查询回补点集。回补点集非空则从回补点集中获取先存入的关联点组(b1、b1’、e0及e1),以使自主行进设备从终点e3行进至该关联点组中的一个点,比如b1,以从b1点开始执行行进覆盖回补程序。在关联点组(b1、b1’、e0及e1)中的各点均遍历完后,再从回补点集中获取后存入的关联点组(b2、b2’、e2’及e2)。
当然,上述例子中也可先获取后存入的关联点组(b2、b2’、e2’及e2),自主行进设备从终点e3行进至该关联点组中的一个点,比如b2,以从b2点开始执行行进覆盖回补程序,即沿b2—>b2’—>e2’—>e2的路线行进回补。完成针对关联点组(b2、b2’、e2’及e2)的回补后,再获取先存入的关联点组(b1、b1’、e0及e1),然后自主行进设备从e2行进至关联点组(b1、b1’、e0及e1)中的一个点,比如b1,以从b1点开始执行行进覆盖回补程序,即沿b1—>b1’—>e0—>e1的路线行进回补。
上述210中,可将关联点组中任一点作为回补起点。但为了方便处理,可按照规划路径的规划方向来确定回补起点。即上述步骤110“确定所述关联点组中的一个点为回补起点”可具体为:将所述关联点组中属于临时路段起点的点作为所述回补起点。
比如图7b所示的例子,对于关联点组(b1、b1’、e0及e1),按照规划路径的规划方向,自主行进设备的行进路径应该是:b1—>b1’—>e0—>e1。因此,可将关联点组中临时路段b1e1的起点b1作为回补起点。
以图7b所示的例子,上述111中,按照所述规划路径,确定与所述关联点组(b1、b1’、e0及e1)相关的规划路段包括:规划路段b1b1’、规划路段b1’e0、规划路段e0e1。
上述步骤212可使用A*算法确定从当前位置移动到回补起点的行进路径。如利用A*算法确定出图7b中从规划路径的终点e3运动到回补起点b1的行进路径e3b1。然后,沿规划路段b1b1’、规划路段b1’e0、规划路段e0e1的顺序行进,以遍历所述关联点组中的特征点(如图3中的点b1’及点e0)。
实际情况中存在两种情形,一种是在行进覆盖回补时原障碍物已移开,如图7b中障碍物01或障碍物02从图示中的位置移开;另一种是在行进覆盖回补时原障碍物未动,还在原来的位置。对于前一种情形,自主行进设备可从回补起点按照与所述关联点组相关的规划路段行进遍历到所述关联点组中的各点。此时,本实施例提供的所述方法可包括如下步骤:
214、从回补起点按照与所述关联点组相关的规划路段行进遍历到所述关联点组中的各点后,将所述关联点组从所述回补点集中删除。
对于后一种情形,自主行进设备还会因为障碍物无法从回补起点按照与所述关联点组相关的规划路段行进遍历到关联点组中的各点。针对此,本实施例提供的所述方法可包括如下步骤:
215、从回补起点按照与所述关联点组相关的规划路段行进过程中遇障碍物,且等待预设时长障碍物仍存在时,放弃针对所述关联点组的行进覆盖回补。
这里需要补充的是:本步骤215中等待的预设时长可与上述步骤202中等待的预设时长相等,也可不等,本实施例对此不作限定。
放弃针对所述关联点组的行进覆盖回补后,回补点集中存储的所述关联点组可保留,比如等回补点集中剩余的关联点组均执行了行进覆盖回补处理后,返回来再执行一次,实质上是再留出一些时间等待障碍物移开。当然,若障碍物长时间不移开,也不能一直处于这个循环中,可给关联点组提供二次或三次回补处理的机会。以两次机会为例,比如图7a中关联点组(b1、b1’、e0及e1),自主行进设备行进至回补起点b1后,仍检测到前方存在障碍物,且在等待预设时长该障碍物仍存在,此时可放弃针对该关联点组(b1、b1’、e0及e1)的行进覆盖回补,并将该关联点组(b1、b1’、e0及e1)对应的标记参数加一设定值,比如1。假设,新存入回补点集的关联点组对应的标记参数为0,此时关联点组(b1、b1’、e0及e1)对应的标记参数0加1后为1。该关联点组(b1、b1’、e0及e1)还有一次机会,可保留在回补点集中。
然后,获取回补点集中下一关联点组(b2、b2’、e2’及e2),从b1点行进至关联点组(b2、b2’、e2’及e2)的回补起点b2。若按照关联点组(b2、b2’、e2’及e2)对应的规划路段b2—>b2’—>e2’—>e2完成行进覆盖回补,且回补点集中仅剩下关联点组(b1、b1’、e0及e1),则可再次获取该关联点组(b1、b1’、e0及e1),从e2行进至关联点组(b1、b1’、e0及e1)的回补起点b1。若在回补起点b1处仍检测到障碍物且等待预设时长障碍物仍存在,则放弃针对所述关联点组(b1、b1’、e0及e1)的行进覆盖回补,该关联点组(b1、b1’、e0及e1)对应的标记参数1再加1,此时该关联点组(b1、b1’、e0及e1)对应的标记参数等于2,需将关联点组(b1、b1’、e0及e1)从回补点集中删除。若在回补起点b1处未检测到障碍物,则可沿关联点组(b1、b1’、e0及e1)对应的规划路段b1—>b1’—>e0—>e1完成行进覆盖回补,并将关联点组(b1、b1’、e0及e1)从回补点集中删除。
或者,在放弃针对所述关联点组的行进覆盖回补后,不作保留直接将该关联点组从回补点集中删除。即在上述步骤215之后,本实施例提供的所述方法还可包括如下步骤:
216、放弃针对所述关联点组的行进覆盖回补的情况下,将所述关联点组从所述回补点集中删除。
当然,在执行行进覆盖回补过程中,还可能在回补路径上遇到障碍物。比如,沿回补起点行进一段距离后又检测到障碍物,此时同样可启动停止等待模式,在预设时长之前或预设时长到时障碍物移开,则可继续沿回补路径行进;等待预设时长后障碍物仍存在时,则可采用上述步骤202~204的方案行进。在行进覆盖回补中,还是可以因障碍物的存在记录未遍历点至回补点集。
这里需要补充的是:上文中提到的A*(A-Star)算法是一种静态路网中求解最短路最有效的方法。公式可表示为:f(n)=g(n)+h(n)。其中,f(n)是从初始点经由节点n到目标点的估价函数;g(n)是在状态空间中从初始节点到n节点的实际代价;h(n)是从n到目标节点最佳路径的估计代价。利用上述A*算法可求解出自主行进设备自当前位置移动至目标位置的最短路径。
上述步骤208~213是针对回补点集非空的情况,当回补点集为空时,本实施例提供的所述方法还可包括如下步骤:
217、所述回补点集为空时,判定所述规划路径的终点是否为地图终点;
218、所述规划路径的终点非地图终点时,获取地图中下一目标区域对应规划路径的起始点;
219、导航至下一目标区域的起始点。
同样的,在具体实施时上述219步骤也可采用A*算法确定从所述规划路径的终点至下一目标区域的起始点的行进路径。
上述步骤217~219适于如图8所示的场景,即空间或场地被划分为多个凸多边形的区域,每个区域对应规划有相应的规划路径。为了行进遍历该空间或场地的所有区域,就需要在完成一个区域的行进遍历后,进入下一区域,直至所有区域均完成行进遍历。
若空间或场地无需划分就是一整块区域,则上述步骤201中所述的规划路径的终点就是该空间或场地对应的地图终点,就不存在下一目标区域;此时就无需执行上述步骤217~219。
综上,本实施例提供的技术方案在按规划路径行进在某一规划路段的过程中遇到障碍物时先启动停止等待模式;在等待预设时长障碍物仍存在时,获取所述规划路径中的下一规划路段;然后以所述停止等待模式启动时机器人停止的位置作为起点,通过作垂线的方式确定跨越至下一规划路段的临时路段,并控制自主行进设备沿该临时路段行进至下一规划路段;整个过程是在保留原有规划路径的同时,采用最简单的方法绕开障碍物,以简化路径规划算法,计算量小,可集成于低功耗芯片中,具有较低成本;而且能够降低重复扫、漏扫现象的出现几率,提高了工作效率。
由上述方案可知,本方案主题中提及的混合策略可理解为至少包含如下各策略:
1、不考虑场地内障碍统一规划路径
2、场地划分区域,分区域规划路径;
3、遇障碍等待;
4、等待障碍物扔存在直接采用最简单的作垂线的方式确定临时路段;
5、经临时路段行进至下一规划路段,以继续按规划好路径行进;
6、记录临时路段、未遍历到的路段上特征点,以便于回补覆盖;
7、回补时从临时路段的起点回补,而不是障碍物的另一侧;
8、回补覆盖时,障碍仍存在放弃回补的策略,等等。
本申请另一实施例提供的路径规划方法的流程示意图。所述方法包括:
S21、获取空间或场地的地图信息。
该地图信息可以是自主行进设备利用其上设置的激光雷达对空间或场地进行探测,然后根据激光雷达探测到的数据生成的。
S22、基于地图信息,确定多个凸多边形。
S23、根据所述多个凸多边形,对所述空间或场地进行全遍历路径规划,得到全局路径。
其中,全局路径包括:多个凸多边形各自对应区域内路径,多个凸多边形对应区域的遍历顺序,以及按照遍历顺序从上一个凸多边形对应区域的规划路径终点至下一个凸多边形对应区域的规划路径终点的跨区路径。如图8所示的例子,全局路径包括:第一凸多边形S01对应的区域内路径、第二凸多边形S02对应的区域内规划路径、按照先遍历第一凸多边形S01对应区域再遍历第二凸多边形S02对应区域的顺序(相应的,第一凸多边形S01对应的区域内路径起点即全局路径的起点,第二凸多边形S02对应的区域内路径终点即全局路径的终点(或称为地图终点))、以及第一凸多边形S01对应区域内路径终点e3至第二凸多边形S02对应区域内路径起点en-1的跨区路径e3 en-1。
本实施例对于上述步骤S21~S23的具体实现方案不作限定,任何可实现上述各步骤对应功能的方案均可。
S24、控制自主行进设备从所述全局规划路径的起点,按照该起点所在区域内路径行进。
参见图8所示的例子,全局规划路径的起点b0所在区域为第一凸多边形S01对应的区域。以按照图6d中所示的弓字形规划路径从b0行进至该第一凸多边形S01对应区域的规划路径终点e3。
S25、检测行进方向上是否存在障碍物,若检测到有障碍物,则停止行进并启动停止等待模式,在停止等待模式下开始计时,并执行步骤S26;否则,继续行进并在行进过程中持续检测障碍物。
S26、若计时时长到达预设时长后障碍物仍存在,则以当前停止位置为起点,通过作垂线的方式确定临时路段;控制自主行进设备按照该临时路段行进至该区域内路径的下一规划路段以避开障碍物,同时保存因沿临时路段行进而未遍历到的规划路段特征点。
参见图7b所示的情况,为避开障碍物01,确定了一条临时路段b1e1,相应的因沿该临时路段b1e1而未遍历到的规划路段特征点包括b1’及e0。当然,在保存特征点b1’及e0时,可将临时路段的起点b1及终点e1,作为特征点b1’及e0的关联点进行存储。比如上文中提及的将特征点b1’、特征点e0、临时路段的起点b1及终点e1作为关联点组存入回补点集中。
本实施例中提及的采用关联点组进行存储的方式仅是一种示例性的方案。实际上,也可不采用关联点组的方式存储,直接将特征点b1’、特征点e0、临时路段的起点b1及终点e1存入回补点集中;在行进回补遍历时,再根据回补点集中各点在地图上的位置关系,来获取存在路段关联的至少两个目标点,以基于获取到的至少两个目标点,确定回补路段,然后按照回补路段行进以完成行进覆盖回补。
这里需要补充的是:上述步骤S26中,有关临时路段的确定,保存未遍历规划路段特征点的内容,可参见上述实施例中的相应内容,此处不作赘述。
S27、若计时时长未到达预设时长或计时时长到达预设时长时检测行进方向无障碍物,则继续行进并在行进过程执行步骤S25以持续检测障碍物。
S28、在自主行进设备行进至所述区域内路径的终点时,判断自主行进设备是否到达地图终点(即全局路径的终点),若到达地图终点则进入S29;否则执行步骤S30。
S29、判定是否存在未遍历的点,若有,则启动行进覆盖回补模式,并在完成行进覆盖后结束;否则,结束。
具体实施时,可通过查询回补点集是否为空来确定是否存在未遍历的点。回补点集非空时说明存在未遍历的点,回补点集为空时说明不存在未遍历的点。自主行进设备进入行进覆盖回补模式后的执行过程,可参见上述实施例中步骤209~213的相关内容,此处不作赘述。此外,在执行行进覆盖回补后,回补点集中的点如何删除可参见上文中的相应内容,同样此处不作赘述。
本步骤S29中在不存在未遍历的点时即完成了行进覆盖。
S30、按照全局路径,从当前区域内路径的终点行进至下一凸多边形对应区域内路径起点继续行进,并执行步骤S25。
上述实施例提供的方案是在多个凸多边形对应区域内路径均完成遍历后,再启动行进覆盖回补模式。下面的实施例提供的方案是在自主行进设备按照一个凸多边形对应区域内路径行进至该区域内路径终点时,即启动行进覆盖回补模式。该区域完成行进覆盖回补后,再行进至下一凸多边形对应区域。具体的,路径规划方法包括:
S31、获取空间或场地的地图信息。
S32、基于地图信息,确定多个凸多边形。
S33、根据所述多个凸多边形,对所述空间或场地进行全遍历路径规划,得到全局路径。
S34、控制自主行进设备从所述全局路径的起点,按照该起点所在区域的区域内路径行进。
S35、检测行进方向上是否存在障碍物,若检测到有障碍物,则停止行进并启动停止等待模式,在停止等待模式下开始计时,并执行步骤S26;否则,继续行进并在行进过程中持续检测障碍物。
S36、若计时时长到达预设时长后障碍物仍存在,则以当前停止位置为起点,通过作垂线的方式确定临时路段;控制自主行进设备按照该临时路段行进至该区域内路径的下一规划路段以避开障碍物,同时保存因沿临时路段行进而未遍历到的规划路段特征点。
S37、若计时时长未到达预设时长或计时时长到达预设时长时,检测行进方向无障碍物,则继续行进并在行进过程中持续检测障碍物。
前面步骤S31~S37与上述图5所示实施例中的步骤S21~S27相同。不同之处在于后续的步骤。
S38、在自主行进设备行进至所述区域内路径的终点时,判定该区域中是否存在未遍历的点,若有,则启动行进覆盖回补模式,并在完成该区域的行进覆盖后执行步骤S39;否则,执行步骤S39。
S39、判定所述区域内路径的终点是否为地图终点(即全局路径的终点),若是,则结束;否则,按照全局路径,从当前区域内路径的终点行进至下一凸多边形对应区域内路径起点继续行进,并执行步骤S35。
图9为本申请一示例性实施例提供的一种路径规划装置的结构示意图。该路径规划装置的物理形态可以是处理芯片。具体的,该路径规划装置包括:获取模块71、分割模块72、规划模块73及控制模块74。其中,获取模块71,用于获取待规划场地的地图信息。分割模块72,用于基于所述地图信息,进行区域分割得到多个分割区域。规划模块73,用于针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径。控制模块74,用于行进在第一规划路段遇障碍物时,按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进。其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
进一步的,所述临时路段为所述第一规划路段与所述第二规划路段间的直线路段、弧线路段或折线路段;所述临时路段的起点为遇障碍物停止在所述第一规划路段上的位置。具体的,所述临时路段为垂直于所述第一规划路段或所述第二规划路段的直线路段。
进一步的,所述地图信息为栅格地图。相应的,所述分割模块72在基于所述地图信息,进行区域分割得到多个分割区域时,具体用于:获取所述栅格地图中位于最外围,且代价值为设定值的边界栅格;基于边界栅格,确定封闭边界;在所述封闭边界存在凹点时,对所述封闭边界进行多边形凸分解,得到多个凸多边形的分割区域。
进一步的,本申请实施例提供的所述获取模块71还用于获取所述封闭边界的多个顶点;在所述多个顶点中,区分出凸点及凹点。
再进一步的,上述分割模块72在所述封闭边界存在凹点时,对所述封闭边界进行多边形凸分解时,具体用于:获取所述多个顶点中的第一凹点;自所述第一凹点沿一方向查找所述多个顶点中位于所述第一凹点下游、且与所述第一凹点不相邻的第二凹点;存在所述第二凹点时,连接所述第一凹点及所述第二凹点形成分割线;不存在所述第二凹点时,连接所述第一凹点及第一凸点形成分割线,其中,所述第一凹点与所述第一凸点为不相邻的点。
进一步的,所述规划模块73在针对所述多个分割区域,执行路径规划得到全局路径时,具体用于:分别为所述多个分割区域规划各分割区域的区域内路径;规划所述多个分割区域的顺序;按照所述多个分割区域的规划顺序,确定上游分割区域的终点至下游分割区域的起点的跨区域路径。
再进一步的,所述规划模块73在为所述多个分割区域中的第一分割区域规划区域内路径时,具体用于:内缩所述第一分割区域的区域边,得到内缩轮廓;确定多条平行且与所述内缩轮廓相交的参考线;基于所述内缩轮廓及所述多条参考线的交点,确定所述区域内路径的起点、转折点及终点;保存所述区域内路径的起点、转折点及终点。
进一步的,所述第一分割区域的区域边内缩距离为第一距离d;所述多条参考线中相邻参考线间的距离为第二距离D;其中,d≤D≤2d。
进一步的,所述控制模块74在控制自主行进设备行进在第一规划路段遇障碍物后,按临时路段转行至第二规划路段之前,还用于:启动停止等待模式;等待预设时长障碍仍存在时,再触发按临时路段转行至第二规划路段的步骤。
进一步的,本实施例提供的装置还包括存储模块。所述存储模块用于获取所述第一规划路段上未遍历的第一特征点及所述第二规划路段上未遍历的第二特征点;将所述临时路段的起点、所述临时路段的终点、所述第一特征点及所述第二特征点作为关联点组存入回补点集中。
进一步的,本实施例提供的所述装置还包括回补模块。该回补模块用于查询所述回补点集;在所述回补点集非空时,启动行进覆盖回补模式;获取所述回补点集中的关联点组;确定所述关联点组中的一个点为回补起点;按照所述全局路径,确定与所述关联点组相关的规划路段;导航至所述回补起点;从回补起点按照与所述关联点组相关的规划路段行进,以遍历到所述关联点组中的各点。
进一步的,所述回补模块还用于从回补起点按照与所述关联点组相关的规划路段行进遍历到所述关联点组中的各点后,将所述关联点组从所述回补点集中删除;从回补起点按照与所述关联点组相关的规划路段行进遇障碍物,且等待预设时长障碍物仍存在时,放弃针对所述关联点组的行进覆盖回补,并将所述关联点组从所述回补点集中删除。
再进一步的,所述回补模块在确定所述关联点组中的一个点为回补起点时,具体用于:将所述关联点组中属于临时路段起点的点作为所述回补起点。
进一步的,本实施例提供的所述装置还包括触发模块,其中,所述触发模块用于在行进至所述第一规划路段所属区域内路径的终点时,触发所述回补模块查询所述回补点集,以进入行进覆盖回补模式;或者行进至所述全局路径的终点时,触发所述回补模块查询所述回补点集,以进入行进覆盖回补模式。
本实施例提供的技术方案,不考虑场地内是否有障碍物,先根据地图信息进行区域分割,然后针对各分割区域进行路径规划得到含有单个分割区域的区域内路径以及跨分割区域的跨区路径的全局路径;然后在机器人依据规划好的全局路径行进时,若遇到障碍物再按照临时路段转行至下游的规划路段上,绕开障碍物的同时还能继续按全局路径行进;其中,临时路段的确定可不用考虑障碍物实际参数,而采用较为简单的方式实现,比如直接做垂线、弧线、折线等方式便可确定出临时路段,计算量小;这样自主行进设备(如服务机器人、无人驾驶车、清洁机器人等)可配置一个低功耗芯片,成本低;另外,本申请实施例提供的技术方案选择继续沿用原有规划路段,而不是重新进行规划,简化路径规划算法的同时,还能提高自主行进设备的行进效率。
这里需要说明的是:本实施例提供的路径规划装置可实现上述路径规划方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述行走路径规划方法实施例中的相应内容,此处不再赘述。
图10示出了本申请一实施例提供的自主行进设备的结构示意图。如图10所示,该自主行进设备包括:
探测装置81,用于探测自主行进设备所处环境的环境信息;
行进装置82,用于为自主行进设备提供行进动力;
处理器83,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
具体的,所述临时路段为垂直于所述第一规划路段或所述第二规划路段的直线路段;所述临时路段的起点为遇障碍物停止在所述第一规划路段上的位置。
进一步的,所述地图信息为栅格地图。以及在基于所述地图信息进行区域分割时具体用于:获取所述栅格地图中位于最外围,且代价值为设定值的边界栅格;基于边界栅格,确定封闭边界;在所述封闭边界存在凹点时,对所述封闭边界进行多边形凸分解,得到多个凸多边形的分割区域。
进一步地,本实施例提供的所述自主行进设备还包括存储器84。所述存储器84,用于存储程序;所述处理器83,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述路径规划方法中的各步骤(具体可参见上述各实施例中的内容)。
上述存储器84可被配置为存储其它各种数据以支持在自主行进设备上的操作。这些数据的示例包括用于在自主行进设备上操作的任何应用程序或方法的指令。存储器84可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
进一步,如图10所示,自主行进设备还包括:电源组件85、通讯组件86等其它组件。图10中仅示意性给出部分组件,并不意味着该自主行进设备只包括图10所示组件。
相应的,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的路径规划方法的步骤或功能。
具体实施时,所述自主行进设备可以是清洁机器人、除草机器人、银行、酒店等公共服务机器人、巡检机器人、商超盘点机器人、餐厅送餐机器人等;还可以为无人驾驶汽车等自主行进设备等等,本实施例对此不作具体限定。
上述探测装置可包括但不限于:摄像头、激光雷达传感器等。
本申请提供一实施例还提供一种机器人。该机器人包含有上文中提及的处理芯片(参见路径规划装置实施例)。具体的,该机器人包括机体、探测装置、行进装置及处理器(如处理芯片)。其中,探测装置,设置在机体上,用于探测所述机器人所处环境的环境信息;行进装置,设置在所述机体上,用于为机器人提供行进动力;处理器,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
这里需要说明的是:有关所述处理器的更详尽的内容可参见上述路径规划装置实施例,此处不作赘述。
本申请又一实施例提供一种清洁机器人,该清洁机器人可以是适用于中大型区域,例如:商场、银行、医院、餐厅的扫地机器人、扫拖一体机器人等等。该清洁机器人包括:
探测装置,用于探测所述清洁机器人所处环境的环境信息;
行进装置,用于为清洁机器人提供行进动力;
处理器,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
清洁装置,用于清洁待清洁面;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
本实施例中的处理器可实现上述路径规划方法中的各步骤(具体可参见上述各实施例中的内容)。
对应不同类型的清洁机器人,该清洁装置的具体实现会有所不同。比如,所述清洁机器人为扫地机器人,相应的,清洁装置可包括:滚刷、边刷等。所述清洁机器人为扫拖一体机器人,相应的,清洁装置可包括:滚刷、边刷、抹布、水箱等。
下面结合具体应用场景,对本申请各实施例提供的技术方案进行说明。
应用场景一
以自主行进设备为扫地机器人为例,用户在开启扫地机器人对商场大厅进行清扫时,扫地机器人将获取该商场大厅的栅格地图。然后,基于栅格地图进行区域分割得到多个分割区域;每个分割区域内进行弓字形路径规划得到区域内路径,规划过程不考虑该分割区域内的障碍物;然后使用A*算法规划上游分割区域的终点至下游分割区域的起点的跨区路径。规划好后,扫地机器人便按照规划好的全局路径(包括区域内路径及跨区路径)进行清扫,清扫过程中使用激光雷达实时检测周围环境信息。
若在行进过程中遇到障碍物,如行人、玩具汽车、展台、吉祥物、促销陈列、等临时摆放的物体等时,扫地机器人将启动停止等待模式。在等待预设时长障碍物仍存在时,将基于停止等待模式启动时扫地机器人所停止的位置确定出行进至已规划好的下一规划路段的垂直路径,然后按照该垂直路径行进至已规划好的路段,以便按照已规划好的路段继续清扫;在障碍物的一侧清扫完后并行进至规划路径的终点时,再返回至停止等待模式启动时扫地机器人所停止的位置处,再次检测所述障碍物是否仍还存在,若所述障碍物不存在,则以停止等待模式启动时扫地机器人所停止的位置为起点采用同样的方式沿已规划好的路段进行覆盖回补清扫,直至回补清扫完成。由于整个过程都是尽量保留已有规划好的路段,且在遇到障碍物时启动停止等待模式而不是马上规划避障路径,若等待期间障碍物移开,扫地机器人无需规划避障路径。等待预设时长障碍物仍存在的情况,仅通过简单的作垂线的方式来确定跨越至下一规划路段的临时路段,整个遇障处理过程简单,数据处理量小,高效。
应用场景二
以自主行进设备为巡检机器人。比如,巡检某一场地内各设备、装置等等的参数以及沿路布线情况,以收集并上报各设备或装置的参数及布线问题,便于管理人员管理。巡检机器人按照场地内各设备或装置的位置以及布线情况规划行进路径,以避免漏检。巡检机器人按照已规划好的规划路径行进,若在行进过程中遇到障碍(如进入该场地的工作人员),则启动停止等待模式。若等待5s后障碍未离开则确定一临时路段,以沿该临时路段行进至下一规划好的路段。若因沿临时路段行进产生未遍历的特征点(即某一位置处的设备或装置漏检或某一路段上的线缆漏检),则在按照规划路径巡检至规划路径的终点后,再启动回补模式,以回至启动停止等待模式时停止的位置,然后自停止位置行进以回补未经过的路段。整个巡检过程避障处理简单、计算量小,可集成于低功耗芯片中,成本低。
巡检机器人在规划巡检路径时,也可对要巡检场地进行区域分割,即基于巡检场地的地图信息进行多边形凸分解,以分割出多个凸多边形分割区域,然后再针对每个分割区域规划区域内路径,以及跨分割区域的跨区路径;将巡检场地进行分割以分割出多个分割区域,能尽量减少重复巡检,提高效率,又不留遗漏,且安全性和稳定性高。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种基于混合策略的路径规划方法,其特征在于,包括:
获取待规划场地的地图信息;
基于所述地图信息,进行区域分割得到多个分割区域;
针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;
行进在第一规划路段遇障碍物时,按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
2.根据权利要求1所述的方法,其特征在于,所述临时路段为所述第一规划路段与所述第二规划路段间的直线路段、弧线路段或折线路段;
所述临时路段的起点为遇障碍物停止在所述第一规划路段上的位置。
3.根据权利要求2所述的方法,其特征在于,所述临时路段为垂直于所述第一规划路段或所述第二规划路段的直线路段。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述地图信息为栅格地图;以及
基于所述地图信息,进行区域分割得到多个分割区域,包括:
获取所述栅格地图中位于最外围,且代价值为设定值的边界栅格;
基于边界栅格,确定封闭边界;
在所述封闭边界存在凹点时,对所述封闭边界进行多边形凸分解,得到多个凸多边形的分割区域。
5.根据权利要求4所述的方法,其特征在于,还包括:
获取所述封闭边界的多个顶点;
在所述多个顶点中,区分出凸点及凹点。
6.根据权利要求5所述的方法,其特征在于,在所述封闭边界存在凹点时,对所述封闭边界进行多边形凸分解,包括:
获取所述多个顶点中的第一凹点;
自所述第一凹点沿一方向查找所述多个顶点中位于所述第一凹点下游、且与所述第一凹点不相邻的第二凹点;
存在所述第二凹点时,连接所述第一凹点及所述第二凹点形成分割线;
不存在所述第二凹点时,连接所述第一凹点及第一凸点形成分割线,其中,所述第一凹点与所述第一凸点为不相邻的点。
7.根据权利要求1至3中任一项所述的方法,其特征在于,针对所述多个分割区域,执行路径规划得到全局路径,包括:
分别为所述多个分割区域规划各分割区域的区域内路径;
规划所述多个分割区域的顺序;
按照所述多个分割区域的规划顺序,确定上游分割区域的终点至下游分割区域的起点的跨区域路径。
8.根据权利要求7所述的方法,其特征在于,为所述多个分割区域中的第一分割区域规划区域内路径,包括:
内缩所述第一分割区域的区域边,得到内缩轮廓;
确定多条平行且与所述内缩轮廓相交的参考线;
基于所述内缩轮廓及所述多条参考线的交点,确定所述区域内路径的起点、转折点及终点;
保存所述区域内路径的起点、转折点及终点。
9.根据权利要求8所述的方法,其特征在于,所述第一分割区域的区域边内缩距离为第一距离d;
所述多条参考线中相邻参考线间的距离为第二距离D;
其中,d≤D≤2d。
10.根据权利要求1至3中任一项所述的方法,其特征在于,行进在第一规划路段遇障碍物后,按临时路段转行至第二规划路段之前,还包括:
启动停止等待模式;
等待预设时长障碍仍存在时,再触发按临时路段转行至第二规划路段的步骤。
11.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
获取所述第一规划路段上未遍历的第一特征点及所述第二规划路段上未遍历的第二特征点;
将所述临时路段的起点、所述临时路段的终点、所述第一特征点及所述第二特征点作为关联点组存入回补点集中。
12.根据权利要求11所述的方法,其特征在于,还包括:
查询所述回补点集;
在所述回补点集非空时,启动行进覆盖回补模式;
获取所述回补点集中的关联点组;
确定所述关联点组中的一个点为回补起点;
按照所述全局路径,确定与所述关联点组相关的规划路段;
导航至所述回补起点;
从回补起点按照与所述关联点组相关的规划路段行进,以遍历到所述关联点组中的各点。
13.根据权利要求12所述的方法,其特征在于,还包括:
从回补起点按照与所述关联点组相关的规划路段行进遍历到所述关联点组中的各点后,将所述关联点组从所述点集中删除;
从回补起点按照与所述关联点组相关的规划路段行进遇障碍物,且等待预设时长障碍物仍存在时,放弃针对所述关联点组的行进覆盖回补,并将所述关联点组从所述回补点集中删除。
14.根据权利要求12所述的方法,其特征在于,确定所述关联点组中的一个点为回补起点,包括:
将所述关联点组中属于临时路段起点的点作为所述回补起点。
15.根据权利要求12所述的方法,其特征在于,还包括:
行进至所述第一规划路段所属区域内路径的终点时,触发查询所述回补点集,以进入行进覆盖回补模式;或者
行进至所述全局路径的终点时,触发查询所述回补点集,以进入行进覆盖回补模式。
16.一种自主行进设备,其特征在于,包括:
探测装置,用于探测自主行进设备所处环境的环境信息;
行进装置,用于为自主行进设备提供行进动力;
处理器,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
17.根据权利要求16所述的自主行进设备,其特征在于,所述临时路段为垂直于所述第一规划路段或所述第二规划路段的直线路段;
所述临时路段的起点为遇障碍物停止在所述第一规划路段上的位置。
18.根据权利要求16或17所述的自主行进设备,其特征在于,所述地图信息为栅格地图;以及
所述处理器在基于所述地图信息进行区域分割时具体用于:
获取所述栅格地图中位于最外围,且代价值为设定值的边界栅格;
基于边界栅格,确定封闭边界;
在所述封闭边界存在凹点时,对所述封闭边界进行多边形凸分解,得到多个凸多边形的分割区域。
19.一种机器人,其特征在于,包括:
机体,其上设有探测装置,所述探测装置用于探测所述机器人所处环境的环境信息;
行进装置,设置在所述机体上,用于为机器人提供行进动力;
处理器,用于获取待规划场地的地图信息;基于所述地图信息,进行区域分割得到多个分割区域;针对所述多个分割区域,执行路径规划得到全局路径;其中,所述全局路径包括单个分割区域的区域内路径以及跨分割区域的跨区路径;若行进在第一规划路段时所述探测装置探测到障碍物,则控制所述行进装置按临时路段转行至第二规划路段以绕开障碍并继续沿第二规划路段行进;
其中,所述第一规划路段为所述区域内路径或跨区路径中的路段;按照所述全局路径的路段行进顺序,所述第二规划路段为位于所述第一规划路段下游的路段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566482.9A CN114690753A (zh) | 2020-12-25 | 2020-12-25 | 基于混合策略的路径规划方法、自主行进设备及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011566482.9A CN114690753A (zh) | 2020-12-25 | 2020-12-25 | 基于混合策略的路径规划方法、自主行进设备及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114690753A true CN114690753A (zh) | 2022-07-01 |
Family
ID=82130038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011566482.9A Pending CN114690753A (zh) | 2020-12-25 | 2020-12-25 | 基于混合策略的路径规划方法、自主行进设备及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114690753A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115390552A (zh) * | 2022-07-28 | 2022-11-25 | 云鲸智能(深圳)有限公司 | 路径规划方法、装置、清洁系统及存储介质 |
WO2024041538A1 (en) * | 2022-08-23 | 2024-02-29 | Willand (Beijing) Technology Co., Ltd. | Method and apparatus for determining mower path, and electronic device |
-
2020
- 2020-12-25 CN CN202011566482.9A patent/CN114690753A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115390552A (zh) * | 2022-07-28 | 2022-11-25 | 云鲸智能(深圳)有限公司 | 路径规划方法、装置、清洁系统及存储介质 |
WO2024041538A1 (en) * | 2022-08-23 | 2024-02-29 | Willand (Beijing) Technology Co., Ltd. | Method and apparatus for determining mower path, and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113110457B (zh) | 在室内复杂动态环境中智能机器人的自主覆盖巡检方法 | |
US11914391B2 (en) | Cleaning partition planning method for robot walking along boundry, chip and robot | |
US8989946B2 (en) | System and method for area coverage using sector decomposition | |
CN109976350A (zh) | 多机器人调度方法、装置、服务器及计算机可读存储介质 | |
CN112000754A (zh) | 地图构建方法、装置、存储介质及计算机设备 | |
CN114690753A (zh) | 基于混合策略的路径规划方法、自主行进设备及机器人 | |
CN109528089A (zh) | 一种被困清洁机器人的继续行走方法、装置及芯片 | |
CN104541218A (zh) | 自主移动机器人和用于操作自主移动机器人的方法 | |
US20160195875A1 (en) | Autonomous mobile robot and method for operating the same | |
CN113156956A (zh) | 机器人的导航方法、芯片及机器人 | |
CN113219992A (zh) | 一种路径规划方法及清洁机器人 | |
EP4357871A1 (en) | Robot task execution method and apparatus, robot, and storage medium | |
KR101333496B1 (ko) | 과거 지도 데이터 기반의 이동 로봇 제어 장치 및 방법 | |
CN112015186A (zh) | 一种具有社会属性的机器人路径规划方法、装置和机器人 | |
CN114035572A (zh) | 一种割草机器人的避障巡回方法及系统 | |
CN111505652A (zh) | 一种地图建立方法、装置及作业设备 | |
CN111609853A (zh) | 三维地图构建方法、扫地机器人及电子设备 | |
CN111857156A (zh) | 一种基于激光的机器人区域划分方法、芯片及机器人 | |
US20210191422A1 (en) | Robotic cleaning device with dynamic area coverage | |
Jarvis | Distance transform based path planning for robot navigation | |
CN112033423B (zh) | 一种基于道路共识的机器人路径规划方法、装置和机器人 | |
CN112731934A (zh) | 基于区域分割的智能割草机快速回充电站的方法 | |
CN116149314A (zh) | 机器人全覆盖作业方法、装置及机器人 | |
CN114397893B (zh) | 路径规划方法、机器人清扫方法及相关设备 | |
CN115981305A (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 |