一种自主清扫路径规划方法及装置与流程

文档序号:14594715发布日期:2018-06-05 04:19阅读:300来源:国知局

本发明涉及图像处理领域,特别涉及一种自主清扫路径规划方法及装置。



背景技术:

随着科技的进步,电子产品的种类愈来愈多,其中机器人(robot)就是其中一种。以清洁机器人为例,其可自动进行清洁动作,而不需使用者操作,因此逐渐取代现有的清洁装置。

目前,各种各样的服务机器人越来越多应用于人们的实际生活中,从事着与人们生活息息相关的服务工作,极大地提高和改善了人们的生活质量。室内自主清扫机器人就是在这种背景下诞生的一种家庭服务机器人。室内自主清扫机器人的路径规划不同于一般意义上点到点的路径规划:点到点规划的目标是寻找一条从起始点到终点的无碰最优路径;而清扫机器人需采用区域充满的规划方法,目标是在设定区域内寻找一条从始点到终点且经过所有可达点的连续路径,而目前现有的方案并不能提供很好的路径规划方案。



技术实现要素:

有鉴于此,本发明实施例提供了一种自主清扫路径规划方法及装置。

本发明的第一方面是提供一种自主清扫路径规划方法,包括:

根据障碍物与处在不同位置的扫描线的交点个数变化确定自由空间的区域划分;

根据自由空间的区域划分确定每个清扫区域并对所述每个清扫区域进行编号;

根据蚁群算法将所述每个清扫区域连接;

在所述每个清扫区域内使用预设清扫方式进行往复清扫,以完成自主清扫路径规划任务。

可选地,所述根据蚁群算法将所述每个清扫区域连接,包括:

利用蚁群算法对所述每个清扫区域进行遍历以获取最优路径供设备使用。

可选地,所述利用蚁群算法对所述自由空间进行遍历以获取最优路径供设备使用之前,所述方法还包括:

获取所述待划分区域的长度方向;

所述利用蚁群算法对所述自由空间进行遍历以获取最优路径供设备使用,包括:

利用蚁群算法沿着所述长度方向对所述自由空间进行遍历。

可选地,所述利用蚁群算法沿着所述长度方向对所述自由空间进行遍历,包括:

当所述长度方向为水平方向时,利用蚁群算法对所述自由空间进行横向往复遍历,或/及

当所述长度方向为竖直方向时,利用蚁群算法对所述自由空间进行纵向往复遍历。

可选地,所述根据障碍物与处在不同位置的扫描线的交点个数变化确定自由空间的区域划分,包括:

针对所述自由空间利用扫描线沿预设方向进行扫描;

获取前一时刻的自由空间和障碍物空间分布格式;

当出现新的线段且分成两部分的线段被三条线段取代,三条线段对应新的单元格,拥有了新的单元格编号;

当出现消失线段信息的更新,单元格连同与它的相邻两个单元格一同消失,被一个新的单元格所取代,展示变化后的单元格。

本发明的第二方面是提供一种自主清扫路径规划装置,包括:

第一确定单元,用于根据障碍物与处在不同位置的扫描线的交点个数变化确定自由空间的区域划分;

第二确定单元,用于根据自由空间的区域划分确定每个清扫区域并对所述每个清扫区域进行编号;

连接单元,用于根据蚁群算法将所述每个清扫区域进行连接;

执行单元,用于在所述每个清扫区域内使用预设清扫方式进行往复清扫,以完成自主清扫路径规划任务。

可选地,所述连接单元用于:

利用蚁群算法对所述每一个清扫区域进行遍历以获取最优路径供设备使用。

可选地,所述装置还包括:

获取单元,用于获取所述自由空间的长度方向;

所述连接单元还用于:

利用蚁群算法沿着所述长度方向对所述自由空间进行遍历。

可选地,所述连接单元还用于:

当所述长度方向为水平方向时,利用蚁群算法对所述自由空间进行横向往复遍历,或/及

当所述长度方向为竖直方向时,利用蚁群算法对所述自由空间进行纵向往复遍历。

可选地,所述第一确定单元用于:

针对所述自由空间利用扫描线沿预设方向进行扫描;

获取前一时刻的自由空间和障碍物空间分布格式;

当出现新的线段且分成两部分的线段被三条线段取代,三条线段对应新的单元格,拥有了新的单元格编号;

当出现消失线段信息的更新,单元格连同与它的相邻两个单元格一同消失,被一个新的单元格所取代,展示变化后的单元格。

从以上技术方案可以看出,本发明实施例具有以下优点:

采用本方案中提供的自主清扫路径规划方法及装置,可以将空白区域划分成若干清扫区域,为后续机器人进行清扫工作提供了安全的保障,另外,采用蚁群算法进行最优路径规划可以缩短机器人的清扫路径,效率提升,节省能耗。

附图说明

图1是本发明提供的自主清扫路径规划方法的一种实施例的流程图;

图2是本发明提供的自主清扫路径规划方法的一种实施例中扫描线在位置1和位置2的示意图;

图3是本发明提供的自主清扫路径规划方法的一种实施例中扫描线在3个不同位置的示意图;

图4a是本发明提供的自主清扫路径规划方法的一种实施例中障碍物段在自由空间段出现的示意图;

图4b是本发明提供的自主清扫路径规划方法的一种实施例中的自由空间段在障碍物段出现的示意图;

图4c是本发明提供的自主清扫路径规划方法的一种实施例中障碍物段消失的示意图;

图4d是本发明提供的自主清扫路径规划方法的一种实施例中自由空间段消失的示意图;

图5a是本发明提供的自主清扫路径规划方法的一种实施例中扫描结果的示意图;

图5b是本发明提供的自主清扫路径规划方法的一种实施例中扫描结果的示意图;

图6是本发明提供的自主清扫路径规划方法的一种实施例中路径规划的示意图;

图7是本发明提供的自主清扫路径规划装置的一种实施例的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

结合图1所示,本发明实施例中提供一种自主清扫路径规划方法,包括:

S101、根据障碍物与处在不同位置的扫描线的交点个数变化确定自由空间的区域划分。

可选地,所述根据障碍物与处在不同位置的扫描线的交点个数变化确定自由空间的区域划分,包括:

针对所述自由空间利用扫描线沿预设方向进行扫描;

获取前一时刻的自由空间和障碍物空间分布格式;

当出现新的线段且分成两部分的线段被三条线段取代,三条线段对应新的单元格,拥有了新的单元格编号;

当出现消失线段信息的更新,单元格连同与它的相邻两个单元格一同消失,被一个新的单元格所取代,展示变化后的单元格。

S102、根据自由空间的区域划分确定每个清扫区域并对所述每个清扫区域进行编号。

S103、根据蚁群算法将所述每个清扫区域连接。

可选地,所述根据蚁群算法将所述每个清扫区域连接,包括:

利用蚁群算法对所述每个清扫区域进行遍历以获取最优路径供设备使用。

可选地,所述利用蚁群算法对所述自由空间进行遍历以获取最优路径供设备使用之前,所述方法还包括:

获取所述待划分区域的长度方向;

所述利用蚁群算法对所述自由空间进行遍历以获取最优路径供设备使用,包括:

利用蚁群算法沿着所述长度方向对所述自由空间进行遍历。

可选地,所述利用蚁群算法沿着所述长度方向对所述自由空间进行遍历,包括:

当所述长度方向为水平方向时,利用蚁群算法对所述自由空间进行横向往复遍历,或/及

当所述长度方向为竖直方向时,利用蚁群算法对所述自由空间进行纵向往复遍历。

S104、在所述每个清扫区域内使用预设清扫方式进行往复清扫,以完成自主清扫路径规划任务。

采用本方案中提供的自主清扫路径规划方法,可以将空白区域划分成若干清扫区域,为后续机器人进行清扫工作提供了安全的保障,另外,采用蚁群算法进行最优路径规划可以缩短机器人的清扫路径,效率提升,节省能耗。

具体地说,使用切线扫描的方法来对整个清扫空间进行区域划分.所谓切线扫描法,就是使用一条由上至下的扫描线从左至右扫过整个地图。这里存在两种区域——障碍物和自由空间。扫描线在每一时刻与一定数目的自由空间以及障碍物相交,相交的结果取决于目标环境的拓扑结构和扫描线的位置。我们把扫描线划分出的不同区域(障碍物和自由空间)叫做线段,扫描线上所有线段的集合成为切线。

图2展示了扫描线与障碍物相交的两个不同位置:在位置1切线包含了一个自由空间段,一个障碍物段,和另外一个自由空间段。在位置2切线有三个自由空间段和两个障碍物段。也就是说切线所产生的自由空间和障碍物段随着切线在目标环境中位置的变化而变化。

在图3中,切线上线段数目的变化表明扫描线遇到了障碍物。在位置1,切线只有一个自由空间段,障碍物段在位置2开始出现,也就是切线开始跟障碍物相交的位置。

如果两条切线Sa和Sb之间相差一个时间步长,我们称这两条切线为相邻切线。如果扫描线每一个时间步长移动距离δx,同时切线Sa和Sb分别对应位置xa和xb,那么切线Sa和Sb相邻当且仅当|xa-xb|=δx。

当相邻切线的线段关系之间发生突变的时候就会产生区域边界,以下是产生区域边界的两种情况:

相邻切线前者的某一线段在后者对应位置被继续划分。

障碍物段在自由空间段出现,结合图4a所示。

自由空间段在障碍物段出现,结合图4b所示。

相邻切线前者的某一线段在后者对应位置消失。

障碍物段消失,结合图4c所示。

自由空间段消失,结合图4d所示,其中,图4a和4b中一条线段分成多条线段,图4c和4d多条线段合并成一条线段。

当切线扫过整个环境时,我们将会得到一系列障碍物和自由空间线段D,只要出现临界情况,我们就终止扫描,处理信息并更新D。

算法有两个循环,第一个循环将扫描线从上至下扫过整个环境(算法第2行),另外一个循环通过对比前后两条扫描线的拓扑结构变化来确定区域编号(算法第5行)。第1行说明算法针对所有单元格,不论是自由空间,还是障碍物空间。在第一个循环中,第3行算法展示了扫描线在每一个时间步长移动长度δx。算法第4行给出了前一时刻的自由空间和障碍物空间分布格式。算法第6和第9行对应两种临界情况:对于出现新的线段(第6行),分成两部分的线段被三条线段取代(第7行),三条线段对应新的单元格,因此也拥有了新的单元格编号ce-1,ce,ce+1,第8行展示了改变后的Dt;对于消失线段信息的更新出现在第9至11行,单元格连同与它的相邻两个单元格一同消失,被一个新的单元格所取代,第11行展示了变化后的Dt

在图5a和图5b的例子中,fn是自由空间单元格,on是障碍物单元格。开始的时候,扫描线只跟自由空间f1相交,只产生一个空间单元格Dt=(f1)。在此之后,障碍物线段出现,使得f1分裂,Dt变成两个自由空间和一个障碍物共三个单元格,即Dt=(f2,o1,f3)。接下来当自由空间出现的时候,障碍物单元格o1分裂,导致Dt=(f2,o2,f4,o3,f3)。之后左侧障碍物先消失,导致o2消失,f2和f4合并,Dt=(f5,o3,f3)。最后当扫描线离开障碍物时,Dt只剩下一个自由空间f6

算法同时考察了自由空间和障碍物单元格,不过由于机器人不能在障碍物单元格移动,因此只有自由空间单元格有研究意义。

在步骤S103中使用蚁群算法,利用区域之间的距离连通矩阵,使遍历总距离最小。

个体行为显得盲目的蚂蚁在组成蚁群后却能产生惊人的自组织行为。生物学研究已表明,在蚂蚁群寻找食物过程中,总能找到一条从蚁穴到距离很远的食物之间的最短路径,而单只蚂蚁却不能。生物学家及仿生学家大量细致观察研究发现,蚂蚁个体之间通过一种被称为信息素(pheromone)的物质进行信息传递,以达到协同工作的目的。蚂蚁在运动过程中,能够在它所经过的路径上留下信息素,而且蚂蚁在运动过程中能够感知这种物质,一条路上的信息素踪迹越浓,其它蚂蚁跟随此路径的概率越高,从而该路径上的信息素踪迹会被加强,这样就会有更多的蚂蚁选择这条路;而某些路径上通过的蚂蚁较少时路径上的信息素就会随时间的推移而蒸发。蚂蚁个体之间就是通过这种间接的通信机制达到协同搜索食物最短路径的目的。

蚁群算法最成功的应用就是在求解商旅(Travelling Salesman Problem,TSP)问题上,这里的问题可以归结为增加了约束条件的TSP问题:传统TSP问题中,旅行商访问一个区域之后可以选择任意一个未访问过的区域,但在我们的问题中,我们只能访问连通区域中的未访问区域。

区域遍历次序问题可以归结为寻求从任意区域出发遍历所有区域所经过的最小距离的序列,优化解中可能有重复遍历的区域,因为任意两个区域之间不一定相互连通。假设将m只蚂蚁放入到给定的n个区域中,那么每一只蚂蚁每一步的行动都将符合下列规律:

根据路径上的信息素浓度,以相应的概率来选取下一个相邻的未访问区域;

如果相邻的区域都已经访问过,则返回此区域的父区域;

蚂蚁每前进一步更新一次路径上残留的信息素。

蚂蚁在选择下一城市的主要依据是两点:

τij:t时刻连接区域i和j的路径上残留信息素的浓度,即由算法本身提供的信息;初始时刻,各条路径上的信息素量相等,设τij=C(C为常数),我们一次来模拟实际蚂蚁的信息素;

ηij:由区域i转移到区域j的启发信息,该启发信息是由要解决的问题给出的,由一定的算法实现。在TSP问题中,一般取ηij=1/dij,dij为区域i和j之间的距离,为了便于计算我们选取两区域面积中心的A星距离。

那么t时刻位于i区域的蚂蚁k选择区域j为目标区域的概率为:

其中α是信息启发因子,表示轨迹的相对重要性,它反映了蚂蚁在运动过程中所积累的信息素在蚂蚁运动时所起的作用,其数值越大,则该蚂蚁越倾向于选择其他蚂蚁经过的路径,表明蚂蚁之间的协作性越强;

β为期望启发因子,表示期望值的相对重要程度,反映了蚂蚁在运动过程中启发信息在蚂蚁选择路径中的受重视程度其值越大,则该状态转移概率越接近于贪婪规则;

Allowedk=visitedk∩neighbourk表示蚂蚁k下一步允许选择的城市。人工蚁群系统具有记忆功能(这一点与实际蚁群不同),为了避免对同一个城市的多次访问,每一只蚂蚁都保存一个列表visitedk,用于记录到目前为止蚂蚁k已经访问过的城市,列表visitedk随着搜索过程做动态调整,同时neighbourk为蚂蚁k当前所在区域的相邻区域集合,如果那么蚂蚁k将返回当前区域的父区域;

为t时刻蚂蚁k由区域t转移到区域t的概率。

为了避免残留信息素过多引起残留信息覆盖启发信息,在每只蚂蚁走完一步或者完成对所有n个区域的遍历(即一次循环结束)后,要对残留信息进行更新处理。这种更新策略模仿了人类大脑记忆的特点,在新信息不断存入大脑的同时,存储在大脑中的旧信息随着时问的推移逐渐淡化,甚至忘记。由此,t+1时刻在路径(i,j)上的信息量可按如下规则做调整:

τij(t+1)=(1-ρ)τij(t)+Δτij(t)

其中Δτij(t)为所有蚂蚁在路径(i,j)上留下的信息素之和,其定义如下:

这里ρ通常称为信息素挥发因子,1-ρ表示信息的残留系数,为了防止信息素的无限积累,ρ的取值范围为:ρ∈(0,1)。

结合图6所示,获得区域之间的遍历次序,针对区域内部,采用之字往复遍历方法。该算法首先对区域形状进行判定:如果区域的水平长度较长则采用横向之字往复遍历,如果区域的竖直方向长度较长则采用纵向之字往复遍历得到的结果。

结合图7所示,本发明实施例中提供一种自主清扫路径规划装置,包括:

第一确定单元701,用于根据障碍物与处在不同位置的扫描线的交点个数变化确定自由空间的区域划分;

第二确定单元702,用于根据自由空间的区域划分确定每个清扫区域并对所述每个清扫区域进行编号;

连接单元703,用于根据蚁群算法将所述每个清扫区域进行连接;

执行单元704,用于在所述每个清扫区域内使用预设清扫方式进行往复清扫,以完成自主清扫路径规划任务。

可选地,所述连接单元703用于:

利用蚁群算法对所述每一个清扫区域进行遍历以获取最优路径供设备使用。

可选地,所述装置还包括:

获取单元705,用于获取所述自由空间的长度方向;

所述连接单元703还用于:

利用蚁群算法沿着所述长度方向对所述自由空间进行遍历。

可选地,所述连接单元703还用于:

当所述长度方向为水平方向时,利用蚁群算法对所述自由空间进行横向往复遍历,或/及

当所述长度方向为竖直方向时,利用蚁群算法对所述自由空间进行纵向往复遍历。

可选地,所述第一确定单元703用于:

针对所述自由空间利用扫描线沿预设方向进行扫描;

获取前一时刻的自由空间和障碍物空间分布格式;

当出现新的线段且分成两部分的线段被三条线段取代,三条线段对应新的单元格,拥有了新的单元格编号;

当出现消失线段信息的更新,单元格连同与它的相邻两个单元格一同消失,被一个新的单元格所取代,展示变化后的单元格。

综上所述,采用本方案中提供的自主清扫路径规划方法及装置,可以将空白区域划分成若干清扫区域,为后续机器人进行清扫工作提供了安全的保障,另外,采用蚁群算法进行最优路径规划可以缩短机器人的清扫路径,效率提升,节省能耗。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。

以上对本发明所提供的一种自主清扫路径规划方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1