久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1448|回復: 5
打印 上一主題 下一主題
收起左側

關于PID算法學習問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:1080544 發表于 2023-5-29 15:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小車和攝像頭和各種識別模塊都需要PID算法,請教各位大神給我推薦幾本書或者幾個站進行學習。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:123289 發表于 2023-5-29 17:18 | 只看該作者
以茶水桶放水為例,水桶下方有孔可供人接水用;水桶上方有水龍頭,可以注水補充水。
你:控制水龍頭的放水量,目標是將水桶里的水位保持在某一位置上。下方放水你控制不了。
于是你在水桶上畫一條線A!A就是在控制的目標。
1、如果水太少了,你會將龍頭開到最大。
2、如果水太多了,你會將龍頭關閉。
3、如果水位接近A:
3.1、稍低一點:你會將水龍頭再擰大一點點;
3.2、稍過一點:你會將水龍頭再擰小一點;
3.3、剛好在A線:說明進水與出水一樣,你會保持水龍不動;
這就是控制原理。如何用PID來做這件事呢?
PID的計算結果,就是你的手所擰的水龍開度。就叫它 U 吧。
當前的水位,就你眼睛看到的水位,就叫 B 吧。
你會時刻關注比較水位B,看它們差多少,當然就是:B-A。令Δ=B-A。
開度U有兩個要點,其一是大小就是擰多少;其二是方向,就是擰緊還是擰松。
U的大小當然是根據Δ來定才合理,方向當然是反向才對。 所以:讓U=-Kp*Δ,-Kp就是比例(對應PID中的P),相當于把誤差放大后,再決定U的開度。
但是,這個算法有個缺點,就是當B接近目標A的時候。比如A=B了,這時Δ=0,U=-Kp*Δ=0,即水龍開度=0,關掉了。
你想啊,下面在放水,水位現在正好B=A,但水龍頭一關,下一刻,水一定就少了,明顯是不合理的。
只有K的控制系統叫比例控制系統,比例控制系統是有差控制系統,當系統A=B時控制就失靈了。它的最佳控制效果只能達到目標值的1/Kp,永遠做不到A=B。

于是做了一個改進:
將每次水位差Δ,做一個積累,并將積累的值也用來控制水龍頭,當然也是要反向的,于是:
U = -Kp*Δ -Ki*(Δ+Δ1+Δ2+Δ3+……Δn)這里Δ是本次差,Δ1是上次差,Δ2是上上次差,……,Δn是很久以前的差,Ki是將積累乘個比例。
這樣做有個好處,就是當A=B是,U不是0,而是以前的差值積累Ki*(Δ+Δ1+Δ2+Δ3+……Δn),而且本次Δ=0,說明,本次計算結果與上次一樣,就是說當A=B時水龍頭保持當前開度不變。
這個Δ的積累就是PID中的I。PD(比例+積分)的控制系統是可以做到B=的,即控制到無差輸出。

到此:說了PID中的PI,D又是什么呢?還要從U = -kΔ -(Δ+Δ1+Δ2+Δ3+……Δn)的缺點說起。就是達成控制目標的速度。
最佳最快的控制過程一定是:
1、開始水龍頭開到最大。
2、當B=A是立即擰到某一個開度,這個開度能保證注水和放水速度一樣。
不過,即使人來控制,第2、也做不到。
首先:注水和放水速度一樣時的開度是多少?你不知道,要試。
其次:從開度最大,到正好,需要時間,不可能立即。也就是說要提前開始擰緊水龍頭,當A=B時擰到正好的位置上。
其實最佳的控制不一定是PID,而是能做到第2、的方法。
但PID中的I,就是根據達成目標的變化趨勢,將U作個調整,使達成目標的速度加快。
U = -kΔ -(Δ+Δ1+Δ2+Δ3+……Δn)- (Δ-Δ1)*Ki
這里:(Δ-Δ1)是本次變化量 - 上次變化量,這就相當于“加速度”是個變化均勢,以變化量的變化趨勢為基礎*Ki,再修正U。
(Δ-Δ1)*Ki就是PID中的D,這個值可以這樣理解,如果Δ越來越穩定時,修正量就越來越少。
什么是穩定呢,比如放水量與注水量始終不變,其差不變,就是穩定了,可以不補了。
I是最不易理解的,知道它可以提升控制速度也就可以了。

PID中的三個控制量,必須精細分配各個分量的大小。否則會控制失敗。
例如:水位快到了,龍頭開大了,過了!過了關小,關多了,水位又低了,低了又開大小,又過了,來回折騰,就是做不到A=B。

P大速度快,穩定性差,超調大(調過頭了)。
I大速度快,穩定性差。
D大速度慢,穩定性好。
PID控制是一門不太好掌握技術。
回復

使用道具 舉報

板凳
ID:301191 發表于 2023-5-30 15:40 | 只看該作者
頂一下
回復

使用道具 舉報

地板
ID:1080935 發表于 2023-5-30 18:39 | 只看該作者
微型計算機控制技術、計算機控制技術教材都有原理的講解,有的提供實例代碼,另外可以B站看下視頻,大佬們講的不錯的。
回復

使用道具 舉報

5#
ID:1081324 發表于 2023-6-1 12:26 | 只看該作者
baidu PID參數設置,會出來一堆,你點進去,多看幾個,挑好的固定幾個就行!
下面的故事值得仔細琢磨(網上的):
    小明接到這樣一個任務:有一個水缸點漏水(而且漏水的速度還不一定固定不變),要求水面高度維持在某個位置,一旦發現水面高度低于要求位置,就要往水缸里加水。 小明接到任務后就一直守在水缸旁邊,時間長就覺得無聊,就跑到房里看小說了,每30分鐘來檢查一次水面高度。水漏得太快,每次小明來檢查時,水都快漏完了,離要求的高度相差很遠,小明改為每3分鐘來檢查一次,結果每次來水都沒怎么漏,不需要加水,來得太頻繁做的是無用功。幾次試驗后,確定每10分鐘來檢查一次。這個檢查時間就稱為采樣周期。 開始小明用瓢加水,水龍頭離水缸有十幾米的距離,經常要跑好幾趟才加夠水,于是小明又改為用桶加,一加就是一桶,跑的次數少了,加水的速度也快了,但好幾次將缸給加溢出了,不小心弄濕了幾次鞋,小明又動腦筋,我不用瓢也不用桶,老子用盆,幾次下來,發現剛剛好,不用跑太多次,也不會讓水溢出。這個加水工具的大小就稱為比例系數。
    小明又發現水雖然不會加過量溢出了,有時會高過要求位置比較多,還是有打濕鞋的危險。他又想了個辦法,在水缸上裝一個漏斗,每次加水不直接倒進水缸,而是倒進漏斗讓它慢慢加。這樣溢出的問題解決了,但加水的速度又慢了,有時還趕不上漏水的速度。于是他試著變換不同大小口徑的漏斗來控制加水的速度,最后終于找到了滿意的漏斗。漏斗的時間就稱為積分時間。
    小明終于喘了一口,但任務的要求突然嚴了,水位控制的及時性要求大大提高,一旦水位過低,必須立即將水加到要求位置,而且不能高出太多,否則不給工錢。小明又為難了!于是他又開努腦筋,終于讓它想到一個辦法,常放一盆備用水在旁邊,一發現水位低了,不經過漏斗就是一盆水下去,這樣及時性是保證了,但水位有時會高多了。他又在要求水面位置上面一點將水缸鑿一孔,再接一根管子到下面的備用桶里這樣多出的水會從上面的孔里漏出來。這個水漏出的快慢就稱為微分時間。
回復

使用道具 舉報

6#
ID:1081336 發表于 2023-6-1 13:15 | 只看該作者
你們這段子一套一套的
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天天操操操 | 91看片免费版 | www.欧美.com | 99久久精品国产一区二区三区 | 欧美精品久久久久 | 久久久蜜桃 | 国产一区在线免费观看视频 | 在线播放国产一区二区三区 | 男女深夜网站 | 亚洲午夜三级 | 黑人中文字幕一区二区三区 | 岛国av免费观看 | 国产蜜臀97一区二区三区 | 久久这里有精品 | 久草精品在线 | 日韩精品在线看 | 亚洲 欧美 日韩在线 | 中文字字幕一区二区三区四区五区 | 国产最新视频在线 | 亚洲免费在线观看 | 曰韩三级 | 久久久久久高潮国产精品视 | 视频在线亚洲 | 精品99在线 | 午夜羞羞 | 精品中文字幕视频 | 国产在线永久免费 | 国产精品一区二区三区久久 | 欧美色综合一区二区三区 | 久久不卡 | 波多野结衣一区二区三区在线观看 | 日韩欧美视频 | 久久精品一区二区三区四区 | 亚洲一区二区三区免费在线观看 | 色综合一区二区 | 羞视频在线观看 | 久久久久久久综合 | 亚洲在线久久 | 国产精品网址 | 羞羞视频网站免费观看 | 影音先锋中文字幕在线观看 |