樊 劍,袁月峰,蔡曉雯
(中國計量學院 質量與安全工程學院,杭州 310018)
AGV是Automated Guided Vehicle的英文縮寫,中文解釋為自動導引車輛[1]。近幾年,隨著計算機技術的發展和CCD圖像技術的成熟,加上自動化加工生產和柔性制造系統等先進的生產技術在社會生產中逐漸興起,微控制器和機器視覺技術在工業領域的應用也越來越廣泛,設計穩定的AGV自動導航車也顯得越來越重要[2]。AGV自動導航車的控制方法要根據不同的應用場合而有所變化,本文以制造業運輸裝配線為研究對象。
主要的研究內容是以單片機為核心控制器采用基于機器視覺的AGV自動導航車的圖像數據采集與處理和步進電機的控制方法等。
本系統的自動導航車的軌跡規劃如圖1所示。由圖可知,自動導航車的運行流程為。
1)導航車在停車工位停止等候送貨指令的發送,待接收到指令(送貨工位x)后,開始沿著黑線循跡,直到找到工位x的進工位標志,之后直角轉彎進入工位卸貨,待接收到卸貨完成的指令之后繼續前進,直到出工位標志。
2)直角轉彎之后循跡回到倉庫停車位置等待下一次運輸指令的發送。

圖1 自動導航車軌跡規劃
CCD圖像采集和和處理電路的設計是本系統硬件設計的關鍵部分,具體電路設計如圖2所示。其中,J1為Omnivsion公司生產的CMOS圖像傳感器OV7620,系統選用的OV7620是YUV 16/8位可選模式,系統主要研究的是在320×240分辨率下處理8位的Y信號分量。系統涉及的信號有場中斷(VSYNC)、行中斷(HREF)和8位的Y數據(Y0-Y7)。U1為單片機控制器,采用的是Microchip公司的16位單片機PIC33FJ256MC710。U2為MAX232電平轉換芯片,P1為電腦的串口。單片機控制器分別通過三個信號線(EN,Dir,PWM)與Stepper motor_1(步進電機驅動器1)和Stepper motor_2(步進電機驅動器2)相連。為了能清晰直觀地看出單片機中采集到的圖像信息,需要將單片機中采集到的數據通過串口通信與上位機連接,通過上位機上的軟件顯示采集到的數據,從而判斷單片機的數據采集的準確性[3]。
為了提高系統的實時性,視頻采集采用的是外部中斷觸發采樣的方式采集圖像數據。
系統在進行中斷函數初始化時,需要將場中斷設置為下降沿捕捉,行中斷設置為上升沿捕捉,在場中斷中開啟行中斷,在行中斷之后連續讀取8位的Y數據[4]。
在8位數據的讀取中,要通過調整讀取數據的時間間隔來保證采樣的準確性,防止采集到的圖像數據發生左右偏移的現象,這個過程就需要通過上位機進行聯合測試,系統的圖像采集流程圖如圖3所示。
從整個自動導航車來看,由于場中斷信號的頻率是60Hz,所以系統在16.67ms的場中斷時間間隔中,不但要完成圖像數據的采集和處理,還要完成電機脈沖的控制。
因此,系統采用隔行采樣的方式,但又要保證足夠的采樣數據,所以必須選擇合適的采樣間隔。系統采用從第17行開始采樣,每隔7行采樣一次的方式,這樣的話需要采樣的行為17,24,31……共采集40行50列,即采樣數組CCD_DATA為40行50列的數組,數據采樣到第290個行中斷之后停止采樣。

圖2 圖像采集與處理電路
圖像信息經過CCD采集之后傳輸給單片機,單片機接收到的是灰色圖的數據,要想更近一步地處理圖像數據,需要將灰色圖像的數據經過閾值分割(二值化)之后轉換成黑白兩色的二值化圖,這項技術也叫圖像閾值分割[5]。閾值分割之后的二值化圖只有0(0x00)和255(0xff)兩個值,如圖4所示。其中,0x00表示的是黑色的像素點,0xff表示的是白色的像素點。由此可見,最優的二值化分割閾值(T1)就是擁有良好二值化效果的一個關鍵和決定性因素。

圖3 圖像數據采集流程圖

圖4 二值化灰度變換函數
閾值確定的一般方法有:峰谷法、迭代法、大律法和分水嶺法等[6]。為了能使單片機控制器更加快速簡單的實現該算法,本系統采用了大律法進行閾值分割。大律法又稱最大方差法,其實現過程如下:
1)首先記T為分割閾值,利用T把數組CCD_DATA分成兩組R1和R2,用公式(1)和公式(2)確定R1和R2的平均灰度。
其中N1和N2分別是R1和R2中的像素點個數。

2)從最小灰度值到最大灰度值遍歷T,當T使得公式(3)達到最大時,T即為分割的最佳閾值。其中 0w和 1w分別表示R1和R2的中像素點數所占總像素點數的比例。

在實際控制器的實現過程中,為了減少控制器的運算,可以對該方法進行適當的改進??梢栽O定一個T值的合理變化區間,在驗證公式(3)時,在這個區間之中從小到大遍歷T,這樣就可以減少運算次數,提高控制器的工作效率。
在閾值的確定中,環境明亮程度的變化會使最佳閾值發生變化,固定的閾值就無法適應明亮程度變化的環境,所以需要采用動態調整的閾值。本系統的動態閾值調整法的實現方法是每隔時間Δt,根據采集到的圖像數據,重新確定圖像的閾值,使圖像的閾值能根據環境的不同做相應的調整,從而消除了固定閾值不能適應環境變化的弊端。

圖5 單片機二值化路徑與實際路徑對比圖
本系統的圖像采集與處理的試驗是在鋪有接近白色的地面上進行的,在該地面上鋪設黑色的引導線?;趩纹瑱C控制器的視覺導航AGV能準確實時提取標識線的導航參數AGV實時跟蹤路面標識線,如圖5所示。
圖的上半部分是攝像頭采集到的實際路徑圖,圖的下半部分是上位機顯示,即單片機采集到經過二值化處理的的路徑圖像。由圖5可知,當識別不同的路徑時,該導航車系統能表現出較好的路徑識別效果。
檢測路徑的中心位置是用來定位路徑的,圖像數據經過單片機的二值化處理之后,要想確定中心線,必須將二值化圖中的路徑用邊沿檢測的方法檢測出來,邊沿檢測后,確定一行數據的左右邊沿的位置,之后求左右邊沿的均值就可以確定中點的位置,并由中點確定圖像的中心線。
當步進電機的運行頻率(fy)低于它本身的啟動頻率(fq)時,步進電機可以用運行頻率(fy)直接啟動,并以該頻率連續運行,當需要停止時可以從運行頻率(fy)直接降到零速;當步進電機的運行頻率(fy)高于啟動頻率(fq)時,由于頻率太高會產生丟步,甚至堵轉的情況,所以步進電機必須采用升降速控制,也就是脈沖頻率的升降頻控制[7]。
升降頻采用的是直線升降頻法,這種方法以恒定的加速度進行升降頻,這種方法平穩性好,加速時間較長,適用于速度變化不是特別劇烈的情況,加減速過程較簡單,控制器容易實現[8]。
由于步進電機真實速度不僅難以測量,而且用解析式也很難表示,所以在升降速控制時以控制脈沖的實時頻率為基準。
由于系統采用的是直線升降頻法,所以可以隨機截取一段升頻過程。假設當前脈沖頻率為fc,想要設置的脈沖頻率為ft(ft>fc),則升頻的算法如公式(4)所示,其中t為升降頻所用的時間,k為單位時間內所上升的頻率點數。

則程序運行時,可以由公式(5)計算出升頻所用的時間為:

由于系統采用的脈沖產生模式是定時器中斷模式,為了在單片機中實現升頻,必須將升頻段均勻地離散為n段。取n=6為例,如圖6所示。
將升速過程均勻地分成了6檔。由公式(5)可知,總的升頻時間為t,則相鄰兩次的頻率變化時間間隔為:

公式(6)中的n階梯升頻的分檔數,則每一檔的頻率為:

以上就是對升頻所做的處理,降頻過程的處理方法與升頻過程類似。

圖6 升降頻實現過程圖
由系統的運行線路可知,系統的所有轉彎都是采用直角轉彎,所以準確地轉過每一個直角轉彎是系統安全有效運行的關鍵。步進電機的開環控制可以使直角轉彎的實現更為簡單,因為步進電機轉過的角度可以通過計數發送的脈沖個數來決定[9,10]。
如圖7所示,車輪間距為R,車輪半徑為r,車子繞一個車輪的中心轉過90°角,則轉動的車輪走過的路程為:

由公式(8)可得電機轉過的角度為:

從而根據步進電機的步距角a,控制器要想實現直角轉彎需要發送的脈沖個數為:

本文介紹了基于PIC33FJ256MC710單片機控制器的機器視覺小車的控制方法,通過上位機測試圖像采集與處理的準確性。以單片機為控制核心,從理論分析和實時測試CCD圖像數據的采集與處理過程和步進電機的控制方法,在對步進電機的控制上建立了開環的控制方法。本文的硬件設計和控制方法是基于特定的運行場景和配送系統,本文提出的理論在普適性上還有待提高。

圖7 直角轉彎示意圖
[1] 于洋.AGV及其控制器的設計與開發[D].浙江大學,2008:1-12.
[2] 孫海濤.基于視覺導航的智能車輛自主行駛研究[D].合肥工業大學機械與汽車學院,2004:1-20.
[3] Sigal Berman,Edna Schechtman,Tael Edan.Evaluation of automated guided vehicle systems[J].Robotics and Computer-Integrated Manufacturing,2009,(25):522-524.
[4] 朱翔,潘崢嶸.基于OV7620的機器人視覺導航系統設計[J].電子測量技術,2010,33(1):64-66.
[5] 劉進,齊曉慧.基于機器視覺的AGV路徑跟蹤[J].火力與指揮控制,2010,35(8):132-133.
[6] 王立賢,汪濱琦.用單片機實現步進電機變速控制的方法[J].應用科技,2003,30(l):42-42,54.
[7] 王玉琳,王強.步進電機的速度調節方法[J].電機與控制應用,2006,33(1):53-56.
[8] 吳謹,熊理良.基于場掃描的AGV路徑識別[J].武漢科技大學學報,2005,28(3):284-286.
[9] 王紹燕,王衛江.PC機與單片機間通信程序的實現[J].電子產品世界,2002:39-40,55.
[10] Iris F.A.Vis.Survey of research in the design and control of automated guided vehicle systems[J].European Journal of Operational Research,2006,(170):677-681.