唐 捷(江西理工大學(xué) 電氣工程及其自動(dòng)化學(xué)院,江西 贛州 341000)
?
基于線性CCD搬運(yùn)機(jī)器人彎道控制分析
唐 捷
(江西理工大學(xué) 電氣工程及其自動(dòng)化學(xué)院,江西 贛州 341000)
摘 要:針對(duì)線性CCD機(jī)器人在彎道轉(zhuǎn)彎時(shí),經(jīng)常容易受外界環(huán)境容易出現(xiàn)跑偏的現(xiàn)象,本文建立了仿真模型模擬搬運(yùn)機(jī)器人在彎道轉(zhuǎn)彎,來(lái)分析影響機(jī)器人在彎道轉(zhuǎn)彎時(shí)的因素。通過(guò)仿真我們可以清晰地分析出線性CCD搬運(yùn)機(jī)器人在轉(zhuǎn)彎時(shí)影響其轉(zhuǎn)彎的主要因素,并對(duì)此類(lèi)問(wèn)題提出相應(yīng)的解決方案。
關(guān)鍵詞:線性CCD;搬運(yùn)機(jī)器人;仿真模型
CCD產(chǎn)生于1969年由美國(guó)貝爾實(shí)驗(yàn)室,它廣泛應(yīng)用在光學(xué)遙測(cè)技術(shù)、光學(xué)與頻譜望遠(yuǎn)鏡。從功能說(shuō)分為線性CCD面陣CCD兩大類(lèi)。目前線性CCD技術(shù)已經(jīng)很成熟了,它可將圖像信號(hào)經(jīng)TTL電路轉(zhuǎn)換成電信號(hào)。模擬電壓在采集芯片里面進(jìn)行AD轉(zhuǎn)換為具體數(shù)值,再通過(guò)曝光時(shí)間的調(diào)節(jié)和閥值的設(shè)定,利用算法就可以很好地識(shí)別預(yù)先設(shè)好的搬運(yùn)機(jī)器人的白線路徑。利用線性CCD的這個(gè)特點(diǎn)可以實(shí)現(xiàn)搬運(yùn)機(jī)器人自動(dòng)導(dǎo)航。但是在彎道轉(zhuǎn)彎時(shí),因?yàn)榫€性CCD經(jīng)常容易受外界環(huán)境(包括光和引導(dǎo)白線不清晰等)還包括調(diào)節(jié)反應(yīng)時(shí)間的限制容易出現(xiàn)跑偏的現(xiàn)象。對(duì)此本文對(duì)搬運(yùn)機(jī)器人在彎道轉(zhuǎn)彎時(shí)建立仿真模型,來(lái)分析影響機(jī)器人在彎道轉(zhuǎn)彎時(shí)的因素。
1.1 采集線性CCD原理
采集線性CCD數(shù)據(jù)其實(shí)就是采集面陣攝像頭里面的的一行數(shù)據(jù),總共有128個(gè)點(diǎn)。這里采用連續(xù)曝光法:該方法的采集原理是利用單片機(jī)的周期定時(shí)器來(lái)控制SI信號(hào)的間隔,即曝光時(shí)間。該法通過(guò)設(shè)置STM32F103芯片的中斷周期時(shí)間來(lái)獲取不同的曝光時(shí)間,并在中斷函數(shù)內(nèi)進(jìn)行AO的數(shù)據(jù)采集[1]。相比單次采集法,連續(xù)采集法可以節(jié)約CPU時(shí)間,這里利用STM32F103芯片周期中斷定時(shí)器實(shí)現(xiàn)曝光延。
1.2 路徑識(shí)別處理
白線識(shí)別主要是對(duì)線性CCD采集的數(shù)據(jù)進(jìn)行處理,對(duì)線性CCD128個(gè)數(shù)據(jù)的處理,一般都采用二值化處理,將所有數(shù)據(jù)加起來(lái)然后求平均值,閥值的大小一般等于平均值乘以2。二值化的關(guān)鍵參數(shù)為黑白像素識(shí)別的閥值。但是由于環(huán)境亮度不同,同樣畫(huà)面的亮度也會(huì)有所不同。使得固定的閥值無(wú)法起到很好的效果。因此需要根據(jù)環(huán)境的亮度動(dòng)態(tài)調(diào)整閥值參數(shù)。環(huán)境的亮度值越低,二值化的閥值就應(yīng)當(dāng)相應(yīng)的調(diào)低。因此亮度值與閥值可以簡(jiǎn)單的使用線性關(guān)系關(guān)聯(lián)起來(lái)。具體算法如下:假設(shè)采集128個(gè)數(shù)據(jù)點(diǎn)數(shù)據(jù)存放Image[i]里(0<=i<128)Threshold_value表示閥值的大小,曝光時(shí)間等于Integrationtime,補(bǔ)光燈參數(shù)值為L(zhǎng)ight。則有如下關(guān)系:
Threshold_value= (Image[0]+ Image[1] +Image[2]+Image[3]……+Image[128])/128*2;
Integrationtime=n-( Image[0]+ Image[1] +Image[2]+ Image[3]…….+ Image[128]+ Light)/8.
在程序中采用2次內(nèi)循環(huán)的方式,兩邊分別通過(guò)與閥值對(duì)比求取出波形的上升Image[i]與下降沿?cái)?shù)據(jù)點(diǎn)Image[j]。所以在實(shí)際的中心點(diǎn)就可以用(i+j)/2表示,i與j在0~128之間取值。將中心點(diǎn)值轉(zhuǎn)換到電機(jī)驅(qū)動(dòng)器的PWM或者DA轉(zhuǎn)化的參數(shù)值就可以實(shí)現(xiàn)調(diào)節(jié)電機(jī)的左右轉(zhuǎn)動(dòng),進(jìn)而實(shí)現(xiàn)機(jī)器人轉(zhuǎn)向。為了使光線更清楚,數(shù)據(jù)更穩(wěn)定和準(zhǔn)確,在攝像頭附近加入了補(bǔ)光燈。
為了滿(mǎn)足工業(yè)的要求,對(duì)攝像頭數(shù)據(jù)進(jìn)行了相關(guān)的處理,下位機(jī)做成模塊化接口,下位機(jī)將攝像頭實(shí)時(shí)傳輸過(guò)來(lái)的數(shù)據(jù)二值化處理,查找出數(shù)據(jù)中點(diǎn)數(shù)據(jù),最后傳輸給上位機(jī)進(jìn)行判斷,再傳回下位機(jī),這樣就可以比較好地遠(yuǎn)程控制機(jī)器人行走。
搬運(yùn)機(jī)器人在整個(gè)彎道的轉(zhuǎn)彎過(guò)程中,以搬運(yùn)機(jī)器人為中心,根據(jù)前方的彎道信息和機(jī)器人當(dāng)前的運(yùn)動(dòng)狀態(tài),以機(jī)器人行走的軌跡與預(yù)期行走軌跡誤差最小為原則,決定出一個(gè)最優(yōu)的加速度。最后通過(guò)控制機(jī)器人的方向角,力求機(jī)器人實(shí)際行走的軌跡與預(yù)期行走相一致。設(shè)定機(jī)器人行走的恒定速度為V,預(yù)期行走的軌跡線為f(t)[2]。
假設(shè)機(jī)器人在A點(diǎn)具有的即時(shí)狀態(tài)為y=y(t),此刻假設(shè)機(jī)器人有直線向前的動(dòng)作,故此機(jī)器人在直線前向C點(diǎn)預(yù)瞄一個(gè)直線距離為d(距離AC=d),那么機(jī)器人預(yù)瞄直線距離行駛的時(shí)間為T(mén)=d/V。預(yù)期機(jī)器人在T時(shí)間段后的橫向坐標(biāo)點(diǎn)應(yīng)為f(t+T)。若t時(shí)刻,機(jī)器人轉(zhuǎn)向角為θ,則對(duì)應(yīng)的機(jī)器人行走軌跡曲線曲率為1/R(R為此刻機(jī)器人圓弧半徑),此時(shí)的側(cè)向加速度為y″(t)。在經(jīng)過(guò)T時(shí)間以后,機(jī)器人到達(dá)B點(diǎn),此時(shí)機(jī)器人的側(cè)向位移為:
依據(jù)“最小誤差原則”,機(jī)器人選擇一個(gè)最優(yōu)的行走軌跡曲率1/ R′,可以使得在經(jīng)過(guò)時(shí)間T后,側(cè)向位移y(t+T)與該處預(yù)期的行走軌跡坐標(biāo)f(t+T)相一致。由于考慮到廠房的面積足夠,所以機(jī)器人選擇的轉(zhuǎn)彎角也相對(duì)不大,此時(shí)機(jī)器人可以計(jì)算出此刻的加速度y″(t)=V2/2以及d=VT進(jìn)而進(jìn)一步求取出機(jī)器人行走的最優(yōu)曲率和最優(yōu)側(cè)向加速度:
在整個(gè)彎道過(guò)程中,速度不是很快。所以可以依據(jù)一般汽車(chē)轉(zhuǎn)向運(yùn)動(dòng)服從“Acklman”幾何關(guān)系等同于機(jī)器人轉(zhuǎn)彎服從于“Acklman”幾何關(guān)系??梢缘贸鰴C(jī)器人軌跡曲率與機(jī)器人轉(zhuǎn)向角成正比:
從而可以進(jìn)一步求得側(cè)向加速度:
其中,θ1為機(jī)器人轉(zhuǎn)向角,L為機(jī)器人轉(zhuǎn)向軸距,y″為機(jī)器人橫向加速度,k為轉(zhuǎn)向傳動(dòng)系數(shù)比,R為機(jī)器人轉(zhuǎn)彎半徑。這樣整個(gè)機(jī)器人在轉(zhuǎn)彎過(guò)程中,就好像模擬了人駕駛汽車(chē)在彎道轉(zhuǎn)彎一樣。由公式(2)和(4)得出機(jī)器人在彎道轉(zhuǎn)彎的最優(yōu)轉(zhuǎn)向角θ1:
由于機(jī)器人理想的轉(zhuǎn)向角與實(shí)際的方向轉(zhuǎn)向角之間有反應(yīng)時(shí)間誤差,也包括整個(gè)來(lái)自整個(gè)系統(tǒng)控制各部件之間傳動(dòng)誤差。這里采用θ=i*θ1表示實(shí)際的轉(zhuǎn)向角,i表示來(lái)自系統(tǒng)本身誤差系數(shù)。整個(gè)模型實(shí)際上是認(rèn)為機(jī)器人在低速行走的條件下得到的,對(duì)于快速?gòu)澋擂D(zhuǎn)彎的機(jī)器人是不適用的[3]。
對(duì)機(jī)器人彎道建模后,在matalab里面的simulink進(jìn)行仿真。在整個(gè)機(jī)器人轉(zhuǎn)彎過(guò)程中,考慮到了橫向加速度,以及由此求出的最優(yōu)曲率,最優(yōu)轉(zhuǎn)向角這些量組成一個(gè)閉環(huán)系統(tǒng)。實(shí)際上,在機(jī)器人轉(zhuǎn)彎的過(guò)程中假想的前向距離時(shí)間是一個(gè)很關(guān)鍵的因素,這個(gè)距離時(shí)間在這里實(shí)際上相當(dāng)于機(jī)器人在轉(zhuǎn)彎時(shí),CCD檢測(cè)花費(fèi)的時(shí)間和傳輸回來(lái)的時(shí)間的總和,也就是時(shí)間T。機(jī)器人速度一般都是比較平穩(wěn),可以認(rèn)為機(jī)器人速度不變。所以這個(gè)時(shí)間的長(zhǎng)短就決定機(jī)器人向前跑偏的距離。由此取不同的T值,對(duì)整個(gè)閉環(huán)系統(tǒng)進(jìn)行仿真。這里取半徑R′為5m,V為0.6m/s,i取0.5~0.8。因?yàn)樵趕imulink里面沒(méi)有現(xiàn)成的半圓弧結(jié)構(gòu)函數(shù),所以這里取近似半圓弧的正弦函數(shù)作為輸入函數(shù)仿真圖形如圖1所示。取相同的輸入函數(shù),然后分別取不同T值,分別取T1=0.6, T2=0.7, T3=0.8,T4=0.9對(duì)閉環(huán)系統(tǒng)進(jìn)行仿真,輸出函數(shù)仿真結(jié)果如圖2所示。
圖2中紫線,黃線,綠線,紅線分別表示在T1=0.6, T2=0.7, T3=0.8,T4=0.9輸出函數(shù)的波形。從這3個(gè)波形可以分析出當(dāng)時(shí)間T的值越小,輸出的波形就越向內(nèi)側(cè)彎曲,曲率越大,說(shuō)明動(dòng)作時(shí)間短,機(jī)器人在彎道轉(zhuǎn)彎更加靈活準(zhǔn)確。相反時(shí)間T越大,波形曲率越小,在機(jī)器人整個(gè)轉(zhuǎn)彎的過(guò)程中反應(yīng)時(shí)間過(guò)長(zhǎng)更容易出現(xiàn)跑偏的現(xiàn)象。對(duì)于線性CCD的搬運(yùn)機(jī)器人,時(shí)間T代表掃描彎道直線所需要的時(shí)間和傳輸回來(lái)的時(shí)間。通過(guò)此仿真可以分析出在保證數(shù)據(jù)傳輸回來(lái)準(zhǔn)確性的情況下,掃描和傳輸時(shí)間越短,越有利于機(jī)器人彎道轉(zhuǎn)彎。
通過(guò)上面的仿真實(shí)驗(yàn),可以得出在彎道轉(zhuǎn)彎時(shí),線性CCD在排除外界干擾影響其主要的因數(shù)是數(shù)據(jù)采集和傳輸回來(lái)的時(shí)間T,對(duì)此在彎道轉(zhuǎn)彎時(shí),因?yàn)閭鬏敾貋?lái)的時(shí)間基本上固定,所以可以加快在彎道轉(zhuǎn)彎時(shí)線性CCD采集數(shù)據(jù)回來(lái)的時(shí)間。在保證采集數(shù)據(jù)準(zhǔn)確的情況下,通過(guò)設(shè)置STM32時(shí)鐘頻率,加快定時(shí)器中斷時(shí)間就可以實(shí)現(xiàn)這樣的效果。除此之外,在整個(gè)彎道的調(diào)試過(guò)程中,將整車(chē)速度降下來(lái)能夠保證CCD掃描回來(lái)的數(shù)據(jù)的準(zhǔn)確性。一般降下來(lái)的速度大約為0.5~0.6m/s時(shí),就能夠保證數(shù)據(jù)采集準(zhǔn)確,且不容易受光線的干擾而跑偏。
本文針對(duì)線性CCD機(jī)器人在彎道轉(zhuǎn)彎容易跑偏的現(xiàn)象,對(duì)機(jī)器人在彎道運(yùn)動(dòng)仿真分析,以及對(duì)機(jī)器人實(shí)物進(jìn)行調(diào)試實(shí)驗(yàn)。實(shí)驗(yàn)表明數(shù)據(jù)采集和傳輸回來(lái)的時(shí)間T是影響機(jī)器人彎道轉(zhuǎn)彎的主要因素。根據(jù)這個(gè)結(jié)論進(jìn)行調(diào)節(jié),實(shí)驗(yàn)結(jié)果達(dá)到了預(yù)期的調(diào)節(jié)效果,很大程度上減少了機(jī)器人跑偏概率。
參考文獻(xiàn):
[1]胡麗,宋文愛(ài).提高線性CCD測(cè)量水平的分析研究[J].山西電子技術(shù),2011(05):83-84+89.
[2]林雨,楊軫,潘曉東.雙車(chē)道公路彎道駕駛員軌跡決策行為研究[J].Computer Engineering and Applications,2011,47(23).
[3]吳沫.基于計(jì)算機(jī)視覺(jué)的車(chē)道跑偏告警系統(tǒng)方法研究[D].國(guó)防科學(xué)技術(shù)大學(xué),2005.
DOI:10.16640/j.cnki.37-1222/t.2016.12.130