




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章緒論1.1課題研究的背景小型無人機是一種通過遙控器來操縱的飛行設(shè)備[1]。1907年Breguet兄弟最早設(shè)計了飛機;1920年前后,Oemichen設(shè)計出了第一個四旋翼無人機的模型,但幾次試飛后都以失敗而告終;1924年實現(xiàn)了四旋翼無人機的飛行,這創(chuàng)造了直升機領(lǐng)域的新紀(jì)錄;由于受到了發(fā)動機性能極差的桎梏,多旋翼無人機的發(fā)展可謂是十分的緩慢,直到1956年,M.K.Adman設(shè)計的四旋翼無人機試飛成功;法國Parrot公司在2010年由的推出的md4-1000四旋翼無人機,這也是第一次開發(fā)出的消費級的四旋翼無人機玩具;2012年初,大疆推出了小精靈Phantom一體機[2],也正是由此無人機才算是真正進(jìn)入到了我們的生活中。我國對于無人機的研究也是投入了很多的人力物力,這也使得我們國家成為了研發(fā)和出產(chǎn)無人機的主要區(qū)域,開發(fā)了無人機在各個領(lǐng)域上的應(yīng)用[3]。1.2無人機的分類按照無人機[4]的動力產(chǎn)生和支撐方式的不同可以劃分為旋翼無人機、無人直升機、固定翼無人機[5]。對于旋翼無人機而言,它的優(yōu)點是靈活,操作簡單,成本低,再加之如今人工智能的發(fā)展,旋翼無人機可以實現(xiàn)自主飛行、自動感知、定點飛行等功能,但是存在飛行的時間短、飛行的高度不高以及穩(wěn)定性難以保持等問題;對于固定翼無人機而言,它載荷大,續(xù)航的時間長等優(yōu)點,因此在軍事領(lǐng)域得到了廣泛的應(yīng)用;對于無人直升機而言,它的飛行效率很高,結(jié)構(gòu)也很緊湊。1.3無人機的應(yīng)用現(xiàn)狀本文主要研究四旋翼無人機[6],由于其在性能上更具有優(yōu)勢,也使得它成為了當(dāng)前研究的熱門。無人機可以搭載攝像機,所以無人機在航拍領(lǐng)域有著重要的作用,如利用航拍功能提供建筑物的全景圖、交通出現(xiàn)問題時對里面情況進(jìn)行排查等;無人機通過搭載傳感器可以收集農(nóng)田信息,達(dá)到高效管理;此外無人機還在情報收集領(lǐng)域有著不可或缺的作用[3]。1.4四旋翼無人機抗風(fēng)性能的發(fā)展四旋翼無人機因其體積小,在飛行過程中風(fēng)對其干擾比較明顯[7]。四旋翼無人機是否能夠在生活中的各個領(lǐng)域得到應(yīng)用這還要取決于對控制算法的研究。采用傳統(tǒng)的人工控制來實現(xiàn)對于風(fēng)的抵抗是不切實際的,在風(fēng)的干擾下,無人機的電機會快速的運作以達(dá)到對風(fēng)的抵抗,這也是得無人機的耗電量極具增加,最終導(dǎo)致四旋翼無人機失去平衡,為了減小電量的損耗,提高四旋翼無人機的抗風(fēng)性能,需要采用性能更佳的算法,制定更能符合實際情況的飛行策略。四旋翼無人機的算法研究當(dāng)前可算是熱門,不同于早期通過手動操縱的四旋翼無人機,現(xiàn)在研發(fā)的無人機會自帶飛控裝置(姿態(tài)穩(wěn)定控制器)。飛控裝置中采用了不同的控制算法來達(dá)到保持無人機飛行平穩(wěn)的目的。從早期的線性控制算法到現(xiàn)如今流行的非線性控制算法,可以說在尋求無人機的性能能指標(biāo)上是更上一層樓。線性控制算法[8]需要建立很復(fù)雜的數(shù)學(xué)模型,以及需要對模型輸入一定的參數(shù)來達(dá)到飛行控制的目的,這使得無人機的數(shù)學(xué)建模趨近于線性化,而最常見的線性控制算法是PID算法。此類算法不僅可以作用于無人機,在很多工業(yè)制造上都在使用此類算法,它可以通過簡單的積分和微分運算[9,10],通過一個反饋過程來實現(xiàn)對于穩(wěn)定性的控制。當(dāng)然對于初代的PID算法,研究人員也是做出了相應(yīng)的改良,將自適應(yīng)、模糊、遺傳和粒子群等算法引用到了PID算法中去,這樣加大了PID算法能夠更好的適應(yīng)實際的突發(fā)情況。除了常見的PID算法之外,研究人員還設(shè)計了魯棒控制(RobustKZ)[12]、LQG(LinearquadraticGaussian)[11]等控制算法。但總歸線性算法是存在局限性的,一旦偏離了狀態(tài)參量就會產(chǎn)生較大的誤差。為了能更好的適應(yīng)實際情況,提高無人機的性能,常常采用非線性的控制算法來實現(xiàn)無人機的抗風(fēng)。1.5論文主要工作與章節(jié)安排本文以分析并研究四旋翼無人機飛行控制及PID控制算法為基礎(chǔ),重點研究了ADRC控制算法在四旋翼無人機抗風(fēng)上的應(yīng)用,利用ADRC控制算法設(shè)計出可抗風(fēng)的四旋翼無人機PID控制器。文中通過MATLAB進(jìn)行仿真實驗,證明了PID控制器的可行性,并利用小型四旋翼無人機MiniFly在有風(fēng)條件下進(jìn)行飛行測試。章節(jié)安排如下:第一章首先對四旋翼無人機的發(fā)展?fàn)顩r進(jìn)行介紹,并介紹了四旋翼無人機在生活中的應(yīng)用。第二章介紹四旋翼無人機的飛行原理,給出了四旋翼無人機的基本組成、姿態(tài)角的表示,最后建立出四旋翼無人機運動學(xué)模型。第三章是四旋翼無人機PID控制算法的分析與研究,設(shè)計了四旋翼無人機PID控制模型,并通過仿真驗證模型的有效性。第四章重點研究了四旋翼無人機的抗風(fēng)擾ADRC控制算法,并利用ADRC控制算法設(shè)計出四旋翼無人機控制系統(tǒng)結(jié)構(gòu),最后在sumlink仿真下觀察控制效果。第五章設(shè)計了以ADRC控制算法為基礎(chǔ)的四旋翼無人機PID控制器,并進(jìn)行了四旋翼無人機的飛行試驗。第六章進(jìn)行總結(jié)和展望。第二章四旋翼無人機的運動原理及建模四旋翼無人機以牛頓第二定律[13-15]為基礎(chǔ)進(jìn)行建模,建模前要了解四旋翼無人機的基本組成和運動原理。2.1四旋翼無人機的基本組成實驗中采用由正點原子開發(fā)的小型四旋翼無人機MiniFly,它搭配著STM32F411CEU06控制芯片和一顆MPU9250九軸傳感器,利用空心杯電機來輸出動能,利用MOS管來驅(qū)動電機的設(shè)備,,此外為了達(dá)到良好的飛行效果,采用了PCB材料作為機架[16]。2.2基本工作原理四旋翼無人機飛行的基本原理是利用機翼旋轉(zhuǎn)時產(chǎn)生不同的力矩從而實現(xiàn)飛行[23]。由此需要在四旋翼無人機的四個旋翼位置各安裝一套電機和電調(diào),為了消除旋翼轉(zhuǎn)動時會產(chǎn)生反扭矩而影響無人機的平衡,要求無人機的相鄰旋翼之間轉(zhuǎn)向是相反的、槳葉的安裝方向也是相反的,而相對的槳翼之間旋翼的旋轉(zhuǎn)方向和旋翼的安裝角相同。旋翼的安裝腳方向如圖2-1所示。圖2-1四旋翼無人機旋翼旋轉(zhuǎn)方向四旋翼無人機可看做是三維空間中的剛體與四個旋翼組成的結(jié)構(gòu),可實現(xiàn)在三個自由度的轉(zhuǎn)動和三個自由度的平動[17]。依靠四個旋翼電機上功率的變化改變無人機驅(qū)動力的大小來完成不同的姿態(tài)運動。四旋翼無人機是欠驅(qū)動的系統(tǒng),其自身可完成垂直方向和旋轉(zhuǎn)運動,而不能無法獨立完成水平方向上的運動。2.3四旋翼無人機的姿態(tài)角表示根據(jù)牛頓方程和剛體理論的相關(guān)知識可以達(dá)到無人機的運動方法基礎(chǔ)上建立出四旋翼無人機的飛行模型,首先需要去了解四旋翼無人機的姿態(tài)表示方法以及建立合理的坐標(biāo)系[18]。2.3.1四旋翼無人機的坐標(biāo)系確定四旋翼無人機能夠?qū)崿F(xiàn)6個自由度上的運動,因此需要建立兩個坐標(biāo)系才能夠?qū)⑺男頍o人機的姿態(tài)表示出來,它們分別以無人機自身作為坐標(biāo)系的中心點建立機體坐標(biāo)系和以地面為坐標(biāo)系建立導(dǎo)航坐標(biāo)系。機體坐標(biāo)系通常用O-XbYbZb來建立坐標(biāo)系,設(shè)四旋翼無人機的質(zhì)心為坐標(biāo)原點Ob,Ox圖2-2無人機的機體坐標(biāo)系2.3.2四旋翼無人機的姿態(tài)角四旋翼無人機的姿態(tài)角包括橫滾角、俯仰角、偏航角[19]。這三種角可以表示四旋翼無人機以機體為中心時繞X、Y、Z軸完成的旋轉(zhuǎn)運動,用英文Roll、Pitch、Yaw來表示。2.3.3四旋翼無人機的姿態(tài)表示方法利用姿態(tài)角的表示方法設(shè)置出一些固定變量用來搭建用來描述四旋翼無人機姿態(tài)的方程。四旋翼無人機姿態(tài)的數(shù)學(xué)建模方法很多,比較常用的方法有歐拉角法、四元數(shù)法、方向余弦矩陣法等等[24]。歐拉角法歐拉角可以描述定點轉(zhuǎn)動剛體的角位置,當(dāng)描述一個三維空間剛體的轉(zhuǎn)動角度時,需要使用三個獨立的角度來表示一個固定點的剛體相對位置。歐拉角將剛體的三維運動映射到固定了的坐標(biāo)系上,將復(fù)雜的旋轉(zhuǎn)運動分解成簡單的旋轉(zhuǎn)運動。歐拉角的選取順序是(x、y、x)、(x、z、x)、(y、x、y)、(y、z、y)、(z、x、z)、(z、y、z),其選取的順序是a、b、a這樣的順序,也就是繞a軸旋轉(zhuǎn)某個角度后,繞其新生成的b軸旋轉(zhuǎn)一個角度。最后,繞兩次旋轉(zhuǎn)以后的a軸在旋轉(zhuǎn)一個角度,以此來表示最終的方向。泰特布萊恩角的旋轉(zhuǎn)軸選取有(x、y、z)、(x、z、y)、(y、x、z)、(y、z、x)、(z、x、y)、(z、y、x),這就是遍歷笛卡爾坐標(biāo)系的三軸,比如我們最常見到的Roll-Pitch-Yaw角就是其中(x、y、z)的情況。圖2-3是以Roll-Pitch-Yaw為例表示出的歐拉角的旋轉(zhuǎn)過程,此時旋轉(zhuǎn)的順序是先x軸,再y軸,最后z軸,矩陣M的表示方程如下:M=RxRx=10Ry=cosβ0Rz=cosγsin式子(2-2)、(2-3)、(2-4)分別表示繞三軸的轉(zhuǎn)動矩陣方程,而α、β、γ則表示繞三軸的歐拉角。圖2-3歐拉角旋轉(zhuǎn)示意圖(2)方向余弦矩陣方向余弦矩陣相較于歐拉角更有數(shù)學(xué)的屬性,同時包含了幾何的魅力。每一次的繞軸旋轉(zhuǎn)都可以用一個個旋轉(zhuǎn)矩陣來描述。方向余弦矩陣是一個標(biāo)準(zhǔn)的正交矩陣,該矩陣的三行和三列可以理解為一個坐標(biāo)系的標(biāo)準(zhǔn)正交基,矩陣的旋轉(zhuǎn)疊加可以理解為動坐標(biāo)系環(huán)繞靜坐標(biāo)系的旋轉(zhuǎn)。所有的方向余弦矩陣可以理解為一個群,如同一個圓球面(例如將X軸單位點繞圓心旋轉(zhuǎn),可以涂覆整個球面),多次的旋轉(zhuǎn)可由一個最終的旋轉(zhuǎn)矩陣來表示,從而以全局的表示姿態(tài)間的變換。采用方向余弦的方法可以準(zhǔn)確地描述出四旋翼無人機在兩種坐標(biāo)系之下的位置,但存在的缺點是需要的變量太多,在實際的求解過程中非常的復(fù)雜,因此不常使用此類方法。(3)四元數(shù)法相較于歐拉角,四元數(shù)法不存在萬向節(jié)鎖死的問題,此方法采用四個參數(shù)來描述四旋翼無人機姿態(tài),在實際情況中得到了廣泛的應(yīng)用。2.4四旋翼無人機運動學(xué)模型的建立將四旋翼無人機當(dāng)作剛體運動,根據(jù)牛頓第二定律得:F=ma(2-5)在式子(2-5)中F表示無人機受到的合力。a=dVlt(在式子(2-6)中所指的速度表示在地面坐標(biāo)系下的速度。在地面坐標(biāo)系下,由機械能守恒定律得:mV=?mg+FS式子(2-7)中FS表示四旋翼無人機在地軸坐標(biāo)系中的上升力,F(xiàn)FZ=KZ式子(2-8)中KZi表示空氣的阻力系數(shù)。Vx由坐標(biāo)系關(guān)系可知:FS=R?FJ式子(2-9)中FJ表示四旋翼無人機在機體坐標(biāo)系下轉(zhuǎn)軸的合力,R由:R=其中根據(jù)上文中得到的歐拉角表達(dá)式:Rx=Ry=Rz=得:R=cosγcosβsinFJ=Fi=AT?式子(2-11)和(2-12)中Fi表示每一個電機供給的升力大小,AT表示飛行器的升力系數(shù),根據(jù)式子(2-9)、(2-10)、(2-11)、(2-12)可得:F=cos=i=14AT?由式子(2-7)、(2-8)、(2-13)得:mV=i=14AT?i2?由此也得到了無人機在空間內(nèi)垂直方向上的動力學(xué)模型:X=VxY四旋翼無人機是欠驅(qū)動的運動模型,在垂直方向上有螺旋槳的驅(qū)動力以及重力、阻力等多種力的作用來實現(xiàn)平衡,而水平方向上缺少了兩種驅(qū)動。式子(2-15)得出了含有轉(zhuǎn)動時的動力學(xué)方程,接下來分析無轉(zhuǎn)動時刻平動的動力學(xué)方程[5]。根據(jù)動量矩守恒定律:A=dLlt式子(2-16)中A表示四旋翼無人機所受的合力矩,L表示合動量矩。L=Iω(2-17)式子(2-17)中I表示轉(zhuǎn)動慣量矩陣,ω表示四旋翼無人機三個坐標(biāo)方向上角速度的和向量。ω=abcI=Ixx00L=Lb+L式子(2-20)中Lb表示四旋翼無人機的驅(qū)動力矩向量,LLb=Mα式子(2-21)中AM表示槳葉的力矩系數(shù),AT表示升力系數(shù),Lg=?I式子(2-22)中Ic根據(jù)哥式定理:dLlt=Ixx由式子(2-23)可得四旋翼無人機轉(zhuǎn)動時的動力學(xué)方程為:abc=?abc=1根據(jù)式子(2-24)、(2-25)、(2-15)得到四旋翼無人機的飛行模型:X=V2.5本章小結(jié)研究自抗擾四旋翼無人機設(shè)計的前提是了解飛行原理以及無人機的姿態(tài)角表示,本章通過對于無人機飛行原理的學(xué)習(xí),最后利用飛行的基本原理構(gòu)建出無人機的基本模型,為構(gòu)建四旋翼無人機姿態(tài)控制奠定基礎(chǔ)。第三章四旋翼無人機PID控制算法3.1PID控制的基本理論圖3-1為PID控制器的原理圖[25]。圖3-1PID算法原理圖其基本公式為:ut=式子(3-1)中Kp表示控制器的比例系數(shù),Ti表示積分系數(shù),其對應(yīng)的傳遞函數(shù)為:Gs=U(s)E(s)PID控制理論可以理解為:使得系統(tǒng)的輸出在一個合理范圍內(nèi)。如果輸出偏差過大,PIDS算法開始作用,來減小輸出值與期望值間的誤差,來實現(xiàn)平穩(wěn)飛行[25]。(1)比例控制所謂的比例控制就是指給輸入的信號乘以一個固定值,使其大小發(fā)生改變[30]。Pout=Kp在不同的比例增益Kp下,受控變量的階躍相應(yīng)結(jié)果如圖3-2、圖3-3和圖3-4圖3-2圖3-3圖3-4(2)積分控制對于只有比例控制的系統(tǒng)來說存在穩(wěn)態(tài)誤差,通過控制器中加入積分項可以消除系統(tǒng)中的穩(wěn)態(tài)誤差。積分控制器使系統(tǒng)進(jìn)入穩(wěn)定狀態(tài)后無穩(wěn)態(tài)誤差[30]。Iout=Ki在不同的積分增益Ki下,受控變量的階躍響應(yīng)結(jié)果如圖3-5、圖3-6、圖3-7圖3-5圖3-6圖3-7(3)微分控制控制系統(tǒng)不需要調(diào)節(jié)微分時間,只有時間滯后的系統(tǒng)才需要附加這個參數(shù)。D在不同的微分增益Kd下,受控變量的階躍響應(yīng)結(jié)果如圖3-8、圖3-9、圖3-10。圖3-8圖3-9圖3-103.2四旋翼無人機上實現(xiàn)PID控制PID控制可分為單級PID控制和串級PID控制,單級表示只采用一次PID控制,而串級指采用多級PID控制,其優(yōu)勢在于得到的輸出數(shù)據(jù)更接近期望值[26]。3.2.1單級PID圖3-11位單級PID的控制框圖:圖3-11單級PID框圖框圖中期望角度來自飛控輸入,反饋當(dāng)前角度就是傳感器測得的飛行角度,這里的角度就是指Roll/Pitch/Yaw三個角度,PID在控制計算的時候都是獨立的[29]。3.2.2串級PID串級PID指得是不僅僅采用一種PID進(jìn)行操作,首先期望角度先經(jīng)過角度環(huán)PID控制,但角度環(huán)PID僅僅是考慮了飛行器的角度問題,如果想要增強飛行器飛行的穩(wěn)定性就需要接著控制飛行器的角速度。采用串級PID算法可以大大增加飛行器的穩(wěn)定問題。圖3-12位串級PID的控制圖。圖3-12串級PID的控制圖3.3四旋翼無人機PID控制器的設(shè)計四旋翼無人機在飛行過程中,飛行的姿態(tài)是在不斷改變著的,即使保持四旋翼無人機本身的參數(shù)(轉(zhuǎn)速)不改變,四旋翼無人機仍然是不能保持平穩(wěn)飛行的。為了滿足穩(wěn)定性的要求,需要通過一個反饋回路來控制電機不斷地變化,盡量使四旋翼無人機的姿態(tài)保持在一個可變的范圍內(nèi)[27]。四旋翼無人機的姿態(tài)是用橫滾角、俯仰角、偏航角來描述的,且三種姿態(tài)角之間是不存在耦合問題。在設(shè)計飛行控制算法時,可以對三個姿態(tài)角單獨進(jìn)行處理。圖3-13位俯仰角為例建立的理論框圖。圖3-13四旋翼無人機俯仰角PID控制基本結(jié)構(gòu)期望值與測量值之間的差值(俯仰角角度角之間的差值)是誤差信號。經(jīng)過一個PID控制后得到需要的輸出量u(t),此時控制算法會作用于四個槳葉上的電機,通過改變電機的大小來實現(xiàn)四旋翼無人機的穩(wěn)定飛行功能。若四旋翼無人機僅采用的對應(yīng)算法是單級PID算法是不能夠達(dá)到良好的控制效果,因此圖3-14則是采用串級PID算法得到的飛行控制框圖。圖3-14PID俯仰角控制橫滾角和偏航角與俯仰角的結(jié)構(gòu)類似,在進(jìn)行四旋翼無人機整體的飛行控制時,首先要計算出各個姿態(tài)角的控制量輸出,然后在分別作用到每一個電機上即可完成整體姿態(tài)控制[8]。圖3-15各姿態(tài)角控制量與電機最終控制量之間的耦合關(guān)系[9]。圖3-15控制結(jié)算關(guān)系圖3.4PID算法仿真圖3-16是為了驗證PID算法對于系統(tǒng)穩(wěn)定性控制的影響,在Simulink下進(jìn)行PID算法的仿真實驗:圖3-16在Simulink下的PID仿真圖3-16中被控對象設(shè)置為1/60s+1,仿真實驗中為了驗證微分系統(tǒng)的有效性,另外在系統(tǒng)中加入了延遲(通過實驗觀察,延遲設(shè)置在2000S比較合理)。仿真實驗中先是設(shè)置比列控制,設(shè)置參數(shù)為1;接著設(shè)置了積分控制,通過多次比較發(fā)現(xiàn)1/100~1/400的范圍內(nèi)比較合理;最后是設(shè)置了微分控制,通過多次比較發(fā)現(xiàn)比列參數(shù)在30~45之間可以得到較好地結(jié)構(gòu),圖3-17為PID仿真后通過示波器得到的波形圖。圖3-17PID控制器仿真結(jié)構(gòu)3.5本章小結(jié)本章介紹和分析了PID控制算法。在PID控制算法中,微分、積分可以減少數(shù)據(jù)參數(shù)誤差。但PID算法屬于線性算法,需要對模型進(jìn)行線性化操作。而在實際情況中,非線性突變(如風(fēng)擾),很難利用線性方法進(jìn)行計算,導(dǎo)致四旋翼無人機偏離期望值時會存在較大的誤差,難以達(dá)到預(yù)期的效果。第四章抗風(fēng)擾ADRC算法設(shè)計針對PID算法無法對突變信號進(jìn)行識別處理的問題,韓京清先生提出了能夠處理非線性突變的ADRC控制算法。自抗擾控制技術(shù)ADRC(ActiveDisturbanceRejectionControl)[28]是對PID算法的升級,它類屬于非線性范疇,克服了PID算法難以捕獲突變信號的缺點。ADRC可以看作是TD(微分跟蹤器)、ESO(狀態(tài)擴張器)、NLSEF(非線性控制律)三者作用的整合。其中TD是為了防止目標(biāo)突變而安排的過渡過程;ADRC算法的靈魂就在于ESO;NLSEF是為了改良PID直接線性加權(quán)(輸出=比例+積分+微分)的缺點,使其滿足非線性要求。4.1ADRC的結(jié)構(gòu)與設(shè)計思想圖4-1是ADRC控制器結(jié)構(gòu)圖,主要包括TD、NLSEF和ESO。圖4-1ADRC控制器結(jié)構(gòu)圖微分跟蹤器(TD)[20]是一個單輸入雙輸出的模塊,通過微分跟蹤器可以避免輸入變量產(chǎn)生跳變,便于系統(tǒng)進(jìn)行實時跟蹤,傳統(tǒng)的PID算法上存在跟蹤階躍信號時會產(chǎn)生超調(diào)和上升時間共存的現(xiàn)象,因此需要對輸入的信號進(jìn)行平滑濾波處理,避免信號的突變。微分跟蹤器的數(shù)學(xué)表達(dá)式為:r1k+1=r式子(4-1)中,?表示采樣周期;δ表示速度因子,可以決定跟蹤快慢的參數(shù);vk表示第k時刻的輸入信號。式子中還引入了一個新函數(shù)fst()fstx1,xa=x2+a式子(4-2)、(4-3)中,a0=d2+8δy;在微分跟蹤器(TD)中,δ和?是可調(diào)節(jié)變量。若是縮短跟蹤時間,那么對噪聲的放大也就越明顯;反之,信號相位偏移量會增加。擴張狀態(tài)觀測器(ESO)[21]的原理在于將包括干擾在內(nèi)的系統(tǒng)中的不確定部分看作是一個新的狀態(tài),然后設(shè)計觀測器去觀測這一個狀態(tài)。一旦實現(xiàn)了對這個新狀態(tài)的估計,那么在后面的控制律中直接將這個估計值減去,就認(rèn)為已經(jīng)達(dá)到了消除不確定因素的目的,之后可以采用任何能夠保證剩下已知部分模型穩(wěn)定的控制律來保證控制的性能。擴張狀態(tài)觀測器是一個N階的非線性系統(tǒng),實際中常常使用到二階,那么以二階被控對象為例來描述擴張狀態(tài)感測器,其作用對象的狀態(tài)方程為:x1=x2式子(4-4)中,b表示控制變量的系數(shù);w表示外部的擾動;u20表示控制量;fx1即原公式可以表示為:x1=x2x根據(jù)式子(4-5)可以搭建出需要的離散狀態(tài)擴張觀測器:ek=z1式子(4-6)中,u20為被控制對象的控制量;β01、β02、β03表示為擴張狀態(tài)觀測器的可調(diào)增益;z1、z2、有關(guān)fal()函數(shù)的定義如下:fale,α,δ=ea式子(4-7)中,δ表示fal()函數(shù)的線性區(qū)間寬度。非線性狀態(tài)誤差反饋(NLSEF)[21]是非線性控制組合代替?zhèn)鲃拥腜ID控制器的線性組合,可獲得最有效的誤差反饋控制率,只需要將誤差信號切換成關(guān)于誤差的非線性函數(shù)如fst函數(shù)和fal函數(shù)等,就可以實現(xiàn)“小誤差大增益,大誤差小增益”的效果。狀態(tài)誤差反饋定義了兩種誤差:e1=v1k那么非線性狀態(tài)誤差反饋的輸出表示為:u0=kp?fal(根據(jù)以上式子可以得到系統(tǒng)的控制量ukuk=u04.2風(fēng)干擾模型構(gòu)建ADRC的輸入端要引入一個外部干擾w,而四旋翼無人機的外部干擾可以宏觀定義為風(fēng)干擾,為了后期對搭建的ADRC模型更好的進(jìn)行模擬,這就需要在搭建出一個風(fēng)干擾模型。根據(jù)伯努利流體方程可得到標(biāo)準(zhǔn)狀況下風(fēng)壓公式:pw式子(4-11)中,v表示風(fēng)速大小;r表示空氣的重力大小。風(fēng)干擾在平面方向上的作用力大小表示為:Fx'=SFy'=S式子(4-12)、(4-13)中SUAV由式子(4-12)、(4-13)可以推出風(fēng)干擾對于四旋翼無人機模型姿態(tài)角α、β的作用力矩:Mα'Mβ'將式子(4-14)、(4-15)代入原先建立的四旋翼無人機模型中得:X=i=14Fi4.3四旋翼無人機控制系統(tǒng)結(jié)構(gòu)設(shè)計四旋翼無人機的控制系統(tǒng)結(jié)構(gòu)是由位置控制器和姿態(tài)控制器共同完成對四旋翼無人機模型的控制,最終構(gòu)成以位置環(huán)為外環(huán)和以姿態(tài)環(huán)為內(nèi)環(huán)的反饋系統(tǒng)。此系統(tǒng)中采用了PID控制器和ADRC控制器兩種控制器,其中PID控制器控制四旋翼無人機的位置和偏航角;姿態(tài)環(huán)考慮到風(fēng)干擾的影響,采用ADRC控制俯仰角和橫滾角。圖4-2為控制器結(jié)構(gòu)圖:圖4-2控制器結(jié)構(gòu)圖4.4控制器仿真分析為了驗證ADRC對于系統(tǒng)穩(wěn)定性控制的效果,在Matlab的Simulink下進(jìn)行了仿真實驗制作了ADRC控制器。圖4-3TD模塊中fal函數(shù)的代碼圖4-4fal函數(shù)模塊圖4-5微分跟蹤器(TD)圖4-6擴張狀態(tài)觀測器(ESO)圖4-7非線性誤差狀態(tài)反饋(NLSEF)圖4-8ADRC控制器ADRC控制器的模型建立比較簡單的,它的重點在于參數(shù)的配置。在函數(shù)fal(e,α,δ)中,α、δ屬于經(jīng)驗參數(shù),因此可以直接配置出來,其中α的范圍是(0.9-0.99),而δ的取值為0.01;此外在微分跟蹤器(TD)中還要配置r0的大小,r0的取值非常大,通常在(1000-9000)的范圍內(nèi);在ESO和NLSEF中的4.5本章小結(jié)基于PID算法的基礎(chǔ)上利用ADRC算法可以作用于階躍信號的優(yōu)勢,對姿態(tài)角中的橫滾角和俯仰角進(jìn)行捕獲,可以更好的實現(xiàn)對四旋翼無人機的飛行控制。本章通過對ADRC算法的數(shù)學(xué)建模進(jìn)行分析,進(jìn)而建立出四旋翼無人機飛行控制模型,并利用Simulink下進(jìn)行了仿真實驗,通過實驗可以發(fā)現(xiàn)在存在階躍信號時,采用ADRC控制算法能夠很好的對輸入?yún)?shù)進(jìn)行解算以達(dá)到良好的飛控效果。
第五章四旋翼無人機的抗風(fēng)實驗設(shè)計為了驗證PID算法和ADRC算法的有效性,采用了由正點原子開發(fā)的ATK-MiniFly微型四旋翼無人機作為實驗對象進(jìn)行飛控平穩(wěn)的實驗。5.1MiniFly的硬件資源介紹圖5-1MiniFly的系統(tǒng)框架從MiniFly系統(tǒng)的框架可以看出,四旋翼無人機通過一顆九軸傳感器MPU9250來獲取實際數(shù)據(jù)值,如加速計值、陀螺計值和氣壓值大小;采用STM32F411CEU06作為主控芯片,在此芯片上可以完成電機驅(qū)動、數(shù)據(jù)計算、姿態(tài)控制等功能;為了提高四旋翼無人機的可開發(fā)性,MiniFly專門設(shè)置了一個擴展接口,使得四旋翼無人機可以搭載外設(shè)設(shè)備。5.2四旋翼無人機抗風(fēng)姿態(tài)的參數(shù)設(shè)計四旋翼無人機在飛行過程中受到風(fēng)的干擾,傳感器通過獲得的加計數(shù)據(jù)、氣壓數(shù)據(jù)、陀螺數(shù)據(jù)[16](捕獲的數(shù)據(jù)中已已將風(fēng)的干擾考慮進(jìn)去)作為實際的測量值,輸入設(shè)計的四旋翼無人機PID控制器完成控制所用。圖5-2姿態(tài)控制算法流程圖控制算法流程圖中PID控制器主要控制四旋翼無人機的位置,ADRC控制器主要控制四旋翼無人機的姿態(tài)。通過Z軸高度PID控制器完成高度控制;利用ADRC控制器完成中橫滾角、俯仰角的姿態(tài)控制,利用PID控制器控制四旋翼無人機的偏航角。設(shè)計的四旋翼無人機的PID控制代碼如下:while(1){vTaskDelayUntil(&lastWakeTime,MAIN_LOOP_LT);//獲得周期延遲信息 sensorsAcquire(&sensorData,tick);//獲得氣壓數(shù)據(jù) stateEstimator(&state,&sensorData,tick); //姿態(tài)角的解算 commanderGetWeizhi(&weizhi,&state);//目標(biāo)數(shù)據(jù)和飛行模式的設(shè)定flyerFlipCheck(&weizhi,&KZ,&state,tick); //翻滾檢測anomalDetec(&sensorData,&state,&KZ); //異常檢測 stateKZ(&KZ,&sensorData,&state,&weizhi,tick);//ADRC與PID控制NLKZ(&KZ); //電機控制 tick++;}四旋翼無人機獲取氣壓數(shù)據(jù)和姿態(tài)角數(shù)據(jù)后在stateKZ下完成PID控制與ADRC控制,控制結(jié)果輸入NLKZ控制電機的輸出。5.2.1角度測量值的獲取傳感器MPU9250獲得加計數(shù)據(jù)和陀螺數(shù)據(jù)的實際測量值[17](橫滾角、俯仰角、偏航角)后,利用四元數(shù)和歐拉角的關(guān)系進(jìn)行姿態(tài)角編碼。第一步:HD.x=HD.x*JD;HD.y=HD.y*JD;HD.z=HD.z*JD;其中HD表示為弧度,這里JD表示π180接著將四元數(shù)換算成方向余弦中的第三行第三個元素:DWH=KPF(JSD.x*JSD.x+JSD.y*JSD.y+JSD.z*JSD.z);JSD.x*=DANWEIHUA;JSD.y*=DANWEIHUA;JSD.z*=DANWEIHUA;其中JSD表示在三個軸上的加速度,這里運用了KPF函數(shù)(平方開根號)進(jìn)行和加速度的單位化,得到單位化后的加速計測量值。ZLZ=2*(a1*a3-a0*a2);ZLZ=2*(a0*a1+a2*a3);ZLZ=a0s-a1s-a2s+a3s; 此處得出陀螺儀數(shù)據(jù)得到的重力向量,稱之為機體坐標(biāo)系下的Z方向向量。第二步:x=(JSD.y*ZLZ-JSD.z*ZLZ);y=(JSD.z*ZLZ-JSD.z*ZLZ);z=(JSD.x*ZLZ-JSD.z*ZLZ);單位化后的加速計測量值與在機體坐標(biāo)系下的重力加速計方向的差值用x、y、z表示,其大小與陀螺積分的誤差成正比,可以用來糾正陀螺。xLeiJI+=Ki*x*lt;yLeiJI+=Ki*y*lt;zLeiJI+=Ki*z*lt;Int是積分誤差累積計算,其中在初始條件下設(shè)置積分誤差為0。JSD.x+=Kp*x+xLeiJI;JSD.y+=Kp*y+yLeiJI;JSD.z+=Kp*z+zLeiJI;有了積分誤差累積,得到了新的陀螺儀角速度。第三步:a0+=(-a1*JSD.x-a2*JSD.y-a3*JSD.z)*BANT;a1+=(a0*JSD.x+a2*JSD.z-a3*JSD.y)*BANT;a2+=(a0*JSD.y-a1*JSD.z+a3*JSD.x)*BANT;a3+=(a0*JSD.z+a1*JSD.y-a2*JSD.x)*BANT;運用畢卡算法計算出四元數(shù)的微分方程,其中BANT表示測量的半周期值,大小為BANT=0.5f*lt。第四步:利用四元數(shù)方向余弦矩陣與歐拉角的轉(zhuǎn)換關(guān)系,把四元數(shù)轉(zhuǎn)換成歐拉角。R11=a0s+a1s-a2s-a3s; R21=2*(a1*a2+a0*a3);ZLZ=2*(a1*a3-a0*a2);ZLZ=2*(a0*a1+a2*a3);ZLZ=a0s-a1s-a2s+a3s;JD.pitch=-asinf(ZLZ)*JIAODU;JD.roll=atan2f(ZLZ,ZLZ)*JIAODU;JD.yaw=atan2f(R21,R11)*JIAODU; 利用正余弦函數(shù)得到輸出的橫滾角、俯仰角、偏航角。5.2.2角度環(huán)ADRC控制器 角度環(huán)ADRC控制器可以得到期望角速度,其輸入是期望角度與姿態(tài)角度的差值(期望角度是在進(jìn)行飛行控制時通過遙控器輸入給四旋翼無人機的數(shù)據(jù))。在設(shè)計自抗擾ADRC控制器時,首先安排了過渡過程,輸入為期望給定,由TD微分跟蹤器得到過渡的期望信號v1和過渡期望微分信號v2;接著設(shè)計擴張狀態(tài)觀測器,它是由系統(tǒng)的輸出值作為反饋量,通過擴張狀態(tài)觀測器后得到狀態(tài)信號Z1、狀態(tài)速度信號Z2、狀態(tài)加速度信號,最后經(jīng)過非線性反饋后得到需要的輸出。設(shè)計的ADRC角度環(huán)控制器的代碼如下:float
ADRC(JD*JD,JD*QWJD,JD*SCQWJD){v1
=
v1
+
h*v2;v2
=
v2
+
h*fst(v1-QWJD+JD,v2,r,h);
e
=
z1
-
y;z1
=
z1
+
h*(z2-belta01*e);z2
=
z2
+
h*(z3-belta02*fal(e,0.5,delta)+b*u);z3
=
z3
+
h*(-belta03*fal(e,0.25,delta));
e1
=
v1
-
v1;e2
=
v2
-
z2;
u0
=
belta1*fal(e1,alpha1,delta)
+
belta2*fal(e2,alpha2,delta);
SCQWJD=
u0
-
z3/b;return
SCQWJD;}代碼中QWJD-SCQWJD表示ADRC控制算法的輸入;v1、v2為微分跟蹤器的輸出;h表示濾波因子(即系統(tǒng)調(diào)用步長);e表示誤差值大??;z1表示跟蹤反饋值;z2表示跟蹤反饋值的積分;z3表示跟蹤系統(tǒng)的總擾動;e1、e2作為非線性反饋的輸入;u0為非線性反饋的輸出;輸出結(jié)果用SCQWJD表示。其中定義了2個函數(shù),分別是fst函數(shù)和fal函數(shù)。函數(shù)公式為:fst=fal=通過ADRC角度環(huán)控制器后可以得到橫滾角和俯仰角的期望角速度。5.2.3角度環(huán)PID控制器偏航角的期望角速度只需用PID控制器就可以實現(xiàn):VoidJDPID(ZITAI*SJJD,JD*QWJD,JD*SCQWJD {floatJDerroryaw=QWJD->yaw-SJJD->yaw;if(JDerroryaw>180.0f)JDerroryaw-=360.0f;elseif(JDerroryaw<-180.0)JDerroryaw+=360.0f;SCQWJD->yaw=pidGX(&pidJDyaw,JDerroryaw);}代碼中定義了一個新函數(shù)pidGX,它的作用是進(jìn)行姿態(tài)角的更新,其數(shù)學(xué)公式為:ut=K通過ut設(shè)計JDerroryaw是為了使偏航角的范圍限制在[-π,+π]范圍內(nèi)。5.2.4角速度環(huán)PID控制器角速度環(huán)PID控制器可以計算期望角速度與測量角速度間的差值,并與已知參數(shù)INT16_MAX進(jìn)行比較,若差值大小在參數(shù)范圍內(nèi),就認(rèn)為此時的角速度值近似滿足期望值。其中已知參數(shù)INT16_MAX的獲得方法是經(jīng)過仿真模擬后,為了防止調(diào)整量過大難以控制而得到。voidQWJSDPID(Zzb3f*SJJSD,JD*QWJSU,KZ*SH) {SH->roll=pidSCXZ(pidGX(&pidJSDRoll,QWJD->roll-SJRate->x));SH->pitch=pidSCXZ(pidGX(&pidJSDPitch,QWJD->pitch-SJRate->y));SH->yaw=pidSCXZ(pidGX(&pidJSDYaw,QWJD->yaw-SJRate->z));}角速度環(huán)PID的設(shè)計僅僅起到了一個比較的作用,確保了角速度在合理范圍內(nèi),比較函數(shù)pidSCXZ表示為:staticinlineint16_tpidSCXZ(floatin){if(in>INT16_MAX)//INT16_MAX=32767returnINT16_MAX;elseif(in<-INT16_MAX)return-INT16_MAX;elsereturn(int16_t)in;}若差值大小在[-32768,+32767]的范圍內(nèi),就認(rèn)定是滿足四旋翼無人機飛行的姿態(tài)角速度值。5.2.5高度環(huán)PID控制器設(shè)計PID控制系統(tǒng)的目的在于控制四旋翼無人機電機,而控制電機的輸入為姿態(tài)角的角速度值與實際電機值的和,為此設(shè)計高度環(huán)PID控制器以獲得實際電機值。voidGDHPID(float*DJ,constJD*state,constWEIZHI*weizhi){ newDJ=DJ_SCALE*PidZ(&posPid.pidVZ,state->position.z,weizhi,POS_UPDATE_LT);*DJ=newDJ+posPid.DJBase; }實際的電機值(*DJ)=newDJ+電機基準(zhǔn)值。電機基準(zhǔn)值表示為四旋翼無人機在空中定點飛行時(即Z軸上的合力矩為0)電機的功率大小,newDJ表示用于其他動力上的電機值。為了得到newDJ和電機基準(zhǔn)值,下面設(shè)計函數(shù)PidZ和函數(shù)detecZL:staticfloatPidZ(pidZzb_t*zzb,floatshuru,constWEIZHI*weizhi,floatlt){if(zzb->XQMS==false&&weizhi->DQMS==true){positionResetAllPID();zzb->weizhi=shuru+START_HIRHT;posPid.DJBase=XZDJBase(configParam.DJBase);}zzb->XQMS=weizhi->DQMS;if(weizhi->DQMS==true){zzb->weizhi+=weizhi->velocity.z*lt;SC=pidGX(&zzb->pid,zzb->weizhi-shuru);}returnSC;}PidZ函數(shù)表示:如果前一模式是手動模式而當(dāng)前模式是定高模式,四旋翼無人機中有關(guān)PID的定高數(shù)據(jù)就會初始化狀態(tài),默認(rèn)為初始化狀態(tài)為高度期望值(高度期望值=輸入值+START_HIRHT),當(dāng)前模式也會變成為上一模式。如果當(dāng)前模式是定高模式,可得高度期望值=上一狀態(tài)的高度期望值+電機Z軸上速度的積分,最后利用PID更新函數(shù),將高度期望值與輸入值的差值作為更新函數(shù)的輸入值,得到需要的電機控制量。detecZL函數(shù)定義如下:四旋翼無人機在定高模式下會有一個速度值,根據(jù)機械能守恒可知,此時在Z軸方向上合力為0,則可以說明此時的電機值可以讓四旋翼無人機接近懸停[20],也就得到了電機的基準(zhǔn)值。5.3電機的控制PWM控制器捕獲到姿態(tài)角速度值和實際電機值后,計算出每個電機所需的功率,通過電機功率的改變進(jìn)而達(dá)到姿態(tài)穩(wěn)定的目的。5.3.1脈沖位置調(diào)制(PWM)PWM簡稱為脈寬調(diào)制,實際在強調(diào)占空比,即高電平占據(jù)一個周期的比例。圖5-4PWM占空比利用占空比可以實現(xiàn)對電機轉(zhuǎn)速的改變,對于直流電機來說,電機輸出端的引腳是高電平電機就可以轉(zhuǎn)動。在STM32F411芯片上在通過引腳15、引腳21、引腳42和引腳43來控制電機,這四個引腳對應(yīng)通用計時器中的TIM2和TIM4。通用寄存器PWM中含有一個邊沿檢測器,而邊沿檢測器可以檢測到上升沿的到來和下降沿的到來,那么通過捕獲一個周期上升沿到達(dá)的時間和下降沿到達(dá)的時間,即時間的差值就是高電平持續(xù)的時間,高電平持續(xù)的時間與周期時間的比值就是占空比。5.3.2PWM控制代碼設(shè)計PWM控制包含輸入和捕獲和控制輸出,由于4個電機分別是在TIM4的通道2和通道1下作用于引腳43和引腳42,在TIM2的通道3和通道1下控制引腳15和引腳21。通過控制引腳高電平的占空比就可以實現(xiàn)對電機的控制。第一步:進(jìn)行電機的初始化使得四個引腳的復(fù)用功能控制在TIM4和TIM2通道上,另外設(shè)計PWM模式控制在1模式下(即高電平有效),初始化引腳上的比較值,使得TIM4和TIM2使能后開始捕獲數(shù)據(jù)。第二步:voidNLKZ(KZ*KZ) {s16Q=KZ->roll/2.0f;s16P=KZ->pitch/2.0f;DJPWM.m1=XZDJ(KZ->DJ-Q-P+KZ->yaw);DJPWM.m2=XZDJ(KZ->DJ-Q+P-KZ->yaw);DJPWM.m3=XZDJ(KZ->DJ+Q+P+KZ->yaw);DJPWM.m4=XZDJ(KZ->DJ+Q-P-KZ->yaw); if(DJSetEnable){DJPWM=DJPWMSet;}DJsSetZKB(DJ_M1,DJPWM.m1); DJsSetZKB(DJ_M2,DJPWM.m2);DJsSetZKB(DJ_M3,DJPWM.m3);DJsSetZKB(DJ_M4,DJPWM.m4);}由此函數(shù)可以得到電機的輸出功率,PWM初始化后開始捕獲數(shù)據(jù)(包括姿態(tài)的控制量和電機的控制量),并設(shè)計函數(shù)DJPWM=KZ->DJ-r-p+KZ->,此函數(shù)的結(jié)果作為PWM的輸出,即每個電機的功率輸出值大小,為了保證電機的輸出功率滿足飛行條件,設(shè)計了XZDJ函數(shù)對電機功率大小進(jìn)行限制。在DJPWM函數(shù)生效后,設(shè)計DJsSetZKB(以DJPWM作為輸入)來實現(xiàn)四個電機的占空比輸出。設(shè)計的代碼為:voidDJsSetZKB(u32ID,u16iDJ){if(isInit){u16ZKB=iDJ;#ifdefENABLE_DJ_BAT_COMPENSATED floatDJ=((float)iDJ/65536.0f)*60;floatDY=-0.0006239f*DJ*DJ+0.088f*DJ;floatTGDY=pmGetBatteryVoltage();floatBFB=DY/TGDY;BFB=BFB>1.0f?1.0f:BFB;ZKB=BFB*UINT16_MAX;DJ_ZKBs[ID]=ZKB; #endifswitch(ID){case0: TIM_KZBJ2(TIM4,ZKBToCCRx(ZKB));break;case1: TIM_KZBJ1(TIM4,ZKBToCCRx(ZKB));break;case2: TIM_KZBJ3(TIM2,ZKBToCCRx(ZKB));break;case3: TIM_KZBJ1(TIM2,ZKBToCCRx(ZKB));break;default:break;} }}代碼中利用有效電壓和提供電壓的比值的UINT16_MAX(定值)的擴大后得到占空比。循環(huán)函數(shù)中設(shè)計了TIM_KZBJ2函數(shù),它表示當(dāng)輸入的值大于已經(jīng)定義得比較值(RCC)時就是高電平,否則就是低電平,由此得到了有效電壓。RCC的值來自PWM控制器的數(shù)據(jù)手冊。第三步:利用得到的占空比作用到MOS管上,從而控制電機來保持四旋翼無人機的飛行穩(wěn)定。5.4實驗測試?yán)肒eil開發(fā)平臺對四旋翼無人機MiniFly的源碼進(jìn)行二次開發(fā),將編寫的PID控制器程序?qū)懭胨男頍o人機無人機中,進(jìn)行抗風(fēng)測試。5.4.1寫入程序圖5-5程序?qū)懭胨男頍o人機5.4.2抗風(fēng)實驗由于實驗中采用的四旋翼無人機MiniFly較為簡陋,實驗過程中利用繩子將四旋翼無人機的四個機翼固定住,使得無人機可以實現(xiàn)在與風(fēng)接觸面自由度上可以完成簡單的橫滾角運動和俯仰角運動。圖5-6飛行實測實驗步驟:首先需要測試四旋翼無人機在無風(fēng)條件下的飛行情況,開啟四旋翼無人機定點飛行模式,觀察四旋翼無人機的飛行情況。在定點飛行模式下,無人機可以實現(xiàn)在1.5米高度上實現(xiàn)平穩(wěn)飛行;接著給四旋翼無人機添加風(fēng)源,風(fēng)源利用小風(fēng)扇代替。在低風(fēng)條件下,四旋翼無人機受到風(fēng)干擾影響產(chǎn)生了一定擺動,但很快遠(yuǎn)離風(fēng)源的2個電機機翼轉(zhuǎn)速加快,使四旋翼無人機恢復(fù)平衡。在高風(fēng)條件下,四旋翼無人機的四個電機的機翼轉(zhuǎn)速都有明顯增加,使得四旋翼無人機的擺動趨近平穩(wěn)。最后通過實驗證明了設(shè)計的四旋翼無人機PID控制算法能夠提高四旋翼無人機抗風(fēng)性性能。5.5本章小結(jié)本章先是介紹了實驗采用的小型四旋翼無人機的硬件資源,接著利用ADRC算法對四旋翼無人機PID控制器程序進(jìn)行了設(shè)計與分析,并將設(shè)計的程序燒入四旋翼無人機以驗證控制算法在抗風(fēng)上的有效性。最后通過實驗證明了采用ADRC控制算法可以使得四旋翼無人機在風(fēng)干擾下的姿態(tài)角保持在一個相對誤差較小的范圍內(nèi),實現(xiàn)四旋翼無人機抗風(fēng)。第六章總結(jié)與展望6.1總結(jié)抗風(fēng)是小型四旋翼無人機研究的熱門問題。從硬件角度來說可以通過增大電機的功率或是提高無人機的材質(zhì)來提高抗風(fēng)性能,從軟件設(shè)計角度來說設(shè)計出適用于無人機的抗風(fēng)算法也能有效的提高無人機抗風(fēng)性能。文中先后介紹了兩種方法來實現(xiàn)從軟件角度提高無人機的抗風(fēng)性能,首先利用PID算法來實現(xiàn)四旋翼無人機抗風(fēng),由于PID算法無法識別突變型號,而ADRC算法的微分信號跟蹤器可以對突變型號進(jìn)行平滑濾波處理,有效的解決了超調(diào)問題,因此又設(shè)計了ADRC控制器提高無人機的抗風(fēng)性能。這兩種方法都通過利用無人機姿態(tài)角的轉(zhuǎn)變的反饋來改變電機的功率來達(dá)到飛行穩(wěn)定的目的。在實際測試階段并非利用軟件的仿真,而是通過對可開源小型無人機進(jìn)行二次開發(fā),將的無人機姿態(tài)模型、PID控制模型和ADRC控制模型代碼送入無人機主控芯片中,無人機利用傳感器將接收到的姿態(tài)角數(shù)據(jù)傳遞給主控芯片,芯片利用算法完成姿態(tài)角的計算,最后將計算的結(jié)構(gòu)輸送到無人機的電機中,通過改變電機的功率來保持無人機的穩(wěn)定飛行。為了能夠更好的達(dá)到無人機飛行穩(wěn)定的效果,并且簡化計算的難度,設(shè)計了以ADRC算法為基礎(chǔ)的四旋翼無人機PID控制器。從實驗的結(jié)果可以發(fā)現(xiàn),在風(fēng)力大小一定的條件下無人機對風(fēng)擾具有一定的抵抗力。6.2展望四旋翼無人機抗風(fēng)擾研究中有關(guān)姿態(tài)的解算我認(rèn)為是一個難點,通過四元數(shù)法和歐拉法進(jìn)行姿態(tài)的解算過程中,需要經(jīng)過復(fù)雜的運算,更不用說將風(fēng)干擾的因素引入到姿態(tài)結(jié)算的過程中了。因此若是能更加快速的通過較為簡單的運算就可以得到實驗的數(shù)據(jù),可以加快芯片的運作速度并且能夠更好的達(dá)到穩(wěn)控的目的,這是值得研究的地方。其次小型無人機由于機體的限制,不能夠安裝足夠功率的電池,若是能在算法上對無人機的功耗進(jìn)行優(yōu)化,提高無人機的續(xù)航能力,這也會加大無人機在應(yīng)用。
參考文獻(xiàn)[1]ChiY,ZhangY,LiuZ.Asurveyontechnologiesforautomaticforestfiremonitoring,detection,andfightingusingunmannedaerialvehiclesandremotesensingtechniques.CanadianJournalofForestResearch,2015,45(7):150312143318009.[2]楊云高.四旋翼無人機地面控制系統(tǒng)的研究[D].天津大學(xué).[3]St?ckerC,BennettR,NexF,etal.ReviewoftheCurrentStateofUAVRegulations[J].RemoteSensing,2017,9(5):459.[4]JohnsonEN.FlightSimulationForTheDevelopmentOfAnExperimentalUav[J].Clays&ClayMinerals,2002,44(6):825-834.[5]SharmaV,BennisM,KumarR.UAV-AssistedHeterogeneousNetworksforCapacityEnhancement[J].IEEECommunicationsLetters,2016,20(6):1207-1210.[6]RhudyMB,YuG,GrossJN,etal.OnboardWindVelocityEstimationComparisonforUnmannedAircraftSystems[J].IEEETransactionsonAerospace&ElectronicSystems,2017,53(1):55-66.[7]SimoneMCD,RussoS,RiveraZB,etal.MultibodyModelofaUAVinPresenceofWindFields[C].InternationalConferenceonKZ.2017.[8]SaeedA,AliSU,ShahMZ.LinearKZtechniquesapplicationandcomparisonforaresearchUAValtitudeKZ[C].InternationalBhurbanConferenceonAppliedSciences&Technology.2016
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (正式版)DB65∕T 4913-2025 《地理標(biāo)志產(chǎn)品 木壘羊肉》
- 2026年水果種植公司幼苗移栽管理制度
- T-CIATCM 030.5-2019 中醫(yī)臨床護(hù)理信息基本數(shù)據(jù)集 第5部分:急診護(hù)理記錄
- (正式版)DB2312∕T 088-2023 《禽用油乳劑滅活疫苗細(xì)菌內(nèi)毒素含量檢驗技術(shù)操作規(guī)程》
- 淘寶股市課件
- 氯堿工藝培訓(xùn)課件
- 氯氣課件總結(jié)
- 疫情知識培訓(xùn)資料課件
- 氫能源知識培訓(xùn)內(nèi)容課件
- S-Methyl-2-6-hydroxy-2-3-dihydrobenzofuran-3-yl-acetate-生命科學(xué)試劑-MCE
- 電商企業(yè)客服流失的問題及解決對策研究
- 血常規(guī)及凝血功能解讀
- 2025-2026學(xué)年人教版(2024)初中生物八年級上冊(全冊)教學(xué)設(shè)計(附目錄)
- 2025年華為自動化控制試題
- (2025年)江蘇省南通市輔警協(xié)警筆試筆試模擬考試試題含答案
- 學(xué)堂在線 生活英語聽說 章節(jié)測試答案
- 抗菌藥物合理應(yīng)用培訓(xùn)
- 2024年陜西延長石油招聘真題
- 動態(tài)關(guān)系網(wǎng)絡(luò)分析-洞察及研究
- 26.《方帽子店》課件
- 糧食加工企業(yè)管理制度
評論
0/150
提交評論