李正輝 郭寅 張洪彬 張賓
摘要:為實現(xiàn)白車身在線檢測站中測量設(shè)備的統(tǒng)一管理與遠(yuǎn)程通信,提高測量系統(tǒng)的工作效率,設(shè)計了一種用于白車身檢測的測量控制系統(tǒng)。采用STM32F407芯片為核心并移植μC/OSⅡ和LwIP,并搭建 Web Server實現(xiàn)遠(yuǎn)程通信;建立了多線程任務(wù),實現(xiàn)串口、網(wǎng)口和USB之間的信息交互;分析了數(shù)據(jù)路由轉(zhuǎn)發(fā)過程中存在的數(shù)據(jù)安全性問題,就通信過程中丟包現(xiàn)象展開討論,并提出解決方案;采用二維歸一化灰度互相關(guān)法處理圖像的二維定位,提高了處理速度。實驗結(jié)果表明,該系統(tǒng)能夠提供遠(yuǎn)程通信功能,降低成本,且提高了設(shè)備管理的效率。
關(guān)鍵詞:嵌入式Web;μC/OSⅡ;數(shù)據(jù)安全;模板匹配
中圖分類號:TP274.2 文獻(xiàn)標(biāo)志碼:A
Abstract:In order to achieve unified management and remote communication of measuring equipment in car bodyinwhite online visual inspection station, a measurement and control system for the car bodyinwhite detection was designed to improve the working efficiency. Using STM32F407 as the core, μC/OSⅡ and LwIP were transplanted to build a Web server, and the Web server was set up to realize remote communication. Multithreaded tasks were established to achieve the information interaction between serial port and net port. By analyzing the data security issue in the process of datas routing and discussing the phenomenon of packet loss on transmitting, a solution was proposed. 2D normalized crosscorrelation method was used to realize the image 2D positioning, and enhome the processing speed. The experimental results show that the system can provide remote communication function, reduce the cost, and improve the efficiency of equipment management.
Key words:embedded Web; μC/OSⅡ; data security; template matching
0 引言
白車身在線檢測站作為車身在線生產(chǎn)的檢測環(huán)節(jié),基于視覺檢測技術(shù)對白車身的關(guān)鍵部位的點、棱、面及功能尺寸進(jìn)行測量,具有高精度且非接觸的特點。檢測站內(nèi)部測量設(shè)備均通過測量工控機(jī)進(jìn)行統(tǒng)一控制,對系統(tǒng)可靠的通信控制提出了很高的要求,實現(xiàn)系統(tǒng)的監(jiān)控管理勢在必行[1-2]。目前,國內(nèi)現(xiàn)有系統(tǒng)的測量控制采取串行集中式處理模式,但其通信距離短,檢測系統(tǒng)的通信控制須通過現(xiàn)場的工控機(jī)才能完成,對檢測站的遠(yuǎn)程通信成為一種迫切需求;隨著汽車產(chǎn)量的提高,工控機(jī)主要處理和分析測量數(shù)據(jù),作為圖像處理或其他用途勢必會降低其工作效率;工控機(jī)通過分配I/O口對設(shè)備進(jìn)行控制,傳感器輸出的視頻信號進(jìn)入圖像采集卡,再由工控機(jī)處理,主機(jī)插卡包較多,導(dǎo)致現(xiàn)場布線復(fù)雜、故障率偏高、工作效率不高,且擴(kuò)展能力差,所以檢測站更高效的運(yùn)行需要尋求一種新的方式。
隨著互聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用使得各種設(shè)備的數(shù)據(jù)通過以太網(wǎng)傳輸,其通信速度快、通信距離不受限制、組網(wǎng)靈活、管理高效。將現(xiàn)有的設(shè)備集中起來并接入以太網(wǎng),將來自網(wǎng)絡(luò)的數(shù)據(jù)經(jīng)過TCP/IP協(xié)議解析后發(fā)往各個設(shè)備;或?qū)⒏鱾€設(shè)備發(fā)來的數(shù)據(jù)經(jīng)過TCP/IP協(xié)議打包發(fā)往遠(yuǎn)程客戶端[3]。采用灰度模板匹配算法分析和處理圖像[4],得到圖像坐標(biāo)信息后通過以太網(wǎng)傳給工控機(jī),代替工控機(jī)完成測量環(huán)節(jié)。該系統(tǒng)集測量控制于一身,其成本低、故障率低,且管理高效。
1 總體方案設(shè)計
白車身測量控制系統(tǒng)包括多個視覺傳感器和傳感器微控制器,其中視覺傳感器和微控器共同組成串行設(shè)備作為圖像采集單元掛接在測量控制盒上,采用RS485作為系統(tǒng)通信總線實現(xiàn)測量信號與控制信號的傳輸。
本文設(shè)計的測量控制系統(tǒng)采用分布式系統(tǒng)處理方式,提供4路RS485串行接口,1路10M/100M以太網(wǎng)接口,1路B5Pin型的USB接口。遠(yuǎn)程客戶端以網(wǎng)線接入測控系統(tǒng)的以太網(wǎng)接口實現(xiàn)連接,近程控制接口為USB接口??蛻舳耸强梢赃B入以太網(wǎng)的遠(yuǎn)程PC機(jī),用戶不用安裝任何專用軟件,利用測量控制系統(tǒng)中的Web Server,在瀏覽器輸入系統(tǒng)的IP地址就可以調(diào)出Web界面來對系統(tǒng)進(jìn)行遠(yuǎn)程配置和通信[5]??傮w來看,系統(tǒng)由集中式處理方式變?yōu)榉植际教幚矸绞?,具有?yōu)良的可擴(kuò)展性。其總體結(jié)構(gòu)框架如圖1所示。
2 測量控制系統(tǒng)設(shè)計
本系統(tǒng)主要分為通信控制環(huán)節(jié)和測量環(huán)節(jié)。通信控制環(huán)節(jié)主要實現(xiàn)數(shù)據(jù)傳輸和控制信號的收發(fā),并保證傳輸收發(fā)過程中的安全性;測量環(huán)節(jié)主要基于模板匹配算法,處理采集的圖像后得出結(jié)果,最終傳回工控機(jī)完成測量環(huán)節(jié)。
2.1 硬件設(shè)計
MCU采用高性能微處理器CortexM4芯片STM32F407,以168MHz高速運(yùn)行時具有高達(dá)210DMIPS處理能力,硬件接口資源豐富,能夠滿足系統(tǒng)的要求;網(wǎng)口模塊與串口模塊作為系統(tǒng)的通信部分,共同實現(xiàn)測量設(shè)備與遠(yuǎn)程客戶端的通信控制環(huán)節(jié)和測量環(huán)節(jié)中數(shù)據(jù)及指令的傳輸;選用USB2.0規(guī)范的B5Pin型接口作為近距離調(diào)試接口,存儲芯片(E2PROM)采用ATMEL公司的AT24C04,主要存儲配置階段的數(shù)據(jù)和標(biāo)志位。
硬件系統(tǒng)設(shè)計如圖2所示。
2.2 通信控制環(huán)節(jié)設(shè)計
本系統(tǒng)的通信控制環(huán)節(jié)中,遠(yuǎn)程配置及監(jiān)控依靠網(wǎng)口通信完成,近程控制通過USB通信實現(xiàn)。為了保證系統(tǒng)通信時的可靠性和實時性,對本系統(tǒng)植入μC/OSⅡ操作系統(tǒng)提供任務(wù)調(diào)度機(jī)制。同時考慮到嵌入式系統(tǒng)資源相當(dāng)寶貴,選用LwIP(Light Weight IP)作為TCP/IP協(xié)議棧移植到該系統(tǒng)中。LwIP實現(xiàn)的重點是在保持了TCP/IP協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,是一種輕量級IP協(xié)議,適合在一般的嵌入式系統(tǒng)中使用[6]。本系統(tǒng)的通信控制環(huán)節(jié)設(shè)計分為兩個主要部分:遠(yuǎn)程參數(shù)配置和數(shù)據(jù)轉(zhuǎn)發(fā)機(jī)制。
2.2.1 遠(yuǎn)程參數(shù)配置
為實現(xiàn)客戶端對系統(tǒng)參數(shù)的遠(yuǎn)程配置,需采用動態(tài)網(wǎng)頁技術(shù)。目前,能實現(xiàn)動態(tài)網(wǎng)頁技術(shù)的有CGI(Common Gateway Interface)、ASP、PHP和JSP等。由于ASP、PHP、JSP等技術(shù)需要依賴相應(yīng)的語言支持,而CGI程序可用任何語言編寫,且沒有和任何特定的服務(wù)器結(jié)構(gòu)聯(lián)系在一起??紤]到本系統(tǒng)編程語言限制、資源有限等因素,選用CGI技術(shù)[7-10]。本文采用Httpd Server作為嵌入式Web Server,在μC/OSⅡ嵌入式操作系統(tǒng)中移植LwIP的基礎(chǔ)上,添加Httpd Server的源代碼,CGI工作流程如圖3所示。
2.2.2 數(shù)據(jù)轉(zhuǎn)發(fā)機(jī)制
本系統(tǒng)參考了靜態(tài)路由表的工作機(jī)制[11],并基于Modbus總線協(xié)議規(guī)定消息幀中包含目標(biāo)設(shè)備的地址,將這些地址位分配給各個串口,配置串口號對應(yīng)地址位的路由表。為保證數(shù)據(jù)的正確性和完整性,消息幀的末位校驗采用循環(huán)冗余碼校驗(Cyclic Redundancy Check, CRC)方式,根據(jù)生成的CRC16校驗碼多項式可以計算得到一個16位的二進(jìn)制數(shù)作為校驗碼附在幀結(jié)尾處。發(fā)送方在發(fā)送了帶有校驗碼的指令后,接收方會通過該多項式來驗證收到的CRC16校驗碼,當(dāng)接收到的校驗位與計算得到的校驗位不一致時表明數(shù)據(jù)錯誤,需要提醒主機(jī)重發(fā),提高了數(shù)據(jù)的安全性和識別錯誤的可靠性。其消息幀的幀格式如表1所示。
傳統(tǒng)的控制系統(tǒng)中消息傳輸路徑是固定的,一旦加入新的測量設(shè)備,需重新修改下位機(jī)程序,系統(tǒng)調(diào)整不靈活。本文采用CGI動態(tài)網(wǎng)頁技術(shù)配置路由表,將預(yù)先分配好的設(shè)備地址位并存于E2PROM中,當(dāng)有數(shù)據(jù)要轉(zhuǎn)發(fā)時要先讀取E2PROM中的地址位,判斷該地址位所對應(yīng)的串口號,再發(fā)往目標(biāo)串口,實現(xiàn)數(shù)據(jù)的路由轉(zhuǎn)發(fā)。數(shù)據(jù)路由轉(zhuǎn)發(fā)流程如圖4所示。
本文采用消息隊列實現(xiàn)不同任務(wù)間的通信。對于通信過程中,主要會出現(xiàn)兩種類型的數(shù)據(jù)丟包問題。假設(shè)當(dāng)任務(wù)1在t1時刻向任務(wù)2發(fā)送msg1,但由于某些特殊原因使得任務(wù)2接收延時,這時在t2時刻任務(wù)1向任務(wù)2發(fā)送了msg2,那么msg1就可能被msg2覆蓋,致使msg1丟失,這是由通信延遲造成的數(shù)據(jù)丟失問題[12]。
為解決上述數(shù)據(jù)丟失問題,在原有消息隊列通信程序的基礎(chǔ)上加入判斷機(jī)制,即任務(wù)1在發(fā)送數(shù)據(jù)且任務(wù)2接收數(shù)據(jù)后需判斷接收標(biāo)志位是否為0才能發(fā)送下一包數(shù)據(jù)。采用共享全局變量作為判斷標(biāo)志位,與信號量和郵箱相比更加快捷有效,其通信過程如圖5所示。在標(biāo)志位判斷及發(fā)送接收數(shù)據(jù)程序段的兩端需要加入OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL(),這兩句代碼之間的程序是不可以被系統(tǒng)的中斷打斷或者進(jìn)行任務(wù)切換的,對當(dāng)前程序段加鎖,確保變量在判斷時不被其他任務(wù)或中斷改變。
第二種數(shù)據(jù)丟包問題發(fā)生在速率非對等的數(shù)據(jù)傳輸過程中,將在后文中進(jìn)行討論。
3 測量環(huán)節(jié)灰度模板匹配算法
測量控制系統(tǒng)中的測量環(huán)節(jié)采用灰度模板匹配的方法對采集圖像進(jìn)行處理,得到圖像特征的位置信息后通過以太網(wǎng)打包發(fā)送給工控機(jī),完成系統(tǒng)的測量環(huán)節(jié)。
模板匹配過程中的匹配精度影響著對圖片坐標(biāo)信息的準(zhǔn)確定位,為了準(zhǔn)確得到圖片特征的二維信息,匹配算法采用去均值二維歸一化灰度互相關(guān)法作為相似性測度[13-14]。如圖6所示,假設(shè)用行數(shù)*列數(shù)=m*n的模板圖像T去匹配原始圖像D,定義歸一化灰度互相關(guān)系數(shù)ρ(u,v),如式(1)所示:
4 系統(tǒng)測試
4.1 消息指令丟包率實驗
針對第1類數(shù)據(jù)丟包問題,修改延時函數(shù)OSTimeDly()使得串口任務(wù)每500ms向消息隊列申請消息,網(wǎng)口任務(wù)每300ms向消息隊列發(fā)送消息來模擬數(shù)據(jù)接收任務(wù)的延遲。傳統(tǒng)程序和優(yōu)化程序的對比如表2所示,沒有加入判斷機(jī)制的程序發(fā)送的msg3和msg6分別覆蓋了msg2和msg5,導(dǎo)致了msg2和msg5數(shù)據(jù)的丟失。而修改后的程序在接收msg2和msg5時進(jìn)行了標(biāo)志位判斷,只有當(dāng)串口任務(wù)成功接收消息后,網(wǎng)口任務(wù)才能夠繼續(xù)發(fā)送數(shù)據(jù),這樣保證了數(shù)據(jù)的安全性。
5 結(jié)語
本文設(shè)計了一種應(yīng)用在白車身檢測中的智能測量控制系統(tǒng),在μC/OSⅡ操作系統(tǒng)和LwIP協(xié)議棧的支持下,搭建Web Server,實現(xiàn)遠(yuǎn)程通信;定義協(xié)議的CRC16校驗和多任務(wù)間通信的數(shù)據(jù)接收判斷機(jī)制,保證了數(shù)據(jù)收發(fā)的安全性;采用基于二維歸一化灰度互相關(guān)法的模板匹配算法對圖像特征進(jìn)行二維定位;最后完成系統(tǒng)設(shè)計的具體方案并在白車身在線檢測站成功運(yùn)用。實驗表明,本系統(tǒng)提高了工作效率,減小了故障率,且易于維護(hù),為搭建白車身在線測量檢測站測量控制平臺打下基礎(chǔ)。
參考文獻(xiàn):
[1] 邾繼貴, 楊學(xué)友, 葉聲華. 車身三維尺寸視覺檢測及其最新進(jìn)展[J]. 汽車工藝與材料, 2002(3): 22-25.(ZHU J G, YANG X Y, YE S H. Body threedimensional visual detection and latest progress[J]. Automobile Technology & Material, 2002(3): 22-25.)
[2] 劉玥, 林嘉睿, 劉濤, 等. 白車身視覺檢測系統(tǒng)中多類型傳感器全局校準(zhǔn)技術(shù)[J]. 計量學(xué)報, 2014, 35(3): 204-209. (LIU Y, LIN J R, LIU T, et al. Multisensor global calibration technology of vision sensor in car bodyinwhite visual measurement system[J]. Acta Metrologica Sinica, 2014, 35(3): 204-209.)
[3] 李偉, 余森. 使用輕便網(wǎng)絡(luò)互連協(xié)議的嵌入式串口服務(wù)器[J]. 計算機(jī)系統(tǒng)應(yīng)用, 2015, 24(9): 244-247. (LI W, YU S. Embedded Ethernet serial server using lightweight IP stack[J]. Computer Systems Applications, 2015, 24(9): 244-247.)
[4] 張青濤, 楊學(xué)友, 劉濤, 等. 基于快速模板匹配的智能視覺傳感器設(shè)計[J]. 傳感技術(shù)學(xué)報, 2013, 26(8): 1039-1044.(ZHANG Q T, YANG X Y, LIU T, et al. Design of a smart visual sensor based on fast template matching[J]. Chinese Journal of Sensors and Actuators, 2013, 26(8): 1039-1044.)
[5] 謝仕義, 徐兵. 嵌入式Web服務(wù)器的設(shè)計及CGI實現(xiàn)[J]. 計算機(jī)工程與設(shè)計, 2007, 28(7): 1598-1600.(XIE S Y, XU B. Design of embedded Web server and its implementation of CGI[J]. Computer Engineering and Design, 2007, 28(7): 1598-1600.)
[6] 肖利平. 基于LWIP的嵌入式串口服務(wù)器的設(shè)計與實現(xiàn)[J]. 電子科技, 2009, 22(5):11-13.(XIAO L P. Design and realization of an embedded serial server based on LWIP stack[J]. Electronic Science and Technology, 2009, 22(5): 11-13.)
[7] 潘琢金, 王秋實. 嵌入式Web服務(wù)器中動態(tài)Web技術(shù)的研究[J]. 計算機(jī)工程與設(shè)計, 2010, 31(18): 3975-3978.(PAN Z J, WANG Q S. Study on dynamic Web technique in embedded Web server[J]. Computer Engineering and Design, 2010, 31(18):3975-3978.)
[8] 周曼麗, 姜文剛. 基于嵌入式Web服務(wù)器的植物工廠遠(yuǎn)程監(jiān)控系統(tǒng)研究與實現(xiàn)[J]. 中國農(nóng)機(jī)化, 2011(5): 90-95. (ZHOU M L, JIANG W G. Research and implementation of remote monitoring system for plant factory based on embedded Web server[J]. Chinese Agricultural Mechanization, 2011(5): 90-95.)
[9] 馬亮, 滕光輝, 李志忠. 嵌入式Web服務(wù)器在蛋雞舍網(wǎng)絡(luò)環(huán)境監(jiān)測系統(tǒng)中的應(yīng)用[J]. 中國農(nóng)業(yè)大學(xué)學(xué)報, 2006, 11(3): 88-92.(MA L, TENG G H, LI Z Z. Application of embedded Web server to environmental information monitoring system for laying house[J]. Journal of China Agricultural University, 2006, 11(3): 88-92.)
[10] 翟玉石. 基于嵌入式Web的無線視頻監(jiān)控系統(tǒng)的研究與實現(xiàn)[J]. 吉林省教育學(xué)院學(xué)報, 2014, 30(11): 151-152. (ZHAI Y S. Research and implementation of wireless video surveillance system based on embedded Web[J]. Journal of Educational Institute of Jilin Province, 2014, 30(11): 151-152.)
[11] 宋麗靜. 網(wǎng)絡(luò)模擬中本地路由策略的研究與優(yōu)化[D]. 哈爾濱: 哈爾濱工業(yè)大學(xué), 2010. (SONG L J. Research and optimization of local route strategy in network simulation[D]. Harbin: Harbin Institute of Technology, 2010.)
[12] 曾蜀芳, 郭兵, 沈燕. μC/OSⅡ中消息隊列通信的數(shù)據(jù)安全問題[J]. 計算機(jī)技術(shù)與發(fā)展, 2009, 19(8): 151-154. (ZENG S F, GUO B, SHEN Y. Data security of message queue communication in μC/OSⅡ[J]. Computer Technology and Development, 2009, 19(8): 151-154.)
[13] 高晶, 孫繼銀, 劉婧. 基于鄰域灰度信息的Hausdorff距離圖像匹配方法[J]. 計算機(jī)應(yīng)用, 2011, 31(3): 741-744.(GAO J, SUN J Y, LIU J. Image matching method based on normalized grayscale variance Hausdorff distance[J]. Journal of Computer Applications, 2011, 31(3): 741-744.)
[14] 劉毅飛, 張旭明, 丁明躍. 歸一化互相關(guān)灰度圖相匹配的多核信號處理器實現(xiàn)[J]. 計算機(jī)應(yīng)用, 2011, 31(12): 3334-3336. (LIU Y F, ZHANG X M, DING M Y. Multicore digital signal processor implementation of normalized crosscorrelation image matching[J]. Journal of Computer Applications, 2011, 31(12): 3334-3336.)
[15] 金勇俊, 李言俊, 張科. 一種透視變換圖像金字塔匹配改進(jìn)算法[J]. 計算機(jī)工程與應(yīng)用, 2007, 43(24): 78-80. (JIN Y J, LI Y J, ZHANG K. Improve perspective transformation image pyramid registration method[J]. Computer Engineering and Applications, 2007, 43(24): 78-80.)