本發(fā)明涉及無人機(jī)技術(shù)領(lǐng)域,尤其涉及一種旋翼無人機(jī)姿態(tài)控制方法、裝置及旋翼無人機(jī)。
背景技術(shù):
無人駕駛飛機(jī)簡稱“無人機(jī)”,是利用無線電遙控設(shè)備和自備的程序控制裝置操縱的不載人飛機(jī)。操控者利用遙控終端的控制桿調(diào)節(jié)旋翼無人機(jī)的俯仰角、滾轉(zhuǎn)角姿態(tài)以及旋翼的傾斜角度,使無人機(jī)獲得加速度,也可以通過調(diào)節(jié)旋翼無人機(jī)的旋翼的角度,使得旋翼無人機(jī)在俯仰或滾轉(zhuǎn)姿態(tài)不變的情況下實現(xiàn)縱向和橫側(cè)向飛行。目前,在對旋翼無人機(jī)的姿態(tài)進(jìn)行控制時,旋翼無人機(jī)的姿態(tài)控制回路計算期望的姿態(tài)角與通過航姿參考系統(tǒng)解算得到的無人機(jī)的姿態(tài)角的差值,將此差值作為地面坐標(biāo)系下姿態(tài)角偏差,并經(jīng)過比例控制器得到地面坐標(biāo)系下期望的姿態(tài)調(diào)整角速率,采用此姿態(tài)調(diào)整角速率調(diào)整姿態(tài)角度。
目前,旋翼無人機(jī)姿態(tài)控制通常為pid控制器采用比例-積分-微分控制方法,或者稱為pid控制方法調(diào)整姿態(tài)角度。pid控制器由比例單元(p)、積分單元(i)和微分單元(d)組成,pid控制算法的原理如圖1所示,pid控制算法為
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明要解決的一個技術(shù)問題是提供一種旋翼無人機(jī)姿態(tài)控制方法、裝置及旋翼無人機(jī)。
根據(jù)本發(fā)明的一個方面,提供一種旋翼無人機(jī)姿態(tài)控制方法,包括:基于飛行空速、飛行攻角以及槳盤氣流速度動態(tài)調(diào)整pid控制器進(jìn)行pid控制運(yùn)算的控制系數(shù);根據(jù)需要調(diào)整的目標(biāo)姿態(tài)角度、當(dāng)前的實際姿態(tài)角度確定姿態(tài)角偏差值;向所述pid控制器輸入所述姿態(tài)角偏差值,以使所述pid控制器根據(jù)所述姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算,將無人機(jī)的姿態(tài)角度調(diào)整到所述目標(biāo)姿態(tài)角度。
可選地,所述基于飛行空速、飛行攻角以及槳盤氣流速度動態(tài)調(diào)整pid控制器進(jìn)行pid控制運(yùn)算的控制系數(shù)包括:實時獲取所述飛行空速并確定所述飛行攻角;基于所述飛行空速和所述飛行攻角確定所述槳盤氣流速度;根據(jù)所述基于飛行空速、飛行攻角以及所述槳盤氣流速度確定增益調(diào)整值;通過所述增益調(diào)整值調(diào)整所述控制系數(shù)。
可選地,所述根據(jù)所述增益調(diào)整系數(shù)調(diào)整所述控制系數(shù)包括:將預(yù)設(shè)的控制系數(shù)與所述增益調(diào)整值相乘,獲得當(dāng)前進(jìn)行pid控制運(yùn)算的控制系數(shù);其中,所述控制系數(shù)為比例系數(shù)、微分系數(shù)和積分系數(shù)中的一個或多個。
可選地,確定所述飛行攻角
α=arcos(cosφ*cosθ);
其中,φ為無人機(jī)當(dāng)前的俯仰角,θ為無人機(jī)當(dāng)前的滾轉(zhuǎn)角。
可選地,所述基于所述飛行空速和所述飛行攻角確定所述槳盤氣流速度包括:確定對于所述槳盤氣流速度的函數(shù)關(guān)系
基于所述函數(shù)關(guān)系求解出所述槳盤氣流速度;其中,υi為所述槳盤氣流速度,υ∞為所述飛行空速,υh為無人機(jī)在懸停狀態(tài)下的槳盤氣流速度。
可選地,根據(jù)所述基于飛行空速、飛行攻角以及所述槳盤氣流速度確定增益調(diào)整值包括:確定所述增益調(diào)整值
可選地,所述pid控制器根據(jù)所述姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算的控制運(yùn)算公式為:
其中,ut為控制輸出量,kp為比例系數(shù),ki為積分系數(shù),kd為微分系數(shù),et所述姿態(tài)角偏差值。
根據(jù)本發(fā)明的另一方面,提供一種旋翼無人機(jī)姿態(tài)控制裝置,包括:控制參數(shù)調(diào)整模塊,用于基于飛行空速、飛行攻角以及槳盤氣流速度動態(tài)調(diào)整pid控制器進(jìn)行pid控制運(yùn)算的控制系數(shù);姿態(tài)數(shù)據(jù)獲取模塊,用于根據(jù)需要調(diào)整的目標(biāo)姿態(tài)角度、當(dāng)前的實際姿態(tài)角度確定姿態(tài)角偏差值;姿態(tài)角度控制模塊,用于向所述pid控制器輸入所述姿態(tài)角偏差值,以使所述pid控制器根據(jù)所述姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算,將無人機(jī)的姿態(tài)角度調(diào)整到所述目標(biāo)姿態(tài)角度。
可選地,所述控制參數(shù)調(diào)整模塊,包括:增益計算單元,用于實時獲取所述飛行空速并確定所述飛行攻角,基于所述飛行空速和所述飛行攻角確定所述槳盤氣流速度;根據(jù)所述基于飛行空速、飛行攻角以及所述槳盤氣流速度確定增益調(diào)整值;參數(shù)設(shè)置單元,用于通過所述增益調(diào)整值調(diào)整所述控制系數(shù)。
可選地,所述參數(shù)設(shè)置單元,還用于將預(yù)設(shè)的控制系數(shù)與所述增益調(diào)整值相乘,獲得當(dāng)前進(jìn)行pid控制運(yùn)算的控制系數(shù);其中,所述控制系數(shù)為比例系數(shù)、微分系數(shù)和積分系數(shù)中的一個或多個。
可選地,所述增益計算單元,用于確定所述飛行攻角α=arcos(cosφ*cosθ);其中,φ為無人機(jī)當(dāng)前的俯仰角,θ為無人機(jī)當(dāng)前的滾轉(zhuǎn)角。
可選地,所述增益計算單元,用于確定對于所述槳盤氣流速度的函數(shù)關(guān)系
其中,υi為所述槳盤氣流速度,υ∞為所述飛行空速,υh為無人機(jī)在懸停狀態(tài)下的槳盤氣流速度。
可選地,所述增益計算單元,還用于確定所述增益調(diào)整值
可選地,所述pid控制器根據(jù)所述姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算的控制運(yùn)算公式為:
其中,ut為控制輸出量,kp為比例系數(shù),ki為積分系數(shù),kd為微分系數(shù),et所述姿態(tài)角偏差值。
根據(jù)本發(fā)明的又一方面,提供一種旋翼無人機(jī),包括:如上所述的旋翼無人機(jī)姿態(tài)控制裝置。
根據(jù)本發(fā)明的再一方面,提供一種旋翼無人機(jī)姿態(tài)控制裝置,包括:存儲器;以及耦接至所述存儲器的處理器,所述處理器被配置為基于存儲在所述存儲器中的指令,執(zhí)行如上所述的無人機(jī)姿態(tài)控制方法。
本發(fā)明的旋翼無人機(jī)姿態(tài)控制方法、裝置及旋翼無人機(jī),設(shè)置用于調(diào)整pid控制運(yùn)算的控制系數(shù)的增益調(diào)整值,增益調(diào)整值可以隨著無人機(jī)的速度、角度等參數(shù)的變化而改變,通過增益調(diào)整值能夠動態(tài)調(diào)節(jié)pid控制器的比例、積分和微分單元的控制系數(shù),可以提高無人機(jī)姿態(tài)調(diào)整以及飛行的穩(wěn)定性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中pid控制算法的原理示意圖;
圖2為現(xiàn)有技術(shù)中的姿態(tài)角度的示意圖;
圖3為根據(jù)本發(fā)明的旋翼無人機(jī)姿態(tài)控制方法的一個實施例的流程示意圖;
圖4a為通過高斯牛頓法獲取槳盤氣流速度υi的示意圖;
圖4b為根據(jù)本發(fā)明的旋翼無人機(jī)姿態(tài)控制方法的一個實施例中的pid控制算法的原理示意圖;
圖5為根據(jù)本發(fā)明的旋翼無人機(jī)姿態(tài)控制裝置的一個實施例的模塊示意圖;
圖6為根據(jù)本發(fā)明的旋翼無人機(jī)姿態(tài)控制裝置的一個實施例中的控制參數(shù)調(diào)整模塊的模塊示意圖;
圖7為根據(jù)本發(fā)明的旋翼無人機(jī)姿態(tài)控制裝置的另一個實施例的模塊示意圖。
具體實施方式
下面參照附圖對本發(fā)明進(jìn)行更全面的描述,其中說明本發(fā)明的示例性實施例。下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。下面結(jié)合各個圖和實施例對本發(fā)明的技術(shù)方案進(jìn)行多方面的描述。
圖3為根據(jù)本發(fā)明的旋翼無人機(jī)姿態(tài)控制方法的一個實施例的流程示意圖,如圖3所示:
步驟301,基于飛行空速、飛行攻角以及槳盤氣流速度動態(tài)調(diào)整pid控制器進(jìn)行pid控制運(yùn)算的控制系數(shù)。
本發(fā)明涉及旋翼無人機(jī),在下文中簡稱為無人機(jī)。飛行空速為無人機(jī)在飛行中相對于空氣的速度,飛行功角為處于自旋中的旋翼相對氣流的攻角。槳盤,又作槳盤平面,一般指旋翼類飛行器在飛行時旋轉(zhuǎn)著的旋翼槳葉所構(gòu)成的平面,槳盤氣流速度是指流過槳盤的氣流速度。
步驟302,根據(jù)需要調(diào)整的目標(biāo)姿態(tài)角度、當(dāng)前的實際姿態(tài)角度確定姿態(tài)角偏差值。
目標(biāo)姿態(tài)角度與實際姿態(tài)角度為三通道的姿態(tài)角,即俯仰角度、偏航角度、滾轉(zhuǎn)角度中的一個或多個。無人機(jī)的實際姿態(tài)角度可以通過分析處理加速度計、陀螺儀以及磁羅盤等傳感器采集的數(shù)據(jù)獲得,無人機(jī)的位置、速度可以通過分析處理gps、超聲波傳感器、視覺傳感器等傳感器獲得的數(shù)據(jù)獲得。
在航姿參考系統(tǒng)的坐標(biāo)系中,可以獲取無人機(jī)在x軸、y軸與z軸的俯仰角度、偏航角度、滾轉(zhuǎn)角度的姿態(tài)角偏差。需要調(diào)整的目標(biāo)姿態(tài)角度,為根據(jù)遙控器操作桿的輸入按比例得到的期望姿態(tài)角或由無人機(jī)的期望位置計算得到的目標(biāo)姿態(tài)角度,實際姿態(tài)角度為無人機(jī)當(dāng)前的姿態(tài)角度。本發(fā)明不限制航姿參考系統(tǒng)的坐標(biāo)系的設(shè)置方式。
步驟103,向pid控制器輸入姿態(tài)角偏差值,以使pid控制器根據(jù)姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算,將無人機(jī)的姿態(tài)角度調(diào)整到目標(biāo)姿態(tài)角度。
在無人機(jī)的飛行過程中,pid控制器根據(jù)姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算并輸出控制量。可以設(shè)置對多種參數(shù)進(jìn)行控制的pid控制器,pid控制器輸出控制量到被控設(shè)備,被控設(shè)備根據(jù)控制量可以控制無人機(jī)的姿態(tài)角度調(diào)整,通過調(diào)整俯仰角、偏航角和滾轉(zhuǎn)角,將無人機(jī)的姿態(tài)角度調(diào)整到目標(biāo)姿態(tài)角度,以使得無人機(jī)符合當(dāng)前需要執(zhí)行的飛行動作。
可以采用多種方法基于飛行空速、飛行攻角以及槳盤氣流速度動態(tài)調(diào)整pid控制器進(jìn)行pid控制運(yùn)算的控制系數(shù)。例如,實時獲取飛行空速并確定飛行攻角,基于飛行空速和飛行攻角確定槳盤氣流速度,根據(jù)基于飛行空速、飛行攻角以及槳盤氣流速度確定增益調(diào)整值,通過增益調(diào)整值調(diào)整控制系數(shù)??梢詫㈩A(yù)設(shè)的控制系數(shù)與增益調(diào)整值相乘,獲得當(dāng)前進(jìn)行pid控制運(yùn)算的控制系數(shù),控制系數(shù)可以為比例系數(shù)、微分系數(shù)和積分系數(shù)中的一個或多個。
在一個實施例中,飛行空速υ∞可以由導(dǎo)航算法得出,υh為懸停狀態(tài)下的漿盤氣流速度,可以由無人機(jī)機(jī)身重量和槳盤的功率給出,也通過實驗獲得。α為當(dāng)前的飛行攻角,可以由姿態(tài)估計算法得出,當(dāng)俯仰角為φ并且滾轉(zhuǎn)角為θ的時候(無風(fēng)的狀態(tài)下),確定飛行攻角為:α=arcos(cosφ*cosθ),其中,φ為無人機(jī)當(dāng)前的俯仰角,θ為無人機(jī)當(dāng)前的滾轉(zhuǎn)角。
確定對于槳盤氣流速度的函數(shù)關(guān)系
下面是通過高斯牛頓法獲得υi值的示例,首先定義函數(shù):
其中參數(shù)
方程
選定初υi(0)值,通過高斯牛頓法求根的步驟如下:
1.規(guī)定一個誤差容許值∈>0。
2.計算迭代步驟υi(k+1)=υi(k)-λf(υi)/f′(υi);f′(υi)表示的是函數(shù)f對于自變量υi的導(dǎo)數(shù),可以求出解析解。λ>0,為可調(diào)參數(shù),表示解的收斂速度。
3.如果||vi(k+1)-vi(k)||≤∈,則計算結(jié)束,得到υi值。如果||vi(k+1)-vi(k)||>∈,則設(shè)置k=k+1,繼續(xù)執(zhí)行上述的步驟2,直至獲取υi值。
計算槳盤升力
基于飛行空速、飛行攻角以及槳盤氣流速度確定增益調(diào)整值為:
例如,獲得飛行空速υ∞為10m/s,通過計算得到飛行攻角α為20度,通過實驗獲得無人機(jī)在懸停狀態(tài)下的槳盤氣流速度υh=6m/s,通過對于槳盤氣流速度的函數(shù)關(guān)系計算得到當(dāng)前的槳盤氣流速度υi=0.35m/s,最后計算得到增益調(diào)整值k=0.63。
如圖4a所示,當(dāng)初值取為υi(0)=0時,采用前述高斯牛頓法求解υi,隨著迭代次數(shù)增加逐漸逼近其真實解υi=0.35。由此,
pid控制器根據(jù)姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算的控制運(yùn)算的原理如圖4b所示,pid控制運(yùn)算的控制運(yùn)算公式為:
ut為控制輸出量,kp為比例系數(shù),ki為積分系數(shù),kd為微分系數(shù),et姿態(tài)角偏差值。例如,可以設(shè)置對于俯仰角度、偏航角度、滾轉(zhuǎn)角度進(jìn)行控制的pid控制器,分別對俯仰角度、偏航角度、滾轉(zhuǎn)角度的姿態(tài)進(jìn)行控制。
上述實施例提供的無人機(jī)姿態(tài)控制方法,設(shè)置用于調(diào)整pid控制運(yùn)算的控制系數(shù)的增益調(diào)整值,增益調(diào)整值可以隨著無人機(jī)的速度、角度等參數(shù)的變化而改變,通過增益調(diào)整值能夠動態(tài)調(diào)節(jié)pid控制器的比例、積分和微分單元的控制系數(shù),可以提高無人機(jī)姿態(tài)調(diào)整以及飛行的穩(wěn)定性,例如當(dāng)無人機(jī)突然減速且改變攻角時,增益調(diào)整值做出相應(yīng)改變并調(diào)整pid控制運(yùn)算的控制系數(shù),可以避免飛行高度產(chǎn)生激烈變化等。
在一個實施例中,如圖5所示,本發(fā)明提供一種旋翼無人機(jī)姿態(tài)控制裝置50,包括:控制參數(shù)調(diào)整模塊51、姿態(tài)數(shù)據(jù)獲取模塊52和姿態(tài)角度控制模塊53??刂茀?shù)調(diào)整模塊51基于飛行空速、飛行攻角以及槳盤氣流速度動態(tài)調(diào)整pid控制器進(jìn)行pid控制運(yùn)算的控制系數(shù)。姿態(tài)數(shù)據(jù)獲取模塊52根據(jù)需要調(diào)整的目標(biāo)姿態(tài)角度、當(dāng)前的實際姿態(tài)角度確定姿態(tài)角偏差值。姿態(tài)角度控制模塊53向pid控制器輸入姿態(tài)角偏差值,以使pid控制器根據(jù)姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算,將無人機(jī)的姿態(tài)角度調(diào)整到目標(biāo)姿態(tài)角度。
如圖6所示,控制參數(shù)調(diào)整模塊51包括:增益計算單元511和參數(shù)設(shè)置單元512。增益計算單元511實時獲取飛行空速并確定飛行攻角,基于飛行空速和飛行攻角確定槳盤氣流速度;根據(jù)基于飛行空速、飛行攻角以及槳盤氣流速度確定增益調(diào)整值。參數(shù)設(shè)置單元512通過增益調(diào)整值調(diào)整控制系數(shù)。
參數(shù)設(shè)置單元512將預(yù)設(shè)的控制系數(shù)與增益調(diào)整值相乘,獲得當(dāng)前進(jìn)行pid控制運(yùn)算的控制系數(shù),控制系數(shù)包括:比例系數(shù)、微分系數(shù)和積分系數(shù)。
增益計算單元511確定飛行攻角α=arcos(cosφ*cosθ),φ為無人機(jī)當(dāng)前的俯仰角,θ為無人機(jī)當(dāng)前的滾轉(zhuǎn)角。增益計算單元511確定對于槳盤氣流速度的函數(shù)關(guān)系
基于函數(shù)關(guān)系求解出槳盤氣流速度,υi為槳盤氣流速度,υ∞為飛行空速,υh為無人機(jī)在懸停狀態(tài)下的槳盤氣流速度。
增益計算單元511確定增益調(diào)整值
則pid控制器根據(jù)姿態(tài)角偏差值進(jìn)行pid控制運(yùn)算的控制運(yùn)算公式為:
ut為控制輸出量,kp為比例系數(shù),ki為積分系數(shù),kd為微分系數(shù),et姿態(tài)角偏差值。
在一個實施例中,本發(fā)明提供一種旋翼無人機(jī),包括:如上的旋翼無人機(jī)姿態(tài)控制裝置。
圖7為根據(jù)本發(fā)明的旋翼無人機(jī)姿態(tài)控制裝置的另一個實施例的模塊示意圖。如圖7所示,該裝置可包括存儲器71、處理器72、通信接口73以及總線74。存儲器71用于存儲指令,處理器72耦合到存儲器71,處理器72被配置為基于存儲器71存儲的指令執(zhí)行實現(xiàn)上述的無人機(jī)姿態(tài)控制方法。
存儲器71可以為高速ram存儲器、非易失性存儲器(non-volatilememory)等,存儲器71也可以是存儲器陣列。存儲器71還可能被分塊,并且塊可按一定的規(guī)則組合成虛擬卷。處理器72可以為中央處理器cpu,或?qū)S眉呻娐穉sic(applicationspecificintegratedcircuit),或者是被配置成實施本發(fā)明的無人機(jī)姿態(tài)控制方法的一個或多個集成電路。
上述實施例提供的旋翼無人機(jī)姿態(tài)控制方法、裝置及旋翼無人機(jī),設(shè)置用于調(diào)節(jié)pid控制運(yùn)算的控制系數(shù)的增益調(diào)整值,增益調(diào)整值可以隨著無人機(jī)的速度、角度等參數(shù)的變化而改變,通過增益調(diào)整值能夠動態(tài)調(diào)節(jié)pid控制器的比例、積分和微分單元的控制系數(shù),可以提高無人機(jī)姿態(tài)調(diào)整以及飛行的穩(wěn)定性,例如當(dāng)無人機(jī)突然減速且改變攻角時,增益調(diào)整值做出相應(yīng)改變并調(diào)整pid控制運(yùn)算的控制系數(shù),避免飛行高度產(chǎn)生激烈變化等,并且能夠提高飛行的安全系數(shù)、提高用戶體驗。
可能以許多方式來實現(xiàn)本發(fā)明的方法和系統(tǒng)。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實現(xiàn)本發(fā)明的方法和系統(tǒng)。用于方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實施例中,還可將本發(fā)明實施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實施例。