查看: 1563|回復: 0
打印 上一主題 下一主題

【飛控開(kāi)發(fā)基礎教程10】瘋殼·開(kāi)源編隊無(wú)人機-PID 基礎原理

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2022-7-22 10:34:20 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 開(kāi)源 , 編隊 , 無(wú)人機 , PID , 基礎原理
COCOFLY教程
——瘋殼無(wú)人機·系列
PID 基礎原理




  
    圖1


    一、PID 簡(jiǎn)介
    PID 控制是自動(dòng)控制系統中最常用的一種控制手段,它的誕生主要是為了解決自動(dòng)控制系統的快、穩、準的問(wèn)題。
    PID 控制中的 P 指的是 Proportion(比例),即對輸入的偏差乘以一個(gè)系數; I 指的是 Integral(積分),即對輸入偏差進(jìn)行積分運算;而 D 指的是 Derivative(微分),即對輸入偏差進(jìn)行微分運算。通過(guò)比例、積分、微分結合適當的反饋就可以形成一套穩定的閉環(huán)調節系統。如下圖所示為 COCOFLY 的 PID 控制器的結構圖。

   
    圖2
    其中期望角度(高度)由遙控器提供,角度環(huán)(高度環(huán))以及角速度環(huán)(高速度環(huán))由 PID 代碼處理,STM32 輸出四路 PWM 到無(wú)人機的電機控制端口, IMU(慣性測量單元)以及飛行姿態(tài)提供反饋值。
    二、PID 控制原理
    PID 控制的過(guò)程,其實(shí)是不斷糾正偏差的過(guò)程,其中的偏差=當前被控對象的反饋值-設定的期望值。
    這里舉一個(gè)比較簡(jiǎn)單又經(jīng)典的 PID 控制的例子,比如需要控制一個(gè)機器人以 PID 的方式向前行走 110 步,然后停下來(lái)。此時(shí)這個(gè) 110 步則是設定的期望值。
    如果按照 P 比例控制,也就是控制機器人按照一定的比例走,然后停下。比如比例系數為 108,則走一次就走了 108 步,再走一次的話(huà)就超過(guò) 110 步了,所以就不走了。從這里可得知 P 比例控制是一種最簡(jiǎn)單的控制方式,控制器的輸出與輸入誤差信號成比例關(guān)系。但是僅有比例控制時(shí)系統輸出存在穩態(tài)誤差。比如上面的只能走到 108,或者超過(guò) 108 步,無(wú)論怎樣都走不到 110。
    為了消除穩態(tài)誤差,在控制器中必須引入“積分項 I”。積分項對誤差的影響取決于時(shí)間的積分,隨著(zhù)時(shí)間的增加,積分項會(huì )增大。這樣,即便誤差很小, 積分項也會(huì )隨著(zhù)時(shí)間的增加而加大,它推動(dòng)控制器的輸出增大,從而使穩態(tài)誤差進(jìn)一步減小,直到等于 0。即在“積分項 I”控制中,控制器的輸出與輸入誤差信號成正比關(guān)系,且比例+積分(PI)控制器可以使系統在進(jìn)入穩態(tài)后無(wú)穩態(tài)誤差。
    也就是說(shuō),如果按照 PI(比例、積分)控制的方式,則是控制機器人按照一定的步伐走到 112 步然后回頭接著(zhù)走,走到 108 步位置時(shí),然后又回頭向 110
    步位置走。在 110 位置處來(lái)回晃蕩幾次,最后停在 110 步的位置。
    微分項,主要用于預判誤差變化的趨勢從而作出對應的改變。在自動(dòng)控制系統在克服誤差的調節過(guò)程中可能會(huì )出現振蕩甚至失穩,原因是存在較大慣性組件(環(huán)節)或滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差作用的變化“超前”,即在誤差接近于零時(shí),抑制誤差的作用就應該是零。這就是說(shuō),在控制器中僅引入“比例 P”項往往是不夠的, 比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預測誤差變化的趨勢。這樣,具有比例+微分的控制器就能夠提前使抑制誤差的控制作用等于零,甚至為負值,從而避免了被控量的嚴重超調。所以對有較大慣性或滯后的被控對象,比例 P+微分 D(PD)控制器能改善系統在調節過(guò)程中的動(dòng)態(tài)特性。
    也就是說(shuō),如果按照 PD 比例、微分控制的方式,則為控制機器人按照一定的步伐走到一百零幾步后,再慢慢地走向 110 步的位置靠近,如果最后能精確停
    在 110 步的位置,就是無(wú)靜差控制;如果停在 110 步附近(如 109 步或 111 步位置),就是有靜差控制。由此得知在微分控制 D 中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關(guān)系。
    前面說(shuō)到 PID 是為了解決自動(dòng)控制系統中的快、穩、準的問(wèn)題的。其中那么他們之間的關(guān)系以及對應調節參數是什么呢?如下表所示。


    表1

    三、PID 代碼結構
    在飛控系統中 PID 是極為重要的一環(huán),在 COCOFLY 飛控系統中也多處應用到了 PID 主要集中在 AltCtrl.c、Ctrl.c 中。如下圖所示為高度環(huán) PID 控制源碼。


   
    圖3
    如下圖所示為高度速度環(huán) PID 控制源碼。

     
    圖4
    如下圖所示為角度環(huán) PID 控制源碼。

     
    圖5       
    如下圖所示為角速率環(huán) PID 控制源碼。

   
    圖6





更多完整學(xué)習資料和對應開(kāi)源套件,請登陸官網(wǎng):“瘋殼”

如需定制開(kāi)發(fā),請通過(guò)官網(wǎng)“瘋殼”網(wǎng)頁(yè)底部的“聯(lián)系我們”進(jìn)行聯(lián)系

    文件下載請點(diǎn)擊:   【10】PID基礎原理.pdf (764.78 KB)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页