基于无人机的风机巡检航线生成方法及系统与流程

阅读: 评论:0



1.本发明涉及一种基于无人机风机巡检航线生成方法及系统,属于智能技术领域。


背景技术:



2.风机叶片是风电机组的重要组成部分,是关键部件之一,也是捕获风能的装置,因此,叶片的安全性和可靠性显得尤为重要,它是保障风机正常运行的关键所在。应用无人机技术对风机叶片的巡检,能够快速地进行故障检查和故障信息确认,实现叶片表面损伤初筛的目标。
3.目前风电场常见的叶片检测以巡检为主,主要由运维人员通过定期巡视,手持望远镜检查叶片表面是否存在异常。这类检查往往依靠现场人员个人经验判断,且无法发现早期细微裂纹。近年来部分风电场配置了无人机进行叶片巡检,但无人机巡检操作较为复杂,一些航线难以人工操作。为解决这个问题,需要利用无人机的航线自动飞行功能,但由于风机的偏航角和叶片角度每次都不一样,因此无法预先生成航线。
4.现有技术中,cn201910753262-一种基于无人机的风机叶片自主巡检方法-申请公开本发明公开了一种基于无人机的风机叶片自主巡检方法,包括以下步骤:s1.判断待巡检风机的几何结构是否已知;若是,进入步骤s2;若否,进入步骤s3;s2.对待巡检的风机进行图像拍摄,并结合待巡检风机的几何结构,确定风机上多个巡检点的坐标信息,进入步骤s4,所述巡检点是指巡检时拍摄的目标点;s3.对待巡检风机进行图像拍摄,通过图像处理获取风机上多个巡检点的坐标信息,进入步骤s4;s4.根据巡检点的坐标信息,确定巡航点坐标并生成自主巡航轨迹,所述巡航点是指无人机悬停拍摄的地点,无人机按照自主巡航轨迹完成风机叶片的巡检。现有技术1虽然能够有效降低自主巡检航线生成时的工作量,提高航线的精确度,但现有技术1通过图像处理获取风机上多个巡检点的坐标信息,直接计算坐标信息需要分别计算三叶尖的理论坐标、实际坐标和相机坐标,计算复杂误差大,每次巡检时都需要人工参与来获取三个叶尖的坐标,依靠叶尖坐标去获取风机的偏航角以及叶片角度。
5.现有技术cn201911198352-风机叶片的无人机巡检轨迹生成方法,获取待检风机的包括叶片信息在内的照片;s2:计算所述照片中待检风机的风机朝向以及叶轮相位信息;s3:根据所述待检风机的风机朝向以及叶轮相位信息,结合预设航线,生成待检风机的叶片巡检轨迹。杜比文件2:采用所述风机特征识别模型对所述照片内的风机进行识别,得到摄像机坐标下待检风机的特征参数;但该发明根据叶片类型设置多个模板,但在实际中使用中,影响叶片叶尖位置的因素包括风轮仰角、叶片锥角和叶片预弯等,因此会需要大量的模板来满足各种情况。


技术实现要素:



6.为解决现有技术问题,本发明了公开了一种基于无人机的风机巡检航线生成方
法,通过无人机自动测量风机的偏航角和叶片角度,基于风机的一些参数(如经纬度、叶片长度等),最终生成巡检航线,整个流程无需人工参与。
7.本发明具体方案如下:
8.一种基于无人机的风机巡检航线生成方法,包括以下步骤:
9.s1,生成到达风机上方的第一航线l1,第一航线l1包括三个航点,三个航点分别为第一风机上方航点、第二风机上方航点和第三风机上方航点;第一风机上方航点的经纬度是无人机所在的经纬度,高度高于周围的阻碍物;第二风机上方航点的经纬度是风机塔筒的经纬度,高度是第一风机上方航点的高度;第三风机上方航点的经纬度是风机塔筒的经纬度,高度大于轮毂高度和叶片长度之和,控制无人机到达第三风机上方航点后,调整云台垂直向下拍摄,获取风机顶视图(从云台中的可见光摄像头中获取风机顶视图);
10.s2,根据风机顶视图与当前云台的偏航角计算风机偏航角;
11.s3,根据风机偏航角,生成到达轮毂正前方的第二航线l2,第二航线l2包括第一正前方航点和第二正前方航点,第一正前方航点为轮毂正前方的经纬度,高度为无人机当前高度;第二正前方航点是轮毂正前方的经纬度,高度为轮毂高度,控制无人机到达云台后调整为水平拍摄,从云台中的可见光摄像头中获取风机轮毂正视图,控制无人机机头方向调整为风机偏航角-180
°

12.s4,基于风机轮毂正视图计算风机的叶片角度;
13.s5,基于风机偏航角和叶片角度,生成巡检航线。
14.步骤s2计算风机当前的偏航角具体包含以下步骤:
15.201)利用分割算法获取只有风机的风机顶视图的二值图,从风机顶视图的二值图的四条边依次向中心搜索叶片,得到叶片延伸至图像四条边的区域,叶片延伸至图像四条边的区域为叶片区域;得到叶片延伸至图像四条边的区域,确定叶片的位置,并获得叶片端点;
16.202)去除叶片区域,基于风机的机舱所在区域计算出机舱的最大内接矩形,将最大内接矩形的较长的中线作为机舱中线;
17.203)根据叶片端点和机舱中线,计算出在风机顶视图上以机舱尾部为坐标原点的偏航角度a,根据云台偏航角b,得到风机偏航角c。
18.步骤203)具体包括以下步骤:
19.选取叶片的一个端点p
y0
,机舱中线的两个端点分别为p
c0
和p
c1
,计算端点p
y0
在中线上的投影点p

,机舱尾部上的点是机舱中线端点中距离投影点p

较远的点,以投影点p

为端点,计算得到以机舱尾部为坐标原点的偏航角度a;此时云台偏航角为b,其中以正北为0
°
,向东为正,向西为负,得到风机偏航角c=90
°
+a+b,得到风机偏航角c,风机偏航角c:
[0020][0021]
风机偏航角c∈(-180,180]。
[0022]
步骤s4具体包括以下步骤:
[0023]
401)获取风机轮毂正视图后,为减少其他部分的影响,利用分割算法获取得到只有风机的风机轮毂正视图的二值图;
[0024]
402)对风机轮毂正视图的二值图进行直线检测,获取竖直方向上的直线,所述竖直方向上的直线为塔筒或者某个竖直向上或者向下的叶片的边缘,根据竖直方向上的直线得到轮毂在水平方向上的坐标;
[0025]
对非竖直直线以轮毂为坐标原点计算直线在图片上的角度,按照角度大小聚类,得到的聚类类别数;
[0026]
403)将每个聚类类别中直线的角度平均值作为该方向上叶片角度d,所述叶片角度d是以塔筒为0
°
,逆时针方向上第一个叶片与塔筒之间的夹角。
[0027]
步骤402)具体包括以下步骤:
[0028]
通过比较直线两端端点的x坐标,判断直线是否竖直方向上的直线,直线两端端点分别为p0和p1,x轴坐标差值x
diff
=|x
p0-x
p1
|,当x
diff
小于阈值δ时,判断为竖直直线;计算所有竖直直线x坐标的均值将所述均值作为轮毂中心的x坐标x
lg
;x
p0
、x
p1
是直线两端端点的x轴坐标值;
[0029]
对非竖直直线按照角度进行聚类,由于叶片之间的夹角为120度,非竖直直线的延长线,应该相交与轮毂附近,即非竖直直线的延长线的交点的x坐标在[x
lg-ε,x
lg
+ε]范围内,ε是轮毂半径在图片上的估计值,x
lg
轮毂中心坐标的横坐标。r为轮毂半径,g为无人机离轮毂的距离,相机内参(f,c
x
,cy),其中f是相机的焦距,(c
x
,cy)是主点坐标,主点是光轴和相机成像平面的交点;具体来说对非竖直直线,首先分别计算非竖直直线两个端点的x坐标与轮毂中心坐标的横坐标x
lg
之间的差值,将差值较小的端点做为原点,计算非竖直直线的角度θ,非竖直直线原点为p
ori
,原点p
ori
的坐标为(x
ori
,y
ori
),非竖直直线另外一个端点为p
end
,端点p
end
的坐标为(x
end
,y
end
),则所述非竖直直线的角度θ为:
[0030][0031]
其中δx=x
end-x
ori
,δy=y
end-y
ori
,按照角度的大小进行聚类,每个叶片上的非竖直直线将聚为一类,聚类算法使用基于不相交集(disjoint set)的算法,通过若干次迭代得到只有叶片的直线,且类别数是2或者3个;在风机基本处于正

y’或倒

y’停机时,其中一个叶片处于竖直状态,导致类别数为2。
[0032]
步骤s5具体包括以下步骤:
[0033]
在得到风机偏航角c和叶片角度d后,基于风机的固有参数叶轮仰角e、叶片锥角v计算巡检航线。为计算方便,使用如图6所示基于轮毂的坐标系在坐标系下,第一叶片的角度为d

=270
°‑
d;根据叶轮仰角,在所述坐标系下对应的旋转矩阵为:
[0034][0035]
得到第一叶片方向向量vb=r
p
[cos(d

)*cos(v),sin(v),sin(d

)*cos(v)]
t
,,通过替换叶片角度得到第二叶片和第三叶片的方向向量。已知叶片长度l和无人机初始位置后,得到巡检航线;在拍摄第一叶片的前缘时,以轮毂正前方作为第一个航点,坐标为p1=[0,g,0]
t
,其中g是无人机离轮毂的距离l;叶片长度为l,在不考虑叶片预弯的情况下,所述叶片叶尖的位置为p2=p1+lvb;巡检其中一个叶片前缘的前缘部分;利用叶片的方向向量和
叶片长度l,动态地生成基于坐标系的巡检航点。为转换成无人机能够使用的经纬度和高度,先要将基于坐标系生成的巡检航点转成基于站心坐标系(enu)的航点,已知风机偏航角c和轮毂高度h时,从坐标系转换到基于站心坐标系的转换矩阵为:
[0036][0037]
巡检航点用坐标表示x=[x0,x1,x2]
t
,齐次坐标为x

=[x0,x1,x2,1]
t
,将x

转换为基于站心坐标系下的坐标公式为得到站心坐标后,转换成经纬度和海拔。
[0038]
一种基于无人机的风机巡检航线生成系统,包括第一航线生成单元、偏航角计算单元、第二航线生成单元、叶片角度计算单元和巡检航线生成单元;
[0039]
第一航线生成单元生成到达风机上方的第一航线l1,第一航线l1包括三个航点,三个航点分别为第一风机上方航点、第二风机上方航点和第三风机上方航点;第一风机上方航点的经纬度是无人机所在的经纬度,高度高于周围的阻碍物;第二风机上方航点的经纬度是风机塔筒的经纬度,高度是第一风机上方航点的高度;第三风机上方航点的经纬度是风机塔筒的经纬度,高度大于轮毂高度和叶片长度之和,控制无人机到达第三风机上方航点后,调整云台垂直向下拍摄,获取风机顶视图(从云台中的可见光摄像头中获取风机顶视图);
[0040]
偏航角计算单元根据风机顶视图与当前云台的偏航角计算风机当前的偏航角;
[0041]
第二航线生成单元根据所述偏航角,生成到达轮毂正前方的第二航线l2,第二航线l2包括第一正前方航点和第二正前方航点,第一正前方航点为轮毂正前方的经纬度,高度为无人机当前高度;第二正前方航点是轮毂正前方的经纬度,高度为轮毂高度,控制无人机到达云台后调整为水平拍摄,从云台中的可见光摄像头中获取风机轮毂正视图,控制无人机机头方向调整为风机偏航角-180
°

[0042]
叶片角度计算单元基于风机轮毂正视图计算风机的叶片角度;
[0043]
巡检航线生成单元基于风机偏航角和叶片角度,生成巡检航线。
[0044]
偏航角计算单元计算风机当前的偏航角具体包含以下步骤:
[0045]
201)利用分割算法获取只有风机的风机顶视图的二值图,从风机顶视图的二值图的四条边依次向中心搜索叶片,得到叶片延伸至图像四条边的区域,叶片延伸至图像四条边的区域为叶片区域;得到叶片延伸至图像四条边的区域,确定叶片的位置,并获得叶片端点;
[0046]
202)去除叶片区域,基于风机的机舱所在区域计算出机舱的最大内接矩形,将最大内接矩形的较长的中线作为机舱中线;
[0047]
203)根据叶片端点和机舱中线,计算出在风机顶视图上以机舱尾部为坐标原点的偏航角度a,根据云台偏航角b,得到风机偏航角c。
[0048]
步骤203)具体包括以下步骤:
[0049]
选取叶片的一个端点p
y0
,机舱中线的两个端点分别为p
c0
和p
c1
,计算端点p
y0
在中线上的投影点p

,机舱尾部上的点是机舱中线端点中距离投影点p

较远的点,以投影点p

为端点,计算得到以机舱尾部为坐标原点的偏航角度a;此时云台偏航角为b,其中以正北为0°
,向东为正,向西为负,得到风机偏航角c=90
°
+a+b,得到风机偏航角c,风机偏航角c:
[0050][0051]
风机偏航角c∈(-180,180]。
[0052]
叶片角度计算单元工作过程具体包括以下步骤:
[0053]
401)获取风机轮毂正视图后,为减少其他部分的影响,利用分割算法获取得到只有风机的风机轮毂正视图的二值图;
[0054]
402)对风机轮毂正视图的二值图进行直线检测,获取竖直方向上的直线,所述竖直方向上的直线为塔筒或者某个竖直向上或者向下的叶片的边缘,根据竖直方向上的直线得到轮毂在水平方向上的坐标;
[0055]
对非竖直直线以轮毂为坐标原点计算直线在图片上的角度,按照角度大小聚类,得到的聚类类别数;
[0056]
403)将每个类别中直线的角度平均值作为该方向上叶片角度d,所述叶片角度d是以塔筒为0
°
,逆时针方向上第一个叶片与塔筒之间的夹角。
[0057]
步骤402)具体包括以下步骤:
[0058]
通过比较直线两端端点的x坐标,判断直线是否竖直方向上的直线,直线两端端点分别为p0和p1,x轴坐标差值x
diff
=|x
p0-x
p1
|,当x
diff
小于阈值δ时,判断为竖直直线;计算所有竖直直线x坐标的均值将所述均值作为轮毂中心的x坐标x
lg
;x
p0
、x
p1
是直线两端端点的x轴坐标值;
[0059]
对非竖直直线按照角度进行聚类,非竖直直线的延长线,应该相交与轮毂附近,即非竖直直线的延长线的交点的x坐标在[x
lg-ε,x
lg
+ε]范围内,ε是轮毂半径在图片上的估计值,x
lg
轮毂中心坐标的横坐标。r为轮毂半径,g为无人机离轮毂的距离,相机内参(f,c
x
,cy),其中f是相机的焦距,(c
x
,cy)是主点坐标;具体来说对非竖直直线,首先分别计算非竖直直线两个端点的x坐标与轮毂中心坐标的横坐标x
lg
之间的差值,将差值较小的端点做为原点,计算非竖直直线的角度θ,非竖直直线原点为p
ori
,原点p
ori
的坐标为(x
ori
,y
ori
),非竖直直线另外一个端点为p
end
,端点p
end
的坐标为(x
end
,y
end
),则所述非竖直直线的角度θ为:
[0060][0061]
其中δx=x
end-x
ori
,δy=y
end-y
ori
,按照角度的大小进行聚类,每个叶片上的非竖直直线将聚为一类,聚类算法使用基于不相交集(disjoint set)的算法,通过若干次迭代得到只有叶片的直线,且类别数是2或者3个;在风机基本处于正

y’或倒

y’停机时,其中一个叶片处于竖直状态,导致类别数为2。
[0062]
巡检航线生成单元工作过程具体包括以下步骤:
[0063]
在得到风机偏航角c和叶片角度d后,基于风机的固有参数叶轮仰角e、叶片锥角v计算巡检航线。为计算方便,基于轮毂的坐标系在坐标系下,第一叶片的角度为d

=270
°‑
d;根据叶轮仰角,在所述坐标系下对应的旋转矩阵为:
[0064][0065]
得到第一叶片方向向量vb=r
p
[cos(d

)*cos(v),sin(v),sin(d

)*cos(v)]
t
,通过替换叶片角度得到第二叶片和第三叶片的方向向量。已知叶片长度l和无人机初始位置后,得到巡检航线;在拍摄第一叶片的前缘时,以轮毂正前方作为第一个航点,坐标为p1=[0,g,0]
t
,其中g是无人机离轮毂的距离,叶片长度为l,在不考虑叶片预弯的情况下,所述叶片叶尖的位置为p2=p1+lvb。巡检其中一个叶片前缘的前缘部分,相当于向量lvb。利用叶片的方向向量和叶片长度l,动态地生成基于坐标系的巡检航点。为转换成无人机能够使用的经纬度和高度,先要将基于坐标系生成的巡检航点转成基于站心坐标系(enu)的航点,已知风机偏航角c和轮毂高度h时,从坐标系转换到基于站心坐标系的转换矩阵为:
[0066][0067]
巡检航点用坐标表示x=[x0,x1,x2]
t
,齐次坐标为x

=[x0,x1,x2,1]
t
,将x

转换为基于站心坐标系下的坐标公式为得到站心坐标后,转换成经纬度和海拔。
[0068]
本发明最为突出的特点和显著的有益效果是:
[0069]
本发明公开一种基于无人机的风机巡检航线生成方法,本技术仅需要输入风机的地理信息与自身参数,自动识别风机停机时的偏航角和叶片角度,自动生成巡检航线,其中包括巡检航线上的航点、无人机的机头方向、每个航点时的云台角度和拍照动作,使得飞行过程中不需要人工参与,实现无人机能够任意点起飞,风机能够停在任意角度计算所需参数计算量小,误差小。
[0070]
本发明在生成航线时同时考虑风机的风轮仰角和叶片锥角等固有参数,动态地获取航线,不需要特定的叶片模板。
附图说明
[0071]
图1无人机到达风机顶部示意图;
[0072]
图2a风机顶视图;
[0073]
图2b为风机顶视图的二值图
[0074]
图2c为机舱中线示意图;
[0075]
图2d机舱中线的数据分析示意图;
[0076]
图3无人机从顶部到达轮毂正前方示意图;
[0077]
图4a风机轮毂正视图示意图;
[0078]
图4b为叶片角度示意图;
[0079]
图5基于风机塔筒底部的站心直角坐标系
[0080]
图6基于轮毂的坐标系
[0081]
图7巡检叶片前缘的航线示意图;
[0082]
图8拍摄迎风面和背风面时的云台角度。
具体实施方式
[0083]
以下将结合附图及实施方式对本发明进一步详细地解释说明。此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0084]
风机包括风机塔筒和设置在风塔顶端的叶轮,并已知风机塔筒的经纬度和叶轮的海拔,所述叶轮包括轮毂和三个沿轮毂周向均匀分布的叶片,所属无人机搭载包含可见光摄像头的云台,一种基于无人机的风机巡检航线生成方法,包括以下步骤:
[0085]
s1,生成到达风机上方的第一航线l1,第一航线l1包括三个航点,三个航点分别为第一风机上方航点、第二风机上方航点和第三风机上方航点;第一风机上方航点的经纬度是无人机所在的经纬度,高度高于周围的阻碍物;第二风机上方航点的经纬度是风机塔筒的经纬度,高度是第一风机上方航点的高度;第三风机上方航点的经纬度是风机塔筒的经纬度,高度大于轮毂高度和叶片长度之和,控制无人机到达第三风机上方航点后,调整云台垂直向下拍摄,获取风机顶视图(从云台中的可见光摄像头中获取风机顶视图);
[0086]
生成的风机顶部航线,需要知道风机塔筒的经纬度,轮毂的海拔和叶片长度。到达风机顶部时,其海拔应该大于轮毂海拔加上叶片长度,如图1所示。
[0087]
s2,根据风机顶视图与当前云台偏航角计算风机当前的偏航角,其中,云台偏航角直接采集获得;
[0088]
s3,根据所述偏航角,生成到达轮毂正前方的第二航线l2,第二航线l2包括第一正前方航点和第二正前方航点,第一正前方航点为轮毂正前方的经纬度,高度为无人机当前高度;第二正前方航点是轮毂正前方的经纬度,高度为轮毂高度,控制无人机到达云台后调整为水平拍摄,从云台中的可见光摄像头中获取风机轮毂正视图,控制无人机机头方向调整为风机偏航角-180
°

[0089]
s4,基于风机轮毂正视图计算风机的叶片角度。
[0090]
s5,基于风机偏航角和叶片角度,生成巡检航线。
[0091]
步骤s2计算风机当前的偏航角具体包含以下步骤:
[0092]
获取风机顶视图后,为减少其他部分的影响,利用分割算法获取得到只有风机的风机顶视图的二值图,如图2a到图2d所示。
[0093]
201)利用分割算法获取只有风机的风机顶视图的二值图,从风机顶视图的二值图的四条边依次向中心搜索叶片,得到叶片延伸至图像四条边的区域,叶片延伸至图像四条边的区域为叶片区域;得到2或者3个叶片延伸至图像四条边的区域,如图2b的箭头指向位置所示,确定叶片的位置,并获得叶片端点;
[0094]
202)去除叶片区域,基于风机的机舱所在区域计算出机舱的最大内接矩形,将最大内接矩形的较长的中线作为机舱中线,如图2c所示;
[0095]
203)根据叶片端点和机舱中线,计算出在风机顶视图上以机舱尾部为坐标原点的偏航角度a,根据云台偏航角b,得到风机偏航角c,其中云台偏航角b由无人机的飞控提供;
[0096]
步骤203)具体包括以下步骤:
[0097]
选取叶片的一个端点p
y0
,机舱中线的两个端点分别为p
c0
和p
c1
,计算端点p
y0
在中线上的投影点p

,如图2d所示,机舱尾部上的点是机舱中线端点中距离投影点p

较远的点,以
投影点p

为端点,计算得到以机舱尾部为坐标原点的偏航角度a,在图2(d)中坐标原点为p
c0
;此时云台偏航角为b,其中以正北为0
°
,向东为正,向西为负,得到风机偏航角c=90
°
+a+b,得到风机偏航角c,风机偏航角c:
[0098][0099]
风机偏航角c∈(-180,180]。
[0100]
步骤s4具体包括以下步骤:
[0101]
401)获取风机轮毂正视图后,为减少其他部分的影响,利用分割算法获取得到只有风机的风机轮毂正视图的二值图;
[0102]
402)对风机轮毂正视图的二值图进行直线检测,获取竖直方向上的直线,所述竖直方向上的直线为塔筒或者某个竖直向上或者向下的叶片的边缘,根据竖直方向上的直线得到轮毂在水平方向上的坐标;
[0103]
对非竖直直线以轮毂为坐标原点计算直线在图片上的角度,按照角度大小聚类,得到的类别数为2或者3。
[0104]
非竖直直线则是去掉竖直线后的线。角度就是直线在图片上的角度。
[0105]
403)将每个类别中直线的角度平均值作为该方向上叶片角度d。此时叶片角度d以塔筒为0
°
,逆时针方向上第一个叶片与塔筒之间的夹角,如图4b表示。
[0106]
步骤402具体包括以下步骤:
[0107]
通过比较直线两端端点的x坐标,判断直线是否竖直方向上的直线,直线两端端点分别为p0和p1,x轴坐标差值x
diff
=|x
p0-x
p1
|,当x
diff
小于阈值δ时,判断为竖直直线,δ取值范围是(0,5](单位是像素,在图像上坐标点之间的差值);计算所有竖直直线x坐标的均值将所述均值作为轮毂中心的x坐标x
lg
;x
p0
、x
p1
是直线两端端点的x轴坐标值;
[0108]
对非竖直直线按照角度进行聚类,由于叶片之间的夹角为120度,非竖直直线的延长线,应该相交与轮毂附近,即非竖直直线的延长线的交点的x坐标在[x
lg-ε,x
lg
+ε]范围内,ε是轮毂半径在图片上的估计值,x
lg
轮毂中心坐标的横坐标。r为轮毂半径,g为无人机离轮毂的距离,相机内参(f,c
x
,cy),其中f是相机的焦距,(c
x
,cy)是主点坐标;如图4a虚线表示,具体来说对非竖直直线,首先分别计算非竖直直线两个端点的x坐标与轮毂中心坐标的横坐标x
lg
之间的差值,将差值较小的端点做为原点,计算非竖直直线的角度θ,非竖直直线原点为p
ori
,原点p
ori
的坐标为(x
ori
,y
ori
),非竖直直线另外一个端点为p
end
,端点p
end
的坐标为(x
end
,y
end
),则所述非竖直直线的角度θ为:
[0109][0110]
其中δx=x
end-x
ori
,δy=y
end-y
ori
,按照角度的大小进行聚类,每个叶片上的非竖直直线将聚为一类,聚类算法使用基于不相交集(disjoint set)的算法,通过若干次迭代得到只有叶片的直线,且类别数是2或者3个;在风机基本处于正

y’或倒

y’停机时,其中一个叶片处于竖直状态,导致类别数为2。
[0111]
步骤s5具体包括以下步骤:
[0112]
在得到风机偏航角c和叶片角度d后,基于风机的固有参数叶轮仰角e、叶片锥角v计算巡检航线。为计算方便,使用如图6所示基于轮毂的坐标系在坐标系下,第一叶片的角度为d

=270
°‑
d;根据叶轮仰角,在所述坐标系下对应的旋转矩阵为:
[0113][0114]
得到第一叶片方向向量vb=r
p
[cos(d

)*cos(v),sin(v),sin(d

)*cos(v)]
t
,通过替换叶片角度得到第二叶片和第三叶片的方向向量。已知叶片长度l和无人机初始位置后,得到巡检航线;本实施例中,在拍摄第一叶片的前缘时,以轮毂正前方作为第一个航点,坐标为p1=[0,g,0]
t
,其中g是无人机离轮毂的距离,本实施例设置为10米。叶片长度为l,在不考虑叶片预弯的情况下,所述叶片叶尖的位置为p2=p1+lvb。如图7所示,巡检其中一个叶片前缘的前缘部分,其中虚线箭头是巡检方向,相当于向量lvb。利用叶片的方向向量和叶片长度l,动态地生成基于坐标系的巡检航点。为转换成无人机能够使用的经纬度和高度,先要将基于坐标系生成的巡检航点转成基于站心坐标系(enu)的航点,如图5所示。已知风机偏航角c和轮毂高度h时,从坐标系转换到坐标系的转换矩阵为:
[0115][0116]
巡检航点用坐标表示x=[x0,x1,x2]
t
,齐次坐标为x

=[x0,x1,x2,1]
t
,将x

转换为基于站心坐标系下的坐标公式为得到站心坐标后,转换成经纬度和海拔。x0,x1,x2是三维空间坐标的x、y、z轴的值;
[0117]
换成站心坐标系后,转换成经纬度和海拔,“站心坐标系(enu)”转成成“地心地固坐标系(ecef)”后再转成“经纬高坐标系(lla)”。
[0118]
在拍摄叶片的前缘和后缘时,无人机的相机云台偏航角指向机头,俯仰角为0,即保持水平角度,仰视为正角度,俯视为负角度。假定风机的偏航角为c,在拍摄叶片前缘时,无人机的机头方向与风机的偏航角相反,即面向风机轮毂,其角度为-c。拍摄叶片后缘时,无人机机头方向与风机偏航角相同,其角度为c。
[0119]
在拍摄叶片的迎风面(ps面)和背风面(ss面)时,无人机的相机云台偏航角指向机头,云台俯仰角和无人机的机头方向根据所拍摄的叶片角度进行调整。具体而言,如图8所示,假定叶片角度d=30
°
,则在拍摄叶片背风面时(a点),相机云台调整为30
°
,机头方向基于风机的偏航角c设定为c-90
°
。在拍摄叶片迎风面时(b点),相机云台调整为-30
°
,机头方向为c+90
°

[0120]
一种基于无人机的风机巡检航线生成系统,包括第一航线生成单元、偏航角计算单元、第二航线生成单元、叶片角度计算单元和巡检航线生成单元;
[0121]
第一航线生成单元生成到达风机上方的第一航线l1,第一航线l1包括三个航点,三个航点分别为第一风机上方航点、第二风机上方航点和第三风机上方航点;第一风机上方航点的经纬度是无人机所在的经纬度,高度高于周围的阻碍物;第二风机上方航点的经纬度是风机塔筒的经纬度,高度是第一风机上方航点的高度;第三风机上方航点的经纬度
是风机塔筒的经纬度,高度大于轮毂高度和叶片长度之和,控制无人机到达第三风机上方航点后,调整云台垂直向下拍摄,获取风机顶视图(从云台中的可见光摄像头中获取风机顶视图);
[0122]
偏航角计算单元根据风机顶视图与当前云台的偏航角计算风机当前的偏航角;
[0123]
第二航线生成单元根据所述偏航角,生成到达轮毂正前方的第二航线l2,第二航线l2包括第一正前方航点和第二正前方航点,第一正前方航点为轮毂正前方的经纬度,高度为无人机当前高度;第二正前方航点是轮毂正前方的经纬度,高度为轮毂高度,控制无人机到达云台后调整为水平拍摄,从云台中的可见光摄像头中获取风机轮毂正视图,控制无人机机头方向调整为风机偏航角-180
°

[0124]
叶片角度计算单元基于风机轮毂正视图计算风机的叶片角度;
[0125]
巡检航线生成单元基于风机偏航角和叶片角度,生成巡检航线。
[0126]
偏航角计算单元计算风机当前的偏航角具体包含以下步骤:
[0127]
201)利用分割算法获取只有风机的风机顶视图的二值图,从风机顶视图的二值图的四条边依次向中心搜索叶片,得到叶片延伸至图像四条边的区域,叶片延伸至图像四条边的区域为叶片区域;得到叶片延伸至图像四条边的区域,确定叶片的位置,并获得叶片端点;
[0128]
202)去除叶片区域,基于风机的机舱所在区域计算出机舱的最大内接矩形,将最大内接矩形的较长的中线作为机舱中线;
[0129]
203)根据叶片端点和机舱中线,计算出在风机顶视图上以机舱尾部为坐标原点的偏航角度a,根据云台偏航角b,得到风机偏航角c。
[0130]
步骤203)具体包括以下步骤:
[0131]
选取叶片的一个端点p
y0
,机舱中线的两个端点分别为p
c0
和p
c1
,计算端点p
y0
在中线上的投影点p

,机舱尾部上的点是机舱中线端点中距离投影点p

较远的点,以投影点p

为端点,计算得到以机舱尾部为坐标原点的偏航角度a,在图2(d)中坐标原点为p
c0
;此时云台偏航角为b,其中以正北为0
°
,向东为正,向西为负,得到风机偏航角c=90
°
+a+b,得到风机偏航角c,风机偏航角c:
[0132][0133]
风机偏航角c∈(-180,180]。
[0134]
叶片角度计算单元工作过程具体包括以下步骤:
[0135]
401)获取风机轮毂正视图后,为减少其他部分的影响,利用分割算法获取得到只有风机的风机轮毂正视图的二值图;
[0136]
402)对风机轮毂正视图的二值图进行直线检测,获取竖直方向上的直线,所述竖直方向上的直线为塔筒或者某个竖直向上或者向下的叶片的边缘,根据竖直方向上的直线得到轮毂在水平方向上的坐标;
[0137]
对非竖直直线以轮毂为坐标原点计算直线在图片上的角度,按照角度大小聚类,得到的聚类类别数;
[0138]
403)将每个类别中直线的角度平均值作为该方向上叶片角度d,所述叶片角度d是
以塔筒为0
°
,逆时针方向上第一个叶片与塔筒之间的夹角。
[0139]
步骤402)具体包括以下步骤:
[0140]
通过比较直线两端端点的x坐标,判断直线是否竖直方向上的直线,直线两端端点分别为p0和p1,x轴坐标差值x
diff
=|x
p0-x
p1
|,当x
diff
小于阈值δ时,判断为竖直直线,δ取值范围是(0,5](单位是像素,在图像上坐标点之间的差值);计算所有竖直直线x坐标的均值将所述均值作为轮毂中心的x坐标x
lg
;x
p0
、x
p1
是直线两端端点的x轴坐标值;
[0141]
对非竖直直线按照角度进行聚类,由于叶片之间的夹角为120度,非竖直直线的延长线,应该相交与轮毂附近,即非竖直直线的延长线的交点的x坐标在[x
lg-ε,x
lg
+ε]范围内,ε是轮毂半径在图片上的估计值,x
lg
轮毂中心坐标的横坐标。r为轮毂半径(如图4a虚线表示),g为无人机离轮毂的距离,相机内参(f,c
x
,cy),其中f是相机的焦距,(c
x
,cy)是主点坐标;具体来说对非竖直直线,首先分别计算非竖直直线两个端点的x坐标与轮毂中心坐标的横坐标x
lg
之间的差值,将差值较小的端点做为原点,计算非竖直直线的角度θ,非竖直直线原点为p
ori
,原点p
ori
的坐标为(x
ori
,y
ori
),非竖直直线另外一个端点为p
end
,端点p
end
的坐标为(x
end
,y
end
),则所述非竖直直线的角度θ为:
[0142][0143]
其中δx=x
end-x
ori
,δy=y
end-y
ori
,按照角度的大小进行聚类,每个叶片上的非竖直直线将聚为一类,聚类算法使用基于不相交集(disjoint set)的算法,通过若干次迭代得到只有叶片的直线,且类别数是2或者3个;在风机基本处于正

y’或倒

y’停机时,其中一个叶片处于竖直状态,导致类别数为2。
[0144]
巡检航线生成单元工作过程具体包括以下步骤:
[0145]
在得到风机偏航角c和叶片角度d后,基于风机的固有参数叶轮仰角e、叶片锥角v计算巡检航线。为计算方便,使用如图6所示基于轮毂的坐标系在坐标系下,第一叶片的角度为d

=270
°‑
d;根据叶轮仰角,在所述坐标系下对应的旋转矩阵为:
[0146][0147]
得到第一叶片方向向量vb=r
p
[cos(d

)*cos(v),sin(v),sin(d

)*cos(v)]
t
,通过替换叶片角度得到第二叶片和第三叶片的方向向量。已知叶片长度l和无人机初始位置后,得到巡检航线;本实施例中,在拍摄第一叶片的前缘时,以轮毂正前方作为第一个航点,坐标为p1=[0,g,0]
t
,其中g是无人机离轮毂的距离,叶片长度为l,在不考虑叶片预弯的情况下,所述叶片叶尖的位置为p2=p1+lvb。如图7所示,巡检其中一个叶片前缘的前缘部分,其中虚线箭头是巡检方向,相当于向量lvb。利用叶片的方向向量和叶片长度l,动态地生成基于坐标系的巡检航点。为转换成无人机能够使用的经纬度和高度,先要将基于坐标系生成的巡检航点转成基于站心坐标系(enu)的航点,已知风机偏航角c和轮毂高度h时,从坐标系转换到基于站心坐标系的转换矩阵为:
[0148][0149]
巡检航点用坐标表示x=[x0,x1,x2]
t
,齐次坐标为x

=[x0,x1,x2,1]
t
,将x

转换为基于站心坐标系下的坐标公式为得到站心坐标后,转换成经纬度和海拔。
[0150]
换成站心坐标系后,转换成经纬度和海拔,“站心坐标系(enu)”转成成“地心地固坐标系(ecef)”后再转成“经纬高坐标系(lla)”。
[0151]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0152]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0153]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0154]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0155]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0156]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0157]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0158]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
[0159]
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
[0160]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0161]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
[0162]
最后说明,本发明未详细解释该领域技术人员公认常识,以上所述仅为本发明的一个具体实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种基于无人机的风机巡检航线生成方法,其特征在于,包括以下步骤:s1,生成到达风机上方的第一航线l1,第一航线l1包括三个航点,三个航点分别为第一风机上方航点、第二风机上方航点和第三风机上方航点;第一风机上方航点的经纬度是无人机所在的经纬度,高度高于周围的阻碍物;第二风机上方航点的经纬度是风机塔筒的经纬度,高度是第一风机上方航点的高度;第三风机上方航点的经纬度是风机塔筒的经纬度,高度大于轮毂高度和叶片长度之和,控制无人机到达第三风机上方航点后,调整云台垂直向下拍摄,获取风机顶视图;s2,根据风机顶视图与当前云台的偏航角计算风机当前的偏航角;s3,根据风机当前偏航角,生成到达轮毂正前方的第二航线l2,第二航线l2包括第一正前方航点和第二正前方航点,第一正前方航点为轮毂正前方的经纬度,高度为无人机当前高度;第二正前方航点是轮毂正前方的经纬度,高度为轮毂高度,控制无人机到达云台后调整为水平拍摄,从云台中的可见光摄像头中获取风机轮毂正视图,控制无人机机头方向调整为风机偏航角-180
°
;s4,基于风机轮毂正视图计算风机的叶片角度;s5,基于风机偏航角和叶片角度,生成巡检航线。2.根据权利要求1所示的一种基于无人机的风机巡检航线生成方法,其特征在于,步骤s2计算风机当前的偏航角具体包含以下步骤:201)利用分割算法获取只有风机的风机顶视图的二值图,从风机顶视图的二值图的四条边依次向中心搜索叶片,得到叶片延伸至图像四条边的区域,叶片延伸至图像四条边的区域为叶片区域;得到叶片延伸至图像四条边的区域,确定叶片的位置,并获得叶片端点;202)去除叶片区域,基于风机的机舱所在区域计算出机舱的最大内接矩形,将最大内接矩形的较长的中线作为机舱中线;203)根据叶片端点和机舱中线,计算出在风机顶视图上以机舱尾部为坐标原点的偏航角度a,根据云台偏航角b,得到风机偏航角c。3.根据权利要求2所示的一种基于无人机的风机巡检航线生成方法,其特征在于,步骤203)具体包括以下步骤:选取叶片的一个端点p
y0
,机舱中线的两个端点分别为p
c0
和p
c1
,计算端点p
y0
在中线上的投影点p

,机舱尾部上的点是机舱中线端点中距离投影点p

较远的点,以投影点p

为端点,计算得到以机舱尾部为坐标原点的偏航角度a,云台偏航角为b,其中以正北为0
°
,向东为正,向西为负,得到风机偏航角c=90
°
+a+b,得到风机偏航角c,风机偏航角c:风机偏航角c∈(-180,180]。4.根据权利要求1所示的一种基于无人机的风机巡检航线生成方法,其特征在于,步骤s4具体包括以下步骤:401)获取风机轮毂正视图后,利用分割算法获取得到只有风机的风机轮毂正视图的二值图;402)对风机轮毂正视图的二值图进行直线检测,获取竖直方向上的直线,所述竖直方
向上的直线为塔筒或者某个竖直向上或者向下的叶片的边缘,根据竖直方向上的直线得到轮毂在水平方向上的坐标;对非竖直直线以轮毂为坐标原点计算直线在图片上的角度,按照角度大小聚类,得到的聚类类别数;403)将每个聚类类别中直线的角度平均值作为该方向上叶片角度d,所述叶片角度d是以塔筒为0
°
,逆时针方向上第一个叶片与塔筒之间的夹角。5.根据权利要求4所示的一种基于无人机的风机巡检航线生成方法,其特征在于,步骤402)具体包括以下步骤:通过比较直线两端端点的x坐标,判断直线是否竖直方向上的直线,所述直线两端端点分别为p0和p1,x轴坐标差值x
diff
=|x
p0-x
p1
|,当x
diff
小于阈值δ时,判断为竖直直线;计算所有竖直直线x坐标的均值将所述均值作为轮毂中心的x坐标x
lg
;x
p0
、x
p1
是直线两端端点的x轴坐标值;对非竖直直线按照角度进行聚类,非竖直直线的延长线的交点的x坐标在[x
lg-ε,x
lg
+ε]范围内,ε是轮毂半径在图片上的估计值,x
lg
是轮毂中心坐标的横坐标;r为轮毂半径,g为无人机离轮毂的距离,相机内参(f,c
x
,c
y
),其中f是相机的焦距,(c
x
,c
y
)是主点坐标;分别计算非竖直直线两个端点的x坐标与轮毂中心坐标的横坐标x
lg
之间的差值,将差值较小的端点做为原点,计算非竖直直线的角度θ,非竖直直线原点为p
ori
,原点p
ori
的坐标为(x
ori
,y
ori
),非竖直直线另外一个端点为p
end
,端点p
end
的坐标为(x
end
,y
end
),则所述非竖直直线的角度θ为:其中δx=x
end-x
ori
,δy=y
end-y
ori
,按照角度的大小进行聚类,每个叶片上的非竖直直线聚为一类,聚类算法使用基于不相交集的算法,通过迭代得到只有叶片的直线,且类别数是2或者3个;在风机基本处于正

y’或倒

y’停机时,其中一个叶片处于竖直状态,类别数为2。6.根据权利要求1所示的一种基于无人机的风机巡检航线生成方法,其特征在于,步骤s5具体包括以下步骤:在得到风机偏航角c和叶片角度d后,基于风机的叶轮仰角e、叶片锥角v计算巡检航线,基于轮毂的坐标系在坐标系下,第一叶片的角度为d

=270
°‑
d;根据叶轮仰角e,在所述坐标系下对应的旋转矩阵为:得到第一叶片方向向量v
b
=r
p
[cos(d

)*cos(v),sin(v),sin(d

)*cos(v)]
t
,通过替换叶片角度得到第二叶片和第三叶片的方向向量;已知叶片长度l和无人机初始位置后,得到巡检航线;在拍摄第一叶片的前缘时,以轮毂正前方作为第一个航点,坐标为p1=[0,g,0]
t
,其中g是无人机离轮毂的距离;叶片长度为
l,叶片叶尖的位置为p2=p1+lv
b
,巡检其中一个叶片前缘的前缘部分;基于叶片的方向向量和叶片长度l,动态生成基于坐标系的巡检航点;基于坐标系的巡检航点转换成无人机能够使用的经纬度和高度;基于坐标系的巡检航点转换成无人机能够使用的经纬度和高度具体包括以下步骤:将基于坐标系生成的巡检航点转成基于站心坐标系的航点,已知风机偏航角c和轮毂高度h时,从坐标系转换到基于站心坐标系的转换矩阵为:巡检航点用坐标表示x=[x0,x1,x2]
t
,齐次坐标为x

=[x0,x1,x2,1]
t
,将x

转换为基于站心坐标系下的坐标公式为得到站心坐标后,转换成经纬度和海拔。7.一种基于无人机的风机巡检航线生成系统,其特征在于,包括第一航线生成单元、偏航角计算单元、第二航线生成单元、叶片角度计算单元和巡检航线生成单元;第一航线生成单元生成到达风机上方的第一航线l1,第一航线l1包括三个航点,三个航点分别为第一风机上方航点、第二风机上方航点和第三风机上方航点;第一风机上方航点的经纬度是无人机所在的经纬度,高度高于周围的阻碍物;第二风机上方航点的经纬度是风机塔筒的经纬度,高度是第一风机上方航点的高度;第三风机上方航点的经纬度是风机塔筒的经纬度,高度大于轮毂高度和叶片长度之和,控制无人机到达第三风机上方航点后,调整云台垂直向下拍摄,获取风机顶视图;偏航角计算单元根据风机顶视图与当前的云台偏航角计算风机偏航角;第二航线生成单元根据风机偏航角,生成到达轮毂正前方的第二航线l2,第二航线l2包括第一正前方航点和第二正前方航点,第一正前方航点为轮毂正前方的经纬度,高度为无人机当前高度;第二正前方航点是轮毂正前方的经纬度,高度为轮毂高度,控制无人机到达云台后调整为水平拍摄,从云台中的可见光摄像头中获取风机轮毂正视图,控制无人机机头方向调整为风机偏航角-180
°
;叶片角度计算单元基于风机轮毂正视图计算风机的叶片角度;巡检航线生成单元基于风机偏航角和叶片角度,生成巡检航线。8.根据权利要求7所示的一种基于无人机的风机巡检航线生成系统,其特征在于,偏航角计算单元计算风机当前的偏航角具体包含以下步骤:201)利用分割算法获取只有风机的风机顶视图的二值图,从风机顶视图的二值图的四条边依次向中心搜索叶片,得到叶片延伸至图像四条边的区域,叶片延伸至图像四条边的区域为叶片区域;得到叶片延伸至图像四条边的区域,确定叶片的位置,并获得叶片端点;202)去除叶片区域,基于风机的机舱所在区域计算出机舱的最大内接矩形,将最大内接矩形的较长的中线作为机舱中线;203)根据叶片端点和机舱中线,计算出在风机顶视图上以机舱尾部为坐标原点的偏航角度a,根据云台偏航角b,得到风机偏航角c;步骤203)具体包括以下步骤:选取叶片的一个端点p
y0
,机舱中线的两个端点分别为p
c0
和p
c1
,计算端点p
y0
在中线上的
投影点p

,机舱尾部上的点是机舱中线端点中距离投影点p

较远的点,以投影点p

为端点,计算得到以机舱尾部为坐标原点的偏航角度a,;此时云台偏航角为b,其中以正北为0
°
,向东为正,向西为负,得到风机偏航角c=90
°
+a+b,得到风机偏航角c,风机偏航角c:风机偏航角c∈(-180,180]。9.根据权利要求7所示的一种基于无人机的风机巡检航线生成系统,其特征在于,叶片角度计算单元工作过程具体包括以下步骤:401)获取风机轮毂正视图后,利用分割算法获取得到只有风机的风机轮毂正视图的二值图;402)对风机轮毂正视图的二值图进行直线检测,获取竖直方向上的直线,所述竖直方向上的直线为塔筒或者某个竖直向上或者向下的叶片的边缘,根据竖直方向上的直线得到轮毂在水平方向上的坐标;对非竖直直线以轮毂为坐标原点计算直线在图片上的角度,按照角度大小聚类,得到的聚类类别数;403)将每个类别中直线的角度平均值作为该方向上叶片角度d,所述叶片角度d是以塔筒为0
°
,逆时针方向上第一个叶片与塔筒之间的夹角;步骤402)具体包括以下步骤:通过比较直线两端端点的x坐标,判断直线是否竖直方向上的直线,直线两端端点分别为p0和p1,x轴坐标差值x
diff
=|x
p0-x
p1
|,当x
diff
小于阈值δ时,判断为竖直直线;计算所有竖直直线x坐标的均值将所述均值作为轮毂中心的x坐标x
lg
;x
p0
、x
p1
根本是直线两端端点的x轴坐标值;对非竖直直线按照角度进行聚类,由于叶片之间的夹角为120度,非竖直直线的延长线,应该相交与轮毂附近,即非竖直直线的延长线的交点的x坐标在[x
lg-ε,x
lg
+ε]范围内,ε是轮毂半径在图片上的估计值,x
lg
轮毂中心坐标的横坐标;r为轮毂半径,g为无人机离轮毂的距离,相机内参(f,c
x
,c
y
),其中f是相机的焦距,(c
x
,c
y
)是主点坐标;分别计算非竖直直线两个端点的x坐标与轮毂中心坐标的横坐标x
lg
之间的差值,将差值较小的端点做为原点,计算非竖直直线的角度θ,非竖直直线原点为p
ori
,原点p
ori
的坐标为(x
ori
,y
ori
),非竖直直线另外一个端点为p
end
,端点p
end
的坐标为(x
end
,y
end
),则所述非竖直直线的角度θ为:其中δx=x
end-x
ori
,δy=y
end-y
ori
,按照角度的大小进行聚类,每个叶片上的非竖直直线将聚为一类,聚类算法使用基于不相交集的算法,通过若干次迭代得到只有叶片的直线,且类别数是2或者3个;在风机基本处于正

y’或倒

y’停机时,其中一个叶片处于竖直状态,导致类别数为2。10.根据权利要求7所示的一种基于无人机的风机巡检航线生成系统,其特征在于,巡检航线生成单元工作过程具体包括以下步骤:
在得到风机偏航角c和叶片角度d后,基于风机的固有参数叶轮仰角e、叶片锥角v计算巡检航线;基于轮毂的坐标系在坐标系下,第一叶片的角度为d

=270
°‑
d;根据叶轮仰角,在所述坐标系下对应的旋转矩阵为:得到第一叶片方向向量v
b
=r
p
[cos(d

)*cos(v),sin(v),sin(d

)*cos(v)]
t
,通过替换叶片角度得到第二叶片和第三叶片的方向向量;已知叶片长度l和无人机初始位置后,得到巡检航线;在拍摄第一叶片的前缘时,以轮毂正前方作为第一个航点,坐标为p1=[0,g,0]
t
,其中g是无人机离轮毂的距离;叶片长度为l,叶片叶尖的位置为p2=p1+lv
b
;巡检其中一个叶片前缘的前缘部分,利用叶片的方向向量和叶片长度l,动态地生成基于坐标系的巡检航点;将巡检航点转换成无人机能够使用的经纬度和高度;巡检航点转换成无人机能够使用的经纬度和高度具体包括以下步骤:将基于坐标系生成的巡检航点转成基于站心坐标系的航点,已知风机偏航角c和轮毂高度h时,从坐标系转换到基于站心坐标系的转换矩阵为:巡检航点的坐标表示x=[x0,x1,x2]
t
,齐次坐标为x

=[x0,x1,x2,1]
t
,将x

转换基于站心坐标系下的坐标再转换成经纬度和海拔。

技术总结


本发明公开一种基于无人机的风机巡检航线生成方法,包括以下步骤:S1,生成到达风机上方的第一航线L1;S2,根据风机顶视图与当前云台的偏航角计算风机当前的偏航角;S3,根据所述偏航角,生成到达轮毂正前方的第二航线L2;S4,基于风机轮毂正视图计算风机的叶片角度;S5,基于风机偏航角和叶片角度,生成巡检航线;本方法只需要输入风机的地理信息与自身参数,就可以自动识别风机停机时的偏航角和叶片角度,自动生成巡检航线,其中包括巡检航线上的航点、无人机的机头方向、每个航点时的云台角度和拍照动作等,使得飞行过程中不需要人工参与,实现无人机能够任意点起飞,风机能够停在任意角度。任意角度。任意角度。


技术研发人员:

张观良 姜广周

受保护的技术使用者:

北京中科利丰科技有限公司

技术研发日:

2022.09.06

技术公布日:

2022/12/16

本文发布于:2022-12-17 15:41:12,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/34981.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:风机   叶片   轮毂   无人机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图