1. 程式人生 > >pid演算法的一點理解

pid演算法的一點理解

    上週在除錯roll軸的時候,表現得很不穩定,會搖晃很久,而如果手動扶穩,則就會保持靜止,而不是繼續搖晃,所以判斷是超調造成的。之前在調節pid的時候,不說比例的事情,每次我在調解微分之前,總會加上積分,以至於每次都不能讓情況改善,原因現在想想是沒有能夠理解其中的原理。

    積分的話自然是跟積累量有關,也就是可以理解為當數量增多時又慢慢增加其反饋,那結果自然是在一個角度的方向的最後過調,又推到另一個角度,在另一個角度也會過調,如此迴圈往復。針對這種情況的正確的思路應該是增大微分值,即跟瞬態變化率有關,能讓其迅速反應,而不是緩慢去調節,等調節力度到了,也加的過多了。

    節選一段話https://blog.csdn.net/HandsomeHong/article/details/72528869

    1.隨著比例係數Kp的增加,超調量增大,系統響應速度加快,

    2.積分時間常數Ti對控制性能的影響
        積分作用的強弱取決於積分常數Ti。Ti越小,積分作用就越強,反之
    Ti大則積分作用弱。積分控制的主要作用是改善系統的穩態效能,消除
    系統的穩態誤差。當系統存在控制誤差時,積分控制就進行,直至無
    差,積分調節停止,積分控制輸出一常值。
        加入積分控制可使得系統的相對穩定性變差。Ti值的減小可能導致
    系統的超調量增大,Ti值的增大可能使得系統響應趨於穩態值的速度減
    慢。

    3.微分時間常數Td對控制性能的影響
        隨著微分時間常數Td的增加,閉環系統響應的響應速度加快,調節
    時間減小。微分環節的主要作用是提高系統的響應速度。由於該環節對
    誤差的導數(即誤差變化率發生作用),它能在誤差較大的變化趨勢時施加
    合適的控制。
        但是過大的Kd值會因為系統造成或者受控物件的大時間延遲而出現
    問題。微分環節對於訊號無變化或變化緩慢的系統不起作用。


相關推薦

PID演算法理解及實現

PID的理解         關於理解PID控制演算法最典型的一個例子就是一個漏水的水缸的問題。網上有很多講解PID的帖子會講到這個例子。這裡我也把我自己對於PID的理解用這個例子闡述一遍。     

pid演算法一點理解

    上週在除錯roll軸的時候,表現得很不穩定,會搖晃很久,而如果手動扶穩,則就會保持靜止,而不是繼續搖晃,所以判斷是超調造成的。之前在調節pid的時候,不說比例的事情,每次我在調解微分之前,總會加上積分,以至於每次都不能讓情況改善,原因現在想想是沒有能夠理解其中的原理。

PID演算法控制簡單理解

1 傳統的位式控制演算法   使用者期望值Sv(設定值)經控制演算法輸出一個輸出訊號OUT,輸出訊號載入到執行部件上(像MOS管等)對控制物件進行控制(步進電機、加熱器等),控制物件的當前值(Pv)如速度通過感測器反饋給控制演算法與Sv相比較。   特點:1 位式演算法輸出的控制訊

PCA降維演算法總結以及matlab實現PCA(個人的一點理解)

轉載請宣告出處。by watkins song 兩篇文章各有側重, 對照看效果更加 o(∩∩)o.. PCA的一些基本資料 最近因為最人臉表情識別,提取的gabor特徵太多了,所以需要用PCA進行對提取的特徵進行降維。 本來最早的時候我沒有打算對提取的gabor特徵

對反向傳播演算法(Back-Propagation)的推導與一點理解

最近在對卷積神經網路(CNN)進行學習的過程中,發現自己之前對反向傳播演算法的理解不夠透徹,所以今天專門寫篇部落格記錄一下反向傳播演算法的推導過程,算是一份備忘錄吧,有需要的朋友也可以看一下這篇文章,寫的挺不錯的:http://www.cnblogs.com/lancel

基於matlab程式對PID控制演算法理解

%設一被控物件G(s)=50/(0.125s^2+7s), %用增量式PID控制演算法編寫模擬程式 %(輸入分別為單位階躍、正弦訊號,取樣時間為1ms,控制器輸出限幅:[-5,5], % 模擬曲線包括系統輸出及誤差曲線,並加上註釋、圖例)。 clear all; c

PID 算法理解

技術分享 idt 穩定 小車 環境 公式 logs 增加值 cnblogs PID 算法 使用環境:受到外界的影響不能按照理想狀態發展。如小車的速度不穩定的調節,盡快達到目標速度。   條件:閉環系統->有反饋   要求:快準狠   分類:位置式、增量式   增量式

初用PID一點認識

了解 模塊 text 一段時間 都是 過大 位數 對象 記憶 PID全稱比例(proportion)-積分(integral)-微分(derivative)控制器,個人理解,說的通俗點就是根據目前及之前的狀態算出P I D三個量來決定輸出的大小。實際使用都是一段時間采樣一次

工廠模式 ioc dom4j 反射之我的一點理解

nat Coding println hibernate return 控制反轉 加載 light 異常 工廠模式 //工廠模式我的理解 //第一次調用沒有實例化的對象時 會去內存中查找(棧) //如果沒有找到,就去xml配置中查找className和他相同

關於Django中間件自己的一點理解

顯示 exce error bsp func sel callback except ddl Django中間件我覺得是一個非常重要的東西,所以把自己的一些理解分享出來,哪裏有不對的還希望大家可以幫助我修改。 因為是自己寫的代碼,所以就把代碼粘過來了,裏邊每一部分都會有

組合數學中排列組合一點理解

安排 一點 能夠 乘法 向上取整 解決 多少 排列 nbsp 在數學中,什麽是排列組合呢?其實在生活中我相信使用是非常廣泛的,下面做一個簡單闡述 集合中不同元素的排列,是對這些元素一種安排.我們也對集合中某些元素的有序安排感興趣.對一個集合中r個元素的有序安排稱為r排列

關於tensorflow conv2d卷積備忘的一點理解

sha on() 一點 des span pan flow 0.12 and **************input************** [[[[-0.36166722 0.04847232 1.20818889 -0.1794038 -0.53244466

點分治的一點理解

head == 今天 ace tro mes log scanf urn 今天菜狗我也學習了一波點分治。 下面是個板子 #include<iostream> #include<cstdio> #include<cstring> #inc

關於並發可見性的一點理解

ava ima 深入理解 補充 並發編程 緩存 png java mage 在看 《深入理解計算機系統》(CSAPP)第6章存儲器層次結構 的時候突然想到在java並發編程 中的 可見性的問題,在這裏簡單記錄一下,也不一定正確 ^_^ 我們從上面的圖中可以看到Inte

對事件循環的一點理解

.post require 順序 this ref abcd his cti 如何 最近工作需要學習了解webworker-threads以應對Javascript多線程處理CPU密集型的可能性;參考文檔JavaScript多線程之二 Node.js中的Web Worker

關於C中數組和指針的一點理解

mage ext 獲得 字符串常量 一中 http 內存 spa color 今天在看了專家c的第四章後對數組和指針有了更深入的理解 首先 1 /*文件1*/ 2 int p[100]; 3 4 /*文件2*/ 5 extern int *p; 6 7 /*.

關於JS中變量提升的規則和原理的一點理解(二)

cnblogs 打印 blog javascrip 誤區 down mark fun ont 上篇文章中講到變量提升和函數提升的先後順序時蒙了,後來去查了一下資料,特別整理一下。 在《你不知道的JavaScript(上卷)》一書的第40頁中寫到:函數會首先被提升,然後才是變

關於java中String的一點理解

struct 類型 println ref data create class static 就是 ??String類是java的最基本類之中的一個,非常好的掌握它的原理非常是必要的! ? 1、String的Final類型

淺談對後綴自動機的一點理解

字符串 變化 post .... 初始 mar 一起 樹狀 子集 後綴自動機入門詳解及模板

對 UIRect 的一點理解

mat wan function end height 默認 標記 targe 影響   UIRect,一個繼承 MonoBehaviour 的抽象類,主要實現了錨點功能。 2.1 UIRect 簡單介紹   UIRect 內實現了類 AnchorPoint,它保存了具體的