張鶴嚴 邵天洋
摘 ? 要:板球系統(tǒng)是一個比較復雜的,具有非線性的不穩(wěn)定系統(tǒng),它既可以作為實驗模型也具有其復雜性并與諸多控制類系統(tǒng)具有共通性,所以實現(xiàn)其穩(wěn)定性的控制,是一項重要的課題。本文以平板上運動的小球作為被控對象,攝像頭將采集到小球的位置圖像,反饋給STM32系列單片機,來控制動作電機以對小球進行軌跡規(guī)劃、定位控制等,從而探尋和驗證機器人穩(wěn)定移動的方法。從簡單的電機穩(wěn)定控制,到變積分PID調(diào)節(jié),實現(xiàn)了電機的速度內(nèi)環(huán)和位置外環(huán)的雙閉環(huán)控制,最后對圖像數(shù)據(jù)進行了優(yōu)化處理。建立了一個控制機器人平衡的模型,給機器人研究工作者提供了新的平衡控制和優(yōu)化數(shù)據(jù)的方法。
關(guān)鍵詞:PID調(diào)節(jié) ?板球控制系統(tǒng) ?圖傳數(shù)據(jù)優(yōu)化 ?STM32系列單片機
中圖分類號:TP273+.4 ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2020)06(a)-0152-03
Abstract: The cricket system is a complex, nonlinear and unstable system. It can be used as an experimental model, but also has its complexity and is in common with many control systems. Therefore, it is an important task to control its stability. In this project, a small ball moving on the plate is taken as the controlled object. By collecting the position image of the ball from the camera and feeding it back to the STM32 series SCM, the motor is controlled to conduct trajectory planning and positioning control for the ball, so as to explore and verify the method of stable movement of the robot. From the simple motor stability control to the variable integral PID regulation, the motor speed inner loop and the position of the outer loop of the double closed-loop control, finally the image data optimization processing. A balance control model is established, which provides a new method of balance control and data optimization for robot researchers.
Key Words: PID regulation; Cricket control system; Optimization of graph transmission data; STM32 series SCM
目前,機器人被廣泛應用于汽車、飛機、輪船、手機、家電、等方面。在操作方面,機器人從根本上講是處于不穩(wěn)定狀態(tài)的,很難將其進行穩(wěn)定控制,所以在實際應用中存在諸多的問題,而控制系統(tǒng)的穩(wěn)定性則是其中一個至關(guān)重要的話題。
現(xiàn)如今板球控制系統(tǒng)的濾波和PID算法兩方面相關(guān)的技術(shù)已經(jīng)接近成熟,很再難有所突破,但板球控制系統(tǒng)的處理速度和穩(wěn)定性的確還有待優(yōu)化和提升,所以我們決定在前人的基礎(chǔ)上尋求突破,通過在攝像頭圖像處理和傳回的幀數(shù)組上進行創(chuàng)新,以小范圍預期掃描、縮小成像規(guī)模,來優(yōu)化程序復雜而引起的處理速度緩慢、反應遲鈍等問題,從提高運作效率方面切入作為突破的契機。
1 ?系統(tǒng)方案
本系統(tǒng)主要由機械模塊、芯片控制模塊、攝像頭圖傳模塊、動作模塊、電源模塊組成,下面分別論證這幾個模塊的選擇。
1.1 處理芯片的論證與選擇
方案一:STC51系列單片機是在現(xiàn)應用較為廣泛的單片機中價格較為低廉的一種:其內(nèi)部集成專用復位電路,2路PWM,針對電機控制,強干擾場合,但是此芯片的晶振頻率較低,而且性能很差,當傳輸數(shù)據(jù)量較大時速度難以滿足運算要求,并且無法承擔復雜的運算以及圖像顯示。該系列其功能單一,片內(nèi)資源匱乏,且需要仿真器來實現(xiàn)軟硬件調(diào)試,較為煩瑣。
方案二:STM32F103系列單片機是在STM32系列單片機中價格最低的芯片,此芯片為ARM 32位的Cortex-M3,具有最高72MHz工作頻率,可進行單周期乘法和硬件除法,較STC51系列單片機相比性能優(yōu)越,且IO口及片內(nèi)硬件資源豐富,可輕松進行大量的運算。但對于攝像頭等高速器件處理能力仍然較差,如果加入一些復雜的算法后如:霍夫曼圓算法等,處理器的處理速度會達不到預期效果而出現(xiàn)傳回圖像卡成PPT的現(xiàn)象,難以應付大量的復雜運算。
方案三:STM32F429系列單片機是在STM32系列單片機中價格較高的芯片,此系列芯片較F1系列芯片相比,內(nèi)核為Cortex-M4,具有最高180MHz工作頻率,并且主頻帶DSP,不少的集成外設(shè)被加強,而且存儲器的Flash和SRAM加大了很多,相對來講此類芯片性價比更高。
綜上所述本系統(tǒng)芯片選擇為方案三。
1.2 機械結(jié)構(gòu)與硬件選擇
1.2.1 機械結(jié)構(gòu)
板球控制系統(tǒng)的機械結(jié)構(gòu)具有2個自由度,平板中心為支撐點下方與底板上的支撐桿相連,在相鄰兩側(cè)中心點的下方分別與底板上的動作電機機臂相連,在轉(zhuǎn)動過程中,因支撐桿對平板的力矩沿板邊方向,所以當兩個動作電機工作時,產(chǎn)生的力矩互相垂直,由此可減少兩向力之間的相互干擾,降低了系統(tǒng)控制時的耦合度。實體結(jié)構(gòu)如下圖1所示。
1.2.2 攝像頭圖傳模塊:OV2640
OV2640是OmniVision公司生產(chǎn)的1/4寸的CMOS UXGA(1632×1232)圖像傳感器;擁有200萬像素和較大的可視區(qū)域,支持自動曝光控制、自動增益控制、自動白平衡、自動消除燈光條紋等自動控制功能。UXGA最高15幀/s,SVGA可達30幀,CIF可達60幀;并且支持DCMI傳輸和SCCB通信協(xié)議,是在諸多圖傳模塊中性價比較高的一款攝像頭。
1.2.3 動作模塊:MG995數(shù)字舵機
在諸多電機中,在考慮成本的基礎(chǔ)上可作為動作模塊的電機大致可分為兩種:舵機和步進電機。但由于步進電機的運動速度取決于細分并且可能存在丟步現(xiàn)象,因此其穩(wěn)定性和響應速度都不及舵機,而舵機中SG90系列舵機(小藍舵機)與數(shù)字舵機相比,雖價格低廉,但其穩(wěn)定性和扭矩都較低因此滿足不了控制系統(tǒng)的要求,所以我們選擇了GM995數(shù)字舵機。
1.2.4 電源模塊:航模電池連接可調(diào)式穩(wěn)壓模塊
由于動作模塊我們選擇的是舵機,所以我們的電源模塊需要滿足舵機4.8~7.2V的工作電壓,主控芯片上的電壓雖然可以滿足舵機的運行電壓,但是板載電源并不能支持舵機運轉(zhuǎn),所以只能用外接大電流的航模電池連接穩(wěn)壓模塊對舵機進行供電。
2 ?板球的控制系統(tǒng)
如框圖2所示,該系統(tǒng)由數(shù)據(jù)獲取裝置、控制器、執(zhí)行器、球和平板組成。
具體的工作方式為:小球在板上運動,攝像頭將實時捕捉到的小球位置傳給單片機,單片機經(jīng)過數(shù)據(jù)處理后,會解算出相應的預期脈沖(占空比),以此來控制舵機轉(zhuǎn)角,從而改變小球在板上的位置。
2.1 PID的控制算法
2.1.1 概念與選擇
PID總結(jié)來講就是對系統(tǒng)預期值所產(chǎn)生的偏差進行補償?shù)囊环N控制過程。
其控制公式為:
其中P為偏差比例,I為偏差積分,D為偏差微分。大致有位置型、增量型、積分分離型、抗積分飽和性、梯形積分型和變積分型幾種類型。
在本次實驗中我們應用的是變積分型PID,在普通的PID(如位置型)中積分常數(shù)ki是不變的,這就導致在系統(tǒng)的積分值偏差較大或較小時,積分常數(shù)會成為系統(tǒng)反應速度滯后的影響因素,而變積分的基本思想就是改變積分項的累加速度:偏差越大積分越小、偏差越小積分越大。因此變積分型PID具有較高的系統(tǒng)穩(wěn)定性,符合本系統(tǒng)的核心要求。
2.1.2 算法的設(shè)計與實現(xiàn)
系統(tǒng)采用速度內(nèi)環(huán)、位置外環(huán)的雙閉環(huán)控制模式(模式如圖3所示)。在板球系統(tǒng)運行過程中,位于上方的攝像頭模塊將實時撲捉到的小球位置反饋到單片機中,單片機會及時計算出預期位置,與攝像頭傳回的坐標進行比較得出位置差,作為位置外環(huán),而通過位置差則可以計算出內(nèi)環(huán)所需的速度差,進而做到PID雙閉環(huán)控制,從而調(diào)整所輸出的PWM脈沖,以彌補誤差、增強系統(tǒng)穩(wěn)定性。
3 ?圖像的獲取與處理
圖像在獲取的過程中,由于外界環(huán)境的干擾以及攝像頭本身質(zhì)量的原因,會造成獲取后的圖片模糊、部分缺損等。因此我們要對獲取后的圖像進行灰度處理、濾波、校正等處理。
3.1 灰度處理及二值化
由于攝像頭輸出的是24位真彩色圖像,而為了對圖像進行二值化,因此要先對圖像進行灰度處理,即RGB色彩分量不等的將彩色圖像轉(zhuǎn)換為RGB色彩分量全部相等的灰度圖像。我們通過平均值法,將彩色圖像中的三分量亮度求平均值得到灰度值,公式如下:
Gray(i,j)=(R(i,j)+G(i,j)+B(i,j))/3
接下來為便是將灰度圖像進行二值化,我們采用的是迭代閾值分割算法,步驟如下:
(1)設(shè)定一個閾值參數(shù)a。
(2)求出圖象的最大灰度值和最小灰度值,分別記為Graymax和GrayPmin,令初始閾值T=(Graymax+GrayPmin)/2。
(3)根據(jù)閾值T將圖象分割為兩部分,分別求出兩部分的平均灰度值Gray1和Gray2。
(4)求出新閾值T=( Gray1+Gray2)/2。