国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于dsPIC單片機(jī)和機(jī)器視覺(jué)的AGV車控制器研究

2013-08-22 07:34袁月峰蔡曉雯
制造業(yè)自動(dòng)化 2013年1期
關(guān)鍵詞:中斷閾值單片機(jī)

樊 劍,袁月峰,蔡曉雯

(中國(guó)計(jì)量學(xué)院 質(zhì)量與安全工程學(xué)院,杭州 310018)

0 引言

AGV是Automated Guided Vehicle的英文縮寫,中文解釋為自動(dòng)導(dǎo)引車輛[1]。近幾年,隨著計(jì)算機(jī)技術(shù)的發(fā)展和CCD圖像技術(shù)的成熟,加上自動(dòng)化加工生產(chǎn)和柔性制造系統(tǒng)等先進(jìn)的生產(chǎn)技術(shù)在社會(huì)生產(chǎn)中逐漸興起,微控制器和機(jī)器視覺(jué)技術(shù)在工業(yè)領(lǐng)域的應(yīng)用也越來(lái)越廣泛,設(shè)計(jì)穩(wěn)定的AGV自動(dòng)導(dǎo)航車也顯得越來(lái)越重要[2]。AGV自動(dòng)導(dǎo)航車的控制方法要根據(jù)不同的應(yīng)用場(chǎng)合而有所變化,本文以制造業(yè)運(yùn)輸裝配線為研究對(duì)象。

主要的研究?jī)?nèi)容是以單片機(jī)為核心控制器采用基于機(jī)器視覺(jué)的AGV自動(dòng)導(dǎo)航車的圖像數(shù)據(jù)采集與處理和步進(jìn)電機(jī)的控制方法等。

1 軌跡規(guī)劃

本系統(tǒng)的自動(dòng)導(dǎo)航車的軌跡規(guī)劃如圖1所示。由圖可知,自動(dòng)導(dǎo)航車的運(yùn)行流程為。

1)導(dǎo)航車在停車工位停止等候送貨指令的發(fā)送,待接收到指令(送貨工位x)后,開(kāi)始沿著黑線循跡,直到找到工位x的進(jìn)工位標(biāo)志,之后直角轉(zhuǎn)彎進(jìn)入工位卸貨,待接收到卸貨完成的指令之后繼續(xù)前進(jìn),直到出工位標(biāo)志。

2)直角轉(zhuǎn)彎之后循跡回到倉(cāng)庫(kù)停車位置等待下一次運(yùn)輸指令的發(fā)送。

圖1 自動(dòng)導(dǎo)航車軌跡規(guī)劃

2 硬件設(shè)計(jì)

CCD圖像采集和和處理電路的設(shè)計(jì)是本系統(tǒng)硬件設(shè)計(jì)的關(guān)鍵部分,具體電路設(shè)計(jì)如圖2所示。其中,J1為Omnivsion公司生產(chǎn)的CMOS圖像傳感器OV7620,系統(tǒng)選用的OV7620是YUV 16/8位可選模式,系統(tǒng)主要研究的是在320×240分辨率下處理8位的Y信號(hào)分量。系統(tǒng)涉及的信號(hào)有場(chǎng)中斷(VSYNC)、行中斷(HREF)和8位的Y數(shù)據(jù)(Y0-Y7)。U1為單片機(jī)控制器,采用的是Microchip公司的16位單片機(jī)PIC33FJ256MC710。U2為MAX232電平轉(zhuǎn)換芯片,P1為電腦的串口。單片機(jī)控制器分別通過(guò)三個(gè)信號(hào)線(EN,Dir,PWM)與Stepper motor_1(步進(jìn)電機(jī)驅(qū)動(dòng)器1)和Stepper motor_2(步進(jìn)電機(jī)驅(qū)動(dòng)器2)相連。為了能清晰直觀地看出單片機(jī)中采集到的圖像信息,需要將單片機(jī)中采集到的數(shù)據(jù)通過(guò)串口通信與上位機(jī)連接,通過(guò)上位機(jī)上的軟件顯示采集到的數(shù)據(jù),從而判斷單片機(jī)的數(shù)據(jù)采集的準(zhǔn)確性[3]。

3 圖像采集和處理的實(shí)現(xiàn)

3.1 數(shù)字圖像的采集

為了提高系統(tǒng)的實(shí)時(shí)性,視頻采集采用的是外部中斷觸發(fā)采樣的方式采集圖像數(shù)據(jù)。

系統(tǒng)在進(jìn)行中斷函數(shù)初始化時(shí),需要將場(chǎng)中斷設(shè)置為下降沿捕捉,行中斷設(shè)置為上升沿捕捉,在場(chǎng)中斷中開(kāi)啟行中斷,在行中斷之后連續(xù)讀取8位的Y數(shù)據(jù)[4]。

在8位數(shù)據(jù)的讀取中,要通過(guò)調(diào)整讀取數(shù)據(jù)的時(shí)間間隔來(lái)保證采樣的準(zhǔn)確性,防止采集到的圖像數(shù)據(jù)發(fā)生左右偏移的現(xiàn)象,這個(gè)過(guò)程就需要通過(guò)上位機(jī)進(jìn)行聯(lián)合測(cè)試,系統(tǒng)的圖像采集流程圖如圖3所示。

從整個(gè)自動(dòng)導(dǎo)航車來(lái)看,由于場(chǎng)中斷信號(hào)的頻率是60Hz,所以系統(tǒng)在16.67ms的場(chǎng)中斷時(shí)間間隔中,不但要完成圖像數(shù)據(jù)的采集和處理,還要完成電機(jī)脈沖的控制。

因此,系統(tǒng)采用隔行采樣的方式,但又要保證足夠的采樣數(shù)據(jù),所以必須選擇合適的采樣間隔。系統(tǒng)采用從第17行開(kāi)始采樣,每隔7行采樣一次的方式,這樣的話需要采樣的行為17,24,31……共采集40行50列,即采樣數(shù)組CCD_DATA為40行50列的數(shù)組,數(shù)據(jù)采樣到第290個(gè)行中斷之后停止采樣。

圖2 圖像采集與處理電路

3.2 數(shù)字圖像的處理

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

圖3 圖像數(shù)據(jù)采集流程圖

圖4 二值化灰度變換函數(shù)

閾值確定的一般方法有:峰谷法、迭代法、大律法和分水嶺法等[6]。為了能使單片機(jī)控制器更加快速簡(jiǎn)單的實(shí)現(xiàn)該算法,本系統(tǒng)采用了大律法進(jìn)行閾值分割。大律法又稱最大方差法,其實(shí)現(xiàn)過(guò)程如下:

1)首先記T為分割閾值,利用T把數(shù)組CCD_DATA分成兩組R1和R2,用公式(1)和公式(2)確定R1和R2的平均灰度。

其中N1和N2分別是R1和R2中的像素點(diǎn)個(gè)數(shù)。

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

在實(shí)際控制器的實(shí)現(xiàn)過(guò)程中,為了減少控制器的運(yùn)算,可以對(duì)該方法進(jìn)行適當(dāng)?shù)母倪M(jìn)??梢栽O(shè)定一個(gè)T值的合理變化區(qū)間,在驗(yàn)證公式(3)時(shí),在這個(gè)區(qū)間之中從小到大遍歷T,這樣就可以減少運(yùn)算次數(shù),提高控制器的工作效率。

在閾值的確定中,環(huán)境明亮程度的變化會(huì)使最佳閾值發(fā)生變化,固定的閾值就無(wú)法適應(yīng)明亮程度變化的環(huán)境,所以需要采用動(dòng)態(tài)調(diào)整的閾值。本系統(tǒng)的動(dòng)態(tài)閾值調(diào)整法的實(shí)現(xiàn)方法是每隔時(shí)間Δt,根據(jù)采集到的圖像數(shù)據(jù),重新確定圖像的閾值,使圖像的閾值能根據(jù)環(huán)境的不同做相應(yīng)的調(diào)整,從而消除了固定閾值不能適應(yīng)環(huán)境變化的弊端。

圖5 單片機(jī)二值化路徑與實(shí)際路徑對(duì)比圖

本系統(tǒng)的圖像采集與處理的試驗(yàn)是在鋪有接近白色的地面上進(jìn)行的,在該地面上鋪設(shè)黑色的引導(dǎo)線?;趩纹瑱C(jī)控制器的視覺(jué)導(dǎo)航AGV能準(zhǔn)確實(shí)時(shí)提取標(biāo)識(shí)線的導(dǎo)航參數(shù)AGV實(shí)時(shí)跟蹤路面標(biāo)識(shí)線,如圖5所示。

圖的上半部分是攝像頭采集到的實(shí)際路徑圖,圖的下半部分是上位機(jī)顯示,即單片機(jī)采集到經(jīng)過(guò)二值化處理的的路徑圖像。由圖5可知,當(dāng)識(shí)別不同的路徑時(shí),該導(dǎo)航車系統(tǒng)能表現(xiàn)出較好的路徑識(shí)別效果。

檢測(cè)路徑的中心位置是用來(lái)定位路徑的,圖像數(shù)據(jù)經(jīng)過(guò)單片機(jī)的二值化處理之后,要想確定中心線,必須將二值化圖中的路徑用邊沿檢測(cè)的方法檢測(cè)出來(lái),邊沿檢測(cè)后,確定一行數(shù)據(jù)的左右邊沿的位置,之后求左右邊沿的均值就可以確定中點(diǎn)的位置,并由中點(diǎn)確定圖像的中心線。

4 步進(jìn)電機(jī)運(yùn)動(dòng)控制

4.1 步進(jìn)電機(jī)的速度調(diào)節(jié)方法

當(dāng)步進(jìn)電機(jī)的運(yùn)行頻率(fy)低于它本身的啟動(dòng)頻率(fq)時(shí),步進(jìn)電機(jī)可以用運(yùn)行頻率(fy)直接啟動(dòng),并以該頻率連續(xù)運(yùn)行,當(dāng)需要停止時(shí)可以從運(yùn)行頻率(fy)直接降到零速;當(dāng)步進(jìn)電機(jī)的運(yùn)行頻率(fy)高于啟動(dòng)頻率(fq)時(shí),由于頻率太高會(huì)產(chǎn)生丟步,甚至堵轉(zhuǎn)的情況,所以步進(jìn)電機(jī)必須采用升降速控制,也就是脈沖頻率的升降頻控制[7]。

升降頻采用的是直線升降頻法,這種方法以恒定的加速度進(jìn)行升降頻,這種方法平穩(wěn)性好,加速時(shí)間較長(zhǎng),適用于速度變化不是特別劇烈的情況,加減速過(guò)程較簡(jiǎn)單,控制器容易實(shí)現(xiàn)[8]。

4.2 升降頻的離散化

由于步進(jìn)電機(jī)真實(shí)速度不僅難以測(cè)量,而且用解析式也很難表示,所以在升降速控制時(shí)以控制脈沖的實(shí)時(shí)頻率為基準(zhǔn)。

由于系統(tǒng)采用的是直線升降頻法,所以可以隨機(jī)截取一段升頻過(guò)程。假設(shè)當(dāng)前脈沖頻率為fc,想要設(shè)置的脈沖頻率為ft(ft>fc),則升頻的算法如公式(4)所示,其中t為升降頻所用的時(shí)間,k為單位時(shí)間內(nèi)所上升的頻率點(diǎn)數(shù)。

則程序運(yùn)行時(shí),可以由公式(5)計(jì)算出升頻所用的時(shí)間為:

由于系統(tǒng)采用的脈沖產(chǎn)生模式是定時(shí)器中斷模式,為了在單片機(jī)中實(shí)現(xiàn)升頻,必須將升頻段均勻地離散為n段。取n=6為例,如圖6所示。

將升速過(guò)程均勻地分成了6檔。由公式(5)可知,總的升頻時(shí)間為t,則相鄰兩次的頻率變化時(shí)間間隔為:

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

以上就是對(duì)升頻所做的處理,降頻過(guò)程的處理方法與升頻過(guò)程類似。

圖6 升降頻實(shí)現(xiàn)過(guò)程圖

4.3 直角轉(zhuǎn)彎的實(shí)現(xiàn)

由系統(tǒng)的運(yùn)行線路可知,系統(tǒng)的所有轉(zhuǎn)彎都是采用直角轉(zhuǎn)彎,所以準(zhǔn)確地轉(zhuǎn)過(guò)每一個(gè)直角轉(zhuǎn)彎是系統(tǒng)安全有效運(yùn)行的關(guān)鍵。步進(jìn)電機(jī)的開(kāi)環(huán)控制可以使直角轉(zhuǎn)彎的實(shí)現(xiàn)更為簡(jiǎn)單,因?yàn)椴竭M(jìn)電機(jī)轉(zhuǎn)過(guò)的角度可以通過(guò)計(jì)數(shù)發(fā)送的脈沖個(gè)數(shù)來(lái)決定[9,10]。

如圖7所示,車輪間距為R,車輪半徑為r,車子繞一個(gè)車輪的中心轉(zhuǎn)過(guò)90°角,則轉(zhuǎn)動(dòng)的車輪走過(guò)的路程為:

由公式(8)可得電機(jī)轉(zhuǎn)過(guò)的角度為:

從而根據(jù)步進(jìn)電機(jī)的步距角a,控制器要想實(shí)現(xiàn)直角轉(zhuǎn)彎需要發(fā)送的脈沖個(gè)數(shù)為:

5 結(jié)束語(yǔ)

本文介紹了基于PIC33FJ256MC710單片機(jī)控制器的機(jī)器視覺(jué)小車的控制方法,通過(guò)上位機(jī)測(cè)試圖像采集與處理的準(zhǔn)確性。以單片機(jī)為控制核心,從理論分析和實(shí)時(shí)測(cè)試CCD圖像數(shù)據(jù)的采集與處理過(guò)程和步進(jìn)電機(jī)的控制方法,在對(duì)步進(jìn)電機(jī)的控制上建立了開(kāi)環(huán)的控制方法。本文的硬件設(shè)計(jì)和控制方法是基于特定的運(yùn)行場(chǎng)景和配送系統(tǒng),本文提出的理論在普適性上還有待提高。

圖7 直角轉(zhuǎn)彎示意圖

[1] 于洋.AGV及其控制器的設(shè)計(jì)與開(kāi)發(fā)[D].浙江大學(xué),2008:1-12.

[2] 孫海濤.基于視覺(jué)導(dǎo)航的智能車輛自主行駛研究[D].合肥工業(yè)大學(xué)機(jī)械與汽車學(xué)院,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ī)器人視覺(jué)導(dǎo)航系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2010,33(1):64-66.

[5] 劉進(jìn),齊曉慧.基于機(jī)器視覺(jué)的AGV路徑跟蹤[J].火力與指揮控制,2010,35(8):132-133.

[6] 王立賢,汪濱琦.用單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)變速控制的方法[J].應(yīng)用科技,2003,30(l):42-42,54.

[7] 王玉琳,王強(qiáng).步進(jìn)電機(jī)的速度調(diào)節(jié)方法[J].電機(jī)與控制應(yīng)用,2006,33(1):53-56.

[8] 吳謹(jǐn),熊理良.基于場(chǎng)掃描的AGV路徑識(shí)別[J].武漢科技大學(xué)學(xué)報(bào),2005,28(3):284-286.

[9] 王紹燕,王衛(wèi)江.PC機(jī)與單片機(jī)間通信程序的實(shí)現(xiàn)[J].電子產(chǎn)品世界,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.

猜你喜歡
中斷閾值單片機(jī)
采用紅細(xì)胞沉降率和C-反應(yīng)蛋白作為假體周圍感染的閾值
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
“單片機(jī)中斷概述”微課教學(xué)設(shè)計(jì)
一種考慮GPS信號(hào)中斷的導(dǎo)航濾波算法
小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
基于單片機(jī)的層次漸變暖燈的研究
基于單片機(jī)的多功能智能插排
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
Linux中斷線程化分析及中斷延時(shí)測(cè)試
跟蹤導(dǎo)練(二)(5)
广平县| 静安区| 广水市| 屏南县| 黔东| 双牌县| 大名县| 马鞍山市| 迁西县| 修武县| 常州市| 淮北市| 河池市| 甘谷县| 灵丘县| 巨鹿县| 都安| 师宗县| 旺苍县| 公安县| 慈溪市| 阿克| 峨眉山市| 台南县| 凭祥市| 定远县| 贵定县| 石城县| 正镶白旗| 比如县| 应用必备| 团风县| 静海县| 威海市| 勐海县| 体育| 平定县| 兰西县| 邳州市| 平泉县| 玛多县|