CN112631300B - 一种光伏阵列智能清洗机器人的路径规划方法 - Google Patents

一种光伏阵列智能清洗机器人的路径规划方法 Download PDF

Info

Publication number
CN112631300B
CN112631300B CN202011556810.7A CN202011556810A CN112631300B CN 112631300 B CN112631300 B CN 112631300B CN 202011556810 A CN202011556810 A CN 202011556810A CN 112631300 B CN112631300 B CN 112631300B
Authority
CN
China
Prior art keywords
points
photovoltaic array
path
point
road
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
Application number
CN202011556810.7A
Other languages
English (en)
Other versions
CN112631300A (zh
Inventor
吴飞
罗米
徐涛
王烁
吕金秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Kalman Navigation Technology Co ltd
Original Assignee
Wuxi Kalman Navigation Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Kalman Navigation Technology Co ltd filed Critical Wuxi Kalman Navigation Technology Co ltd
Priority to CN202011556810.7A priority Critical patent/CN112631300B/zh
Publication of CN112631300A publication Critical patent/CN112631300A/zh
Application granted granted Critical
Publication of CN112631300B publication Critical patent/CN112631300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

Abstract

本发明公开了一种光伏阵列智能清洗机器人的路径规划方法,属于机器人自主路径规划领域。所述方法将光伏阵列划分为二维索引数组,根据光伏阵列已清洗部分和未清洗部分的分布确定作业起始点,并规划“弓”字形路径;将场景中的道路点、围墙点、停车位点根据它们之间的连通关系建立无向图,通过dijkstra算法计算机器人当前点到作业起始点的最短路径;能够为光伏阵列清洗机器人从作业开始到作业结束返回提供一条完整的作业路径,并选出最短的路径,同时能跳过已经清洗过的光伏面板;还能判断路径是否可能与围墙、阵列碰撞而重新规划新的路径;在遇到电量不足返回充电等突发状况时,能规划当前位置返回停车点的最短路径。

Description

一种光伏阵列智能清洗机器人的路径规划方法
技术领域
本发明涉及一种光伏阵列智能清洗机器人的路径规划方法,属于机器人自主路径规划领域。
背景技术
光伏阵列,是指将太阳能光伏板以一定的排列方式组合起来(如阵列,圆形阵列等)以便于更好地采集光能用于发电、提高光能利用率的装置。实际应用中,空气中的尘埃会源源不断的沉积在光伏板的表面,一定程度上影响光伏板的发电效率,所以随着我国光伏发电行业不断发展,对于光伏阵列智能清洗机器人的研究也不断地深入。
其中,机器人的作业路径规划是一个重要的命题,如何在最短的时间内遍历所有光伏阵列,如何跳过已经清洗过的光伏阵列,如何判断生成的作业路径是否安全等等都是需要考虑的问题。
目前国内外全无人化的光伏阵列智能清洗机器人还处于较为空白的阶段,现有的自动化光伏清洁设备是以吸附式或轨道式小型机器人为主,通常一行光伏阵列需要安装一个机器人或需要人工将机器人在多个阵列间转移,或者需要安装额外的轨道。而对于车辆式的光伏阵列清洗机器人,相关的资料较少,现存资料实现的智能化程度也较低,且没有一套能够进行完整光伏阵列清洗作业流程的路径规划方案。
发明内容
为了提供一套能够进行完整光伏阵列清洗作业流程的路径规划方案,满足光伏阵列清洗作业流程的如下要求:
清洗机器人能从任一位置或停车位置启动,并能自主规划到作业区域的路径,自动规划作业区域内的清洗作业路径,自动避开障碍,完成作业后、中途返回充电、中途中断作业等操作能够自动规划返回停车位的路径。
本发明提供了一种光伏阵列智能清洗机器人的路径规划方法,所述方法是基于图算法实现光伏阵列智能清洗机器人的路径规划,所述方法包括:
Step1:获取光伏阵列的角点集{Pcorner}、道路点集{proad}、围墙点集{Pwall}和停车点集{Pparking}的大地坐标并转化为东北天坐标,所述大地坐标包括经度、纬度和高程;
Step2:建立空有向图G,将道路点集{Proad}中的所有道路点添加至图G,根据道路点之间是否为连接关系添加边;
Step3:将停车点集{Pparking}中的所有停车点添加至图G中,寻找与停车位点最近的道路点,在它们之间添加一条边;
Step4:使用所有道路点{Proad}坐标建立一棵KD树Tr;
Step5:根据每个光伏阵列的两个角点所构成直线的斜率和位置分布将所有光伏阵列用一个二维索引数组标记;
Step6:获取机器人当前位置信息Pnow,并根据Pnow和KD树Tr以及优先原则规划当前位置到作业起点的路径;所述作业起点为矩形的光伏作业区域的左上、右上、左下、右下四个方向的起点;
Step7:根据光伏阵列的二维索引数组规划“弓”字形作业路径。
Step8:规划到最近的停车点的路径。
可选的,所述Step2还包括:对于不存在连接关系的两个道路点,计算二者之间的距离;若二者之间的距离小于一定阈值Tdis且未曾有边连接,则同样添加一条边。
可选的,所述Step5包括:
Step5.1计算平均斜率
Figure GDA0003764173180000021
和中心点Pmid
Figure GDA0003764173180000022
Pmid=mean(sum({Proad}))
Figure GDA0003764173180000023
其中,
Figure GDA0003764173180000024
Figure GDA0003764173180000025
分别表示第i个光伏阵列第一个角点和第二个角点,
Figure GDA0003764173180000026
表示求第i个光伏阵列两个角点构成直线的斜率,
Figure GDA0003764173180000027
表示对所有光伏阵列两个角点构成直线的斜率值求平均,sum({proad}表示所有光伏阵列角点坐标求和,mean(sum({Proad}))表示对所有光伏阵列角点坐标之和求平均,
Figure GDA0003764173180000028
表示第i个光伏阵列的下边缘中心;
Step5.2以斜率
Figure GDA0003764173180000029
通过中心点Pmid构成一条直线Lmid,再经过中心点Pmid得到垂直于Lmid得到一条直线Lv_mid,分别计算各个光伏阵列下边缘中心
Figure GDA00037641731800000210
到两条直线的垂线长度
Figure GDA00037641731800000211
Figure GDA00037641731800000212
所有光伏阵列都计算完成后,分别用
Figure GDA00037641731800000213
Figure GDA00037641731800000214
减掉最小值
Figure GDA00037641731800000215
Figure GDA00037641731800000216
后再除以光伏阵列的水平间隔Invlh和垂直间隔Invlv,取整后得到第i个光伏阵列的二维索引(ri,ci);其中,
Figure GDA00037641731800000217
Figure GDA00037641731800000218
分别表示各个光伏阵列下边缘中心
Figure GDA00037641731800000219
到两条直线的垂线长度
Figure GDA00037641731800000220
Figure GDA00037641731800000221
对应的最小值;光伏阵列的水平间隔Invlh和垂直间隔Invlv为先验信息;
Figure GDA00037641731800000222
round()代表取整。
可选的,所述Step6中优先原则包括节点优先原则和距离优先原则。
可选的,所述Step6包括:
Step6.1计算每行光伏阵列,未清洗的阵列的最小列数和最大列数;
Step6.2计算光伏阵列的四个作业起点的索引,四个作业起点分别记为
Figure GDA0003764173180000031
Figure GDA0003764173180000032
Step6.3分别计算机器人当前位置Pnow到四个作业起点
Figure GDA0003764173180000033
Figure GDA0003764173180000034
的距离,选择最近点作为目标作业起点Ptarget
Step6.4根据节点优先原则或者距离优先原则规划当前位置到目标作业起点的路径。
可选的,若采用节点优先原则,则Step6.4包括:
使用最近邻搜索算法从KD树Tr中搜寻距离机器人当前位置Pnow最近的N个节点构成点集
Figure GDA0003764173180000035
同样使用最近邻搜索算法从KD树Tr中搜寻距离目标作业起点Ptarget最近的N个节点构成点集
Figure GDA0003764173180000036
对机器人当前位置点Pnow到距离机器人位置最近的第n个节点
Figure GDA0003764173180000037
构成的路径进行碰撞检测;如果没有发生碰撞,则将机器人当前位置点Pnow到距离机器人位置最近的第n个节点
Figure GDA0003764173180000038
构成的线段添加至路径集合{Path}中,作为当前位置到目标作业起点的路径,n<N;当发生碰撞时选择距离机器人位置最近的第n+1个节点,检测对应的线段是否与光伏阵列、围墙等障碍物碰撞,直至n=N。
可选的,若采用距离优先原则,则机器人直接构造从Pnow到Ptarget的路径,并对路径进行碰撞检测,当发生碰撞时路径规划失败;若成功则将构造的从Pnow到Ptarget的路径添加到路径集合{Path}中。
可选的,所述碰撞检测包括:
建立一个空的障碍集合{Obs},将所有光伏阵列左下角点与右下角点构成的线段添加到障碍集合{Obs}中,再根据光伏阵列左下角点与右下角点结合光伏阵列倾斜角和光伏阵列长宽计算其左上角点与右上角点构成的线段添加到障碍集合{Obs}中;
将围墙拐点之间构成的围墙线段,同样也添加至障碍集合{Obs}中;
对于每一条需要进行碰撞检测的路径,将其分别与障碍集合{Obs}内的各条线段进行线段相交计算,若路径与任一条线段相交,则说明发生了碰撞,若路径没有与任何一条线段相交,则说明没有发生碰撞。
可选的,所述Step7包括:
生成所有光伏阵列的清洗作业路径,再从目标作业起点Ptarget开始,按照(0,0)→(1,0)→(1,1)→(0,1)的顺序,逐个连接各个光伏阵列的清洗路径。
可选的,所述光伏阵列的角点集{Pcorner}为每个光伏阵列的左下角点与右下角点的集合;所述道路点集{Proad}为道路拐点的集合,围墙点集{Pwall}为围墙拐点的集合;所述停车点集{Pparking}为预先设定的停车位区域的中心点的集合。
本发明有益效果是:
通过将光伏阵列划分为二维索引数组,根据光伏阵列已清洗部分和未清洗部分的分布确定作业起始点,并规划“弓”字形路径;将场景中的道路点、围墙点、停车位点根据它们之间的连通关系建立空有向图,通过dijkstra算法计算机器人当前点到作业起始点的最短路径;通过防碰撞检测剔除可能会发生碰撞的路径。本发明提供了一种实用的车辆式光伏阵列智能清洗机器人作业路径规划方法,结果达到了作业路径短、能从上一次中途结束的作业中继续作业(断点续作)、路径规避障碍、自动返回停车点等效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的距离优先原则路径规划示意图。
图2为本发明实施例提供的节点优先原则路径规划示意图。
图3为本发明实施例提供的光伏阵列二维索引数组生成示意图。
图4为本发明实施例提供的基于图算法的光伏阵列智能清洗机器人的路径规划方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
本实施例提供一种基于图算法的光伏阵列智能清洗机器人的路径规划方法,所述方法包括:
Step1:获取光伏阵列的角点集{Pcorner}、道路点集{Proad}、围墙点集{Pwall}和停车点集{Pparking}的大地坐标并转化为东北天坐标,所述大地坐标包括经度、纬度和高程;
Step2:建立空有向图G,将道路点集{Proad}中的所有道路点添加至图G,根据道路点之间是否为连接关系添加边;
Step3:将停车点集{Pparking}中的所有停车点添加至图G中,寻找与停车位点最近的道路点,在它们之间添加一条边;
Step4:使用所有道路点{Proad}坐标建立一棵KD树Tr;
Step5:根据每个光伏阵列的两个角点所构成直线的斜率和位置分布将所有光伏阵列用一个二维索引数组标记;
Step6:获取机器人当前位置信息Pnow,并根据Pnow和KD树Tr以及优先原则规划当前位置到作业起点的路径;所述作业起点为矩形的光伏作业区域的左上、右上、左下、右下四个方向的起点;
Step7:根据光伏阵列的二维索引数组规划“弓”字形作业路径。
Step8:规划到最近的停车点的路径。
实施例二
本实施例提供一种基于图算法的光伏阵列智能清洗机器人的路径规划方法,如图1所示,是在模拟的作业环境下,以距离优先原则得出的一条最短遍历作业路径。
图1中,1-围墙点,即围墙的拐点;2-围墙;3-道路点,即道路的拐点;4-道路;5-停车点,即预先设定的停车位区域的中心点;6-光伏阵列角点,即正面面向光伏阵列时左下角点与右下角点;7-已清洗阵列;8-未清洗阵列;9-路径规划起点;10-规划出的作业路径。
在作业过程中,机器人会把清洗过的光伏阵列记录下来,若发生中途停止,则下一次作业机器人会跳过已清洗的阵列。通过作业重置可以将所有阵列恢复未清洗状态。
其中围墙点(1)两两之间构成围墙(2),道路点(3)之间根据连通关系,用虚线连接构成道路(4),停车点(5)与最近的道路点连接,也构成一条道路。每个光伏阵列由两个角点(6)表示,其中灰色的阵列代表已清洗的阵列(7),黑色的阵列代表未清洗的阵列(8)。黑色圆点代表路径规划的起点(9),带箭头的线代表路径规划得到的作业路径(10)。
在作业过程中,机器人会把清洗过的光伏阵列记录下来,若发生中途停止,则下一次作业机器人会跳过已清洗的阵列。通过作业重置可以将所有阵列恢复未清洗状态,同时已清洗阵列还会作为机器人当前作业完成率的计算标准
详细的作业路径规划流程如下所述:
S101.使用GNSS一体式移动基准站作为打点器实时获取其大地坐标来得到光伏阵列角点集{Pcorner}、道路点集{Proad}、围墙点集{Pwall}和停车点集{Pparking}的大地坐标并转化为东北天坐标,所述大地坐标包括经度、纬度和高程;
S102.建立空有向图G,将所有道路点{Proad}添加至图G,根据道路点之间是否为连接关系添加边,若两个道路点之间的距离小于一定阈值Tdis且未曾有边连接,则同样添加一条边;
Figure GDA0003764173180000061
Figure GDA0003764173180000062
其中,
Figure GDA0003764173180000063
Figure GDA0003764173180000064
分别表示道路点集{Proad}中第k个和第l个道路点,
Figure GDA0003764173180000065
设定为判断图G中是否有存在
Figure GDA0003764173180000066
Figure GDA0003764173180000067
为节点的边的函数,若存在,
Figure GDA0003764173180000068
若不存在则
Figure GDA0003764173180000069
Figure GDA00037641731800000610
表示在图G添加一条第k个道路点与第l个道路点之间的边。
阈值Tdis由人工指定,按照打点时候点与点之间的距离具体情况来确定。
S103.将停车点集{Pparking}中的所有停车点添加至图G中,寻找与停车位点最近的道路点,在它们之间添加一条边;
S104.使用所有道路点{proad}坐标建立一棵KD树Tr;
S105.根据每个光伏阵列两个角点{Pcorner}所构成直线的斜率和位置分布将所有光伏阵列用一个二维索引数组标记,详细步骤如下:
S105-1.计算平均斜率
Figure GDA00037641731800000611
和中心点Pmid
Figure GDA00037641731800000612
Pmid=mean(sum({Proad}))
Figure GDA00037641731800000613
其中,
Figure GDA00037641731800000614
Figure GDA00037641731800000615
分别表示第i个光伏阵列第一个角点和第二个角点,
Figure GDA00037641731800000616
表示求第i个光伏阵列两个角点构成直线的斜率,sum({proad}表示所有光伏阵列角点坐标求和,
Figure GDA00037641731800000617
表示第i个光伏阵列的下边缘中心。
S105-2.以斜率
Figure GDA00037641731800000618
通过中心点Pmid构成一条直线Lmid,再经过中心点Pmid得到垂直于Lmid得到一条直线Lv_mid,分别计算各个光伏阵列下边缘中心
Figure GDA00037641731800000619
到两条直线的垂线长度
Figure GDA00037641731800000620
Figure GDA00037641731800000621
所有光伏阵列都计算完成后,分别用
Figure GDA00037641731800000622
Figure GDA00037641731800000623
减掉最小值
Figure GDA00037641731800000624
Figure GDA00037641731800000625
再除以先验信息光伏阵列的水平间隔Invlh和垂直间隔Invlv,取整后得到第i个光伏阵列的二维索引(ri,ci)。如图3所示。
Figure GDA0003764173180000071
Figure GDA0003764173180000072
Figure GDA0003764173180000073
Figure GDA0003764173180000074
其中distance()为计算点到直线的距离,round()代表取整。Invlh为位于同一行相邻的两个光伏阵列其中一个光伏阵列右下角点到另一个光伏阵列左下角点中较短那条线的大致距离。Invlv位于同一列相邻的两个光伏阵列中心到中心的大致距离。
S106.根据机器人当前位置信息Pnow和KD树Tr以及所选的优先原则规划路径到作业起点,优先原则包括节点优先原则和距离优先原则,详细步骤如下:
S106-1.首先计算每行光伏阵列,未清洗的阵列的最小列数和最大列数;
for r=1,r<rows,r=r+1
Figure GDA0003764173180000075
for c=1,c<cols,j=c+1
if has_cleaned(Array(r,c))==False
Figure GDA0003764173180000076
若has_cleaned(Array(r,c))=False,则表示光伏阵列(r,c)未清洗
S106-2.利用上一步所得进一步计算光伏阵列的四个作业起点的索引,其中作业起点指的是一块矩形的光伏作业区域,可以从左上、右上、左下、右下四个方向开始进行作业,其开始作业的起点称为作业起点,将其分别记为
Figure GDA0003764173180000077
Figure GDA0003764173180000078
详细步骤如下:
for r=1,r<rows,r=r+1
Figure GDA0003764173180000079
Figure GDA00037641731800000710
for r=rows,r≥0,r=r-1
Figure GDA00037641731800000711
Figure GDA00037641731800000712
S106-3.分别计算机器人当前位置Pnow到四个作业起点
Figure GDA00037641731800000713
Figure GDA00037641731800000714
的距离,选择最近点作为目标作业起点Ptarget
S106-4.根据节点优先或距离优先原则进行路径规划至起点:
在节点优先原则下,机器人首先会规划路径到图G中的一个节点上,该节点可以是道路拐点或是停车位点,再使用dijkstra算法从该节点规划路径至目标节点。首先使用通用的KD树最近邻搜索算法从KD树Tr中搜寻距离机器人当前位置Pnow最近的N个节点构成点集
Figure GDA0003764173180000081
以及距离目标作业起点Ptarget最近的N个节点构成点集
Figure GDA0003764173180000082
从距离最近节点开始,构造一条路径,对路径进行碰撞检测,当发生碰撞时选择下一个节点,重复步骤,当所有节点都不满足要求后,路径规划失败,其步骤如下:
Figure GDA0003764173180000083
for n=0,n<N,i=n+1
Figure GDA0003764173180000084
for m=0,m<N,j=m+1
Figure GDA0003764173180000085
Figure GDA0003764173180000086
Figure GDA0003764173180000087
其中query(Tr,P,N)表示查询KD树Tr中到点P最近的N个点的集合,
Figure GDA0003764173180000088
表示计算机器人当前位置点Pnow到距离机器人位置最近的第n个节点
Figure GDA0003764173180000089
构成的线段是否与光伏阵列、围墙等障碍物碰撞,addPath({Path},path)表示将路径path添加到路径集合{Path}中,dijkstra(G,now,target)表示图G中节点now到节点target的最短路径算法。
在距离优先原则下,机器人直接构造从Pnow到Ptarget的路径,并对路径进行碰撞检测,当发生碰撞时路径规划失败。若成功则将构造的路径添加到路径集合{Path}中,其步骤如下:
if intersection(Pnow,Ptarget)==True,raise failed
else addPath({Path},(Pnow,Ptarget))
碰撞检测算法的原理如下,首先建立一个空的障碍集合{Obs},将所有光伏阵列左下角点与右下角点构成的线段添加到障碍集合{Obs}中,再根据光伏阵列左下角点与右下角点结合先验信息(光伏阵列倾斜角、光伏阵列长宽)计算其左上角点与右上角点构成的线段,然后添加到障碍集合{Obs}中。将围墙拐点之间构成的围墙线段,同样也添加至障碍集合{Obs}中。对于每一条需要进行碰撞检测的路径,将其分别与障碍集合{Obs}内的各条线段进行线段相交计算,若路径与任一条线段相交,则说明发生了碰撞,若路径没有与任何一条线段相交,则说明没有发生碰撞。
S107.如图3所示,11为清洗作业路径,是先根据车辆以及清洗装置结构计算偏移距离offset,再由光伏阵列的左下角点与右下角点构成的线段进行偏移形成。最后根据光伏阵列的二维索引数组规划“弓”字形作业路径,先生成所有光伏阵列的清洗作业路径,再从目标作业起点Ptargrt开始,如图所示,按照(0,0)→(1,0)→(1,1)→(0,1)的顺序,逐个连接各个光伏阵列的清洗路径,最后再类似S106步骤规划到最近的停车点的路径。
本申请通过将光伏阵列划分为二维索引数组,根据光伏阵列已清洗部分和未清洗部分的分布确定作业起始点,并规划“弓”字形路径;将场景中的道路点、围墙点、停车位点根据它们之间的连通关系建立空有向图,通过dijkstra算法计算机器人当前点到作业起始点的最短路径;通过防碰撞检测剔除可能会发生碰撞的路径。本发明提供了一种实用的车辆式光伏阵列智能清洗机器人作业路径规划方法,结果达到了作业路径短、能从上一次中途结束的作业中继续作业(断点续作)、路径规避障碍、自动返回停车点等效果。
现有大部分光伏清洗机器人或是需要架设轨道等设备、或是只能在单块光伏板运行、或是需要频繁的人工操作将机器人在各个光伏板之间转移。与其相比,本发明中的光伏阵列智能清洗机器人具有适用性强、不需要在光伏板上额外加设备、人工干预少等特点。同时,现有车辆式光伏阵列清洗机器人的自动化水平较低,部分还需要人工驾驶,为实现车辆式光伏阵列清洗机器人的无人化作业,本发明提供了一种光伏阵列智能清洗机器人的路径规划方法,与现有论文和专利对比,不仅提供了从停车点到作业起点的路径规划,还提供了整个作业流程中的路径规划。同时本发明不仅是停留在测试试验阶段,已经经由现实中的智能清洗机器人的长期作业验证其有效性。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种光伏阵列智能清洗机器人的路径规划方法,其特征在于,所述方法是基于图算法实现光伏阵列智能清洗机器人的路径规划,所述方法包括:
Step1:获取光伏阵列的角点集{Pcorner}、道路点集{Proad}、围墙点集{Pwall}和停车点集{Pparking}的大地坐标并转化为东北天坐标,所述大地坐标包括经度、纬度和高程;
Step2:建立空有向图G,将道路点集{Proad}中的所有道路点添加至图G,根据道路点之间是否为连接关系添加边;
Step3:将停车点集{Pparking}中的所有停车点添加至图G中,寻找与停车位点最近的道路点,在它们之间添加一条边;
Step4:使用所有道路点{Proad}坐标建立一棵KD树Tr;
Step5:根据每个光伏阵列的两个角点所构成直线的斜率和位置分布将所有光伏阵列用一个二维索引数组标记;
Step6:获取机器人当前位置信息Pnow,并根据Pnow和KD树Tr以及优先原则规划当前位置到作业起点的路径;所述作业起点为矩形的光伏作业区域的左上、右上、左下、右下四个方向的起点;
Step7:根据光伏阵列的二维索引数组规划“弓”字形作业路径;
Step8:规划到最近的停车点的路径;
所述Step5包括:
Step5.1计算平均斜率
Figure FDA0003764173170000011
和中心点Pmid
Figure FDA0003764173170000012
Pmid=mean(sum({Proad}))
Figure FDA0003764173170000013
其中,
Figure FDA0003764173170000014
Figure FDA0003764173170000015
分别表示第i个光伏阵列第一个角点和第二个角点,
Figure FDA0003764173170000016
表示求第i个光伏阵列两个角点构成直线的斜率,
Figure FDA0003764173170000017
表示对所有光伏阵列两个角点构成直线的斜率值求平均,sum({Proad}) 表示所有光伏阵列角点坐标求和,mean(sum({Proad}))表示对所有光伏阵列角点坐标之和求平均,
Figure FDA0003764173170000018
表示第i个光伏阵列的下边缘中心;
Step5.2以斜率
Figure FDA0003764173170000019
通过中心点Pmid构成一条直线Lmid,再经过中心点Pmid得到垂直于Lmid得到一条直线Lv_mid,分别计算各个光伏阵列下边缘中心
Figure FDA00037641731700000110
到两条直线的垂线长度
Figure FDA00037641731700000111
Figure FDA00037641731700000112
所有光伏阵列都计算完成后,分别用
Figure FDA00037641731700000113
Figure FDA00037641731700000114
减掉最小值
Figure FDA00037641731700000115
Figure FDA00037641731700000116
后再除以光伏阵列的水平间隔Invlh和垂直间隔Invlv,取整后得到第i个光伏阵列的二维索引(ri,ci);其中,
Figure FDA0003764173170000021
Figure FDA0003764173170000022
分别表示各个光伏阵列下边缘中心
Figure FDA0003764173170000023
到两条直线的垂线长度
Figure FDA0003764173170000024
Figure FDA0003764173170000025
对应的最小值;光伏阵列的水平间隔Invlh和垂直间隔Invlv为先验信息;
Figure FDA0003764173170000026
round()代表取整;
所述Step6包括:
Step6.1计算每行光伏阵列,未清洗的阵列的最小列数和最大列数;
Step6.2计算光伏阵列的四个作业起点的索引,四个作业起点分别记为
Figure FDA0003764173170000027
Figure FDA0003764173170000028
Step6.3分别计算机器人当前位置Pnow到四个作业起点
Figure FDA0003764173170000029
Figure FDA00037641731700000210
的距离,选择最近点作为目标作业起点Ptarget
Step6.4根据节点优先原则或者距离优先原则规划当前位置到目标作业起点的路径。
2.根据权利要求1所述的方法,其特征在于,所述Step2还包括:对于不存在连接关系的两个道路点,计算二者之间的距离;若二者之间的距离小于一定阈值Tdis且未曾有边连接,则同样添加一条边。
3.根据权利要求1所述的方法,其特征在于,所述Step6中优先原则包括节点优先原则和距离优先原则。
4.根据权利要求1所述的方法,其特征在于,若采用节点优先原则,则Step6.4包括:
使用最近邻搜索算法从KD树Tr中搜寻距离机器人当前位置Pnow最近的N个节点构成点集
Figure FDA00037641731700000211
同样使用最近邻搜索算法从KD树Tr中搜寻距离目标作业起点Ptarget最近的N个节点构成点集
Figure FDA00037641731700000212
对机器人当前位置点Pnow到距离机器人位置最近的第n个节点
Figure FDA00037641731700000213
构成的路径进行碰撞检测;如果没有发生碰撞,则将机器人当前位置点Pnow到距离机器人位置最近的第n个节点
Figure FDA00037641731700000214
构成的线段添加至路径集合{Path}中,作为当前位置到目标作业起点的路径,n<N;当发生碰撞时选择距离机器人位置最近的第n+1个节点,检测对应的线段是否与光伏阵列、围墙等障碍物碰撞,直至n=N。
5.根据权利要求1所述的方法,其特征在于,若采用距离优先原则,则机器人直接构造从Pnow到Ptarget的路径,并对路径进行碰撞检测,当发生碰撞时路径规划失败;若成功则将构造的从Pnow到Ptarget的路径添加到路径集合{Path}中。
6.根据权利要求4或5所述的方法,其特征在于,所述碰撞检测包括:
建立一个空的障碍集合{Obs},将所有光伏阵列左下角点与右下角点构成的线段添加到障碍集合{Obs}中,再根据光伏阵列左下角点与右下角点结合光伏阵列倾斜角和光伏阵列长宽计算其左上角点与右上角点构成的线段,然后添加到障碍集合{Obs}中;
将围墙拐点之间构成的围墙线段,同样也添加至障碍集合{Obs}中;
对于每一条需要进行碰撞检测的路径,将其分别与障碍集合{Obs}内的各条线段进行线段相交计算,若路径与任一条线段相交,则说明发生了碰撞,若路径没有与任何一条线段相交,则说明没有发生碰撞。
7.根据权利要求6所述的方法,其特征在于,所述Step7包括:
生成所有光伏阵列的清洗作业路径,再从目标作业起点Ptarget开始,按照(0,0)→(1,0)→(1,1)→(0,1)的顺序,逐个连接各个光伏阵列的清洗路径。
8.根据权利要求1所述的方法,其特征在于,所述光伏阵列的角点集{Pcorner}为每个光伏阵列的左下角点与右下角点的集合;所述道路点集{Proad}为道路拐点的集合,围墙点集{Pwall}为围墙拐点的集合;所述停车点集{Pparking}为预先设定的停车位区域的中心点的集合。
CN202011556810.7A 2020-12-24 2020-12-24 一种光伏阵列智能清洗机器人的路径规划方法 Active CN112631300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011556810.7A CN112631300B (zh) 2020-12-24 2020-12-24 一种光伏阵列智能清洗机器人的路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011556810.7A CN112631300B (zh) 2020-12-24 2020-12-24 一种光伏阵列智能清洗机器人的路径规划方法

Publications (2)

Publication Number Publication Date
CN112631300A CN112631300A (zh) 2021-04-09
CN112631300B true CN112631300B (zh) 2022-09-16

Family

ID=75324746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011556810.7A Active CN112631300B (zh) 2020-12-24 2020-12-24 一种光伏阵列智能清洗机器人的路径规划方法

Country Status (1)

Country Link
CN (1) CN112631300B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106371445B (zh) * 2016-11-17 2019-05-14 浙江大学 一种基于拓扑地图的无人车规划控制方法
CN107340768B (zh) * 2016-12-29 2020-08-28 珠海市一微半导体有限公司 一种智能机器人的路径规划方法
CN110955262B (zh) * 2019-12-10 2023-04-07 河海大学常州校区 光伏组件清洁机器人的路径规划与跟踪的控制方法及系统

Also Published As

Publication number Publication date
CN112631300A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN112034836B (zh) 一种改进a*算法的移动机器人路径规划方法
CN107340768B (zh) 一种智能机器人的路径规划方法
CN110531760B (zh) 基于曲线拟合和目标点邻域规划的边界探索自主建图方法
CN112393728B (zh) 一种基于a*算法和rrt*算法的移动机器人路径规划方法
Oh et al. Complete coverage navigation of cleaning robots using triangular-cell-based map
CN112833899B (zh) 一种用于无人环卫车的全覆盖路径规划方法
CN111811514A (zh) 一种基于正六边形栅格跳点搜索算法的路径规划方法
CN112925315A (zh) 一种基于改进蚁群算法和a*算法的履带车路径规划方法
CN113741438A (zh) 路径规划方法、装置、存储介质、芯片及机器人
CN110477813B (zh) 一种激光式清洁机器人及其控制方法
CN114756034B (zh) 一种机器人实时避障路径规划方法及装置
CN111080786A (zh) 基于bim的室内地图模型构建方法及装置
CN114706400A (zh) 一种越野环境下基于改进的a*算法的路径规划方法
JP2023508662A (ja) グローバルグリッドマップにおけるマップトラバースブロックの構築方法、チップ、及び移動ロボット
CN110909961A (zh) 基于bim的室内路径查询方法及装置
CN113867336B (zh) 一种适用于复杂场景下移动机器人路径导航及规划方法
CN111857133A (zh) 一种用于扫地机器人寻找未清扫区域的宽度优先搜索算法
CN112631300B (zh) 一种光伏阵列智能清洗机器人的路径规划方法
CN114035613A (zh) 一种大跨度桥梁检测无人机全覆盖路径规划方法
CN111142116A (zh) 一种基于三维激光的道路检测与建模方法
CN112327887B (zh) 基于迭代改进apf的无人驾驶汽车避碰路径规划方法与系统
CN111006652B (zh) 一种机器人靠边运行的方法
CN116839609A (zh) 全覆盖路径规划方法、装置及计算机可读存储介质
CN117191017A (zh) 一种化工场景下巡检机器人高精度安全路径规划方法
Yang et al. A smooth jump point search algorithm for mobile robots path planning based on a two-dimensional grid model

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