通過前面一章的介紹我們已經(jīng)的達到了俯仰,橫滾,航向三個控制量,然后將它們分別輸入三個獨立的如上圖所示的PID控制器,我們可以得到三個PID輸出:pid_roll,pid_pitch,pid_yaw將這三個輸出量做簡單的線性運算輸出給電機。部分代碼如下:
#define PIDMIX(X,Y,Z) Motor_Thr + pid_pitch* Y+ pid_roll*X + pid_yaw*Z
MOTOR1=MOTORLimit(PIDMIX(+1,+1,-1));? ???? //REAR_R? 后右電機
MOTOR2=MOTORLimit(PIDMIX(-1,-1,-1));??? ?????? //FRONT_R 前右電機
MOTOR3=MOTORLimit(PIDMIX(-1,+1,+1));? ?????? //REAR_L? 后左電機
MOTOR4=MOTORLimit(PIDMIX(+1,-1,+1));? ?????? //FRONT_L 前左電機???
4.3. PID參數(shù)調(diào)節(jié)
PID參數(shù)的整定是PID控制的關鍵環(huán)節(jié),直接影響到控制的效果。故一個PID設計的好不好往往要看其參數(shù)能否調(diào)節(jié)好,本設計的PID參數(shù)調(diào)節(jié)采用湊試法。湊試法是通過實際的閉環(huán)系統(tǒng),通過觀察系統(tǒng)的響應曲線,在本設計中通過觀察被調(diào)量,PID輸出,設定值三條曲線,判斷出kp,ki,kd對系統(tǒng)響應的影響,反復嘗試,最終達到滿意響應,從而達到確定控制參數(shù)的kp,ki,kd的目的。在參數(shù)調(diào)節(jié)過程總遵循以下原則[17]:
(1)在輸出不振蕩時,增大比例增益P。
(2)在輸出不振蕩時,減小積分時間常數(shù)Ti。
(3)在輸出不振蕩時,增大微分時間常數(shù)Td。
(4)一般步驟:
a.確定比例增益P
確定比例增益P時,首先去掉PID的積分項和微分項,一般是令Ti=0、Td=0(具體見PID的參數(shù)設定說明),使PID為純比例調(diào)節(jié)。輸入設定為系統(tǒng)允許的最大值的60%~70%,由0逐漸加大比例增益P,直至系統(tǒng)出現(xiàn)振蕩;再反過來,從此時的比例增益P逐漸減小,直至系統(tǒng)振蕩消失,記錄此時的比例增益P,設定PID的比例增益P為當前值的60%~70%。比例增益P調(diào)試完成。
b.確定積分時間常數(shù)Ti
比例增益P確定后,設定一個較大的積分時間常數(shù)Ti的初值,然后逐漸減小Ti,直至系統(tǒng)出現(xiàn)振蕩,之后在反過來,逐漸加大Ti,直至系統(tǒng)振蕩消失。記錄此時的??? Ti,設定PID的積分時間常數(shù)Ti為當前值的150%~180%。積分時間常數(shù)Ti調(diào)試完成。
c.確定積分時間常數(shù)Td
積分時間常數(shù)Td一般不用設定,為0即可。若要設定,與確定 P和Ti的方法相同,取不振蕩時的30%。
d.系統(tǒng)空載、帶載聯(lián)調(diào),再對PID參數(shù)進行微調(diào),直至滿足要求。
(5)最終調(diào)試好的標準應該是,PID輸出曲線在有一個階躍響應來是,響應一大一小兩個波,小波是大波的四分之一。
四軸飛行器的PID整定,我們首先四軸固定在單軸平衡平臺上,讓飛行器完成單軸平衡,主要觀察姿態(tài)角的(1)穩(wěn)定性,能否平衡在期望角度;(2)響應性,當操縱命令改變時,四軸能否即時的響應期望的變化;(3)操縱性,由操縱員感受四軸的姿態(tài)是否已與操縱,會不會產(chǎn)生響應過沖。
在參數(shù)調(diào)整時,先調(diào)P,將I,D給0,先給一個小值P1,如果飛行器不能穩(wěn)定在一個角度,則P1給小了,下一次給一個較大值P2,如果飛行器產(chǎn)生震蕩則證明P2給大了,那么合適的P在P1-P2之間,反復試驗幾次可找到P震蕩的臨界點P0,然后保持P0不變按照調(diào)P的方法來調(diào)D,D是用來消除誤差的,當抖動差不多被消除時,此時我們有較合適的P0,D0,在這兩個值附近再試幾組參數(shù),觀察效果得到最優(yōu)參數(shù)。調(diào)好P,D后此時四軸的穩(wěn)定狀態(tài)與期望狀態(tài)間也學會有靜差,接下來加入I,參數(shù)有小到大,當靜差差不多被消除時,我們再對P,I,D三組參數(shù)在小范圍內(nèi)聯(lián)調(diào)。最后確定恰當?shù)姆e分限幅值,完成整個PID參數(shù)的整定。
5.系統(tǒng)創(chuàng)新
采用STM32F407這樣一款高性能芯片作為控制核心,計算快速,擴展空間大。
云臺飛控一體化設計,既能完成飛行任務也能實現(xiàn)云臺穩(wěn)定。
姿態(tài)算法采用基于四元數(shù)的互補濾波,姿態(tài)角無奇點,比起卡爾曼李春波等高端算法有著計算量小的特點且能投入使用,大大節(jié)約了cpu計算時間,也降低了對cpu的性能要求。
利用四軸作為云臺載體有著靈活機動,可讓攝像頭獲得比較好的視野,且云臺能消除四軸機體抖動。
方便改裝用于執(zhí)行其他任務。
6.評測與結(jié)論
6.1.四軸飛行器的調(diào)試
6.1.1電源調(diào)試
將電路板焊接完成后,為電路板供電,用萬用表測得個供電芯片電壓如下???? ?????? ?????? ?????? ?????? ?????? ??????
表6-1各電源芯片電壓值
?
?
由表中數(shù)據(jù)可知電源管理部分可滿足系統(tǒng)供電要求。
6.1.2 姿態(tài)角調(diào)試
評論