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