費(fèi)曉東,趙轉(zhuǎn)萍,黃開元
(南京航空航天大學(xué) 機(jī)電學(xué)院,江蘇 南京 210016)
混合裝配生產(chǎn)線是指在一條生產(chǎn)線上,通過(guò)改變裝配零部件的型號(hào)來(lái)生產(chǎn)不同種類的產(chǎn)品[1]。混裝生產(chǎn)線一方面由于每個(gè)工位裝配零部件的不同加大了工人操作的難度與強(qiáng)度;另一方面經(jīng)常在流水線更換產(chǎn)品時(shí)發(fā)生錯(cuò)裝、漏裝等問(wèn)題。而防錯(cuò)系統(tǒng)可以有效地減小上述錯(cuò)誤的發(fā)生,提高產(chǎn)品的合格率[2]。
防錯(cuò)系統(tǒng)的運(yùn)用在國(guó)外發(fā)展得很成熟,不同的公司都有適合本公司生產(chǎn)特點(diǎn)的防錯(cuò)控制系統(tǒng)。國(guó)外的通用性防錯(cuò)系統(tǒng)價(jià)格昂貴,并且對(duì)于國(guó)內(nèi)大量的企業(yè)都不適用。目前國(guó)內(nèi)制造商在防錯(cuò)系統(tǒng)上處于剛剛起步階段,沒(méi)有成熟的防錯(cuò)控制系統(tǒng)[3]。
某公司目前生產(chǎn)2個(gè)系列24個(gè)型號(hào)的發(fā)動(dòng)機(jī),急需一套防錯(cuò)裝置來(lái)提高產(chǎn)品的合格率。防錯(cuò)裝置要適應(yīng)裝配線上發(fā)動(dòng)機(jī)的混線生產(chǎn),因此整個(gè)裝置因盡可能小巧,并且識(shí)別判斷時(shí)應(yīng)使用非接觸式傳感器。針對(duì)上述需求,設(shè)計(jì)一套基于嵌入式的混裝生產(chǎn)線防錯(cuò)系統(tǒng),并采用機(jī)器視覺(jué)系統(tǒng)。嵌入式控制系統(tǒng)體積小,占用空間不大,相機(jī)作為非接觸式傳感器可以準(zhǔn)確地采集防錯(cuò)特征以便系統(tǒng)識(shí)別判斷。該生產(chǎn)線上不同型號(hào)的后殼,其挺住安裝孔直徑不同,因此選取挺住安裝孔作為后殼的防錯(cuò)識(shí)別特征;不同型號(hào)的挺住,其與挺住安裝孔之間的間隙不同,因此選取挺住與其安裝孔之間的間隙作為防錯(cuò)識(shí)別特征。系統(tǒng)采用機(jī)器視覺(jué)來(lái)識(shí)別不同型號(hào)的零部件,視覺(jué)識(shí)別可以有效地提取安裝孔的直徑以及挺住與安裝孔的間隙信息。系統(tǒng)能夠適應(yīng)混合裝配流水線生產(chǎn)的防錯(cuò)控制要求,從而保證零件與發(fā)動(dòng)機(jī)型號(hào)的正確匹配或錯(cuò)誤匹配的不流出。
系統(tǒng)通過(guò)采集發(fā)動(dòng)機(jī)的型號(hào)數(shù)據(jù)和采集防錯(cuò)特征圖像,由系統(tǒng)確定所對(duì)應(yīng)的發(fā)動(dòng)機(jī)型號(hào)和所裝配的零部件型號(hào),并和數(shù)據(jù)庫(kù)中保存的正確匹配信息進(jìn)行比對(duì),來(lái)判斷裝配是否正確。如果裝配正確則該零件流向下一個(gè)工位,否則重新裝配直至裝配正確,從而保證了錯(cuò)裝產(chǎn)品的不流出。
防錯(cuò)裝置要適應(yīng)生產(chǎn)線的混線生產(chǎn),并且不影響現(xiàn)有的裝配流程。因此防錯(cuò)裝置一次檢測(cè)時(shí)間必須滿足流水線的節(jié)拍要求。該公司的混合裝配流水線的節(jié)拍為1min, 一個(gè)節(jié)拍的時(shí)間分配如圖1所示。
圖1 一個(gè)節(jié)拍的時(shí)間分配圖
控制系統(tǒng)流程圖如圖2所示。
圖2 系統(tǒng)工作流程圖
1) 系統(tǒng)開機(jī)后,先進(jìn)行自檢,自檢無(wú)誤后進(jìn)行下一步,否則報(bào)警提示系統(tǒng)異常并結(jié)束程序;
2) 等待光電開關(guān)信號(hào),以此確定發(fā)動(dòng)機(jī)是否到位,如果等待時(shí)間>5s無(wú)信號(hào)則報(bào)警提示光電開關(guān)異常并結(jié)束程序;
3) 等待按鍵信號(hào),等待工人安裝零部件并將發(fā)動(dòng)機(jī)轉(zhuǎn)到合適的安裝位置,如果等待時(shí)間>5s無(wú)信號(hào)則報(bào)警提示按鍵異常并結(jié)束程序;
4) 掃描槍掃描二維碼確定發(fā)動(dòng)機(jī)型號(hào),若成功則繼續(xù),否則如果等待時(shí)間>5s無(wú)信號(hào)則報(bào)警提示掃描槍異常并結(jié)束程序;同時(shí)機(jī)器視覺(jué)系統(tǒng)圖像采集并處理,若成功則繼續(xù),否則繼續(xù)采集并處理,如果采集次數(shù)>5次則報(bào)警提示機(jī)器視覺(jué)系統(tǒng)異常并結(jié)束程序;
5) 嵌入式控制系統(tǒng)確定是否匹配正確,若正確轉(zhuǎn)6),否則轉(zhuǎn)7);
6) 提示正確數(shù)據(jù)保存輸出后進(jìn)行判斷是否繼續(xù)檢測(cè),繼續(xù)則等待光電開關(guān)信號(hào),結(jié)束檢測(cè)則程序結(jié)束;
7) 提示裝配錯(cuò)誤,氣缸工作,數(shù)據(jù)保存并提示重新裝配,之后等待按鍵信號(hào)。
防錯(cuò)系統(tǒng)所需硬件均需適應(yīng)流水線的生產(chǎn),因此需根據(jù)裝配流水線的特點(diǎn)選擇合適的硬件,所有硬件均不能與現(xiàn)有流水線的硬件發(fā)生干涉。
圖3 系統(tǒng)硬件組成框圖
1) 系統(tǒng)需要硬件發(fā)出啟動(dòng)信號(hào)來(lái)開始檢測(cè)程序,選擇發(fā)動(dòng)機(jī)進(jìn)入某工位時(shí)發(fā)出啟動(dòng)信號(hào)。該硬件要適應(yīng)生產(chǎn)線的生產(chǎn),因此體積要小,并且每次發(fā)動(dòng)機(jī)到達(dá)檢測(cè)工位后能及時(shí)發(fā)出啟動(dòng)信號(hào)。鑒于上述需求,選擇光電開關(guān),體積小,耐用,并且當(dāng)發(fā)動(dòng)機(jī)進(jìn)入工位時(shí)會(huì)遮擋光電開關(guān)發(fā)出的信號(hào),由此激發(fā)啟動(dòng)信號(hào)。
2) 系統(tǒng)采集發(fā)動(dòng)機(jī)的型號(hào)數(shù)據(jù),由于公司發(fā)動(dòng)機(jī)型號(hào)數(shù)據(jù)有限,同時(shí)需要快速采集,鑒于每款發(fā)動(dòng)機(jī)都有唯一的二維碼與之相對(duì)應(yīng),因此選擇掃描槍作為采集硬件,掃描槍體積小,可以快速采集數(shù)據(jù)。
3) 對(duì)防錯(cuò)特征采集須使用非接觸式傳感器,并且要快速準(zhǔn)確,鑒于防錯(cuò)特征是直徑的大小,選擇相機(jī)作為采集硬件。
4) 系統(tǒng)所需的控制器不能與現(xiàn)有部件干涉,并且處理速度要快,環(huán)境要求度不能太高。因此選用嵌入式開發(fā)板作為控制處理單元以滿足上述要求。
5) 當(dāng)裝配出錯(cuò)時(shí),由于流水線的運(yùn)轉(zhuǎn)會(huì)使得該發(fā)動(dòng)機(jī)流向下一個(gè)工位。因此需要使用擋塊來(lái)阻止問(wèn)題發(fā)動(dòng)機(jī)流向下一個(gè)工位,由于流水線是滾筒型的,每個(gè)滾筒之間有間隙,因此采用氣缸作為擋塊,在滾筒之間安裝氣缸,氣缸伸出不會(huì)與流水線發(fā)生干涉,同時(shí)也可以很好阻擋問(wèn)題發(fā)動(dòng)機(jī)流向下一個(gè)工位。
6) 當(dāng)工人裝配完成或者想結(jié)束程序時(shí),需要工人手動(dòng)發(fā)送一個(gè)信號(hào)給控制系統(tǒng),該硬件需操作簡(jiǎn)單,并易于控制器連接,因此選用按鍵開關(guān)作為信號(hào)發(fā)生裝備。
工作站物理模型如圖4所示,其中開發(fā)板、相機(jī)、掃描槍處于裝配人員的對(duì)側(cè),從而不干涉生產(chǎn)線的正常生產(chǎn);按鍵開關(guān)與工人處于同一側(cè),方便裝配人員使用;氣缸位于流水線下方;光電開關(guān)分別固定在流水線兩側(cè)。
1—開發(fā)板;2—相機(jī);3—掃描槍;4—發(fā)動(dòng)機(jī);5—?dú)飧祝?—流水線;7—按鍵;8—光電開關(guān);9—轉(zhuǎn)盤圖4 工作站物理模型
Mini2440嵌入式開發(fā)板只有1個(gè)USBhost接口,而系統(tǒng)中3個(gè)外設(shè)是通過(guò)USB與開發(fā)板相連的,因此使用USBhub進(jìn)行擴(kuò)展。
光電開關(guān)采用M12NPN型對(duì)射型光電開關(guān),當(dāng)發(fā)射端與接收端中間有物體遮擋時(shí),接收端有信號(hào)輸出,一般為低電平;反之輸出高電平。由于輸出的是模擬信號(hào),需要通過(guò)AD轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào)以供讀取。友善mini2440內(nèi)置開發(fā)板,通過(guò)GPIO口引出了AD轉(zhuǎn)換接口,故將光電開關(guān)的輸出端接到開發(fā)板的AD轉(zhuǎn)換口即可。
按鍵開關(guān)使用普通按鍵開關(guān),通過(guò)USB接口與開發(fā)板相連。
掃描槍為自動(dòng)感應(yīng)條碼掃描槍,此款掃描槍為自感式,既不需要人為按鍵即可掃描條形碼。當(dāng)有條形碼出現(xiàn)在其感應(yīng)區(qū)域內(nèi)時(shí),該掃描槍就可以自動(dòng)掃描條形碼。掃描槍通過(guò)USB口與開發(fā)板相連,掃描槍工作為鍵盤模式。
相機(jī)采用500萬(wàn)CMOS工業(yè)相機(jī),搭配環(huán)形光源,通過(guò)對(duì)挺住和后殼的裝配圖拍攝并進(jìn)行圖像處理以識(shí)別裝配情況。相機(jī)通過(guò)USB口與開發(fā)板相連。
氣缸通過(guò)雙控電磁閥來(lái)控制,雙控電磁閥與開發(fā)板GPIO相連接,對(duì)該GPIO口輸出高/低電平即可控制氣缸進(jìn)行往復(fù)運(yùn)動(dòng)。
系統(tǒng)使用Mini2440作為開發(fā)工具,首先需要搭建交叉開發(fā)環(huán)境。宿主機(jī)為虛擬機(jī)中安裝的紅帽企業(yè)版6,目標(biāo)機(jī)為開發(fā)板上所運(yùn)行的嵌入式Linux系統(tǒng)。開發(fā)之前需對(duì)目標(biāo)板進(jìn)行系統(tǒng)移植:BootLoader的移植;Linux內(nèi)核的移植;文件系統(tǒng)的實(shí)現(xiàn)。系統(tǒng)使用supervivi作為BootLoader,Linux內(nèi)核通過(guò)配置去掉不必要的部分,使其占用空間更小,能耗更低;文件系統(tǒng)采用ext2文件系統(tǒng)。開發(fā)時(shí)首先在虛擬機(jī)Linux中編寫程序,然后用arm-Linux-gcc交叉編譯工具編譯程序,再將編譯好的程序拷貝到開發(fā)板上運(yùn)行[6]。
系統(tǒng)中外設(shè)均需驅(qū)動(dòng)的支持,驅(qū)動(dòng)均可以通過(guò)編寫、移植或者配置內(nèi)核以實(shí)現(xiàn)。
1) 光電開關(guān)輸出的信號(hào)需要通過(guò)開發(fā)板上的AD轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號(hào),因此需編寫ADC驅(qū)動(dòng)程序,ADC設(shè)備在Linux中可以看做是簡(jiǎn)單的字符設(shè)備,也可以當(dāng)做是一混雜設(shè)備(misc設(shè)備),系統(tǒng)中當(dāng)做misc設(shè)備來(lái)實(shí)現(xiàn)ADC的驅(qū)動(dòng)[7]。
2) 按鍵和掃描槍均可以工作為鍵盤模式,所以在編譯嵌入式linux內(nèi)核時(shí)需添加對(duì)鍵盤驅(qū)動(dòng)的支持。具體步驟:makemenuconfigARCH=armCROSS_COMPILE=arm-linux- /DeviceDrivers/Inputdevicesupport/keyboards。
3) 相機(jī)采用CMOS工業(yè)相機(jī),該相機(jī)支持UVC協(xié)議,所以在編譯嵌入式linux內(nèi)核時(shí)需添加對(duì)UVC相機(jī)的支持。具體步驟:makemenuconfigARCH=armCROSS_COMPILE=arm-linux- /DeviceDrivers/Multimediasupport/Videocaptureadapters/V4LUSBdevices/USBVideoClass(UVC)、UVCinputeventsdevicessupport。
軟件設(shè)計(jì)中,使用Linux系統(tǒng)軟件進(jìn)行開發(fā),通過(guò)對(duì)驅(qū)動(dòng)的編寫對(duì)相機(jī)、接近開關(guān)和氣缸進(jìn)行控制。課題中需要采集掃描槍的信號(hào),然后需要去數(shù)據(jù)庫(kù)中查找相對(duì)應(yīng)的零件型號(hào),管理員可以更改數(shù)據(jù)庫(kù),同時(shí)需要采集相機(jī)的信號(hào)與數(shù)據(jù)庫(kù)中查到的零件型號(hào)進(jìn)行對(duì)比,另外還需要報(bào)警和控制氣缸使活塞桿伸出。
系統(tǒng)應(yīng)用軟件主要包括以下模塊(圖5):用戶登錄、光電開關(guān)模塊、二維碼采集模塊、按鍵模塊、機(jī)器視覺(jué)算法、運(yùn)動(dòng)控制模塊、顯示輸出模塊、數(shù)據(jù)庫(kù)管理模塊。其中用戶登錄負(fù)責(zé)區(qū)分管理員與普通用戶,管理員權(quán)限高,避免普通用戶誤操作;光電開關(guān)模塊檢測(cè)發(fā)動(dòng)機(jī)是否到位;二維碼采集模塊采集發(fā)動(dòng)機(jī)上的二維碼信息以此來(lái)確定發(fā)動(dòng)機(jī)的型號(hào);按鍵模塊通過(guò)檢測(cè)是否有鍵按下來(lái)判斷工人是否裝配完畢;機(jī)器視覺(jué)算法負(fù)責(zé)對(duì)采集的圖像進(jìn)行處理,獲取防錯(cuò)特征的具體信息;運(yùn)動(dòng)控制模塊根據(jù)匹配情況來(lái)決定是否使氣缸工作;顯示輸出模塊對(duì)裝配結(jié)果進(jìn)行輸出;數(shù)據(jù)庫(kù)主要保存不同型號(hào)的發(fā)動(dòng)機(jī)所對(duì)應(yīng)的零部件尺寸與二維碼信息,另外還需要保存防錯(cuò)系統(tǒng)檢測(cè)結(jié)果:正確裝配數(shù)量、錯(cuò)誤裝配數(shù)量,并可以人工清零。
圖5 系統(tǒng)軟件結(jié)構(gòu)圖
發(fā)動(dòng)機(jī)混合裝配流水線復(fù)雜度高,系統(tǒng)中各個(gè)環(huán)節(jié)的可靠性共同決定其整體的可靠性。
RS=Rh×Rm
(1)
式中:Rs為整個(gè)系統(tǒng)的可靠度;Rh為人的可靠度;Rm為設(shè)備可靠度。其中Rh由各個(gè)工位上工人所裝配零部件的準(zhǔn)確度決定的。發(fā)動(dòng)機(jī)由上百個(gè)零部件組成。在流水線上裝配時(shí),主體部分固定在流水線上,隨流水線的移動(dòng)而移動(dòng);各種零部件分布在不同的裝配工位上,不斷地添加到主題部分上,最終形成完整的發(fā)動(dòng)機(jī)產(chǎn)品。
混合裝配流水線的突出特征即裝配工位上零部件的多樣化。如圖6所示,每個(gè)工作站上既有產(chǎn)品A的零部件,又有產(chǎn)品B的零部件,兩種產(chǎn)品的零部件之間可能差距很小;同時(shí)也有通用的零部件。
圖6 混合裝配線產(chǎn)品物流
防錯(cuò)控制系統(tǒng)通過(guò)對(duì)裝配結(jié)果的檢測(cè)可以有效地減少各個(gè)工作站的錯(cuò)裝率,提高Rh,從而提高整個(gè)系統(tǒng)的可靠度。
本文所設(shè)計(jì)的防錯(cuò)系統(tǒng)可能會(huì)發(fā)生故障,使其防錯(cuò)功能不能正常實(shí)現(xiàn),甚至出現(xiàn)誤判率很高的情況。因此需要對(duì)本系統(tǒng)可靠性分析并采取措施提高可靠性。
系統(tǒng)最終檢測(cè)結(jié)果存在兩種錯(cuò)誤判斷:
1) 漏判,將裝配錯(cuò)誤的情況判斷為正確。
2) 誤判,將裝配正確的情況判斷為錯(cuò)誤。
防錯(cuò)系統(tǒng)可靠性是指在實(shí)際生產(chǎn)線上應(yīng)用時(shí),在一定的生產(chǎn)周期內(nèi),保證錯(cuò)誤裝配產(chǎn)品的不流出的能力??煽啃允且粋€(gè)與時(shí)間有關(guān)的概念,時(shí)間越長(zhǎng),可靠性越低[8]。防錯(cuò)系統(tǒng)是一個(gè)串聯(lián)系統(tǒng),系統(tǒng)總體的可靠性為各個(gè)元器件可靠性的乘積。
(2)
式中:Rs為總體的可靠性,Ri為每個(gè)元器件的可靠性。因此提高每個(gè)元器件的可靠性極為重要。
防錯(cuò)系統(tǒng)需保證在3個(gè)月內(nèi)共檢測(cè)約13萬(wàn)件不發(fā)生故障,并且漏判率和誤判率要滿足要求。
系統(tǒng)中所使用的硬件均采取以下措施提高其可靠性:1) 元件降額使用,例如:光電開關(guān)等使用時(shí)間為其額定壽命的1/4時(shí)更換新的光電開關(guān);2) 元件篩選,例如:讓掃描槍處于加溫振動(dòng)等模擬環(huán)境下,使得相對(duì)差的產(chǎn)品可以提前失效;3) 硬件冗余,如使用兩個(gè)光電開關(guān)等,一個(gè)光電開關(guān)失效時(shí)另一個(gè)光電開關(guān)元件可以繼續(xù)工作;4) 信息冗余,如條形碼在制定時(shí)加入冗余位,同時(shí)對(duì)二維碼進(jìn)行多次采集,提高條形碼掃描的可靠性。本系統(tǒng)設(shè)計(jì)一個(gè)安裝平臺(tái),平臺(tái)獨(dú)立安裝在地上,平臺(tái)上再放置各種元件,可以降低振動(dòng)對(duì)系統(tǒng)的影響。
對(duì)防錯(cuò)系統(tǒng)檢查可以發(fā)現(xiàn)故障,極大地提高可靠性。自檢技術(shù)分為離線自檢與在線自檢。離線自檢為定期對(duì)防錯(cuò)系統(tǒng)進(jìn)行檢查,發(fā)現(xiàn)固定性故障,只有無(wú)故障才可以開始工作。在線自檢為邊工作邊自檢,可以發(fā)現(xiàn)偶然性故障。每次開機(jī)后進(jìn)行自檢,自檢方法有重復(fù)自檢、再生輸入自檢、輸出自檢、校驗(yàn)自檢與全信息自檢[9]。通過(guò)上述措施來(lái)保證其在3個(gè)月內(nèi)不發(fā)生故障。
系統(tǒng)既需要滿足3個(gè)月內(nèi)共檢測(cè)約13萬(wàn)件不發(fā)生故障的要求,也需要滿足漏判率和誤判率的要求。系統(tǒng)漏判或者誤判關(guān)鍵在于機(jī)器視覺(jué)算法對(duì)防錯(cuò)特征識(shí)別的準(zhǔn)確性,系統(tǒng)防錯(cuò)特征為圓的直徑。由于實(shí)際采集圖片時(shí)相機(jī)拍攝平面與待拍攝平面存在夾角,所以拍攝出的圖像中特征已變成橢圓,擬采用橢圓識(shí)別算法對(duì)防錯(cuò)特征進(jìn)行識(shí)別。橢圓識(shí)別算法可以準(zhǔn)確地識(shí)別出圖像中橢圓的長(zhǎng)軸長(zhǎng)和短軸長(zhǎng)。有理論可以證明長(zhǎng)軸長(zhǎng)即為實(shí)際圓的直徑。由于不同型號(hào)的零部件上作為防錯(cuò)特征圓的直徑差距較大,已達(dá)到mm級(jí),而系統(tǒng)所采用的相機(jī)的像元尺寸為2.2μm×2.2μm,理論上識(shí)別算法精度已達(dá)到μm級(jí),實(shí)際中圖像處理算法精度達(dá)到0.05mm,可以滿足一定的漏判率和誤判率要求。
設(shè)計(jì)了一種基于嵌入式Linux、ARM微處理器和機(jī)器視覺(jué)系統(tǒng)的發(fā)動(dòng)機(jī)混裝生產(chǎn)線防錯(cuò)系統(tǒng)。系統(tǒng)地介紹了硬件構(gòu)成與接口,闡述了軟件系統(tǒng)的設(shè)計(jì),最后對(duì)系統(tǒng)的可靠性進(jìn)行了分析,系統(tǒng)可以實(shí)現(xiàn)防錯(cuò)功能。系統(tǒng)對(duì)于國(guó)內(nèi)混裝生產(chǎn)線防錯(cuò)系統(tǒng)的研究具有較大意義。