什么是歸一化
歸一化就是將所有數(shù)據(jù)都變成0-1之間的數(shù),將數(shù)據(jù)映射到0~1范圍之內(nèi)處理,使數(shù)據(jù)觀察更便捷快速。
在電磁車行駛過程中,由于需要通過分析各個電感采集值的情況來判定前方為何種路段。
所以更要求這些采集值有跡可循,歸一化便是一種很好的方法,先將所有采集到的值縮小到0-1范圍內(nèi),再適當(dāng)放大(常見的放大倍數(shù)為100)。
這樣既能更容易的由電磁值分析出路況,又不會因為數(shù)據(jù)過小而失真。
歸一化的代碼實現(xiàn)
歸一化的公式如下:(x-Min)/(Max-Min)。
其中,x為實時檢測到的變量,Min與Max為標(biāo)定的電感采集最小與最大值。
具體代碼如下:
AD_M_Left[0] =(uint16)(99*(LeftAverage[0]-M_Left_min)/(M_Left_max[0]-M_Left_min)+1);
PID控制
在介紹PID算法前,我們可以試想一下,如果沒有某些特殊的算法,那么我們會如何控制舵機(jī)打角和電機(jī)轉(zhuǎn)速?
就舵機(jī)而言,其結(jié)論可能是,設(shè)定一個特定的值,當(dāng)左右電感的電磁值之差達(dá)到這個設(shè)定的值時。
便控制舵機(jī)向左或向右打一定的角度(或者多設(shè)值,分不同情況多段打角)。
實際上這也是我在剛接觸智能車時用的算法,這種算法雖然能夠讓賽車在賽道上行駛,但打角不夠順滑,反應(yīng)也不夠靈敏。
這時我們便需要將這個差值代入某個算法,令其與舵機(jī)打角關(guān)聯(lián)起來,這樣便可以得到一個較為連貫與精確的舵機(jī)輸出值。
有利于賽車更完美的運行,而這種將差值與最后輸出值關(guān)聯(lián)起來的算法便是我們常說的PID控制算法。
什么是PID控制
比例(P)積分(I)微分(D)控制(PID控制),是應(yīng)用最為廣泛的一種自動控制器。
它具有原理簡單,易于實現(xiàn),適用面廣,控制參數(shù)相互獨立,參數(shù)的選定比較簡單等優(yōu)點。
PID控制分為很多種,而智能車中常用增量式和位置式兩種算法對車身進(jìn)行控制,以保證賽車在賽道上完美運行。
-
電磁
+關(guān)注
關(guān)注
15文章
1147瀏覽量
52399 -
檢測
+關(guān)注
關(guān)注
5文章
4577瀏覽量
92417 -
控制算法
+關(guān)注
關(guān)注
4文章
169瀏覽量
22095
發(fā)布評論請先 登錄
相關(guān)推薦
20.3-使用兩個通道進(jìn)行電磁循跡 智能車競賽 電磁桿原理圖 電磁循跡小車 STM32電磁小車 電磁循跡算法

半電波暗室歸一化場地衰減的預(yù)測pdf
談?wù)?:【歸一化】
電磁巡線歸一化算法看不懂,各位大佬,求助
【原創(chuàng)分享】歸一化在電機(jī)控制中究竟有什么用?
傣語語音合成中的文本歸一化方法

【代碼收藏夾】C語言的歸一化算法

Zemax不同面型的歸一化半徑如何設(shè)置

評論