韓政霖
【摘 要】本文介紹了基于STM32的滾球裝置的總體結(jié)構(gòu)和控制原理,根據(jù)小球的位置信息控制小球到達(dá)指定點(diǎn)。
【關(guān)鍵詞】STM32;滾球系統(tǒng);圖像處理;定位控制
整個(gè)系統(tǒng)的難點(diǎn)在于小球運(yùn)動位置檢測與處理,這里使用open MV攝像頭采集圖像信息。將攝像頭懸掛于球板的正上方,連續(xù)采集球和板的圖像,控制系統(tǒng)通過圖像采集和圖像分析操作得到小球在板上的位置信息。同時(shí)控制系統(tǒng)得到舵機(jī)編碼器反饋的兩個(gè)舵機(jī)轉(zhuǎn)角,并根據(jù)舵機(jī)轉(zhuǎn)角的換算關(guān)系計(jì)算出平板相對于水平位置的轉(zhuǎn)角,求得小球質(zhì)心在球盤坐標(biāo)系的實(shí)際位置,進(jìn)而對小球進(jìn)行定位控制。本次設(shè)計(jì)硬件結(jié)構(gòu)穩(wěn)定,可控性強(qiáng)。
一、系統(tǒng)方案
系統(tǒng)包含電機(jī)模塊、驅(qū)動模塊、主控、電源、攝像頭、安裝支架及其他硬件結(jié)構(gòu)。
二、電機(jī)
舵機(jī),舵機(jī)是一種位置伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。其工作原理是:控制信號由接收機(jī)的通道進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動。
三、驅(qū)動電路
在常見的驅(qū)動電路設(shè)計(jì)中,LM系列和W系列的芯片都可以供其使用。LM2941,LM2941芯片不但可在低輸入輸出壓差下工作,而且輸出可調(diào)。且LM2941還具有短路保護(hù)、熱過載保護(hù)和自我保護(hù)功能
四、主控芯片
本次設(shè)計(jì)主控芯片使用STM32103ZET6。ARM32位 Cortex-M3內(nèi)核,最高工作頻率72MHz,1.25MIPS/MHz.片上集成32-512KB的FLASH存儲器。6-64KB的SRAM存儲器。2.0-3.6V的電源供電和I/O借口的驅(qū)動電壓。上電復(fù)位,掉電復(fù)位和可編程的電壓探測器。3種低功耗模式:休眠、停止、待機(jī)模式。
五、傳感方式
即位置傳感方案和視覺傳感方案。視覺傳感方式,視覺反饋和編碼器反饋相結(jié)合得到系統(tǒng)的反饋并以此為依據(jù)進(jìn)行控制。即攝像頭懸掛于球板的正上方,連續(xù)采集求和板的圖像,控制系統(tǒng)通過圖像采集和圖像分析操作得到小球在板上的位置信息。
六、系統(tǒng)理論分析與計(jì)算
(一)小球的檢測
對于球的檢測,所用的基本工具是Hough變換,Hough變換的基本思想是:利用圖像的全局特征將圖像的邊緣像素連接起來構(gòu)成封閉的邊界,將圖像空間變換成參數(shù)空間,并對空間的點(diǎn)進(jìn)行描述,達(dá)到檢測邊緣的目的,該方案把可能落在邊緣的點(diǎn)進(jìn)行統(tǒng)計(jì),根據(jù)統(tǒng)計(jì)的結(jié)果確定屬于邊緣的程度。其優(yōu)點(diǎn)就是對于隨機(jī)噪聲的魯棒性,局部殘損的不敏感性以及適用于并行處理等優(yōu)良特性,可以將圖像中較為困難全局檢測問題轉(zhuǎn)換為空間中響度容易解決的問題。
小球檢測的步驟:1.將采集的彩色圖像轉(zhuǎn)換為灰度圖像;2.對圖像進(jìn)行預(yù)處理,及高斯濾波和Canny算子的邊緣檢測;3.在預(yù)處理的圖像中應(yīng)用改進(jìn)的霍夫圓檢測算法,獲取圓的位置信息。
(二)控制方法分析
控制系統(tǒng)的位置信息由視覺系統(tǒng)得到。攝像頭采集到小球和平板的圖像并經(jīng)過圖像處理和圖像識別后得到小球的質(zhì)心位置,同時(shí)控制系統(tǒng)得到舵機(jī)編碼器反饋的兩個(gè)舵機(jī)轉(zhuǎn)角,并根據(jù)舵機(jī)轉(zhuǎn)角的換算關(guān)系計(jì)算出球盤相對于水平位置的轉(zhuǎn)角,求得小球質(zhì)心在球盤坐標(biāo)系的實(shí)際位置。
為了使運(yùn)動的小球穩(wěn)定在平板上一個(gè)特定的位置,首先定義幾個(gè)坐標(biāo)系和變量:圖像坐標(biāo)系I(u,v),攝像機(jī)坐標(biāo)系C(X ,Y,Z),世界坐標(biāo)系W(r,p,q)。其中,圖像坐標(biāo)系I以像素為單位,攝像機(jī)坐標(biāo)系C與世界坐標(biāo)系以物理尺寸為單位。
板球系統(tǒng)控制流程思想如下:
1.系統(tǒng)初始化,首先進(jìn)行視覺系統(tǒng)標(biāo)定,機(jī)械系統(tǒng)標(biāo)定以及各變量初始化以及運(yùn)動控制系統(tǒng)初始化;2.控制系統(tǒng)開始工作,每隔控制周期到來時(shí)采集一幀圖像,通過對圖像進(jìn)行圖像處理操作得到小球質(zhì)心在圖像中的坐標(biāo);3.根據(jù)攝像機(jī)標(biāo)定得到的攝像機(jī)參數(shù)矩陣,通過坐標(biāo)映射得到小球在世界坐標(biāo)系中的真實(shí)位置;4.根據(jù)3的結(jié)果和控制策略,計(jì)算舵機(jī)轉(zhuǎn)角,控制系統(tǒng)根據(jù)計(jì)算結(jié)果向執(zhí)行機(jī)構(gòu)下發(fā)控制指令。
舵機(jī)驅(qū)動電路及其參數(shù)計(jì)算
V0計(jì)算公式: V0=(1+R2/R1)×VREF
穩(wěn)壓電路及其參數(shù)計(jì)算 V0=(1+R3/R4)×VREF+IADJ
其中VREF為1.25V,IADJ為R2的參考電流。
小球運(yùn)動檢測與處理
閾值分割是根據(jù)圖像的某些特征或特征集合的相似性準(zhǔn)則,對圖像像素進(jìn)行分組聚類,把圖像平面劃分為一系列有意義的區(qū)域,便后續(xù)的分析、識別等高級處理階段需要處理的數(shù)據(jù)量大大減少,同時(shí)又保留有關(guān)圖像結(jié)構(gòu)特征的信息。
對圖像進(jìn)行閾值分割后得到二值圖像,就可以提取小球的位置信息了。首先計(jì)算小球質(zhì)心的圖像坐標(biāo),再對圖像坐標(biāo)進(jìn)行坐標(biāo)變換,從而的到小球在世界坐標(biāo)系的真實(shí)坐標(biāo)。每個(gè)控制周期來臨時(shí),攝像機(jī)會采集一幀圖像,運(yùn)動物體的實(shí)時(shí)質(zhì)心提取過程,就是在進(jìn)入每個(gè)控制周期的時(shí)候?qū)z像機(jī)采集的這一幀圖像進(jìn)行二值化操作和質(zhì)心提取操作,程序會用一個(gè)紅色“+”標(biāo)識質(zhì)心所在,質(zhì)心的圖像坐標(biāo)(u,v),小球在滾動時(shí)質(zhì)心的跟蹤性良好,能夠滿足控制系統(tǒng)的實(shí)時(shí)性要求。每個(gè)控制周期的實(shí)時(shí)質(zhì)心提取過程完成后,程序通過實(shí)時(shí)質(zhì)心提取過程得到的小球質(zhì)心的圖像坐標(biāo)數(shù)據(jù),經(jīng)過坐標(biāo)變換計(jì)算得到小球在世界坐標(biāo)系中的真實(shí)坐標(biāo)平板上的坐標(biāo)。
七、執(zhí)行機(jī)構(gòu)控制算法
每個(gè)控制周期得到小球真實(shí)位置后,控制程序就可以對小球驚醒位置控制了。本程序采用最簡單的PID控制算法實(shí)現(xiàn)這一過程。Kp,Ki,Kd分別為控制參數(shù)P,I和D。PID控制參數(shù)可由用戶在控制開始之前設(shè)置。
八、結(jié)論
板球設(shè)計(jì)系統(tǒng)相對穩(wěn)定,可以實(shí)現(xiàn)小球走固定軌跡,也可實(shí)現(xiàn)小球在木板上相對穩(wěn)定。endprint