CN112833899B - 一种用于无人环卫车的全覆盖路径规划方法 - Google Patents
一种用于无人环卫车的全覆盖路径规划方法 Download PDFInfo
- Publication number
- CN112833899B CN112833899B CN202011619989.6A CN202011619989A CN112833899B CN 112833899 B CN112833899 B CN 112833899B CN 202011619989 A CN202011619989 A CN 202011619989A CN 112833899 B CN112833899 B CN 112833899B
- Authority
- CN
- China
- Prior art keywords
- node
- cleaning
- road
- area
- nodes
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明属于无人环卫车技术领域,具体的说是一种用于无人环卫车的全覆盖路径规划方法。本发明考虑了城市环境相较室内简单环境的复杂之处,在满足无人环卫车总遍历耗时少,覆盖率高的条件下,同时做到了每次遍历起始点终点重合、不存在清扫盲区、可以根据实时垃圾箱、水箱剩余容量、行驶剩余里程动态规划路线等实际要求,并且采用的算法规划效率高,并且非常容易实现,提出了通过偏僻度选择清扫车总站位置,规划路线也可以很好地满足清扫车辆日常维护需要,能够很好地满足无人环卫车在城市环境下清扫并实现全覆盖遍历路径规划的任务。
Description
技术领域
本发明属于无人环卫车技术领域,具体的说是一种用于无人环卫车的全覆盖路径规划方法。
背景技术
目前,无人驾驶技术应用广泛,已经逐步应用到环卫领域,采用激光、视觉等传感器的无人环卫车,可以逐步代替环卫工人完成简单城市环境下的扫地、洗地、垃圾收集、转运等工作,可以将环卫工人从严寒酷暑、风吹日晒以及尘土飞扬的恶劣环境中解放出来,还可以避免因各种原因造成的人员伤害事故。无人环卫车在城市环境下作业,需要实现清扫、避障、路径规划等功能,这里尤其涉及一种路径规划算法——全覆盖路径规划(CoveragePath Planning,CPP)算法,随着无人驾驶技术的不断发展,以及在室内环境作业的扫地机器人的广泛应用,目前这方面的技术已经得到了深入研究。
通常,无人环卫车路径规划分点对点的路径规划以及全覆盖路径规划两种。其中全覆盖路径规划定义为以某种运动方式横跨整片环境,在避开障碍物的同时使得无人环卫车的清扫装置轨迹覆盖整个区域,或者某些关注的区域或点。全覆盖路径应当尽量减少覆盖该区域所需的时间。目前已经涌现出很多相关算法,按照对环境的了解程度,可以分为两类,一种是基于已知地图的全覆盖路径规划,一种是无环境的路径规划。目前家用扫地机器人由于缺乏相关传感器,难以建立环境地图,多采用成本低廉,效率低下的随机算法,通过随机移动策略完成清扫工作。但很明显应用在城市道路环境下的无人清扫车不能像室内扫地机器人一样盲目规划路径。因此需要通过激光雷达等传感器建立环境地图,之后基于已知地图进行全覆盖路径规划。
目前基于已知地图的路径规划算法的研究已经有很多。比较著名的有牛耕算法(Boustrophedon)、梯形区间分解法(Trapezoidal)等基于横扫线策略的全覆盖算法,也有生成树覆盖法(Spanning Tree Coverage,STC)、遗传算法、蚁群算法等基于机器学习算法,本质是划归为求解各区间的访问顺序,即将整体区域划分成块,之后找到一条遍历所有区间的最短路。对于区间内部遍历的过程,针对传统牛耕算法有较多路径死点以及清扫盲点的问题,目前已经提出了各类模板法,对于不同的区间子问题,选择不同的子问题模板,可以极大降低全局覆盖的难度。
目前基于区间分割的路径规划算法已经比较成熟,分割后的子区间已经能做到较好的路径规划,但是子区域之间的衔接,尤其是对于城市路况下,无人环卫车的作业里程受限,垃圾箱、水箱容量受限,使得目前的全覆盖算法无法满足清扫路径闭环、单次清扫里程受限等要求下的实际需求。针对这些情况,设计一种切实可行、易于工程实现同时具有较高覆盖效率的城市多无人环卫车全覆盖路径规划算法,具有重要的理论研究意义和社会应用价值。
发明内容
本发明提供了一种用于无人环卫车的全覆盖路径规划方法,能够使无人环卫车总遍历耗时少,覆盖率高,同时每次遍历起始点终点重合,不存在清扫盲区,同时满足无人清扫车清扫路线根据实时垃圾箱、水箱剩余容量、行驶剩余里程动态可变要求,解决了现有技术存在的上述不足。
本发明技术方案结合附图说明如下:
一种用于无人环卫车的全覆盖路径规划方法,包括以下步骤:
步骤一、建立清扫区域;
步骤二、将清扫区域基于道路属性划分成若干子区域Ei,其中,下标i表示道路编号;将路口单独划分区域Ni,其中下标i表示路口编号;
步骤三、根据道路子区域的车道总宽度和道路总长度,计算每个Ei对应的清扫权值Wi,其中,下标i表示道路编号,以及不清扫时直线通过的通过权值Di,其中,下标i表示对应道路编号;并且计算每个Ni对应的消耗权值Ki,其中,下标i表示对应路口编号;
步骤四、通过遍历到其余路口节点的最短路径计算每个路口节点的偏僻值,设定无人环卫车的总站位置节点S,使其与偏僻值最低的路口节点N相连;S节点位于城市市中心,计算每个路口节点到其余路口节点的最短路径和得到城市中心位置;同时根据最短路径的最大值判断,城市中心距离其最远节点最短距离的往返行程是否超出无人环卫车的最大单次行驶里程M,若超出则应当将区域分割成多个片区,各片区内部设立片区中心存放无人环卫车;
步骤五、假定一个数据结构存放整个地图未清扫过的道路节点Ei的清扫权值Wi,以保证每次取出最大清扫权值的道路节点Emax;
步骤六、每当一辆无人环卫车节点S出发时,取出数据结构中清扫权值最大的道路节点Emax,考察Emax所连路口节点Ni个数,若只有一个,执行步骤七;若大于1,则随机选择相连的两个路口节点,通过最短路算法分别找到不重合的返回总站节点S的最短路径,记相对较短的路径为R1、另一条为R2;将R1作为出发边,R2作为返回边,执行步骤八;
步骤七、通过最短路算法,先找到返回总站节点S的最短路径R1,之后将R1上所有节点暂时增加权值,搜索次短边R2;
步骤八、利用动态规划的思想,计算得到,经过R1、R2闭环路径上所有点,总清扫里程最长的理想清扫分配方案;
步骤九、根据垃圾箱、水箱剩余容量、行驶剩余里程实时调整之后节点的是否清扫状态,并将执行清扫工作的道路节点从数据结构中删除;
步骤十、对于每个道路节点子区域进行区域分割,之后根据子区域清扫策略,规划出一条从上一路口节点Ni到下一路口节点Nj的子区域清扫路径;
步骤十一、返回总站节点后,数据结构中存在待清扫道路节点,执行步骤六,直至整个清扫区域地图均被清扫过,清扫任务完成。
所述步骤一的具体方法如下:
基于城市路网数据,或者激光雷达等传感器采集数据建立清扫区域地图。
所述道路属性包括划分的道路子区域应当满足近似一条道路,即当沿道路宽度方向宽度小于十分之一长度方向的长度,则划分成一个道路子区域。
所述步骤三中清扫权值Wi通过如下公式给出:
其中,xi为广义的道路长度,由于道路并非平直,xi为道路中心线的长度,yi为道路宽度方向的平均长度,r为车辆转弯半径,k为清扫宽度;
相应的通过权值Di通过如下公式给出:
Di=xi
其中,xi为道路中心线的长度;
当无人环卫车处于广场、停车场时,清扫权值Wi通过如下公式给出:
其中,S总为当无人环卫车处于广场、停车场时,所有待清扫区域的总和的总清扫范围面积;S清扫为无人环卫车原地清扫面积;
Di,j=xi,j×1.25
其中,角标,i,j指与当无人环卫车处于广场、停车场时,所有待清扫区域的总和的总清扫范围面积联通的某两个路口节点Ni、Nj的下标,xi,j表示两个路口间直线距离;
消耗权值Ki,通过如下公式给出:
Ki=yi×ti
其中,yi是道路宽度,ti是该路口交通信号灯平均时间,若没有交通信号灯时,取ti=2。
所述步骤五的具体方法如下:
采用节点{Wi,Ei}标注每一个道路节点,将所有的道路节点存成一个完全二叉树,通过向上调整、向下调整的操作,动态维护堆内清扫权值Wi的最大值。
所述步骤六的具体方法如下:
在未清扫过的道路节点中选取最短路,再逐个放宽通过已经清扫过的道路限制,找到清扫效率最优的路线。
所述步骤八和步骤九的具体方法如下:
动态判断行驶路线上点是否被清扫,使用动态规划的思想;若所有经过节点总的清扫权值小于最大单次行驶里程M,所有道路节点都应当清扫;反之,则需要动态判断,记DP状态fi,j,其中,i表示当前清扫到第i个节点,j表示最大单次行驶里程M扣除所有道路节点的通过权值和之后清扫完前i-1个节点的剩余行驶里程;垃圾箱剩余容量、水箱剩余容量、电池/燃料剩余容量换算成行驶里程后的最小值,fi,j表示所能清扫的最大清扫权值和;因为已经清扫完了前i-1个节点,那么对于第i节点,不清扫时,fi,j就是最大清扫权值也不会增加,当其清扫时,剩余行驶里程j将会减少约wi-Di,因此得出状态转移方程:
通过滚动数组记录优化,得到一维状态转移方程:
通过状态转移方程就可以动态地判断下一个节点是清扫还是直接通过,并且可以实时根据垃圾箱剩余容量、水箱剩余容量、电池/燃料剩余容量动态修正j的数值,动态调整清扫分配方案。
所述步骤十的具体方法如下:
从上一路口节点Ni到下一路口节点Nj的子区域清扫路径,路径需要避开区域内的小型障碍物;采用一种基于生成树的子区域全覆盖路径规划,具体细分为以下几个子步骤:
a)沿道路中心线方向作为基准运动方向,是一个含曲率变化的曲线;
b)扫描区域内锐角顶点,经过这些顶点作平行于基准线的曲线,将整个区域划分为若干个子区域A,B,C…
C)建立一个拓扑图G,其中每个节点表示一个子区域,找到与上个路口Ni相邻的子区域作为起始节点St,找到与下个路口Nj相邻的子区域作为结束节点Ed,可以是同一个节点,此时生成一棵以St为根节点、Ed节点为叶子节点的树,其中,子节点之间边暂时先用虚线表示,不在树中,于是转化为找到这棵树的覆盖顺序;
d)从St开始根据如下原则遍历:1若有多个节点与当前节点相连,选择子树最小的那个,2若有多个节点与当前节点,只有当只剩下一个节点为遍历时遍历当前节点即根节点区域;
e)找到覆盖顺序后,首先以基准线为参考,根据覆盖顺序,确定每个区域的进出位置,每个区域应当有偶数个,根据进出位置、无人环卫车原地清扫半径生成横扫线路径规划;
f)将各片区域的路径规划通过进出位置相连接,得到整个子区域的全覆盖路径规划。
本发明的有益效果为:
1)本发明考虑了城市环境相较室内简单环境的复杂之处,在满足无人环卫车总遍历耗时少,覆盖率高的条件下,同时做到了每次遍历起始点终点重合、不存在清扫盲区、可以根据实时垃圾箱、水箱剩余容量、行驶剩余里程动态规划路线等实际要求;
2)本发明算法规划效率高,并且非常容易实现。提出了通过偏僻度选择清扫车总站位置,规划路线也可以很好地满足清扫车辆日常维护需要;
3)本发明能够很好地满足无人环卫车在城市环境下清扫并实现全覆盖遍历路径规划的任务。
附图说明
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明的方法流程图;
图2为本发明实施例中建立清扫区域地图示意图;
图3为道路节点、路口节点划分示意图;
图4为E1道路节点子区域示意图;
图5为E1道路节点子区域示意图;
图6为子区域生成树拓扑图示意图;
图7为子区域覆盖路径示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例以某校区部分校园内地图为例,阐述用于无人环卫车的全覆盖路径规划方法。
参阅图1和图2,步骤一、通过激光雷达等传感器采集数据建立清扫区域地图;清扫区域如图2中加粗黑线所示。
参阅图3,步骤二、将清扫区域基于道路属性划分成若干子区域Ei,其中,下标i表示道路编号;将路口单独划分区域Ni,其中下标i表示路口编号;
道路属性包括划分的道路子区域应当满足近似一条道路,具有沿道路宽度方向宽度变化幅度远小于长度方向的长度,则可以划分成一个道路子区域。注意到在道路子区域内是可以包括少量障碍物的,这些障碍物会在步骤九区域分割划分局部区域时剔除出清扫范围。
步骤三、根据道路子区域的车道总宽度和道路总长度,计算每个Ei对应的清扫权值Wi,其中,下标i表示道路编号,以及不清扫时直线通过的通过权值Di,其中,下标i表示对应道路编号;并且计算每个Ni对应的消耗权值Ki,其中,下标i表示对应路口编号;根据路口的复杂度,主要考虑等待红绿灯时的待机消耗,根据公式分别计算每个Ni对应的消耗权值Ki,其中下标i表示对应路口编号。可以注意到,此时每道路区域Ei都应当与一个或多个路口Ni相连。整个路网可标注为一个含边权Wi/Di、点权Ki的无向连通图。
清扫权值Wi通过如下公式给出:
其中,xi为广义的道路长度,由于道路并非平直,xi为道路中心线的长度,yi为道路宽度方向的平均长度,r为车辆转弯半径,k为清扫宽度;
相应的通过权值Di通过如下公式给出:
Di=xi
其中,xi为道路中心线的长度;
对于,一些类似广场、停车场等同样需要清扫但是没有明显长宽关系的清扫区域应当单独划分(如图3中所示的E26),同样作为道路节点,但是其在步骤三计算清扫权值、通过权值时与普通道路不同。往往广场、停车场有多个出入口与多个路口节点相连,则其通过权值应当针对不同的相连节点有多个取值。
可以根据如下公式计算:
其中,S总为当无人环卫车处于广场、停车场时,所有待清扫区域的总和的总清扫范围面积,S清扫为无人环卫车原地清扫面积。
Di,j=xi,j×1.25
其中,角标i,j指与当无人环卫车处于广场、停车场时,所有待清扫区域的总和的总清扫范围面积联通的某两个路口节点Ni、Nj的下标,xi,j表示两个路口间直线距离;
消耗权值Ki,可以通过如下公式给出:
Ki=yi×ti
其中,yi是道路宽度,ti是该路口交通信号灯平均时间,若没有交通信号灯时,取ti=2,在下面的计算中,考虑到校园内交通较为简单,路口消耗权值不纳入计算;图3中清扫权值、通过权值参考取值见表1。
表1
步骤四、
计算每个路口节点的偏僻值,设定无人环卫车的总站位置节点S,使其与偏僻值最低的路口节点N相连
每个路口节点的偏僻值,可以通过遍历到其余路口节点的最短路径和计算得到城市中心距离其最远节点最短距离的往返行程是否超出无人环卫车的最大单次行驶里程M,若超出则应当将区域分割成多个片区,各片区内部设立片区中心存放无人环卫车。如图3地图为例,可以选择路口节点N11设立清扫总站,无人环卫车的最大单次行驶里程M取80,下同。
步骤五、假定一个数据结构存放整个地图未清扫过的道路节点Ei的清扫权值Wi,以保证每次可以取出最大清扫权值的道路节点Emax。
可以通过很多方法获得目前未清扫过的清扫权值最大的道路节点。
本发明中采用维护一个大根堆数据结构,可以采用如下的一种经典存储方法:采用节点{Wi,Ei}标注每一个道路节点,将所有的道路节点存成一个完全二叉树,通过向上调整、向下调整的操作,动态维护堆内清扫权值Wi的最大值。可以证明每一次操作的时间复杂度是O(logn),具有不错的时空复杂度。
对于图3所示地图(不考虑清扫过程中的实时更新,下同),第一次遍历Emax节点为E1,第二次遍历Emax节点为E26,第三次遍历Emax节点为E9,第四次遍历Emax节点为E29,第五次遍历Emax节点为E6,第六次遍历Emax节点为E10。
步骤六、每当一辆无人环卫车节点S出发时,取出数据结构中清扫权值最大的道路节点Emax,考察Emax所连路口节点Ni个数,若只有一个,执行步骤七。若大于1,则随机选择相连的两个路口节点,通过最短路算法分别找到不重合的返回总站节点S的最短路径,记相对较短的路径为R1、另一条为R2。将R1作为出发边,R2作为返回边,执行步骤八。
步骤七、若Emax所连路口节点Ni个数,若只有一个,通过最短路算法,先找到返回总站节点S的最短路径R1,之后将R1上所有节点暂时增加权值,搜索次短边R2,执行步骤八。
最短路算法,指找到道路节点两端节点返回总站节点最短路,可以采用很多经典算法,例如Dijkstra、A*、SPFA等。需要注意的是,在这里为了提高清扫效率,可以优先在未清扫过的道路节点中选取最短路,再逐个放宽通过已经清扫过的道路限制,找到清扫效率最优的路线。本发明考虑到,总站位置在城市中心,所以,最短路径方向是指向城市内部的,因此选择A*这类启发式算法可以降低计算复杂度。
对于图3所示地图,第一次遍历得到的最短路为R1、R2分别为:
R1:E1→N1→N11
R2:E1→N1→N2→N3→N4→N11
第二次遍历得到的最短路为R1、R2分别为:
R1:E26→N17→N13→N12→N11
R2:E26→N16→N15→N14→N7→N8→N4→N11
第三次遍历得到的最短路为R1、R2分别为:
R1:E9→N4→N11
R2:E9→N3(→E8)→N2(→E5→(N20→E6))→N1→N12(→E2)→N11
第四次遍历得到的最短路为R1、R2分别为:
R1:E29→N18→N12→N11
R2:E29→N18→N19(→E27,→E28)→N17→N13(→E23)→N12→N11(→N10→E19)
第五次遍历得到的最短路为R1、R2分别为:
R1:E6→N20→N2→N3→N4→N11
R2:E6→N20→N2→N3→N4(→E10→N5(→E11,→E12(→N6→E13)))→N11
第六次遍历得到的最短路为R1、R2分别为:
R1:E10→N4→N11
R2:E10→N4→N11(→E17)
步骤八、由于垃圾箱、水箱剩余容量、行驶剩余里程是实时变化的,所以除了Emax之外,其余经过的道路节点不是都会执行清扫工作的。所以首先利用动态规划的思想,计算得到,经过R1、R2闭环路径上所有点,总清扫里程最长的理想清扫分配方案。
动态判断行驶路线上点是否被清扫,可以使用动态规划的思想。若所有经过节点总的清扫权值小于的最大单次行驶里程M,显然所有道路节点都应当清扫。反之,则需要动态判断,记DP状态fi,j,其中i表示当前清扫到第i个节点,j表示最大单次行驶里程M扣除所有道路节点的通过权值和之后清扫完前i-1个节点的剩余行驶里程(垃圾箱剩余容量、水箱剩余容量、电池/燃料剩余容量换算成行驶里程后的最小值),fi,j表示所能清扫的最大清扫权值和,考虑到当我们已经清扫完了前i-1个节点,那么对于第i节点,不清扫时,fi,j也就是最大清扫权值和不会增加,当其清扫时,剩余行驶里程j将会减少约wi-Di,因此可以得出状态转移方程:
可以通过滚动数组记录优化,得到一维状态转移方程:
通过状态转移方程就可以动态地判断下一个节点是清扫还是直接通过,并且可以实时根据垃圾箱剩余容量、水箱剩余容量、电池/燃料剩余容量动态修正j的数值,动态调整清扫分配方案。
以图3所示地图,第一次遍历得到的最短路为R1、R2为例,R1、R2如下:
R1:E1→N1→N11
R2:E1→N1→N2→N3→N4→N11
从总站出发前,暂时不考虑之后根据垃圾箱剩余容量、水箱剩余容量、电池/燃料剩余容量的动态修正,首先计算R1、R2经过的道路节点、路口节点的通过权值(消耗权值这里取0就不纳入计算了)之和:
因此,不需要扩大清扫范围。
总剩余清扫能力:
j=80-57.5=22.5
根据二维状态转移方程:
初始化
fi,j=0
手动模拟动态规划矩阵如表2所示:
表2动态规划状态矩阵示意表
并且可以在每次通过一个节点后动态更新动态规划矩阵中的剩余行驶里程/值,动态改变之后的清扫方案。
以图3所示地图,最终可以得到如下的路线规划方案:
第一次:(总和80)
N11→N1→E1(*)→N1→E3(*)→N2→E7(*)→N3→N4→N11
第二次:(总和80)
N11→N12→N13→E24(*)→N17→E26(*)→N16→E32(*)→N15→E22(*)→N14→E21(*)→N7→E14(*)→N8→E15(*)→N4→E16(*)→N11
第三次:(总和79.5,扩大了R1、R2)
N11→N4→E9(*)→N3→E8(*)→N3→N2→E5(*)→N2→E4(*)→N2→N1→E2(*)→N12→E18(*)→N11
第四次:(总和78,扩大了R1、R2)
N11→N12→N18→E29(*)→N18→E31(*)→N19→E27(*)→N19→E28(*)→N19→N17→N13→E23(*)→E25(*)→N12→N11→N10→E19(*)→N10→N11
第五次:(总和79,扩大了R1、R2)
N11→N4→N3→N2→N20→E6(*)→N20→N2→N3→N4→N5→E12(*)→N6→E13(*)→N5→N4→N11
第六次:(总和22)
N11→N4→E10(*)→N4→N11→E17(*)→N11
(*):路径中清扫的道路节点。
步骤九、根据垃圾箱、水箱剩余容量、行驶剩余里程实时调整之后节点的是否清扫状态,并将执行清扫工作的道路节点从数据结构中删除。
步骤十、对于每个道路节点子区域进行区域分割,之后根据子区域清扫策略,规划出一条从上一路口节点Ni到下一路口节点Nj的子区域清扫路径。
对于道路子区域可以采用很多经典方法得到从上一路口节点Ni到下一路口节点Nj的子区域清扫路径,路径需要避开区域内的小型障碍物(例如行道树)。
这里以图3中的E1道路节点子区域,如图4和图5所示为例说明子区域的具体子区域路径规划方法。
这里采用一种基于生成树的子区域全覆盖路径规划,具体可以细分为以下几个子步骤:
a)沿道路中心线方向作为基准运动方向,可以是一个含曲率变化的曲线,如图中所示绿色实线。
b)扫描区域内锐角顶点,经过这些顶点作平行于基准线的曲线,将整个区域划分为若干个子区域A,B,C...,如图中所示A~G七个区域。
C)建立一个拓扑图G,其中每个节点表示一个子区域,找到与上个路口Ni相邻的子区域作为起始节点St,找到与下个路口Nj相邻的子区域作为结束节点Ed,可以是同一个节点(例如道路节点内部并无障碍物),此时可以生成一棵以St为根节点、Ed节点为叶子节点的树(子节点之间边暂时先用虚线表示,不在树中),于是转化为找到这棵树的覆盖顺序。
以图4和图5所示子区域的相邻节点为N1,可以选择A、D或G作为St、Ed生成树,这里以A为St,G为Ed为例,可以生成树如下图6所示.
d)从St开始根据如下原则遍历:1若有多个节点与当前节点相连,选择子树最小的那个,2若有多个节点与当前节点,只有当只剩下一个节点为遍历时遍历当前节点(根节点)区域。
以图4和图5所示子区域,以A为St,G为Ed为例的覆盖顺序为:
A(*)→C→A→B→D(*)→E→D→F→G
(*):经过不全覆盖清扫
e)找到覆盖顺序后,首先以基准线为参考,根据覆盖顺序,确定每个区域的进出位置,根据进出位置、无人环卫车原地清扫半径生成横扫线路径规划(此时会因为有多个进出位置导致的少量重叠覆盖路径,但相对于总的清扫行程是很少的)。
以图4和图5所示子区域,以A为St,G为Ed为例的子区域覆盖路径如下图7所示。
f)将各片区域的路径规划通过进出位置相连接,可以得到整个子区域的全覆盖路径规划。
Claims (8)
1.一种用于无人环卫车的全覆盖路径规划方法,其特征在于,包括以下步骤:
步骤一、建立清扫区域;
步骤二、将清扫区域基于道路属性划分成若干子区域道路节点Ei,其中,下标i表示道路编号;将路口单独划分区域路口节点Ni,其中下标i表示路口编号;
步骤三、根据道路子区域的车道总宽度和道路总长度,计算每个Ei对应的清扫权值Wi,其中,下标i表示道路编号,以及不清扫时直线通过的通过权值Di,其中,下标i表示对应道路编号;并且计算每个Ni对应的消耗权值Ki,其中,下标i表示对应路口编号;
步骤四、通过遍历到其余路口节点的最短路径计算每个路口节点的偏僻值,设定无人环卫车的总站位置节点S,使其与偏僻值最低的路口节点N相连;S节点位于城市市中心,计算每个路口节点到其余路口节点的最短路径和得到城市中心位置;同时根据最短路径的最大值判断,城市中心距离其最远节点最短距离的往返行程是否超出无人环卫车的最大单次行驶里程M,若超出则应当将区域分割成多个片区,各片区内部设立片区中心存放无人环卫车;
步骤五、假定一个数据结构存放整个地图未清扫过的道路节点Ei的清扫权值Wi,以保证每次取出最大清扫权值的道路节点Emax;
步骤六、每当一辆无人环卫车节点S出发时,取出数据结构中清扫权值最大的道路节点Emax,考察Emax所连路口节点Ni个数,若只有一个,执行步骤七;若大于1,则随机选择相连的两个路口节点,通过最短路算法分别找到不重合的返回总站节点S的最短路径,记相对较短的路径为R1、另一条为R2;将R1作为出发边,R2作为返回边,执行步骤八;
步骤七、通过最短路算法,先找到返回总站节点S的最短路径R1,之后将R1上所有节点暂时增加权值,搜索次短边R2;
步骤八、利用动态规划的思想,计算得到经过R1、R2闭环路径上所有点,总清扫里程最长的理想清扫分配方案;
步骤九、根据垃圾箱、水箱剩余容量、行驶剩余里程实时调整之后节点的是否清扫状态,并将执行清扫工作的道路节点从数据结构中删除;
步骤十、对于每个道路节点子区域进行区域分割,之后根据子区域清扫策略,规划出一条从上一路口节点Ni到下一路口节点Nj的子区域清扫路径;
步骤十一、返回总站节点后,数据结构中存在待清扫道路节点,执行步骤六,直至整个清扫区域地图均被清扫过,清扫任务完成。
2.根据权利要求1所述的一种用于无人环卫车的全覆盖路径规划方法,其特征在于,所述步骤一的具体方法如下:
基于城市路网数据,通过激光雷达采集数据建立清扫区域地图。
3.根据权利要求1所述的一种用于无人环卫车的全覆盖路径规划方法,其特征在于,所述道路属性包括划分的道路子区域应当满足一条道路,即当沿道路宽度方向宽度小于十分之一长度方向的长度,则划分成一个道路子区域。
4.根据权利要求1所述的一种用于无人环卫车的全覆盖路径规划方法,其特征在于,所述步骤三中清扫权值Wi通过如下公式给出:
其中,xi为广义的道路长度,由于道路并非平直,xi为道路中心线的长度,yi为道路宽度方向的平均长度,r为车辆转弯半径,k为清扫宽度;
相应的通过权值Di通过如下公式给出:
Di=xi
其中,xi为道路中心线的长度;
当无人环卫车处于广场、停车场时,清扫权值Wi通过如下公式给出:
其中,S总为当无人环卫车处于广场、停车场时,所有待清扫区域的总和的总清扫范围面积;S清扫为无人环卫车原地清扫面积;
Di,j=xi,j×1.25
其中,角标i,j指与当无人环卫车处于广场、停车场时,所有待清扫区域的总和的总清扫范围面积联通的某两个路口节点Ni、Nj的下标,xi,j表示两个路口间直线距离;
消耗权值Ki,通过如下公式给出:
Ki=yi×ti
其中,yi是道路宽度方向的平均长度,ti是路口交通信号灯平均时间,若没有交通信号灯时,取ti=2。
5.根据权利要求1所述的一种用于无人环卫车的全覆盖路径规划方法,其特征在于,所述步骤五的具体方法如下:
采用节点{Wi,Ei}标注每一个道路节点,将所有的道路节点存成一个完全二叉树,通过向上调整、向下调整的操作,动态维护堆内清扫权值Wi的最大值。
6.根据权利要求1所述的一种用于无人环卫车的全覆盖路径规划方法,其特征在于,所述步骤六的具体方法如下:
在未清扫过的道路节点中选取最短路,再逐个放宽通过已经清扫过的道路限制,找到清扫效率最优的路线。
7.根据权利要求1所述的一种用于无人环卫车的全覆盖路径规划方法,其特征在于,所述步骤八和步骤九的具体方法如下:
动态判断行驶路线上点是否被清扫,使用动态规划的思想;若所有经过节点总的清扫权值小于最大单次行驶里程M,所有道路节点都应当清扫;反之,则需要动态判断,记DP状态fi,j,其中,i表示当前清扫到第i个节点,j表示最大单次行驶里程M扣除所有道路节点的通过权值和之后清扫完前i-1个节点的剩余行驶里程;垃圾箱剩余容量、水箱剩余容量、电池/燃料剩余容量换算成行驶里程后的最小值,fi,j表示所能清扫的最大清扫权值和;因为已经清扫完了前i-1个节点,那么对于第i节点,不清扫时,fi,j就是最大清扫权值也不会增加,当其清扫时,剩余行驶里程j将会减少wi-Di,因此得出状态转移方程:
通过滚动数组记录优化,得到一维状态转移方程:
通过状态转移方程就动态地判断下一个节点是清扫还是直接通过,并且实时根据垃圾箱剩余容量、水箱剩余容量、电池/燃料剩余容量动态修正j的数值,动态调整清扫分配方案。
8.根据权利要求1所述的一种用于无人环卫车的全覆盖路径规划方法,其特征在于,所述步骤十的具体方法如下:
从上一路口节点Ni到下一路口节点Nj的子区域清扫路径,路径需要避开区域内的小型障碍物;采用一种基于生成树的子区域全覆盖路径规划,具体细分为以下几个子步骤;
a)沿道路中心线方向作为基准运动方向,是一个含曲率变化的曲线;
b)扫描区域内锐角顶点,经过这些顶点作平行于基准线的曲线,将整个区域划分为若干个子区域A,B,C...
c)建立一个拓扑图G,其中每个节点表示一个子区域,找到与上个路口Ni相邻的子区域作为起始节点St,找到与下个路口Nj相邻的子区域作为结束节点Ed,是同一个节点,此时生成一棵以St为根节点、Ed节点为叶子节点的树,其中,子节点之间边暂时先用虚线表示,不在树中,于是转化为找到这棵树的覆盖顺序;
d)从St开始根据如下原则遍历:1若有多个节点与当前节点相连,选择子树最小的那个,2若存在多个节点与当前节点,只有当只剩下一个节点未遍历时遍历当前节点即根节点区域;
e)找到覆盖顺序后,首先以基准线为参考,根据覆盖顺序,确定每个区域的进出位置,每个区域应当有偶数个,根据进出位置、无人环卫车原地清扫半径生成横扫线路径规划;
f)将各片区域的路径规划通过进出位置相连接,得到整个子区域的全覆盖路径规划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011619989.6A CN112833899B (zh) | 2020-12-31 | 2020-12-31 | 一种用于无人环卫车的全覆盖路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011619989.6A CN112833899B (zh) | 2020-12-31 | 2020-12-31 | 一种用于无人环卫车的全覆盖路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112833899A CN112833899A (zh) | 2021-05-25 |
CN112833899B true CN112833899B (zh) | 2022-02-15 |
Family
ID=75925761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011619989.6A Active CN112833899B (zh) | 2020-12-31 | 2020-12-31 | 一种用于无人环卫车的全覆盖路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112833899B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113693501A (zh) * | 2021-06-09 | 2021-11-26 | 北京石头世纪科技股份有限公司 | 清洁设备和清洁路径、清洁地图生成方法及生成系统 |
CN113673821A (zh) * | 2021-07-14 | 2021-11-19 | 武汉光昱明晟智能科技有限公司 | 一种园区道路清扫车的智能调度方法及系统 |
CN114013338B (zh) * | 2021-12-24 | 2023-06-23 | 东风悦享科技有限公司 | 一种无人清扫车的智能充电调度方法、系统 |
CN114386690A (zh) * | 2022-01-10 | 2022-04-22 | 苏迈特智能科技(江苏)有限公司 | 垃圾车路线规划方法及系统、电子装置及可读存储介质 |
CN114485705B (zh) * | 2022-01-12 | 2024-05-14 | 上海于万科技有限公司 | 一种基于路网地图的清扫路径确定方法及系统 |
CN114485714B (zh) * | 2022-02-21 | 2024-04-12 | 苏州挚途科技有限公司 | 清扫路径生成的方法、装置及电子设备 |
CN115848390B (zh) * | 2023-03-03 | 2023-05-16 | 江苏艾力信通动力技术有限公司 | 一种基于边缘计算技术的多场景环卫智能作业驾舱 |
CN117558147B (zh) * | 2024-01-11 | 2024-03-26 | 上海伯镭智能科技有限公司 | 一种矿区无人驾驶车辆路权分配远程管控方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012006659A1 (en) * | 2010-07-14 | 2012-01-19 | With One Button Pty Ltd | Method and system for routing of electronic messages |
CN108592923A (zh) * | 2018-06-05 | 2018-09-28 | 北京智行者科技有限公司 | 一种作业路径规划方法 |
CN108691286A (zh) * | 2018-03-29 | 2018-10-23 | 福建龙马环卫装备股份有限公司 | 一种保洁车卸料方法及其对接车 |
WO2019107738A1 (ko) * | 2017-11-30 | 2019-06-06 | 주식회사 이큐브랩 | 쓰레기 수거 차량제어 방법, 이를 수행하는 쓰레기 수거 차량제어 장치 및 이를 저장하는 기록매체 |
CN110023866A (zh) * | 2016-11-02 | 2019-07-16 | 云海智行股份有限公司 | 用于自主导航中的动态路线规划的系统和方法 |
CN111258318A (zh) * | 2020-01-22 | 2020-06-09 | 东风商用车有限公司 | 一种环卫车自动驾驶系统及其控制方法 |
CN111521189A (zh) * | 2020-04-10 | 2020-08-11 | 北京智行者科技有限公司 | 清扫路径规划方法及装置 |
CN111536987A (zh) * | 2020-05-19 | 2020-08-14 | 安庆师范大学 | 一种用于大面积垃圾清扫的车辆路径规划方法 |
CN112033404A (zh) * | 2020-07-31 | 2020-12-04 | 重庆智行者信息科技有限公司 | 一种无人清扫车多连通区域全覆盖清扫路径规划方法 |
-
2020
- 2020-12-31 CN CN202011619989.6A patent/CN112833899B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012006659A1 (en) * | 2010-07-14 | 2012-01-19 | With One Button Pty Ltd | Method and system for routing of electronic messages |
CN110023866A (zh) * | 2016-11-02 | 2019-07-16 | 云海智行股份有限公司 | 用于自主导航中的动态路线规划的系统和方法 |
WO2019107738A1 (ko) * | 2017-11-30 | 2019-06-06 | 주식회사 이큐브랩 | 쓰레기 수거 차량제어 방법, 이를 수행하는 쓰레기 수거 차량제어 장치 및 이를 저장하는 기록매체 |
CN108691286A (zh) * | 2018-03-29 | 2018-10-23 | 福建龙马环卫装备股份有限公司 | 一种保洁车卸料方法及其对接车 |
CN108592923A (zh) * | 2018-06-05 | 2018-09-28 | 北京智行者科技有限公司 | 一种作业路径规划方法 |
CN111258318A (zh) * | 2020-01-22 | 2020-06-09 | 东风商用车有限公司 | 一种环卫车自动驾驶系统及其控制方法 |
CN111521189A (zh) * | 2020-04-10 | 2020-08-11 | 北京智行者科技有限公司 | 清扫路径规划方法及装置 |
CN111536987A (zh) * | 2020-05-19 | 2020-08-14 | 安庆师范大学 | 一种用于大面积垃圾清扫的车辆路径规划方法 |
CN112033404A (zh) * | 2020-07-31 | 2020-12-04 | 重庆智行者信息科技有限公司 | 一种无人清扫车多连通区域全覆盖清扫路径规划方法 |
Non-Patent Citations (2)
Title |
---|
Mobile robot multi-resolution full coverage path planning algorithm;YunFei Ma 等;《2018 5th International Conference on Systems and Informatics (ICSAI)》;20190103;第1-6页 * |
一种基于分步遗传算法的多无人清洁车区域覆盖路径规划方法;罗志远 等;《电子测量与仪器学报》;20200831;第34卷(第8期);第43-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112833899A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112833899B (zh) | 一种用于无人环卫车的全覆盖路径规划方法 | |
CN113341991B (zh) | 一种基于动态窗口和冗余节点过滤的路径优化方法 | |
Konolige et al. | Navigation in hybrid metric-topological maps | |
WO2023155371A1 (zh) | 室内移动机器人的平稳移动全局路径规划方法 | |
CN111060108B (zh) | 路径规划方法和装置、工程车辆 | |
CN108334080B (zh) | 一种针对机器人导航的虚拟墙自动生成方法 | |
CN106647754A (zh) | 一种果园履带机器人路径规划方法 | |
CN109059924A (zh) | 基于a*算法的伴随机器人增量路径规划方法及系统 | |
CN105589461A (zh) | 一种基于改进蚁群算法的泊车系统路径规划方法 | |
CN111679692A (zh) | 一种基于改进A-star算法的无人机路径规划方法 | |
CN112435498B (zh) | 一种基于方向性诱导的城市路网最短路径获取方法 | |
CN108592928B (zh) | 车辆搭载无人机双层路径的构造方法及装置 | |
CN110967032A (zh) | 一种野外环境下无人车局部行驶路线实时规划方法 | |
CN114706400A (zh) | 一种越野环境下基于改进的a*算法的路径规划方法 | |
CN113048981B (zh) | 一种面向dem的无道路区域路径规划算法的方法 | |
CN110426044A (zh) | 一种基于凸集计算和优化蚁群算法的避障路径规划方法 | |
CN106530779A (zh) | 一种基于城市交通控制信号灯的路径规划方法及系统 | |
CN117249842A (zh) | 一种基于轨迹平滑优化的无人车混合轨迹规划方法 | |
CN117553818A (zh) | 一种基于改进a*算法的路径规划方法及系统 | |
CN112288854B (zh) | 立交桥三维模型的构建方法 | |
CN116839609A (zh) | 全覆盖路径规划方法、装置及计算机可读存储介质 | |
CN116414139A (zh) | 基于A-Star算法的移动机器人复杂路径规划方法 | |
Ma et al. | Mobile robot multi-resolution full coverage path planning algorithm | |
CN113848925A (zh) | 一种基于slam的无人碾压动态路径自主规划方法 | |
CN112631300A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221229 Address after: Room 302, 3rd Floor, Incubation Building A, Haichuang Space, Tongyuan North Road, Huai'an Economic and Technological Development Zone, Jiangsu Province, 223005 Patentee after: Changhuai Zhijia (Huai'an) Automobile Technology Co.,Ltd. Address before: 130012 No.2699 Qianjin Street, Changchun hi tech Industrial Development Zone, Changchun City, Jilin Province Patentee before: Jilin University |