李玉衡 徐夏怡 宮瑤 易映萍 姚磊
摘 ?要: 本文設計了一種基于串級PID算法和復合濾波的板球控制系統(tǒng),通過多級錯頻獲取速度差和位置差,并復合滑窗濾波和低通濾波算法,給出了以小球速度差為內環(huán),位置偏差為外環(huán)的雙閉環(huán)平衡控制策略,在simulink平臺搭建了仿真模型并進行研究,同時利用J-Scope調試軟件進行實際效果波形檢測,結果表明本文設計應用的串級PID算法相對于經典單閉環(huán)位置式PID算法穩(wěn)定性更強,系統(tǒng)穩(wěn)態(tài)誤差越小,添加復合濾波后,系統(tǒng)抖動明顯減弱,位置控制更加精確,增強了板球控制系統(tǒng)實時控制動態(tài)響應效果。
關鍵詞:?板球平衡;串級PID;復合濾波;多級錯頻
中圖分類號: TP273.4????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2020.02.001
【Abstract】: In this paper, a cricket control system based on cascade PID algorithm and composite filter is designed. The velocity difference and position difference are obtained through multi-stage cross-frequency, and the composite sliding window filter and low-pass filter algorithm are used to give a double closed-loop balance control strategy with small ball velocity difference as the inner loop and position deviation as the outer loop. The simulation model is built and studied on simulink platform. At the same time, the actual effect waveform is detected by J-Scope background debugging software. The results show that the cascade PID algorithm designed and applied in this paper is more stable than the classical single closed-loop position PID algorithm, and the smaller the steady-state error of the system is. After adding composite filtering, the system jitter is significantly reduced, the position control is more accurate, and the real-time control dynamic response effect of cricket control system is enhanced.
【Key words】: Cricket balance; Cascade PID; Composite filtering; Multistage frequency error
0??引言
采用經典PID控制算法來控制板球控制系統(tǒng),整個系統(tǒng)動態(tài)性能較差,為了更準確控制小球運動過程的速度以及最終穩(wěn)定位置,本文首先采用串級PID的核心控制算法,對速度和位置精準控制;其次,通過多級錯頻,分時處理,使得系統(tǒng)調控過程更穩(wěn)定;最后,采用滑窗和低通濾波二者結合,捕獲計算誤差時采用滑窗濾波,產生控制信號輸出時采用低通濾波方案,能有有效兼顧快速處理與穩(wěn)定精準控制的關系,達到良好的控制效果。
1 ?系統(tǒng)運動學模型
如圖1為板球系統(tǒng)運動學模型。本設計以板球平臺為基礎,系統(tǒng)通過控制平板傾斜,令小球能夠在平板上完成各種運動控制要求。平板下方安裝了兩個舵機,舵機正反轉可以使平板兩自由度傾斜,小球可沿XY兩方向運動。在此模型基礎上對小球進行物理受力分析,在忽略板面摩擦前提下,小球受重力mg和板面支持力FN,其合力提供了小球沿板面運動的加速度。小球位置由攝像頭實時捕獲,某個時間內運動的位移,運動速度構成一個二階運動系統(tǒng)模型。綜上所述,板球系統(tǒng)平臺可以根據(jù)攝像頭反饋回的坐標進行物理參數(shù)計算,調節(jié)電機并對小球位置和運動狀態(tài)進行有效控制。
2 ?控制系統(tǒng)結構及工作原理
板球平衡控制系統(tǒng)的框架如圖2所示,由電源模塊,攝像頭模塊,主控模塊,機械結構模塊構成,利用主控器件對電機控制,帶動機械結構運動,攝像頭作為傳感器進行反饋,達到系統(tǒng)動態(tài)平衡。
3??系統(tǒng)軟件設計
3.1??主流程圖
主體設計原理圖如圖3所示,主體軟件設計流程圖如圖4所示,系統(tǒng)利用OpenMv攝像頭進行坐標實時采集傳輸,采用STM32F4系列單片機進行數(shù)據(jù)處理,串口usart2接收坐標,定時器進行位置和速度差的計算,并輸出舵機對應占空比參數(shù),舵機旋轉,使板面傾斜,小球發(fā)生運動,產生新的位置坐標,攝像頭再次采集傳輸新的坐標,進行循環(huán)控制。
3.2??串級PID控制算法
系統(tǒng)采用速度內環(huán)、位置外環(huán)的雙閉環(huán)控制模式,原理如圖5所示,在平衡控制過程中,攝像頭實時捕捉小球位置,主控系統(tǒng)及時計算出位置差作為外環(huán)信息進行PID控制,根據(jù)物理運動及數(shù)學微分知識實時計算誤差率作為內環(huán)調節(jié)參量,進行內部速度閉環(huán)控制。系統(tǒng)進一步根據(jù)以上誤差量和誤差率調節(jié)PWM的占空比從而控制電機轉向和轉速,在保證小球在平衡狀態(tài)下,進一步優(yōu)化其準確性和穩(wěn)定性的良好控制效果。
3.3 ?位置采集處理算法
捕獲小球位置坐標需要攝像頭,為了適應板球平衡控制系統(tǒng)實時控制的要求,采用OpenMV攝像頭,相比于常用的Ov系列攝像頭,OpenMV攝像頭集成性能好,圖像處理速率快,抗干擾能力強,采用圖像識別算法,利用python語言編程,達到坐標反饋目的。其位置采集處理流程如圖6所示,采集圖像后,選擇灰度化處理,并提取感興趣區(qū)域(即板面區(qū)域),并設定相應的灰度閾值和色塊限制參數(shù),找到小球的輪廓,進行檢測和調整,最終獲得小球中心坐標。
3.4??多級錯頻處理設計
多級錯頻處理設計流程圖如圖7所示,出于對位置和速度不同控制要求的考慮,將系統(tǒng)周期分成采樣周期,運算周期,控制周期三個先后等級錯頻處理,程序中開通周期為200?us的微秒定時器來捕獲位置,開通周期為500?us的微秒定時器計算位置誤差量,開通周期為10?ms的毫秒定時器計算位置誤差率即速度,最后開通周期為20?ms的毫秒定時器對輸出PWM的占空比進行配置,達到多級錯頻的分層處理結構。相比于采樣運算控制結合在一起的控制算法,本設計能夠同時快速準確地控制速度和位置。
3.5??復合濾波算法設計
由于系統(tǒng)在運行過程中存在很大的抖動問題,常常會使調節(jié)量忽高忽低,造成小球穩(wěn)定性差,易導致超調量增大,發(fā)生跑出攝像頭視野范圍無法繼續(xù)控制的問題,因此需要添加濾波算法,消除抖動很大的控制部分,使控制輸出變得平緩且有規(guī)律,保證系統(tǒng)的穩(wěn)定性。在實際應用中,有時既要消除大幅度的脈沖干擾,又要做到數(shù)據(jù)平滑。因此需要結合不同濾波算法優(yōu)劣性進行復合濾波。
本設計分別采用滑窗濾波和低通濾波兩種方法進行效果對比,結合兩種濾波方法優(yōu)劣性,得出復合濾波的方法。滑窗濾波利用數(shù)據(jù)移動求均值的方法,能夠以階梯形式將原來數(shù)據(jù)進行平滑整合,濾除效果較好,但控制過程中會產生遲滯現(xiàn)象,對于實時性要求很強的系統(tǒng)會產生一定的不利影響;一階低通濾波具有通低阻高的特性,其算法公式為:
Y(n)=αX(n) + (1-α)Y(n-1)
式中:α=濾波系數(shù);X(n)=本次采樣值;Y(n-1)=上次濾波輸出值;Y(n)=本次濾波輸出值。該方法采用本次采樣值與上次濾波輸出值進行加權,得到有效濾波值,使得輸出對輸入有反饋作用。但低通濾波存在參數(shù)難以調節(jié),對于較大調整也會進行濾除,導致系統(tǒng)有時控制量不夠,控制緩慢等問題。
本例中采用兩者復合的方式,設計流程圖如圖8所示。在捕獲計算位置和速度誤差時采用滑窗濾波,盡量保存位置信息完整性,而產生控制信號輸出時采用低通濾波,能有有效兼顧快速處理與穩(wěn)定精準控制的關系,達到良好的控制效果。
4??仿真研究
利用simulink搭建兩種PID仿真模型如圖9所示。
兩種PID控制算法下的仿真波形對比如圖10和圖11所示,如圖所示從圖中可知,在相同條件下,串級PID在時間t=15?s時已達到平衡,而經典PID在接近t=20?s時才能達到平衡,其超調量也比串級PID的更大。
5??實驗研究
為了驗證理論研究和仿真研究的正確性,本文搭建了板球控制系統(tǒng)實驗平臺,對板球系統(tǒng)實際控制的穩(wěn)定性,快速性和準確性等性能指標,進行了實驗研究。
同時為了方便測試,在邊長為30?cm的板面上用黑色記號筆均勻標注了9個外徑2?cm的圓形區(qū)域,編號為區(qū)域1至區(qū)域9,并在OpenMv攝像頭固定視角下獲取9個區(qū)域中心坐標,編號及中心坐標劃分如圖12所示。測試時控制小球運動到指定區(qū)域,方便驗證系統(tǒng)準確性。
5.1??板球控制系統(tǒng)性能指標測試實驗研究
為測試板球控制系統(tǒng)的快速性和準確性,進行如下幾個運動控制實驗。實驗內容以及測試結果如數(shù)據(jù)表1至表3所示。根據(jù)實驗1所得表格1分析可知,將小球放在平板區(qū)域2上,對于串級PID系統(tǒng),小球穩(wěn)定時間僅需1.54秒,比經典PID系統(tǒng)用時更短,說明這種串級PID系統(tǒng)穩(wěn)定性更好;根據(jù)實驗2所得表格2分析可知,小球從區(qū)域1至4暫停再到區(qū)域5是一個動態(tài)平衡過程,小球在區(qū)域4的暫停會影響系統(tǒng)的狀態(tài),相對于經典PID系統(tǒng),串級PID系統(tǒng)停留的兩個位置都更接近設定的目標位置,總耗時更短,這說明串級PID系統(tǒng)的動態(tài)性能指標以及快速性,準確性都優(yōu)于經典PID系統(tǒng);根據(jù)實驗3所得表格3分析可知,從區(qū)域1到區(qū)域9是長距離運動控制,對于系統(tǒng)穩(wěn)定性,響應快速性,對于超調量的抑制能力,根據(jù)位置及時調節(jié)狀態(tài)的實時性能要求很高,串級PID系統(tǒng)最終穩(wěn)定位置更精確,耗時更短,因此它的綜合性能指標更好。
板球控制系統(tǒng)性能指標測試實驗內容如下:
滾球控制系統(tǒng)工作,將小球置于平板區(qū)域2上,記錄小球穩(wěn)定在該區(qū)域時間。實驗數(shù)據(jù)如表1所示。
控制小球從區(qū)域1進入?yún)^(qū)域4,在區(qū)域4停留2秒,隨后再進入?yún)^(qū)域5,記錄總時間。實驗數(shù)據(jù)如表2所示。
控制小球從區(qū)域1進入?yún)^(qū)域9,記錄最終穩(wěn)定位置及用時。實驗數(shù)據(jù)如表3示。
結論:串級PID系統(tǒng)在穩(wěn)定性,快速性,準確性,動態(tài)響應特性等方面的綜合性能均優(yōu)于經典PID系統(tǒng),更適合操控板球控制系統(tǒng)。
5.2??應用復合濾波算法的系統(tǒng)穩(wěn)定實驗研究
復合濾波方法與單一濾波方法對應后臺及仿真曲線比較如圖13至16所示。各圖中抖動較多的曲線表示濾波前,較平緩的表示濾波后。其中圖13為單一低通濾波算法產生的控制輸出量波形圖,由后臺波形圖分析可以看出,單一低通濾波對系統(tǒng)信息采集輸出的完整性保護較差,濾除了一部分有用的控制信號。圖14為單一滑窗濾波算法產生的控制輸出量波形圖,可以看出滑窗濾波存在延遲性,不利于系統(tǒng)實時控制。圖15為混合濾波之后的混合錯頻濾波控制輸出量波形圖,可以看出復合濾波設計保護了大部分有用控制信息,也使波形變得更加平滑,最終得到圖16所示的理想控制條件下小球位置變化曲線,其中水平基準線表示目標平衡位置,上下兩條曲線分別表示XY方向的位置變化動態(tài)曲線。可以看出,最終控制的效果接近阻尼比為0.56的理想控制系統(tǒng)特性。
6 ?結論
本文對基于傳統(tǒng)位置式PID控制的控制算法進行了優(yōu)化,設計了一種基于串級PID算法和復合錯頻濾波的板球控制系統(tǒng),分別對串級PID算法,實驗結果表明優(yōu)化后新型板球平衡系統(tǒng)在穩(wěn)定性,快速性,準確性方面都有了很大的提升,控制過程更加平緩,抖動和超調明顯減少,能夠達到更加優(yōu)越的控制效果。
參考文獻
范云飛, 任小洪, 袁文林. 基于并聯(lián)PID 的四旋翼飛行控制策略設計[J]. 軟件, 2015, 36(4): 37-39.
張輝, 孫國強. 基于核相關濾波的自適應目標跟蹤算法[J]. 軟件, 2018, 39(4): 208-213.
李雪蓮. 基于MATLAB的PID參數(shù)調整方法的仿真研究[J]. 機電技術, 2011, 34(1):4-6.
劉志強, 孫懷遠, 宋曉康. 基于機器視覺的藥品包裝濾波算法實現(xiàn)[J]. 軟件, 2018, 39(9): 93-96.
孟祥賓, 朱軍, 李紫豪, 等. 多重自適應卡爾曼濾波?PMLSM 無傳感控制[J]. 軟件, 2018, 39(8): 18-23.
王賽男, 邢冬梅. 基于MATLAB 的小波閾值濾波與應用[J].?軟件, 2015, 36(10): 102-104.
張敏, 徐啟華. 基于改進BP 的神經網絡模型參考自適應控制[J]. 軟件, 2015, 36(7): 118-123.
劉明. 計算機技術應用下的電氣自動化控制系統(tǒng)設計分析[J]. 軟件, 2018, 39(6): 170-173.
王聰興, 劉寶亮. 一種基于圖像處理的表面故障裂紋檢測系統(tǒng)[J]. 軟件, 2018, 39(5): 144-150.
江超. 基于OpenCV 的實時動態(tài)手勢檢測研究[J]. 軟件, 2015, 36(6): 114-119.
胡武揚, 段富海, 董科銳. 基于LabVIEW 的舵機自動加載測試系統(tǒng)軟件設計[J]. 軟件, 2015, 36(5): 24-29.
鞏夢巖, 孟青, 程思強, 等. 基于?STM32 的四旋翼自主投靶飛行器[J]. 軟件, 2018, 39(11): 116-11.