四軸PID調(diào)試心得_第1頁
四軸PID調(diào)試心得_第2頁
四軸PID調(diào)試心得_第3頁
四軸PID調(diào)試心得_第4頁
四軸PID調(diào)試心得_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——四軸PID調(diào)試心得本人曾在大二,大三參與過第六,第七屆飛思卡爾智能車比賽,之后在考研過后在飛思卡爾智能車為我打下的良好基礎(chǔ)下開始制作四軸飛行器。在年中到現(xiàn)在不斷調(diào)試了兩架四軸,一架十字,一架X。其中四軸的平衡是很重要的一環(huán),其中涉及到的PID整定,由于聽聞今年攝像頭也要站起來了,個(gè)人認(rèn)為PID整定過程都有可以相互借鑒之處,顧在此一貼,也順便為我的ARM-ST校園比賽求支持。

PID調(diào)試心得

本人不是自動化出身,也沒有受過專業(yè)訓(xùn)練,都是自己摸索,在這里淺述一下自己的PID參數(shù)整定心得。所言之物皆由實(shí)踐及自己的理解得出,如有不當(dāng)之處還請指正。

首先例舉第一個(gè)例子,我調(diào)的第一臺四軸飛行器,十字型四軸飛行器,講下配置:網(wǎng)上一百多的650機(jī)架,好贏20A電調(diào),新西達(dá)22121000kV,1045的槳,2200mah電池。

采用位置式PID控制,位置式PID公式如下

PID的基本意義我在次就不作闡述了,我只講我的設(shè)計(jì),我以神態(tài)角作為被控制對象,所以

e(k)=期望-測量=給定值-測量神態(tài)角

對于微分項(xiàng)D,我做了一點(diǎn)改變,標(biāo)準(zhǔn)PID的微分項(xiàng)D=kd*(e(k)-e(k-1)),我在實(shí)踐過程中由于角度的微分就是角速度,而陀螺儀可以直接測出角速度,所以我沒有將微分項(xiàng)作為偏差的差而是直接用D=kd*Gyro

實(shí)現(xiàn)代碼如下

floatpidUpdate(pidsuite*pid,constfloatmeasured,floatexpect,float

gyro){

floatoutput;

staticfloatlastoutput=0;

pid->desired=expect;//獲取期望角度

pid->error=pid->desired-measured;//偏差:期望-測量值

pid->integ+=pid->error*IMU_UPDATE_DT;//偏差積分

if(pid->integ>pid->iLimit)//作積分限制{

pid->integ=pid->iLimit;}

elseif(pid->integiLimit){

pid->integ=-pid->iLimit;}

//pid->deriv=(pid->error-pid->prevError)/IMU_UPDATE_DT;//微分應(yīng)當(dāng)可用陀螺儀角速度代替pid->deriv=-gyro;

if(fabs(pid->error)>Piddeadband)//pid死區(qū){

pid->outP=pid->kp*pid->error;//便利獨(dú)立觀測

pid->outI=pid->ki*pid->integ;pid->outD=pid->kd*pid->deriv;

output=(pid->kp*pid->error)+(pid->ki*pid->integ)+(pid->kd*pid->deriv);}else{

output=lastoutput;}

pid->prevError=pid->error;//更新前一次偏差

lastoutput=output;

returnoutput;}

我這么做的原因是由于,假使使用傳統(tǒng)的D的形式,在我快速打舵時(shí)會產(chǎn)生輸入的設(shè)定值變化頻繁且幅度較大,四軸飛行器會迅速回到新的期望點(diǎn),說白了就是十分靈活,四軸回復(fù)很猛,可能造成系統(tǒng)的振蕩,對PID參數(shù)要求較高。假使用角速度代替的話,那怕你打舵十分快,四軸會較平穩(wěn)的回到新位置,運(yùn)動較溫柔。對于我這種操作菜鳥來說無疑后面一種會更適合,所以我選擇了D=kd*Gyro的方式。

PID控制器我大約就是這么實(shí)現(xiàn)的,下面講講我在調(diào)試過程中具體遇到的問題。首先我將四軸固定在單軸平衡平臺上,讓飛行器完成單軸平衡,主要觀測神態(tài)角的(1)穩(wěn)定性,能否平衡在期望角度;(2)響應(yīng)性,當(dāng)操縱命令改變時(shí),四軸能否即時(shí)的響應(yīng)期望的變化;(3)操縱性,由操縱員感受四軸的神態(tài)是否已與操縱,會不會產(chǎn)生響應(yīng)過沖。

我先調(diào)一個(gè)軸的平衡再調(diào)另外一個(gè)軸,最終調(diào)YAW軸。

A:開始只調(diào)P,將I,D置0。由于不知道PID的大致范圍我就隨便給了一組值:P=1,I=0,D=0觀測現(xiàn)象。一開電機(jī)四軸就開始猛烈左右搖擺,很明顯P給大了。然后P從小了往上加。從P=0.1開始試。調(diào)試的時(shí)候我就發(fā)現(xiàn)了一個(gè)現(xiàn)象就是我的四軸往一邊歪,離平衡的0度差了那么一個(gè)角度A,P=0.1時(shí)A較大,除非油門推到很大否則四周根本起不來,這是P說明給小了,我再將P=0.2這時(shí)四軸狀況無明顯改善。于是我直接將P加大一點(diǎn)P=0.8,P=0.8時(shí)已經(jīng)可以看出在等幅震蕩了,但是不是在0度的平衡位置,也是偏離的一個(gè)角度B,此時(shí)B較小了。之后我再加大P到1四軸震蕩又變大了,但是到震蕩中心到零度的靜差還是存在。由于此時(shí)I=0,所以我決定不管這個(gè)靜差,先把P的臨界震蕩點(diǎn)找到。P=0.8時(shí)可以觀測到比較明顯的等幅震蕩了,P=0.2時(shí)四軸又嫌的無力,所以P應(yīng)當(dāng)在0.2~0.8之間。臨界震蕩點(diǎn)就是P從為震蕩到,剛開始震蕩的點(diǎn)。

在這里還應(yīng)注意一點(diǎn),當(dāng)P太小時(shí),四軸在很大傾斜的地方,在重力與P的作用下也會震蕩,這種震蕩不是等幅的,對稱的,震蕩波谷明顯要比波峰絕對值大而且距離0度會很遠(yuǎn)。這種狀況要加以區(qū)分。

我把P從0.2到0.8開始嘗試,找到一個(gè)適合的點(diǎn),最終我定為0.5。在這個(gè)過程中一開始我一直想通過P來消除靜差,但是我發(fā)現(xiàn)我把P加到很大,已經(jīng)震蕩

的很猛烈了,四軸的震蕩中心都不是在0度位置。所以我只能選擇先選好P,D最終參與I來解決這個(gè)問題。

P=0.5時(shí)四軸在他的穩(wěn)定位置震蕩比較小了,但是在外力干擾下很難在穩(wěn)定下來,抗干擾能力較差。然后我開始調(diào)D,在平衡過程中P相當(dāng)于四軸的回復(fù)力,它要努力時(shí)四軸在一個(gè)穩(wěn)定的平衡位置,但這個(gè)位置不一定是你的期望點(diǎn)。個(gè)人認(rèn)為就是當(dāng)偏差不在變化時(shí),pid的輸出也沒有變化了,所以有可能光用P時(shí)穩(wěn)定的位置不一定是平衡的期望的位置。而D是阻尼力,他在四軸有速度的狀況下才發(fā)揮作用,它與速度方向相反始終是抑制運(yùn)動。所以他可以抑制震蕩,但是他同樣也可以抑制P的作用,當(dāng)震動產(chǎn)生時(shí),在震動的中心點(diǎn)四軸震動速度最大,也是D作用最強(qiáng)的時(shí)刻。

剛開始調(diào)D的時(shí)我就范了一個(gè)錯(cuò)誤。由于我該了D的標(biāo)準(zhǔn)型,而D應(yīng)當(dāng)是抑制運(yùn)動的但是陀螺儀輸出的數(shù)據(jù)符號導(dǎo)致我這里D變成了增加運(yùn)動,所以一開始無論我怎么調(diào)整D,都會激發(fā)震蕩。后來我在參數(shù)前加了個(gè)符號就好了。在這里我提醒要始終注意D是阻尼力,是其抑制震蕩也就是運(yùn)動的作用的,它始終期望的是它所作用的對象沒有運(yùn)動,至于停在什么位置不是D所關(guān)心的,那是P,I所關(guān)心的。所以直接用陀螺儀數(shù)據(jù)代替偏差的差得話就得注意下。修正這個(gè)問題后加了D效果就比較明顯了,四軸在外力的干擾先能明顯的有回復(fù)力且,能快速穩(wěn)定在平衡點(diǎn)了,調(diào)D就是試,當(dāng)然D大了也會產(chǎn)生震蕩,但是此時(shí)不加D時(shí)光P作用時(shí)的震蕩就很小,很明顯就可以看出隨著D的增大,震蕩減小又增大的過程。最終P=0.4,D=0.15。

最終定好了P,D后我的四軸還是有靜差,不能穩(wěn)定在期望的0點(diǎn)。網(wǎng)上有好多四軸只用PD,在這里我決定根據(jù)我的實(shí)際狀況參與I。調(diào)I的時(shí)候我先把積分限幅去掉。然后從小往大

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論