權(quán)利要求書: 1.一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法,其特征在于,包括以下步驟:
S1,生成到達(dá)風(fēng)機(jī)上方的第一航線L1,第一航線L1包括三個(gè)航點(diǎn),三個(gè)航點(diǎn)分別為第一風(fēng)機(jī)上方航點(diǎn)、第二風(fēng)機(jī)上方航點(diǎn)和第三風(fēng)機(jī)上方航點(diǎn);第一風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是無(wú)人機(jī)所在的經(jīng)緯度,高度高于周圍的阻礙物;第二風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度是第一風(fēng)機(jī)上方航點(diǎn)的高度;第三風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度大于輪轂高度和葉片長(zhǎng)度之和,控制無(wú)人機(jī)到達(dá)第三風(fēng)機(jī)上方航點(diǎn)后,調(diào)整云臺(tái)垂直向下拍攝,獲取風(fēng)機(jī)頂視圖;
S2,根據(jù)風(fēng)機(jī)頂視圖與當(dāng)前云臺(tái)的偏航角計(jì)算風(fēng)機(jī)當(dāng)前的偏航角;
S3,根據(jù)風(fēng)機(jī)當(dāng)前偏航角,生成到達(dá)輪轂正前方的第二航線L2,第二航線L2包括第一正前方航點(diǎn)和第二正前方航點(diǎn),第一正前方航點(diǎn)為輪轂正前方的經(jīng)緯度,高度為無(wú)人機(jī)當(dāng)前高度;第二正前方航點(diǎn)是輪轂正前方的經(jīng)緯度,高度為輪轂高度,控制無(wú)人機(jī)到達(dá)云臺(tái)后調(diào)整為水平拍攝,從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)輪轂正視圖,控制無(wú)人機(jī)機(jī)頭方向調(diào)整為風(fēng)機(jī)偏航角?180°;
S4,基于風(fēng)機(jī)輪轂正視圖計(jì)算風(fēng)機(jī)的葉片角度;
S5,基于風(fēng)機(jī)偏航角和葉片角度,生成巡檢航線;
步驟S2計(jì)算風(fēng)機(jī)當(dāng)前的偏航角具體包含以下步驟:
201)利用分割算法獲取只有風(fēng)機(jī)的風(fēng)機(jī)頂視圖的二值圖,從風(fēng)機(jī)頂視圖的二值圖的四條邊依次向中心搜索葉片,得到葉片延伸至圖像四條邊的區(qū)域,葉片延伸至圖像四條邊的區(qū)域?yàn)槿~片區(qū)域;得到葉片延伸至圖像四條邊的區(qū)域,確定葉片的位置,并獲得葉片端點(diǎn);
202)去除葉片區(qū)域,基于風(fēng)機(jī)的機(jī)艙所在區(qū)域計(jì)算出機(jī)艙的最大內(nèi)接矩形,將最大內(nèi)接矩形的較長(zhǎng)的中線作為機(jī)艙中線;
203)根據(jù)葉片端點(diǎn)和機(jī)艙中線,計(jì)算出在風(fēng)機(jī)頂視圖上以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,根據(jù)云臺(tái)偏航角b,得到風(fēng)機(jī)偏航角c;
步驟203)具體包括以下步驟:
選取葉片的一個(gè)端點(diǎn)py0,機(jī)艙中線的兩個(gè)端點(diǎn)分別為pc0和pc1,計(jì)算端點(diǎn)py0在中線上的投影點(diǎn)p⊥,機(jī)艙尾部上的點(diǎn)是機(jī)艙中線端點(diǎn)中距離投影點(diǎn)p⊥較遠(yuǎn)的點(diǎn),以投影點(diǎn)p⊥為端點(diǎn),計(jì)算得到以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,云臺(tái)偏航角為b,其中以正北為0°,向東為正,向西為負(fù),得到風(fēng)機(jī)偏航角c=90°+a+b,得到風(fēng)機(jī)偏航角c,風(fēng)機(jī)偏航角c:風(fēng)機(jī)偏航角c∈(?180,180];
步驟S5具體包括以下步驟:
在得到風(fēng)機(jī)偏航角c和葉片角度d后,基于風(fēng)機(jī)的葉輪仰角e、葉片錐角v計(jì)算巡檢航線,基于輪轂的坐標(biāo)系 在坐標(biāo)系 下,第一葉片的角度為d′=270°?d;根據(jù)葉輪仰角e,在所述坐標(biāo)系 下對(duì)應(yīng)的旋轉(zhuǎn)矩陣為:T
得到第一葉片方向向量vb=Rp[cos(d′)*cos(v),sin(v),sin(d′)*cos(v)] ,通過替換葉片角度得到第二葉片和第三葉片的方向向量;
已知葉片長(zhǎng)度l和無(wú)人機(jī)初始位置后,得到巡檢航線;在拍攝第一葉片的前緣時(shí),以輪T轂正前方作為第一個(gè)航點(diǎn),坐標(biāo)為p1=[0,g,0] ,其中g(shù)是無(wú)人機(jī)離輪轂的距離;葉片長(zhǎng)度為l,葉片葉尖的位置為p2=p1+lvb,巡檢其中一個(gè)葉片前緣的前緣部分;
基于葉片的方向向量和葉片長(zhǎng)度l,動(dòng)態(tài)生成基于坐標(biāo)系 的巡檢航點(diǎn);基于坐標(biāo)系的巡檢航點(diǎn)轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度;
基于坐標(biāo)系 的巡檢航點(diǎn)轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度具體包括以下步驟:將基于坐標(biāo)系 生成的巡檢航點(diǎn)轉(zhuǎn)成基于站心坐標(biāo)系 的航點(diǎn),已知風(fēng)機(jī)偏航角c和輪轂高度h時(shí),從坐標(biāo)系 轉(zhuǎn)換到基于站心坐標(biāo)系 的轉(zhuǎn)換矩陣為:T T
巡檢航點(diǎn)用坐標(biāo)表示x=[x0,x1,x2] ,齊次坐標(biāo)為x′=[x0,x1,x2,1] ,將x′轉(zhuǎn)換為基于站心坐標(biāo)系 下的坐標(biāo)公式為 得到站心坐標(biāo)后,轉(zhuǎn)換成經(jīng)緯度和海拔。
2.根據(jù)權(quán)利要求1所述的一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法,其特征在于,步驟S4具體包括以下步驟:
401)獲取風(fēng)機(jī)輪轂正視圖后,利用分割算法獲取得到只有風(fēng)機(jī)的風(fēng)機(jī)輪轂正視圖的二值圖;
402)對(duì)風(fēng)機(jī)輪轂正視圖的二值圖進(jìn)行直線檢測(cè),獲取豎直方向上的直線,所述豎直方向上的直線為塔筒或者某個(gè)豎直向上或者向下的葉片的邊緣,根據(jù)豎直方向上的直線得到輪轂在水平方向上的坐標(biāo);
對(duì)非豎直直線以輪轂為坐標(biāo)原點(diǎn)計(jì)算直線在圖片上的角度,按照角度大小聚類,得到的聚類類別數(shù);
403)將每個(gè)聚類類別中直線的角度平均值作為該方向上葉片角度d,所述葉片角度d是以塔筒為0°,逆時(shí)針方向上第一個(gè)葉片與塔筒之間的夾角。
3.根據(jù)權(quán)利要求2所述的一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法,其特征在于,步驟402)具體包括以下步驟:通過比較直線兩端端點(diǎn)的x坐標(biāo),判斷直線是否豎直方向上的直線,所述直線兩端端點(diǎn)分別為p0和p1,x軸坐標(biāo)差值xdiff=|xp0?xp1|,當(dāng)xdiff小于閾值δ時(shí),判斷為豎直直線;計(jì)算所有豎直直線x坐標(biāo)的均值 將所述均值 作為輪轂中心的x坐標(biāo)xlg;xp0、xp1是直線兩端端點(diǎn)的x軸坐標(biāo)值;
對(duì)非豎直直線按照角度進(jìn)行聚類,非豎直直線的延長(zhǎng)線的交點(diǎn)的x坐標(biāo)在[xlg?ε,xlg+ε]范圍內(nèi),ε是輪轂半徑在圖片上的估計(jì)值,xlg是輪轂中心坐標(biāo)的橫坐標(biāo); r為輪轂半徑,g為無(wú)人機(jī)離輪轂的距離,相機(jī)內(nèi)參(f,cx,cy),其中f是相機(jī)的焦距,(cx,cy)是主點(diǎn)坐標(biāo);
分別計(jì)算非豎直直線兩個(gè)端點(diǎn)的x坐標(biāo)與輪轂中心坐標(biāo)的橫坐標(biāo)xlg之間的差值,將差值較小的端點(diǎn)做為原點(diǎn),計(jì)算非豎直直線的角度θ,非豎直直線原點(diǎn)為pori,原點(diǎn)pori的坐標(biāo)為(xori,yori),非豎直直線另外一個(gè)端點(diǎn)為pend,端點(diǎn)pend的坐標(biāo)為(xend,yend),則所述非豎直直線的角度θ為:其中Δx=xend?xori,Δy=y(tǒng)end?yori,按照角度的大小進(jìn)行聚類,每個(gè)葉片上的非豎直直線聚為一類,聚類算法使用基于不相交集的算法,通過迭代得到只有葉片的直線,且類別數(shù)是2或者3個(gè);在風(fēng)機(jī)基本處于正‘Y’或倒‘Y’停機(jī)時(shí),其中一個(gè)葉片處于豎直狀態(tài),類別數(shù)為
2。
4.一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成系統(tǒng),其特征在于,包括第一航線生成單元、偏航角計(jì)算單元、第二航線生成單元、葉片角度計(jì)算單元和巡檢航線生成單元;
第一航線生成單元生成到達(dá)風(fēng)機(jī)上方的第一航線L1,第一航線L1包括三個(gè)航點(diǎn),三個(gè)航點(diǎn)分別為第一風(fēng)機(jī)上方航點(diǎn)、第二風(fēng)機(jī)上方航點(diǎn)和第三風(fēng)機(jī)上方航點(diǎn);第一風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是無(wú)人機(jī)所在的經(jīng)緯度,高度高于周圍的阻礙物;第二風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度是第一風(fēng)機(jī)上方航點(diǎn)的高度;第三風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度大于輪轂高度和葉片長(zhǎng)度之和,控制無(wú)人機(jī)到達(dá)第三風(fēng)機(jī)上方航點(diǎn)后,調(diào)整云臺(tái)垂直向下拍攝,獲取風(fēng)機(jī)頂視圖;
偏航角計(jì)算單元根據(jù)風(fēng)機(jī)頂視圖與當(dāng)前的云臺(tái)偏航角計(jì)算風(fēng)機(jī)偏航角;
第二航線生成單元根據(jù)風(fēng)機(jī)偏航角,生成到達(dá)輪轂正前方的第二航線L2,第二航線L2包括第一正前方航點(diǎn)和第二正前方航點(diǎn),第一正前方航點(diǎn)為輪轂正前方的經(jīng)緯度,高度為無(wú)人機(jī)當(dāng)前高度;第二正前方航點(diǎn)是輪轂正前方的經(jīng)緯度,高度為輪轂高度,控制無(wú)人機(jī)到達(dá)云臺(tái)后調(diào)整為水平拍攝,從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)輪轂正視圖,控制無(wú)人機(jī)機(jī)頭方向調(diào)整為風(fēng)機(jī)偏航角?180°;
葉片角度計(jì)算單元基于風(fēng)機(jī)輪轂正視圖計(jì)算風(fēng)機(jī)的葉片角度;
巡檢航線生成單元基于風(fēng)機(jī)偏航角和葉片角度,生成巡檢航線;
偏航角計(jì)算單元計(jì)算風(fēng)機(jī)當(dāng)前的偏航角具體包含以下步驟:
201)利用分割算法獲取只有風(fēng)機(jī)的風(fēng)機(jī)頂視圖的二值圖,從風(fēng)機(jī)頂視圖的二值圖的四條邊依次向中心搜索葉片,得到葉片延伸至圖像四條邊的區(qū)域,葉片延伸至圖像四條邊的區(qū)域?yàn)槿~片區(qū)域;得到葉片延伸至圖像四條邊的區(qū)域,確定葉片的位置,并獲得葉片端點(diǎn);
202)去除葉片區(qū)域,基于風(fēng)機(jī)的機(jī)艙所在區(qū)域計(jì)算出機(jī)艙的最大內(nèi)接矩形,將最大內(nèi)接矩形的較長(zhǎng)的中線作為機(jī)艙中線;
203)根據(jù)葉片端點(diǎn)和機(jī)艙中線,計(jì)算出在風(fēng)機(jī)頂視圖上以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,根據(jù)云臺(tái)偏航角b,得到風(fēng)機(jī)偏航角c;
步驟203)具體包括以下步驟:
選取葉片的一個(gè)端點(diǎn)py0,機(jī)艙中線的兩個(gè)端點(diǎn)分別為pc0和pc1,計(jì)算端點(diǎn)py0在中線上的投影點(diǎn)p⊥,機(jī)艙尾部上的點(diǎn)是機(jī)艙中線端點(diǎn)中距離投影點(diǎn)p⊥較遠(yuǎn)的點(diǎn),以投影點(diǎn)p⊥為端點(diǎn),計(jì)算得到以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a;此時(shí)云臺(tái)偏航角為b,其中以正北為0°,向東為正,向西為負(fù),得到風(fēng)機(jī)偏航角c=90°+a+b,得到風(fēng)機(jī)偏航角c,風(fēng)機(jī)偏航角c:風(fēng)機(jī)偏航角c∈(?180,180];
巡檢航線生成單元工作過程具體包括以下步驟:
在得到風(fēng)機(jī)偏航角c和葉片角度d后,基于風(fēng)機(jī)的固有參數(shù)葉輪仰角e、葉片錐角v計(jì)算巡檢航線;基于輪轂的坐標(biāo)系 在坐標(biāo)系 下,第一葉片的角度為d′=270°?d;根據(jù)葉輪仰角,在所述坐標(biāo)系下對(duì)應(yīng)的旋轉(zhuǎn)矩陣為:T
得到第一葉片方向向量vb=Rp[cos(d′)*cos(v),sin(v),sin(d′)*cos(v)] ,通過替換葉片角度得到第二葉片和第三葉片的方向向量;已知葉片長(zhǎng)度l和無(wú)人機(jī)初始位置后,得到巡檢航線;
T
在拍攝第一葉片的前緣時(shí),以輪轂正前方作為第一個(gè)航點(diǎn),坐標(biāo)為p1=[0,g,0] ,其中g(shù)是無(wú)人機(jī)離輪轂的距離;葉片長(zhǎng)度為l,葉片葉尖的位置為p2=p1+lvb;
巡檢其中一個(gè)葉片前緣的前緣部分,利用葉片的方向向量和葉片長(zhǎng)度l,動(dòng)態(tài)地生成基于坐標(biāo)系 的巡檢航點(diǎn);將巡檢航點(diǎn)轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度;
巡檢航點(diǎn)轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度具體包括以下步驟:將基于坐標(biāo)系生成的巡檢航點(diǎn)轉(zhuǎn)成基于站心坐標(biāo)系 的航點(diǎn),已知風(fēng)機(jī)偏航角c和輪轂高度h時(shí),從坐標(biāo)系 轉(zhuǎn)換到基于站心坐標(biāo)系 的轉(zhuǎn)換矩陣為:T T
巡檢航點(diǎn)用坐標(biāo)表示x=[x0,x1,x2] ,齊次坐標(biāo)為x′=[x0,x1,x2,1] ,將x′轉(zhuǎn)換基于站心坐標(biāo)系 下的坐標(biāo) 再轉(zhuǎn)換成經(jīng)緯度和海拔。
5.根據(jù)權(quán)利要求4所述的一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成系統(tǒng),其特征在于,葉片角度計(jì)算單元工作過程具體包括以下步驟:
401)獲取風(fēng)機(jī)輪轂正視圖后,利用分割算法獲取得到只有風(fēng)機(jī)的風(fēng)機(jī)輪轂正視圖的二值圖;
402)對(duì)風(fēng)機(jī)輪轂正視圖的二值圖進(jìn)行直線檢測(cè),獲取豎直方向上的直線,所述豎直方向上的直線為塔筒或者某個(gè)豎直向上或者向下的葉片的邊緣,根據(jù)豎直方向上的直線得到輪轂在水平方向上的坐標(biāo);
對(duì)非豎直直線以輪轂為坐標(biāo)原點(diǎn)計(jì)算直線在圖片上的角度,按照角度大小聚類,得到的聚類類別數(shù);
403)將每個(gè)類別中直線的角度平均值作為該方向上葉片角度d,所述葉片角度d是以塔筒為0°,逆時(shí)針方向上第一個(gè)葉片與塔筒之間的夾角;
步驟402)具體包括以下步驟:
通過比較直線兩端端點(diǎn)的x坐標(biāo),判斷直線是否豎直方向上的直線,直線兩端端點(diǎn)分別為p0和p1,x軸坐標(biāo)差值xdiff=|xp0?xp1|,當(dāng)xdiff小于閾值δ時(shí),判斷為豎直直線;計(jì)算所有豎直直線x坐標(biāo)的均值 將所述均值 作為輪轂中心的x坐標(biāo)xlg;xp0、xp1根本是直線兩端端點(diǎn)的x軸坐標(biāo)值;
對(duì)非豎直直線按照角度進(jìn)行聚類,由于葉片之間的夾角為120度,非豎直直線的延長(zhǎng)線,應(yīng)該相交與輪轂附近,即非豎直直線的延長(zhǎng)線的交點(diǎn)的x坐標(biāo)在[xlg?ε,xlg+ε]范圍內(nèi),ε是輪轂半徑在圖片上的估計(jì)值,xlg輪轂中心坐標(biāo)的橫坐標(biāo); r為輪轂半徑,g為無(wú)人機(jī)離輪轂的距離,相機(jī)內(nèi)參(f,cx,cy),其中f是相機(jī)的焦距,(cx,cy)是主點(diǎn)坐標(biāo);
分別計(jì)算非豎直直線兩個(gè)端點(diǎn)的x坐標(biāo)與輪轂中心坐標(biāo)的橫坐標(biāo)xlg之間的差值,將差值較小的端點(diǎn)做為原點(diǎn),計(jì)算非豎直直線的角度θ,非豎直直線原點(diǎn)為pori,原點(diǎn)pori的坐標(biāo)為(xori,yori),非豎直直線另外一個(gè)端點(diǎn)為pend,端點(diǎn)pend的坐標(biāo)為(xend,yend),則所述非豎直直線的角度θ為:其中Δx=xend?xori,Δy=y(tǒng)end?yori,按照角度的大小進(jìn)行聚類,每個(gè)葉片上的非豎直直線將聚為一類,聚類算法使用基于不相交集的算法,通過若干次迭代得到只有葉片的直線,且類別數(shù)是2或者3個(gè);在風(fēng)機(jī)基本處于正‘Y’或倒‘Y’停機(jī)時(shí),其中一個(gè)葉片處于豎直狀態(tài),導(dǎo)致類別數(shù)為2。
說明書: 基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法及系統(tǒng)技術(shù)領(lǐng)域[0001] 本發(fā)明涉及一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法及系統(tǒng),屬于智能技術(shù)領(lǐng)域。背景技術(shù)[0002] 風(fēng)機(jī)葉片是風(fēng)電機(jī)組的重要組成部分,是關(guān)鍵部件之一,也是捕獲風(fēng)能的裝置,因此,葉片的安全性和可靠性顯得尤為重要,它是保障風(fēng)機(jī)正常運(yùn)行的關(guān)鍵所在。應(yīng)用無(wú)人機(jī)技術(shù)對(duì)風(fēng)機(jī)葉片的巡檢,能夠快速地進(jìn)行故障檢查和故障信息確認(rèn),實(shí)現(xiàn)葉片表面損傷初篩的目標(biāo)。[0003] 目前風(fēng)電場(chǎng)常見的葉片檢測(cè)以巡檢為主,主要由運(yùn)維人員通過定期巡視,手持望遠(yuǎn)鏡檢查葉片表面是否存在異常。這類檢查往往依靠現(xiàn)場(chǎng)人員個(gè)人經(jīng)驗(yàn)判斷,且無(wú)法發(fā)現(xiàn)早期細(xì)微裂紋。近年來部分風(fēng)電場(chǎng)配置了無(wú)人機(jī)進(jìn)行葉片巡檢,但無(wú)人機(jī)巡檢操作較為復(fù)雜,一些航線難以人工操作。為解決這個(gè)問題,需要利用無(wú)人機(jī)的航線自動(dòng)飛行功能,但由于風(fēng)機(jī)的偏航角和葉片角度每次都不一樣,因此無(wú)法預(yù)先生成航線。[0004] 現(xiàn)有技術(shù)中,CN201910753262?一種基于無(wú)人機(jī)的風(fēng)機(jī)葉片自主巡檢方法?申請(qǐng)公開本發(fā)明公開了一種基于無(wú)人機(jī)的風(fēng)機(jī)葉片自主巡檢方法,包括以下步驟:S1.判斷待巡檢風(fēng)機(jī)的幾何結(jié)構(gòu)是否已知;若是,進(jìn)入步驟S2;若否,進(jìn)入步驟S3;S2.對(duì)待巡檢的風(fēng)機(jī)進(jìn)行圖像拍攝,并結(jié)合待巡檢風(fēng)機(jī)的幾何結(jié)構(gòu),確定風(fēng)機(jī)上多個(gè)巡檢點(diǎn)的坐標(biāo)信息,進(jìn)入步驟S4,所述巡檢點(diǎn)是指巡檢時(shí)拍攝的目標(biāo)點(diǎn);S3.對(duì)待巡檢風(fēng)機(jī)進(jìn)行圖像拍攝,通過圖像處理獲取風(fēng)機(jī)上多個(gè)巡檢點(diǎn)的坐標(biāo)信息,進(jìn)入步驟S4;S4.根據(jù)巡檢點(diǎn)的坐標(biāo)信息,確定巡航點(diǎn)坐標(biāo)并生成自主巡航軌跡,所述巡航點(diǎn)是指無(wú)人機(jī)懸停拍攝的地點(diǎn),無(wú)人機(jī)按照自主巡航軌跡完成風(fēng)機(jī)葉片的巡檢?,F(xiàn)有技術(shù)1雖然能夠有效降低自主巡檢航線生成時(shí)的工作量,提高航線的精確度,但現(xiàn)有技術(shù)1通過圖像處理獲取風(fēng)機(jī)上多個(gè)巡檢點(diǎn)的坐標(biāo)信息,直接計(jì)算坐標(biāo)信息需要分別計(jì)算三葉尖的理論坐標(biāo)、實(shí)際坐標(biāo)和相機(jī)坐標(biāo),計(jì)算復(fù)雜誤差大,每次巡檢時(shí)都需要人工參與來獲取三個(gè)葉尖的坐標(biāo),依靠葉尖坐標(biāo)去獲取風(fēng)機(jī)的偏航角以及葉片角度。[0005] 現(xiàn)有技術(shù)CN201911198352?風(fēng)機(jī)葉片的無(wú)人機(jī)巡檢軌跡生成方法,獲取待檢風(fēng)機(jī)的包括葉片信息在內(nèi)的照片;S2:計(jì)算所述照片中待檢風(fēng)機(jī)的風(fēng)機(jī)朝向以及葉輪相位信息;S3:根據(jù)所述待檢風(fēng)機(jī)的風(fēng)機(jī)朝向以及葉輪相位信息,結(jié)合預(yù)設(shè)航線,生成待檢風(fēng)機(jī)的葉片巡檢軌跡。杜比文件2:采用所述風(fēng)機(jī)特征識(shí)別模型對(duì)所述照片內(nèi)的風(fēng)機(jī)進(jìn)行識(shí)別,得到攝像機(jī)坐標(biāo)下待檢風(fēng)機(jī)的特征參數(shù);但該發(fā)明根據(jù)葉片類型設(shè)置多個(gè)模板,但在實(shí)際中使用中,影響葉片葉尖位置的因素包括風(fēng)輪仰角、葉片錐角和葉片預(yù)彎等,因此會(huì)需要大量的模板來滿足各種情況。
發(fā)明內(nèi)容[0006] 為解決現(xiàn)有技術(shù)問題,本發(fā)明了公開了一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法,通過無(wú)人機(jī)自動(dòng)測(cè)量風(fēng)機(jī)的偏航角和葉片角度,基于風(fēng)機(jī)的一些參數(shù)(如經(jīng)緯度、葉片長(zhǎng)度等),最終生成巡檢航線,整個(gè)流程無(wú)需人工參與。[0007] 本發(fā)明具體方案如下:[0008] 一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法,包括以下步驟:[0009] S1,生成到達(dá)風(fēng)機(jī)上方的第一航線L1,第一航線L1包括三個(gè)航點(diǎn),三個(gè)航點(diǎn)分別為第一風(fēng)機(jī)上方航點(diǎn)、第二風(fēng)機(jī)上方航點(diǎn)和第三風(fēng)機(jī)上方航點(diǎn);第一風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是無(wú)人機(jī)所在的經(jīng)緯度,高度高于周圍的阻礙物;第二風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度是第一風(fēng)機(jī)上方航點(diǎn)的高度;第三風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度大于輪轂高度和葉片長(zhǎng)度之和,控制無(wú)人機(jī)到達(dá)第三風(fēng)機(jī)上方航點(diǎn)后,調(diào)整云臺(tái)垂直向下拍攝,獲取風(fēng)機(jī)頂視圖(從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)頂視圖);[0010] S2,根據(jù)風(fēng)機(jī)頂視圖與當(dāng)前云臺(tái)的偏航角計(jì)算風(fēng)機(jī)偏航角;[0011] S3,根據(jù)風(fēng)機(jī)偏航角,生成到達(dá)輪轂正前方的第二航線L2,第二航線L2包括第一正前方航點(diǎn)和第二正前方航點(diǎn),第一正前方航點(diǎn)為輪轂正前方的經(jīng)緯度,高度為無(wú)人機(jī)當(dāng)前高度;第二正前方航點(diǎn)是輪轂正前方的經(jīng)緯度,高度為輪轂高度,控制無(wú)人機(jī)到達(dá)云臺(tái)后調(diào)整為水平拍攝,從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)輪轂正視圖,控制無(wú)人機(jī)機(jī)頭方向調(diào)整為風(fēng)機(jī)偏航角?180°;[0012] S4,基于風(fēng)機(jī)輪轂正視圖計(jì)算風(fēng)機(jī)的葉片角度;[0013] S5,基于風(fēng)機(jī)偏航角和葉片角度,生成巡檢航線。[0014] 步驟S2計(jì)算風(fēng)機(jī)當(dāng)前的偏航角具體包含以下步驟:[0015] 201)利用分割算法獲取只有風(fēng)機(jī)的風(fēng)機(jī)頂視圖的二值圖,從風(fēng)機(jī)頂視圖的二值圖的四條邊依次向中心搜索葉片,得到葉片延伸至圖像四條邊的區(qū)域,葉片延伸至圖像四條邊的區(qū)域?yàn)槿~片區(qū)域;得到葉片延伸至圖像四條邊的區(qū)域,確定葉片的位置,并獲得葉片端點(diǎn);[0016] 202)去除葉片區(qū)域,基于風(fēng)機(jī)的機(jī)艙所在區(qū)域計(jì)算出機(jī)艙的最大內(nèi)接矩形,將最大內(nèi)接矩形的較長(zhǎng)的中線作為機(jī)艙中線;[0017] 203)根據(jù)葉片端點(diǎn)和機(jī)艙中線,計(jì)算出在風(fēng)機(jī)頂視圖上以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,根據(jù)云臺(tái)偏航角b,得到風(fēng)機(jī)偏航角c。[0018] 步驟203)具體包括以下步驟:[0019] 選取葉片的一個(gè)端點(diǎn)py0,機(jī)艙中線的兩個(gè)端點(diǎn)分別為pc0和pc1,計(jì)算端點(diǎn)py0在中線上的投影點(diǎn)p⊥,機(jī)艙尾部上的點(diǎn)是機(jī)艙中線端點(diǎn)中距離投影點(diǎn)p⊥較遠(yuǎn)的點(diǎn),以投影點(diǎn)p⊥為端點(diǎn),計(jì)算得到以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a;此時(shí)云臺(tái)偏航角為b,其中以正北為0°,向東為正,向西為負(fù),得到風(fēng)機(jī)偏航角c=90°+a+b,得到風(fēng)機(jī)偏航角c,風(fēng)機(jī)偏航角c:
[0020][0021] 風(fēng)機(jī)偏航角c∈(?180,180]。[0022] 步驟S4具體包括以下步驟:[0023] 401)獲取風(fēng)機(jī)輪轂正視圖后,為減少其他部分的影響,利用分割算法獲取得到只有風(fēng)機(jī)的風(fēng)機(jī)輪轂正視圖的二值圖;[0024] 402)對(duì)風(fēng)機(jī)輪轂正視圖的二值圖進(jìn)行直線檢測(cè),獲取豎直方向上的直線,所述豎直方向上的直線為塔筒或者某個(gè)豎直向上或者向下的葉片的邊緣,根據(jù)豎直方向上的直線得到輪轂在水平方向上的坐標(biāo);[0025] 對(duì)非豎直直線以輪轂為坐標(biāo)原點(diǎn)計(jì)算直線在圖片上的角度,按照角度大小聚類,得到的聚類類別數(shù);[0026] 403)將每個(gè)聚類類別中直線的角度平均值作為該方向上葉片角度d,所述葉片角度d是以塔筒為0°,逆時(shí)針方向上第一個(gè)葉片與塔筒之間的夾角。[0027] 步驟402)具體包括以下步驟:[0028] 通過比較直線兩端端點(diǎn)的x坐標(biāo),判斷直線是否豎直方向上的直線,直線兩端端點(diǎn)分別為p0和p1,x軸坐標(biāo)差值xdiff=|xp0?xp1|,當(dāng)xdiff小于閾值δ時(shí),判斷為豎直直線;計(jì)算所有豎直直線x坐標(biāo)的均值 將所述均值 作為輪轂中心的x坐標(biāo)xlg;xp0、xp1是直線兩端端點(diǎn)的x軸坐標(biāo)值;[0029] 對(duì)非豎直直線按照角度進(jìn)行聚類,由于葉片之間的夾角為120度,非豎直直線的延長(zhǎng)線,應(yīng)該相交與輪轂附近,即非豎直直線的延長(zhǎng)線的交點(diǎn)的x坐標(biāo)在[xlg?ε,xlg+ε]范圍內(nèi),ε是輪轂半徑在圖片上的估計(jì)值,xlg輪轂中心坐標(biāo)的橫坐標(biāo)。 r為輪轂半徑,g為無(wú)人機(jī)離輪轂的距離,相機(jī)內(nèi)參(f,cx,cy),其中f是相機(jī)的焦距,(cx,cy)是主點(diǎn)坐標(biāo),主點(diǎn)是光軸和相機(jī)成像平面的交點(diǎn);具體來說對(duì)非豎直直線,首先分別計(jì)算非豎直直線兩個(gè)端點(diǎn)的x坐標(biāo)與輪轂中心坐標(biāo)的橫坐標(biāo)xlg之間的差值,將差值較小的端點(diǎn)做為原點(diǎn),計(jì)算非豎直直線的角度θ,非豎直直線原點(diǎn)為pori,原點(diǎn)pori的坐標(biāo)為(xori,yori),非豎直直線另外一個(gè)端點(diǎn)為pend,端點(diǎn)pend的坐標(biāo)為(xend,yend),則所述非豎直直線的角度θ為:[0030][0031] 其中Δx=xend?xori,Δy=y(tǒng)end?yori,按照角度的大小進(jìn)行聚類,每個(gè)葉片上的非豎直直線將聚為一類,聚類算法使用基于不相交集(disjointset)的算法,通過若干次迭代得到只有葉片的直線,且類別數(shù)是2或者3個(gè);在風(fēng)機(jī)基本處于正‘Y’或倒‘Y’停機(jī)時(shí),其中一個(gè)葉片處于豎直狀態(tài),導(dǎo)致類別數(shù)為2。[0032] 步驟S5具體包括以下步驟:[0033] 在得到風(fēng)機(jī)偏航角c和葉片角度d后,基于風(fēng)機(jī)的固有參數(shù)葉輪仰角e、葉片錐角v計(jì)算巡檢航線。為計(jì)算方便,使用如圖6所示基于輪轂的坐標(biāo)系 在坐標(biāo)系 下,第一葉片的角度為d′=270°?d;根據(jù)葉輪仰角,在所述坐標(biāo)系下對(duì)應(yīng)的旋轉(zhuǎn)矩陣為:[0034][0035] 得到第一葉片方向向量vb=Rp[cos(d′)*cos(v),sin(v),sin(d′)*cos(v)]T,,通過替換葉片角度得到第二葉片和第三葉片的方向向量。已知葉片長(zhǎng)度l和無(wú)人機(jī)初始位置后,得到巡檢航線;在拍攝第一葉片的前緣時(shí),以輪轂正前方作為第一個(gè)航點(diǎn),坐標(biāo)為p1=T[0,g,0] ,其中g(shù)是無(wú)人機(jī)離輪轂的距離l;葉片長(zhǎng)度為l,在不考慮葉片預(yù)彎的情況下,所述葉片葉尖的位置為p2=p1+lvb;巡檢其中一個(gè)葉片前緣的前緣部分;利用葉片的方向向量和葉片長(zhǎng)度l,動(dòng)態(tài)地生成基于坐標(biāo)系 的巡檢航點(diǎn)。為轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度,先要將基于坐標(biāo)系 生成的巡檢航點(diǎn)轉(zhuǎn)成基于站心坐標(biāo)系(ENU) 的航點(diǎn),已知風(fēng)機(jī)偏航角c和輪轂高度h時(shí),從坐標(biāo)系 轉(zhuǎn)換到基于站心坐標(biāo)系 的轉(zhuǎn)換矩陣為:
[0036][0037] 巡檢航點(diǎn)用坐標(biāo)表示x=[x0,x1,x2]T,齊次坐標(biāo)為x′=[x0,x1,x2,1]T,將x′轉(zhuǎn)換為基于站心坐標(biāo)系 下的坐標(biāo)公式為 得到站心坐標(biāo)后,轉(zhuǎn)換成經(jīng)緯度和海拔。[0038] 一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成系統(tǒng),包括第一航線生成單元、偏航角計(jì)算單元、第二航線生成單元、葉片角度計(jì)算單元和巡檢航線生成單元;[0039] 第一航線生成單元生成到達(dá)風(fēng)機(jī)上方的第一航線L1,第一航線L1包括三個(gè)航點(diǎn),三個(gè)航點(diǎn)分別為第一風(fēng)機(jī)上方航點(diǎn)、第二風(fēng)機(jī)上方航點(diǎn)和第三風(fēng)機(jī)上方航點(diǎn);第一風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是無(wú)人機(jī)所在的經(jīng)緯度,高度高于周圍的阻礙物;第二風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度是第一風(fēng)機(jī)上方航點(diǎn)的高度;第三風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度大于輪轂高度和葉片長(zhǎng)度之和,控制無(wú)人機(jī)到達(dá)第三風(fēng)機(jī)上方航點(diǎn)后,調(diào)整云臺(tái)垂直向下拍攝,獲取風(fēng)機(jī)頂視圖(從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)頂視圖);[0040] 偏航角計(jì)算單元根據(jù)風(fēng)機(jī)頂視圖與當(dāng)前云臺(tái)的偏航角計(jì)算風(fēng)機(jī)當(dāng)前的偏航角;[0041] 第二航線生成單元根據(jù)所述偏航角,生成到達(dá)輪轂正前方的第二航線L2,第二航線L2包括第一正前方航點(diǎn)和第二正前方航點(diǎn),第一正前方航點(diǎn)為輪轂正前方的經(jīng)緯度,高度為無(wú)人機(jī)當(dāng)前高度;第二正前方航點(diǎn)是輪轂正前方的經(jīng)緯度,高度為輪轂高度,控制無(wú)人機(jī)到達(dá)云臺(tái)后調(diào)整為水平拍攝,從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)輪轂正視圖,控制無(wú)人機(jī)機(jī)頭方向調(diào)整為風(fēng)機(jī)偏航角?180°;[0042] 葉片角度計(jì)算單元基于風(fēng)機(jī)輪轂正視圖計(jì)算風(fēng)機(jī)的葉片角度;[0043] 巡檢航線生成單元基于風(fēng)機(jī)偏航角和葉片角度,生成巡檢航線。[0044] 偏航角計(jì)算單元計(jì)算風(fēng)機(jī)當(dāng)前的偏航角具體包含以下步驟:[0045] 201)利用分割算法獲取只有風(fēng)機(jī)的風(fēng)機(jī)頂視圖的二值圖,從風(fēng)機(jī)頂視圖的二值圖的四條邊依次向中心搜索葉片,得到葉片延伸至圖像四條邊的區(qū)域,葉片延伸至圖像四條邊的區(qū)域?yàn)槿~片區(qū)域;得到葉片延伸至圖像四條邊的區(qū)域,確定葉片的位置,并獲得葉片端點(diǎn);[0046] 202)去除葉片區(qū)域,基于風(fēng)機(jī)的機(jī)艙所在區(qū)域計(jì)算出機(jī)艙的最大內(nèi)接矩形,將最大內(nèi)接矩形的較長(zhǎng)的中線作為機(jī)艙中線;[0047] 203)根據(jù)葉片端點(diǎn)和機(jī)艙中線,計(jì)算出在風(fēng)機(jī)頂視圖上以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,根據(jù)云臺(tái)偏航角b,得到風(fēng)機(jī)偏航角c。[0048] 步驟203)具體包括以下步驟:[0049] 選取葉片的一個(gè)端點(diǎn)py0,機(jī)艙中線的兩個(gè)端點(diǎn)分別為pc0和pc1,計(jì)算端點(diǎn)py0在中線上的投影點(diǎn)p⊥,機(jī)艙尾部上的點(diǎn)是機(jī)艙中線端點(diǎn)中距離投影點(diǎn)p⊥較遠(yuǎn)的點(diǎn),以投影點(diǎn)p⊥為端點(diǎn),計(jì)算得到以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a;此時(shí)云臺(tái)偏航角為b,其中以正北為0°,向東為正,向西為負(fù),得到風(fēng)機(jī)偏航角c=90°+a+b,得到風(fēng)機(jī)偏航角c,風(fēng)機(jī)偏航角c:
[0050][0051] 風(fēng)機(jī)偏航角c∈(?180,180]。[0052] 葉片角度計(jì)算單元工作過程具體包括以下步驟:[0053] 401)獲取風(fēng)機(jī)輪轂正視圖后,為減少其他部分的影響,利用分割算法獲取得到只有風(fēng)機(jī)的風(fēng)機(jī)輪轂正視圖的二值圖;[0054] 402)對(duì)風(fēng)機(jī)輪轂正視圖的二值圖進(jìn)行直線檢測(cè),獲取豎直方向上的直線,所述豎直方向上的直線為塔筒或者某個(gè)豎直向上或者向下的葉片的邊緣,根據(jù)豎直方向上的直線得到輪轂在水平方向上的坐標(biāo);[0055] 對(duì)非豎直直線以輪轂為坐標(biāo)原點(diǎn)計(jì)算直線在圖片上的角度,按照角度大小聚類,得到的聚類類別數(shù);[0056] 403)將每個(gè)類別中直線的角度平均值作為該方向上葉片角度d,所述葉片角度d是以塔筒為0°,逆時(shí)針方向上第一個(gè)葉片與塔筒之間的夾角。[0057] 步驟402)具體包括以下步驟:[0058] 通過比較直線兩端端點(diǎn)的x坐標(biāo),判斷直線是否豎直方向上的直線,直線兩端端點(diǎn)分別為p0和p1,x軸坐標(biāo)差值xdiff=|xp0?xp1|,當(dāng)xdiff小于閾值δ時(shí),判斷為豎直直線;計(jì)算所有豎直直線x坐標(biāo)的均值 將所述均值 作為輪轂中心的x坐標(biāo)xlg;xp0、xp1是直線兩端端點(diǎn)的x軸坐標(biāo)值;[0059] 對(duì)非豎直直線按照角度進(jìn)行聚類,非豎直直線的延長(zhǎng)線,應(yīng)該相交與輪轂附近,即非豎直直線的延長(zhǎng)線的交點(diǎn)的x坐標(biāo)在[xlg?ε,xlg+ε]范圍內(nèi),ε是輪轂半徑在圖片上的估計(jì)值,xlg輪轂中心坐標(biāo)的橫坐標(biāo)。 r為輪轂半徑,g為無(wú)人機(jī)離輪轂的距離,相機(jī)內(nèi)參(f,cx,cy),其中f是相機(jī)的焦距,(cx,cy)是主點(diǎn)坐標(biāo);具體來說對(duì)非豎直直線,首先分別計(jì)算非豎直直線兩個(gè)端點(diǎn)的x坐標(biāo)與輪轂中心坐標(biāo)的橫坐標(biāo)xlg之間的差值,將差值較小的端點(diǎn)做為原點(diǎn),計(jì)算非豎直直線的角度θ,非豎直直線原點(diǎn)為pori,原點(diǎn)pori的坐標(biāo)為(xori,yori),非豎直直線另外一個(gè)端點(diǎn)為pend,端點(diǎn)pend的坐標(biāo)為(xend,yend),則所述非豎直直線的角度θ為:[0060][0061] 其中Δx=xend?xori,Δy=y(tǒng)end?yori,按照角度的大小進(jìn)行聚類,每個(gè)葉片上的非豎直直線將聚為一類,聚類算法使用基于不相交集(disjointset)的算法,通過若干次迭代得到只有葉片的直線,且類別數(shù)是2或者3個(gè);在風(fēng)機(jī)基本處于正‘Y’或倒‘Y’停機(jī)時(shí),其中一個(gè)葉片處于豎直狀態(tài),導(dǎo)致類別數(shù)為2。[0062] 巡檢航線生成單元工作過程具體包括以下步驟:[0063] 在得到風(fēng)機(jī)偏航角c和葉片角度d后,基于風(fēng)機(jī)的固有參數(shù)葉輪仰角e、葉片錐角v計(jì)算巡檢航線。為計(jì)算方便,基于輪轂的坐標(biāo)系 在坐標(biāo)系 下,第一葉片的角度為d′=270°?d;根據(jù)葉輪仰角,在所述坐標(biāo)系下對(duì)應(yīng)的旋轉(zhuǎn)矩陣為:
[0064][0065] 得到第一葉片方向向量vb=Rp[cos(d′)*cos(v),sin(v),sin(d′)*cos(v)]T,通過替換葉片角度得到第二葉片和第三葉片的方向向量。已知葉片長(zhǎng)度l和無(wú)人機(jī)初始位置后,得到巡檢航線;在拍攝第一葉片的前緣時(shí),以輪轂正前方作為第一個(gè)航點(diǎn),坐標(biāo)為p1=[0,Tg,0] ,其中g(shù)是無(wú)人機(jī)離輪轂的距離,葉片長(zhǎng)度為l,在不考慮葉片預(yù)彎的情況下,所述葉片葉尖的位置為p2=p1+lvb。巡檢其中一個(gè)葉片前緣的前緣部分,相當(dāng)于向量lvb。利用葉片的方向向量和葉片長(zhǎng)度l,動(dòng)態(tài)地生成基于坐標(biāo)系 的巡檢航點(diǎn)。為轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度,先要將基于坐標(biāo)系 生成的巡檢航點(diǎn)轉(zhuǎn)成基于站心坐標(biāo)系(ENU) 的航點(diǎn),已知風(fēng)機(jī)偏航角c和輪轂高度h時(shí),從坐標(biāo)系 轉(zhuǎn)換到基于站心坐標(biāo)系 的轉(zhuǎn)換矩陣為:
[0066][0067] 巡檢航點(diǎn)用坐標(biāo)表示x=[x0,x1,x2]T,齊次坐標(biāo)為x′=[x0,x1,x2,1]T,將x′轉(zhuǎn)換為基于站心坐標(biāo)系 下的坐標(biāo)公式為 得到站心坐標(biāo)后,轉(zhuǎn)換成經(jīng)緯度和海拔。[0068] 本發(fā)明最為突出的特點(diǎn)和顯著的有益效果是:[0069] 本發(fā)明公開一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法,本申請(qǐng)僅需要輸入風(fēng)機(jī)的地理信息與自身參數(shù),自動(dòng)識(shí)別風(fēng)機(jī)停機(jī)時(shí)的偏航角和葉片角度,自動(dòng)生成巡檢航線,其中包括巡檢航線上的航點(diǎn)、無(wú)人機(jī)的機(jī)頭方向、每個(gè)航點(diǎn)時(shí)的云臺(tái)角度和拍照動(dòng)作,使得飛行過程中不需要人工參與,實(shí)現(xiàn)無(wú)人機(jī)能夠任意點(diǎn)起飛,風(fēng)機(jī)能夠停在任意角度計(jì)算所需參數(shù)計(jì)算量小,誤差小。[0070] 本發(fā)明在生成航線時(shí)同時(shí)考慮風(fēng)機(jī)的風(fēng)輪仰角和葉片錐角等固有參數(shù),動(dòng)態(tài)地獲取航線,不需要特定的葉片模板。附圖說明[0071] 圖1無(wú)人機(jī)到達(dá)風(fēng)機(jī)頂部示意圖;[0072] 圖2a風(fēng)機(jī)頂視圖;[0073] 圖2b為風(fēng)機(jī)頂視圖的二值圖[0074] 圖2c為機(jī)艙中線示意圖;[0075] 圖2d機(jī)艙中線的數(shù)據(jù)分析示意圖;[0076] 圖3無(wú)人機(jī)從頂部到達(dá)輪轂正前方示意圖;[0077] 圖4a風(fēng)機(jī)輪轂正視圖示意圖;[0078] 圖4b為葉片角度示意圖;[0079] 圖5基于風(fēng)機(jī)塔筒底部的站心直角坐標(biāo)系[0080] 圖6基于輪轂的坐標(biāo)系[0081] 圖7巡檢葉片前緣的航線示意圖;[0082] 圖8拍攝迎風(fēng)面和背風(fēng)面時(shí)的云臺(tái)角度。具體實(shí)施方式[0083] 以下將結(jié)合附圖及實(shí)施方式對(duì)本發(fā)明進(jìn)一步詳細(xì)地解釋說明。此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。[0084] 風(fēng)機(jī)包括風(fēng)機(jī)塔筒和設(shè)置在風(fēng)塔頂端的葉輪,并已知風(fēng)機(jī)塔筒的經(jīng)緯度和葉輪的海拔,所述葉輪包括輪轂和三個(gè)沿輪轂周向均勻分布的葉片,所屬無(wú)人機(jī)搭載包含可見光攝像頭的云臺(tái),一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法,包括以下步驟:[0085] S1,生成到達(dá)風(fēng)機(jī)上方的第一航線L1,第一航線L1包括三個(gè)航點(diǎn),三個(gè)航點(diǎn)分別為第一風(fēng)機(jī)上方航點(diǎn)、第二風(fēng)機(jī)上方航點(diǎn)和第三風(fēng)機(jī)上方航點(diǎn);第一風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是無(wú)人機(jī)所在的經(jīng)緯度,高度高于周圍的阻礙物;第二風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度是第一風(fēng)機(jī)上方航點(diǎn)的高度;第三風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度大于輪轂高度和葉片長(zhǎng)度之和,控制無(wú)人機(jī)到達(dá)第三風(fēng)機(jī)上方航點(diǎn)后,調(diào)整云臺(tái)垂直向下拍攝,獲取風(fēng)機(jī)頂視圖(從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)頂視圖);[0086] 生成的風(fēng)機(jī)頂部航線,需要知道風(fēng)機(jī)塔筒的經(jīng)緯度,輪轂的海拔和葉片長(zhǎng)度。到達(dá)風(fēng)機(jī)頂部時(shí),其海拔應(yīng)該大于輪轂海拔加上葉片長(zhǎng)度,如圖1所示。[0087] S2,根據(jù)風(fēng)機(jī)頂視圖與當(dāng)前云臺(tái)偏航角計(jì)算風(fēng)機(jī)當(dāng)前的偏航角,其中,云臺(tái)偏航角直接采集獲得;[0088] S3,根據(jù)所述偏航角,生成到達(dá)輪轂正前方的第二航線L2,第二航線L2包括第一正前方航點(diǎn)和第二正前方航點(diǎn),第一正前方航點(diǎn)為輪轂正前方的經(jīng)緯度,高度為無(wú)人機(jī)當(dāng)前高度;第二正前方航點(diǎn)是輪轂正前方的經(jīng)緯度,高度為輪轂高度,控制無(wú)人機(jī)到達(dá)云臺(tái)后調(diào)整為水平拍攝,從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)輪轂正視圖,控制無(wú)人機(jī)機(jī)頭方向調(diào)整為風(fēng)機(jī)偏航角?180°;[0089] S4,基于風(fēng)機(jī)輪轂正視圖計(jì)算風(fēng)機(jī)的葉片角度。[0090] S5,基于風(fēng)機(jī)偏航角和葉片角度,生成巡檢航線。[0091] 步驟S2計(jì)算風(fēng)機(jī)當(dāng)前的偏航角具體包含以下步驟:[0092] 獲取風(fēng)機(jī)頂視圖后,為減少其他部分的影響,利用分割算法獲取得到只有風(fēng)機(jī)的風(fēng)機(jī)頂視圖的二值圖,如圖2a到圖2d所示。[0093] 201)利用分割算法獲取只有風(fēng)機(jī)的風(fēng)機(jī)頂視圖的二值圖,從風(fēng)機(jī)頂視圖的二值圖的四條邊依次向中心搜索葉片,得到葉片延伸至圖像四條邊的區(qū)域,葉片延伸至圖像四條邊的區(qū)域?yàn)槿~片區(qū)域;得到2或者3個(gè)葉片延伸至圖像四條邊的區(qū)域,如圖2b的箭頭指向位置所示,確定葉片的位置,并獲得葉片端點(diǎn);[0094] 202)去除葉片區(qū)域,基于風(fēng)機(jī)的機(jī)艙所在區(qū)域計(jì)算出機(jī)艙的最大內(nèi)接矩形,將最大內(nèi)接矩形的較長(zhǎng)的中線作為機(jī)艙中線,如圖2c所示;[0095] 203)根據(jù)葉片端點(diǎn)和機(jī)艙中線,計(jì)算出在風(fēng)機(jī)頂視圖上以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,根據(jù)云臺(tái)偏航角b,得到風(fēng)機(jī)偏航角c,其中云臺(tái)偏航角b由無(wú)人機(jī)的飛控提供;[0096] 步驟203)具體包括以下步驟:[0097] 選取葉片的一個(gè)端點(diǎn)py0,機(jī)艙中線的兩個(gè)端點(diǎn)分別為pc0和pc1,計(jì)算端點(diǎn)py0在中線上的投影點(diǎn)p⊥,如圖2d所示,機(jī)艙尾部上的點(diǎn)是機(jī)艙中線端點(diǎn)中距離投影點(diǎn)p⊥較遠(yuǎn)的點(diǎn),以投影點(diǎn)p⊥為端點(diǎn),計(jì)算得到以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,在圖2(d)中坐標(biāo)原點(diǎn)為pc0;此時(shí)云臺(tái)偏航角為b,其中以正北為0°,向東為正,向西為負(fù),得到風(fēng)機(jī)偏航角c=90°+a+b,得到風(fēng)機(jī)偏航角c,風(fēng)機(jī)偏航角c:[0098][0099] 風(fēng)機(jī)偏航角c∈(?180,180]。[0100] 步驟S4具體包括以下步驟:[0101] 401)獲取風(fēng)機(jī)輪轂正視圖后,為減少其他部分的影響,利用分割算法獲取得到只有風(fēng)機(jī)的風(fēng)機(jī)輪轂正視圖的二值圖;[0102] 402)對(duì)風(fēng)機(jī)輪轂正視圖的二值圖進(jìn)行直線檢測(cè),獲取豎直方向上的直線,所述豎直方向上的直線為塔筒或者某個(gè)豎直向上或者向下的葉片的邊緣,根據(jù)豎直方向上的直線得到輪轂在水平方向上的坐標(biāo);[0103] 對(duì)非豎直直線以輪轂為坐標(biāo)原點(diǎn)計(jì)算直線在圖片上的角度,按照角度大小聚類,得到的類別數(shù)為2或者3。[0104] 非豎直直線則是去掉豎直線后的線。角度就是直線在圖片上的角度。[0105] 403)將每個(gè)類別中直線的角度平均值作為該方向上葉片角度d。此時(shí)葉片角度d以塔筒為0°,逆時(shí)針方向上第一個(gè)葉片與塔筒之間的夾角,如圖4b表示。[0106] 步驟402具體包括以下步驟:[0107] 通過比較直線兩端端點(diǎn)的x坐標(biāo),判斷直線是否豎直方向上的直線,直線兩端端點(diǎn)分別為p0和p1,x軸坐標(biāo)差值xdiff=|xp0?xp1|,當(dāng)xdiff小于閾值δ時(shí),判斷為豎直直線,δ取值范圍是(0,5](單位是像素,在圖像上坐標(biāo)點(diǎn)之間的差值);計(jì)算所有豎直直線x坐標(biāo)的均值將所述均值 作為輪轂中心的x坐標(biāo)xlg;xp0、xp1是直線兩端端點(diǎn)的x軸坐標(biāo)值;[0108] 對(duì)非豎直直線按照角度進(jìn)行聚類,由于葉片之間的夾角為120度,非豎直直線的延長(zhǎng)線,應(yīng)該相交與輪轂附近,即非豎直直線的延長(zhǎng)線的交點(diǎn)的x坐標(biāo)在[xlg?ε,xlg+ε]范圍內(nèi),ε是輪轂半徑在圖片上的估計(jì)值,xlg輪轂中心坐標(biāo)的橫坐標(biāo)。 r為輪轂半徑,g為無(wú)人機(jī)離輪轂的距離,相機(jī)內(nèi)參(f,cx,cy),其中f是相機(jī)的焦距,(cx,cy)是主點(diǎn)坐標(biāo);如圖4a虛線表示,具體來說對(duì)非豎直直線,首先分別計(jì)算非豎直直線兩個(gè)端點(diǎn)的x坐標(biāo)與輪轂中心坐標(biāo)的橫坐標(biāo)xlg之間的差值,將差值較小的端點(diǎn)做為原點(diǎn),計(jì)算非豎直直線的角度θ,非豎直直線原點(diǎn)為pori,原點(diǎn)pori的坐標(biāo)為(xori,yori),非豎直直線另外一個(gè)端點(diǎn)為pend,端點(diǎn)pend的坐標(biāo)為(xend,yend),則所述非豎直直線的角度θ為:[0109][0110] 其中Δx=xend?xori,Δy=y(tǒng)end?yori,按照角度的大小進(jìn)行聚類,每個(gè)葉片上的非豎直直線將聚為一類,聚類算法使用基于不相交集(disjointset)的算法,通過若干次迭代得到只有葉片的直線,且類別數(shù)是2或者3個(gè);在風(fēng)機(jī)基本處于正‘Y’或倒‘Y’停機(jī)時(shí),其中一個(gè)葉片處于豎直狀態(tài),導(dǎo)致類別數(shù)為2。[0111] 步驟S5具體包括以下步驟:[0112] 在得到風(fēng)機(jī)偏航角c和葉片角度d后,基于風(fēng)機(jī)的固有參數(shù)葉輪仰角e、葉片錐角v計(jì)算巡檢航線。為計(jì)算方便,使用如圖6所示基于輪轂的坐標(biāo)系 在坐標(biāo)系 下,第一葉片的角度為d′=270°?d;根據(jù)葉輪仰角,在所述坐標(biāo)系下對(duì)應(yīng)的旋轉(zhuǎn)矩陣為:[0113][0114] 得到第一葉片方向向量vb=Rp[cos(d′)*cos(v),sin(v),sin(d′)*cos(v)]T,通過替換葉片角度得到第二葉片和第三葉片的方向向量。已知葉片長(zhǎng)度l和無(wú)人機(jī)初始位置后,得到巡檢航線;本實(shí)施例中,在拍攝第一葉片的前緣時(shí),以輪轂正前方作為第一個(gè)航點(diǎn),坐T標(biāo)為p1=[0,g,0] ,其中g(shù)是無(wú)人機(jī)離輪轂的距離,本實(shí)施例設(shè)置為10米。葉片長(zhǎng)度為l,在不考慮葉片預(yù)彎的情況下,所述葉片葉尖的位置為p2=p1+lvb。如圖7所示,巡檢其中一個(gè)葉片前緣的前緣部分,其中虛線箭頭是巡檢方向,相當(dāng)于向量lvb。利用葉片的方向向量和葉片長(zhǎng)度l,動(dòng)態(tài)地生成基于坐標(biāo)系 的巡檢航點(diǎn)。為轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度,先要將基于坐標(biāo)系 生成的巡檢航點(diǎn)轉(zhuǎn)成基于站心坐標(biāo)系(ENU) 的航點(diǎn),如圖5所示。已知風(fēng)機(jī)偏航角c和輪轂高度h時(shí),從坐標(biāo)系 轉(zhuǎn)換到坐標(biāo)系 的轉(zhuǎn)換矩陣為:
[0115][0116] 巡檢航點(diǎn)用坐標(biāo)表示x=[x0,x1,x2]T,齊次坐標(biāo)為x′=[x0,x1,x2,1]T,將x′轉(zhuǎn)換為基于站心坐標(biāo)系 下的坐標(biāo)公式為 得到站心坐標(biāo)后,轉(zhuǎn)換成經(jīng)緯度和海拔。x0,x1,x2是三維空間坐標(biāo)的x、y、z軸的值;
[0117] 換成站心坐標(biāo)系后,轉(zhuǎn)換成經(jīng)緯度和海拔,“站心坐標(biāo)系(ENU)”轉(zhuǎn)成成“地心地固坐標(biāo)系(ECEF)”后再轉(zhuǎn)成“經(jīng)緯高坐標(biāo)系(LLA)”。[0118] 在拍攝葉片的前緣和后緣時(shí),無(wú)人機(jī)的相機(jī)云臺(tái)偏航角指向機(jī)頭,俯仰角為0,即保持水平角度,仰視為正角度,俯視為負(fù)角度。假定風(fēng)機(jī)的偏航角為c,在拍攝葉片前緣時(shí),無(wú)人機(jī)的機(jī)頭方向與風(fēng)機(jī)的偏航角相反,即面向風(fēng)機(jī)輪轂,其角度為?c。拍攝葉片后緣時(shí),無(wú)人機(jī)機(jī)頭方向與風(fēng)機(jī)偏航角相同,其角度為c。[0119] 在拍攝葉片的迎風(fēng)面(PS面)和背風(fēng)面(SS面)時(shí),無(wú)人機(jī)的相機(jī)云臺(tái)偏航角指向機(jī)頭,云臺(tái)俯仰角和無(wú)人機(jī)的機(jī)頭方向根據(jù)所拍攝的葉片角度進(jìn)行調(diào)整。具體而言,如圖8所示,假定葉片角度d=30°,則在拍攝葉片背風(fēng)面時(shí)(A點(diǎn)),相機(jī)云臺(tái)調(diào)整為30°,機(jī)頭方向基于風(fēng)機(jī)的偏航角c設(shè)定為c?90°。在拍攝葉片迎風(fēng)面時(shí)(B點(diǎn)),相機(jī)云臺(tái)調(diào)整為?30°,機(jī)頭方向?yàn)閏+90°。[0120] 一種基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成系統(tǒng),包括第一航線生成單元、偏航角計(jì)算單元、第二航線生成單元、葉片角度計(jì)算單元和巡檢航線生成單元;[0121] 第一航線生成單元生成到達(dá)風(fēng)機(jī)上方的第一航線L1,第一航線L1包括三個(gè)航點(diǎn),三個(gè)航點(diǎn)分別為第一風(fēng)機(jī)上方航點(diǎn)、第二風(fēng)機(jī)上方航點(diǎn)和第三風(fēng)機(jī)上方航點(diǎn);第一風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是無(wú)人機(jī)所在的經(jīng)緯度,高度高于周圍的阻礙物;第二風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度是第一風(fēng)機(jī)上方航點(diǎn)的高度;第三風(fēng)機(jī)上方航點(diǎn)的經(jīng)緯度是風(fēng)機(jī)塔筒的經(jīng)緯度,高度大于輪轂高度和葉片長(zhǎng)度之和,控制無(wú)人機(jī)到達(dá)第三風(fēng)機(jī)上方航點(diǎn)后,調(diào)整云臺(tái)垂直向下拍攝,獲取風(fēng)機(jī)頂視圖(從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)頂視圖);[0122] 偏航角計(jì)算單元根據(jù)風(fēng)機(jī)頂視圖與當(dāng)前云臺(tái)的偏航角計(jì)算風(fēng)機(jī)當(dāng)前的偏航角;[0123] 第二航線生成單元根據(jù)所述偏航角,生成到達(dá)輪轂正前方的第二航線L2,第二航線L2包括第一正前方航點(diǎn)和第二正前方航點(diǎn),第一正前方航點(diǎn)為輪轂正前方的經(jīng)緯度,高度為無(wú)人機(jī)當(dāng)前高度;第二正前方航點(diǎn)是輪轂正前方的經(jīng)緯度,高度為輪轂高度,控制無(wú)人機(jī)到達(dá)云臺(tái)后調(diào)整為水平拍攝,從云臺(tái)中的可見光攝像頭中獲取風(fēng)機(jī)輪轂正視圖,控制無(wú)人機(jī)機(jī)頭方向調(diào)整為風(fēng)機(jī)偏航角?180°;[0124] 葉片角度計(jì)算單元基于風(fēng)機(jī)輪轂正視圖計(jì)算風(fēng)機(jī)的葉片角度;[0125] 巡檢航線生成單元基于風(fēng)機(jī)偏航角和葉片角度,生成巡檢航線。[0126] 偏航角計(jì)算單元計(jì)算風(fēng)機(jī)當(dāng)前的偏航角具體包含以下步驟:[0127] 201)利用分割算法獲取只有風(fēng)機(jī)的風(fēng)機(jī)頂視圖的二值圖,從風(fēng)機(jī)頂視圖的二值圖的四條邊依次向中心搜索葉片,得到葉片延伸至圖像四條邊的區(qū)域,葉片延伸至圖像四條邊的區(qū)域?yàn)槿~片區(qū)域;得到葉片延伸至圖像四條邊的區(qū)域,確定葉片的位置,并獲得葉片端點(diǎn);[0128] 202)去除葉片區(qū)域,基于風(fēng)機(jī)的機(jī)艙所在區(qū)域計(jì)算出機(jī)艙的最大內(nèi)接矩形,將最大內(nèi)接矩形的較長(zhǎng)的中線作為機(jī)艙中線;[0129] 203)根據(jù)葉片端點(diǎn)和機(jī)艙中線,計(jì)算出在風(fēng)機(jī)頂視圖上以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,根據(jù)云臺(tái)偏航角b,得到風(fēng)機(jī)偏航角c。[0130] 步驟203)具體包括以下步驟:[0131] 選取葉片的一個(gè)端點(diǎn)py0,機(jī)艙中線的兩個(gè)端點(diǎn)分別為pc0和pc1,計(jì)算端點(diǎn)py0在中線上的投影點(diǎn)p⊥,機(jī)艙尾部上的點(diǎn)是機(jī)艙中線端點(diǎn)中距離投影點(diǎn)p⊥較遠(yuǎn)的點(diǎn),以投影點(diǎn)p⊥為端點(diǎn),計(jì)算得到以機(jī)艙尾部為坐標(biāo)原點(diǎn)的偏航角度a,在圖2(d)中坐標(biāo)原點(diǎn)為pc0;此時(shí)云臺(tái)偏航角為b,其中以正北為0°,向東為正,向西為負(fù),得到風(fēng)機(jī)偏航角c=90°+a+b,得到風(fēng)機(jī)偏航角c,風(fēng)機(jī)偏航角c:[0132][0133] 風(fēng)機(jī)偏航角c∈(?180,180]。[0134] 葉片角度計(jì)算單元工作過程具體包括以下步驟:[0135] 401)獲取風(fēng)機(jī)輪轂正視圖后,為減少其他部分的影響,利用分割算法獲取得到只有風(fēng)機(jī)的風(fēng)機(jī)輪轂正視圖的二值圖;[0136] 402)對(duì)風(fēng)機(jī)輪轂正視圖的二值圖進(jìn)行直線檢測(cè),獲取豎直方向上的直線,所述豎直方向上的直線為塔筒或者某個(gè)豎直向上或者向下的葉片的邊緣,根據(jù)豎直方向上的直線得到輪轂在水平方向上的坐標(biāo);[0137] 對(duì)非豎直直線以輪轂為坐標(biāo)原點(diǎn)計(jì)算直線在圖片上的角度,按照角度大小聚類,得到的聚類類別數(shù);[0138] 403)將每個(gè)類別中直線的角度平均值作為該方向上葉片角度d,所述葉片角度d是以塔筒為0°,逆時(shí)針方向上第一個(gè)葉片與塔筒之間的夾角。[0139] 步驟402)具體包括以下步驟:[0140] 通過比較直線兩端端點(diǎn)的x坐標(biāo),判斷直線是否豎直方向上的直線,直線兩端端點(diǎn)分別為p0和p1,x軸坐標(biāo)差值xdiff=|xp0?xp1|,當(dāng)xdiff小于閾值δ時(shí),判斷為豎直直線,δ取值范圍是(0,5](單位是像素,在圖像上坐標(biāo)點(diǎn)之間的差值);計(jì)算所有豎直直線x坐標(biāo)的均值將所述均值 作為輪轂中心的x坐標(biāo)xlg;xp0、xp1是直線兩端端點(diǎn)的x軸坐標(biāo)值;[0141] 對(duì)非豎直直線按照角度進(jìn)行聚類,由于葉片之間的夾角為120度,非豎直直線的延長(zhǎng)線,應(yīng)該相交與輪轂附近,即非豎直直線的延長(zhǎng)線的交點(diǎn)的x坐標(biāo)在[xlg?ε,xlg+ε]范圍內(nèi),ε是輪轂半徑在圖片上的估計(jì)值,xlg輪轂中心坐標(biāo)的橫坐標(biāo)。 r為輪轂半徑(如圖4a虛線表示),g為無(wú)人機(jī)離輪轂的距離,相機(jī)內(nèi)參(f,cx,cy),其中f是相機(jī)的焦距,(cx,cy)是主點(diǎn)坐標(biāo);具體來說對(duì)非豎直直線,首先分別計(jì)算非豎直直線兩個(gè)端點(diǎn)的x坐標(biāo)與輪轂中心坐標(biāo)的橫坐標(biāo)xlg之間的差值,將差值較小的端點(diǎn)做為原點(diǎn),計(jì)算非豎直直線的角度θ,非豎直直線原點(diǎn)為pori,原點(diǎn)pori的坐標(biāo)為(xori,yori),非豎直直線另外一個(gè)端點(diǎn)為pend,端點(diǎn)pend的坐標(biāo)為(xend,yend),則所述非豎直直線的角度θ為:[0142][0143] 其中Δx=xend?xori,Δy=y(tǒng)end?yori,按照角度的大小進(jìn)行聚類,每個(gè)葉片上的非豎直直線將聚為一類,聚類算法使用基于不相交集(disjointset)的算法,通過若干次迭代得到只有葉片的直線,且類別數(shù)是2或者3個(gè);在風(fēng)機(jī)基本處于正‘Y’或倒‘Y’停機(jī)時(shí),其中一個(gè)葉片處于豎直狀態(tài),導(dǎo)致類別數(shù)為2。[0144] 巡檢航線生成單元工作過程具體包括以下步驟:[0145] 在得到風(fēng)機(jī)偏航角c和葉片角度d后,基于風(fēng)機(jī)的固有參數(shù)葉輪仰角e、葉片錐角v計(jì)算巡檢航線。為計(jì)算方便,使用如圖6所示基于輪轂的坐標(biāo)系 在坐標(biāo)系 下,第一葉片的角度為d′=270°?d;根據(jù)葉輪仰角,在所述坐標(biāo)系下對(duì)應(yīng)的旋轉(zhuǎn)矩陣為:[0146][0147] 得到第一葉片方向向量vb=Rp[cos(d′)*cos(v),sin(v),sin(d′)*cos(v)]T,通過替換葉片角度得到第二葉片和第三葉片的方向向量。已知葉片長(zhǎng)度l和無(wú)人機(jī)初始位置后,得到巡檢航線;本實(shí)施例中,在拍攝第一葉片的前緣時(shí),以輪轂正前方作為第一個(gè)航點(diǎn),坐T標(biāo)為p1=[0,g,0] ,其中g(shù)是無(wú)人機(jī)離輪轂的距離,葉片長(zhǎng)度為l,在不考慮葉片預(yù)彎的情況下,所述葉片葉尖的位置為p2=p1+lvb。如圖7所示,巡檢其中一個(gè)葉片前緣的前緣部分,其中虛線箭頭是巡檢方向,相當(dāng)于向量lvb。利用葉片的方向向量和葉片長(zhǎng)度l,動(dòng)態(tài)地生成基于坐標(biāo)系 的巡檢航點(diǎn)。為轉(zhuǎn)換成無(wú)人機(jī)能夠使用的經(jīng)緯度和高度,先要將基于坐標(biāo)系生成的巡檢航點(diǎn)轉(zhuǎn)成基于站心坐標(biāo)系(ENU) 的航點(diǎn),已知風(fēng)機(jī)偏航角c和輪轂高度h時(shí),從坐標(biāo)系 轉(zhuǎn)換到基于站心坐標(biāo)系 的轉(zhuǎn)換矩陣為:
[0148][0149] 巡檢航點(diǎn)用坐標(biāo)表示x=[x0,x1,x2]T,齊次坐標(biāo)為x′=[x0,x1,x2,1]T,將x′轉(zhuǎn)換為基于站心坐標(biāo)系 下的坐標(biāo)公式為 得到站心坐標(biāo)后,轉(zhuǎn)換成經(jīng)緯度和海拔。[0150] 換成站心坐標(biāo)系后,轉(zhuǎn)換成經(jīng)緯度和海拔,“站心坐標(biāo)系(ENU)”轉(zhuǎn)成成“地心地固坐標(biāo)系(ECEF)”后再轉(zhuǎn)成“經(jīng)緯高坐標(biāo)系(LLA)”。[0151] 在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下被實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。[0152] 類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說,如權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。[0153] 本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開的示例中的設(shè)備的模塊或單元或組間可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。[0154] 本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組間組合成一個(gè)模塊或單元或組間,以及此外可以把它們分成多個(gè)子模塊或子單元或子組間。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。[0155] 此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。[0156] 此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。[0157] 這里描述的各種技術(shù)可結(jié)合硬件或軟件,或者它們的組合一起實(shí)現(xiàn)。從而,本發(fā)明的方法和設(shè)備,或者本發(fā)明的方法和設(shè)備的某些方面或部分可采取嵌入有形媒介,例如軟盤、CD?ROM、硬盤驅(qū)動(dòng)器或者其它任意機(jī)器可讀的存儲(chǔ)介質(zhì)中的程序代碼(即指令)的形式,其中當(dāng)程序被載入諸如計(jì)算機(jī)之類的機(jī)器,并被所述機(jī)器執(zhí)行時(shí),所述機(jī)器變成實(shí)踐本發(fā)明的設(shè)備。[0158] 在程序代碼在可編程計(jì)算機(jī)上執(zhí)行的情況下,計(jì)算設(shè)備一般包括處理器、處理器可讀的存儲(chǔ)介質(zhì)(包括易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)元件),至少一個(gè)輸入裝置,和至少一個(gè)輸出裝置。其中,存儲(chǔ)器被配置用于存儲(chǔ)程序代碼;處理器被配置用于根據(jù)該存儲(chǔ)器中存儲(chǔ)的所述程序代碼中的指令,執(zhí)行本發(fā)明的方法。[0159] 以示例而非限制的方式,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息。通信介質(zhì)一般以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并且包括任何信息傳遞介質(zhì)。以上的任一種的組合也包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。[0160] 如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來描述普通對(duì)象僅僅表示涉及類似對(duì)象的不同實(shí)例,并且并不意圖暗示這樣被描述的對(duì)象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。[0161] 盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說明書中使用的語(yǔ)言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。對(duì)于本發(fā)明的范圍,對(duì)本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書限定。[0162] 最后說明,本發(fā)明未詳細(xì)解釋該領(lǐng)域技術(shù)人員公認(rèn)常識(shí),以上所述僅為本發(fā)明的一個(gè)具體實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
聲明:
“基于無(wú)人機(jī)的風(fēng)機(jī)巡檢航線生成方法及系統(tǒng)” 該技術(shù)專利(論文)所有權(quán)利歸屬于技術(shù)(論文)所有人。僅供學(xué)習(xí)研究,如用于商業(yè)用途,請(qǐng)聯(lián)系該技術(shù)所有人。
我是此專利(論文)的發(fā)明人(作者)