顧海鋒,丘仲鋒
(1.南京信息工程大學電子與信息工程學院,江蘇 南京 210044;2.南京信息工程大學海洋科學學院,江蘇 南京 210044)
風是一種常見的自然現象,在農業、航海、航空、軍事和氣象等領域都有著重要價值。風速、風向是風場的兩個重要因素,其測量精度對風場研究具有重要意義[1]。隨著科技的發展,無人機在各種領域得到了廣泛的應用[2-5],特別是在江河湖泊相關領域中有著突出的作用。隨著無人機應用的深入,采用多旋翼無人機進行氣象監測也正成為一個研究熱點。
傳統測風方法有機械式、熱敏式和激光多普勒式等[6],機械式測風儀雖然結構簡單、價格低廉,但其旋轉件存在磨損需要定期維護;熱敏式雖然便攜、智能,但僅對于一些狹窄空間里的測量比較方便,而且其精度難以把控;激光多普勒式測量精度高、動態響應快,但需要由人工摻入適當的粒子作散射中心,且價格較貴[7]。目前主要采用無人機和超聲波兩種方法進行測風,相對于傳統方法,無人機測風可以不受空間的限制,機動靈活、高效快速,超聲波測風原理簡單,無機械磨損,且測量精度高[8]。無人機測風技術主要有水平空速歸零、航位推算、平面矢量三角形方法等三種。水平空速歸零法僅適合常規場合定點測速;航位推算法測量精度差,僅僅適合低成本、對測量精度要求不高的無人機測風速;平面矢量三角形法雖然使用簡便,可以對大面積區域進行連續測量,但受傳感器系統誤差影響,測量精度還有待提高。將超聲波測風儀搭載在無人機上可以兼顧兩者的優勢,但無人機在飛行時要調整姿態就會產生傾角,測風儀搭載在無人機上也會隨之傾斜,這不可避免地會造成測量結果的誤差。
針對無人機飛行時傾斜對測量結果造成誤差這一問題,本文設計了一種基于無人機傾角對超聲波風速風向儀的測量結果進行校正的測風算法,包括無人機懸停與前進兩種狀態下的校正。數據結果表明,此方法可以減小測量誤差,實現低空風場的實時監測。
由于無人機上搭載的MPU9050 傳感器讀出的數據為四元數,需要找四元數與3 個姿態角的關系,故要對無人機進行姿態解算。
《慣性導航》第九章中提到[9],假設有一個參考坐標系R,它對應于右手坐標系。有一剛體相對于R系作定點轉動,此定點為O。我們選取坐標系b與剛體固聯,假設初始時刻b系與R系重合,剛體繞單位瞬軸u逆時針旋轉了θ1角度,位置向量為r,則旋轉后的位置向量r為:

通過構造四元數可以得到b系至R系的坐標變換矩陣為:

式中:q0、q1、q2、q3為四元數。
在無人機上一般使用機體軸坐標系,它是固聯于飛行器并跟隨飛行器運動的一種坐標系[10]。由于此坐標系最常用,故常常簡化成Oxyz表示。該坐標系的原點在飛機的質心上,x軸位于飛機對稱平面內,與機體軸線平行,指向前方;y軸垂直于對稱平面,指向右側;z軸也在對稱平面內,垂直于x軸并指向下方。此坐標系為右手坐標系。
如果參考坐標系為導航坐標系n,與剛體固聯的坐標系為機體軸坐標系,由于規定北偏東方向為正,所以繞z軸順時針方向為正,其余軸均逆時針方向為正。從b系至n系,設無人機繞x軸轉動α角度,再繞y軸轉動β角度,最后繞z軸轉動γ角度,分別為橫滾角、俯仰角、航向角,可以得到其坐標變換矩陣為:

對比式(2)和式(3)兩個坐標變換矩陣可得3個姿態角與四元數的關系式:

通過無人機上MPU9050 九軸傳感器讀取四元數q0、q1、q2、q3,代入關系式即可求得3 個姿態角。
無人機為了保持姿態,其機身平面與水平面有了一個傾角,該傾角可以看作是由無人機繞三個軸旋轉產生的,水平面的法向量為n1=(0,0,1),隨著無人機的旋轉,新的平面法向量為:

無人機的傾角為機身平面與水平面的夾角,可以求得:

目前對超聲波測量風速、風向最常用的方法是時差法,當超聲波在空氣中傳播時,順風和逆風之間存在速度差。如果固定傳播的距離,速度差就會以時間差的形式反映出來[11-14]。將兩對超聲波換能器如圖1 所示放置,每對換能器之間的距離均為d,風向為任意風向,在x軸方向傳播時間為t1和t2,在y軸方向傳播的時間為t3和t4,待測風速為v,x軸方向的風速為vx,y軸方向的風速為vy,超聲波在空氣中傳播的速度為vu。

圖1 超聲波換能器陣形位置圖
可以得到:

所以風速大小為:

設x軸正方向為0°,逆時針方向為正,則風向為:

隨著時間的變化,可得某時刻的風向為:

1.4.1 懸停狀態下
當無人機處于懸停狀態下時,將風分解為與無人機平面平行的分量和垂直的分量,垂直分量對測風儀無影響,所以超聲波測風儀測得的風為平行分量,測得的風向角與原風向角一致,則修正的結果為:

式中:ω為超聲波測風儀N方向與機頭的夾角,在測風前將其調零。
1.4.2 前進狀態下
當無人機處于前進狀態時,GPS 測得無人機前進的速度大小為v1,無人機以一定的速度前進,等效于無人機懸停時,同樣大小的風沿著無人機前進方向的反方向吹來。超聲波風速風向儀測量的速度大小為v,此時的vc為無人機前進狀態下等效的風v1與實際要測的風v2的合成風,則:

在機體坐標系下,無論無人機平面如何旋轉都會過原點,所以無人機平面的方程為:

由無人機平面法向量n2可求得:

令z=0,可得無人機平面與水平面交線方程為:

又有,風向線與交線垂直,故風向線方程為:

圖2 為當B>0 時的合風向分解示意圖,此時φ∈(0,π),合成風vc分解為v1和v2,v1為無人機前進狀態下的等效風,v2為實際要測的風;φ為合風的風向角,θ2為實際風的風向角。合風的坐標為vc=,等效風的坐標為v1=(-v1,0)。

圖2 合風向分解示意圖(B>0)
由式(18)可得:

實際風速大小為:

在這種情況下求出的風向角為:

當B<0 時,合風向角φ∈(-π,0),同理可得

式中:v1為無人機前進的速度;v為超聲波測風儀測量風速大小;φ為超聲波測風儀測量風向;θ為無人機傾角。將θ2轉化為[0,2π)內的角度,即

為了驗證上述測風算法的可行性,選取2020 年8 月的不同時間點,在南京市浦口區南京信息工程大學中院操場空曠處進行多次低空飛行探測試驗。試驗系統包括無人機模塊、超聲波測風儀模塊和地面站模塊。考慮到載重與續航問題,試驗選用如風4 四旋翼無人機,其最大額外負載10 kg,最大續航可達60 min。選用HY-WDC6 微型自動氣象站來測量風速風向。該氣象站可同時測量溫濕度、氣壓、風速、風向和雨量等氣象要素,測量風速精度為±5%,風向精度為±3%。
試驗開始前,將超聲波風速風向儀搭載在無人機上,并將風速儀N方向與無人機機頭對齊,正確連接好設備配件及連接線后,打開設備,檢查GPS等均正常后,飛手操控無人機飛行。
對幾次試驗中最穩定的試驗數據進行校正,其結果如圖3 所示。風速基本上在0 和7.75 m/s 之間,隨著相對位置高度的增加,風速大小呈先增大后減小的大致趨勢。在近地面由于人類活動、地表摩擦等原因風速減小,隨著高度的增加,風速逐漸增大。由于風場具有變化、不可控等特性,測量風速出現上下波動,另外由于空氣稀薄等原因,風速在高度達到500 m 后又有所減小。

圖3 風速校正結果
風向校正后的結果如圖4 所示,此風向以北偏東方向為正。從圖中可以看出風向的波動比較大,但基本都在±20°上下波動。

圖4 風向校正結果
由于試驗用的地面氣象站讀出的數據為相對高度的平均風速與風向,這里我們將測量校正后的風場數據也作平均處理,并與觀測數據作對比,結果如表1和表2 所示。修正后的風速最大誤差為0.32 m/s,最小誤差僅0.05 m/s,其最大誤差率為6.6%,最小誤差率為3.3%。結合數據的標準差可以看出風速修正結果比較穩定,誤差較小。而風向最大偏差5.14°,最小偏差0.38°,從標準差來看波動較大,但其平均值誤差率卻不是很大。

表1 風速誤差比較

表2 風向誤差比較
造成風向數據波動較大的主要原因是超聲波風速風向儀受多旋翼無人機自身風場的影響[15]。在實驗中,我們盡可能地把超聲波測風儀架高一點,最大程度地減小無人機風場對實驗結果的影響。從數據來看,無人機自身風場對風速測量影響不是很大,但在風向的測量上還需進一步改進以減小誤差。總的來說,此測風校正算法風速測量誤差率較小,可以實現對低空風場的實時監測。
在算法推導與實驗測試分析的基礎上,提出了一套基于無人機傾角對超聲波風速風向儀測量結果進行校正的測風算法,包括無人機懸停與前進兩種狀態下的校正。該算法結合了無人機與超聲波儀器測風的優勢,彌補了無人機測風精度低與超聲波儀器測量范圍小的不足,具有成本低、方便靈活、可靠性高、測量精度高等優點,不受條件限制,可以實現大區域連續測量,具有較高的應用價值和廣泛的應用前景。但由于受無人機自身旋翼的影響,測量結果有一定的誤差。實驗中采取將測風儀架高的方法,可以將誤差率控制在很小的范圍內,但仍需改進。無人機測風技術的精度還有很大的提升空間,同時還可以在無人機上集成一些精密的傳感器來測量其他的氣象要素,這將是我們下一步的研究方向。