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