无人机算法之PID
(未完成)
一、PID介紹 (百度百科)
PID 控制器(比例-積分-微分控制器)是一個在工業控制應用中常見的反饋回路部件,由比例單元 P、積分單元 I 和微分單元 D 組成。 PID 控制的基礎是比例控制;積分控制可消除穩態誤差,但可能增加超調;微分控制可加快大慣性系統響應速度以及減弱超調趨勢。
PID算法的控制規律為
Kp——比例增益,Kp與比例度成倒數關系; [2]?
Tt——積分時間常數; [2]?
TD——微分時間常數; [2]?
u(t)——PID控制器的輸出信號; [2]?
e(t)——給定值r(t)與測量值之差。 [2]?
即比例單元 P、積分單元 I 和微分單元 D,、。
比例單元:
比例控制器的輸出u(t)與輸入偏差e(t)成正比,能迅速反映偏差,從而減小偏差,但不能消除靜差。
比例控制作用的大小除與偏差e(t)有關之外,還取決于比例系數Kp的大小。比例系數Kp越小,控制作用越小,系統響應越慢;反之,比例系數Kp越大,控制作用也越強,則系統響應越快。但是,Kp過大會使系統產生較大的超調和振蕩,導致系統的穩定性能變差,所以Kp在不同的系統中要根據系統特性折中選取。
(靜差是指系統控制過程趨于穩定時,給定值與輸出量的實測值之差。)
積分單元:
積分環節的作用,主要用于消除靜差提高系統的無差度。積分作用的強弱,取決于積分時問常數Ti,Ti越大積分作用越弱,繁殖則越強。
積分控制作用的存在與偏差e(t)的存在時間有關。
Ti越小,積分速度越快,積分作用越強。積分作用太強會使系統超調加大,甚至使系統出現振蕩。
微分單元:
微分環節的作用能反映偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統中引入一個有效的早期修正信號,從而加快系統的動作速度,減小調節時間。
微分環節有助于系統減小超調,克服振蕩,加快系統的響應速度,減小調節時間,從而改善了、系統的動態性能。
但微分時間常數過大,會使系統出現不穩定。微分控制作用一個很大的缺陷是容易引入高頻噪聲,所有在干擾信號比較嚴重的流量控制系統中不宜引入微分控制作用。
微分作用不能消除靜差,單獨使用意義不大,一般需要與比例、積分控制作用配合使用,構成PD或PID控制。
?
二、PID使用
四軸常用的PID有兩種:單級PID和串級PID。
單機PID:
(圖片參考自正點原子)
通過測量飛行器的角度值來調節電機。
串級PID:
串級PID顧名思義就是將兩個PID控制算法串起來,從而增加系統的穩定性,四軸飛行器使用角度和角速度來組成串級PID
(圖片參考自正點原子)
期望角度來自遙控數據,反饋角度來自傳感器,二者的偏差作為外環角度環的輸入,角
度環 PID 輸出角速度的期望值; 角速度期望值減去傳感器反饋的角速度得到角速度偏差值,
這個值作為內環角速度環的輸入,角速度環 PID 輸出姿態控制量, 控制量轉換為 PWM 去控
制電機,從而控制四軸。
串級PID調試:
內環 P: 從小到大,拉動四軸越來越困難,越來越感覺到四軸在抵抗你的拉動;到比較
大的數值時,四軸自己會高頻震動,肉眼可見,此時拉扯它,它會快速的振蕩幾下,過幾秒
鐘后穩定;繼續增大,不用加人為干擾,自己發散翻機。 特別注意:只有內環 P 的時候,四
軸會緩慢的往一個方向下掉,這屬于正常現象。這就是系統角速度靜差。
內環 I: 前述 PID 原理可以看出,積分只是用來消除靜差,因此積分項系數個人覺得沒
必要弄的很大,因為這樣做會降低系統穩定性。從小到大,四軸會定在一個位置不動,不再
往下掉;繼續增加 I 的值,四軸會不穩定,拉扯一下會自己發散。 特別注意:增加 I 的值,
四軸的定角度能力很強,拉動他比較困難,似乎像是在釘釘子一樣,但是一旦有強干擾,它
就會發散。這是由于積分項太大,拉動一下積分速度快,給 的補償非常大,因此很難拉動,
給人一種很穩定的錯覺。
內環 D: 這里的微分項 D 為標準的 PID 原理下的微分項,即本次誤差-上次誤差。在角
速度環中的微分就是角加速度,原本四軸的震動就比較強烈,引起陀螺的值變化較大,此時
做微分就更容易引入噪聲。因此一般在這里可以適當做一些滑動濾波或者 IIR 濾波。從小到
大,飛機的性能沒有多大改變,只是回中的時候更加平穩;繼續增加 D 的值,可以肉眼看
到四軸在平衡位置高頻震動(或者聽到電機發出滋滋的聲音)。前述已經說明 D 項屬于輔助性
項,因此如果機架的震動較大, D 項可以忽略不加。
外環 P: 當內環 PID 全部整定完成后,飛機已經可以穩定在某一位置而不動了。此時內
環 P,從小到大,可以明顯看到飛機從傾斜位置慢慢回中,用手拉扯它然后放手,它會慢速
回中,達到平衡位置;繼續增大 P 的值,用遙控器給不同的角度給定,可以看到飛機跟蹤的
速度和響應越來越快;繼續增加 P 的值,飛機變得十分敏感,機動性能越來越強,有發散的
趨勢。(參考自正點原子)
三、程序實現(未完成)
總結
- 上一篇: ifox格式如何快速的转换成mp4格式?
- 下一篇: Angular学习笔记第三章——创建组件