(北京航空航天大學機械工程及自動化學院,北京 100191)
智能眼鏡是近幾年來出現(xiàn)的一種新型的可穿戴智能硬件。通過將光學顯示器、麥克風、揚聲器、傳感器以及處理器等硬件以眼鏡的形式集成起來,并在硬件上搭載軟件操作系統(tǒng),智能眼鏡基本具有顯示圖像、播放音頻、拍照攝像以及連接無線網(wǎng)或藍牙等功能。正因為其功能相對比較完善,且具有可穿戴的優(yōu)勢,智能眼鏡等可穿戴設(shè)備在技術(shù)信息顯示、操作訓練與虛擬裝配、設(shè)備監(jiān)控與維護、團隊協(xié)作、質(zhì)量保障和遠程會議等方面得到越來越多的應(yīng)用[1-2],在基于工業(yè)的可穿戴設(shè)備輔助系統(tǒng)的研究方面,夏侯士戟等[3-4]提出了基于可穿戴計算的現(xiàn)場作業(yè)輔助創(chuàng)新模式,并建立“知曉車間”原型。白寰[5]建立了一個基于可穿戴計算的協(xié)同維護支撐系統(tǒng)。Murakami等[6]通過頭戴顯示設(shè)備實現(xiàn)了基于觸覺反饋的虛擬裝配。Hao等[7]在云制造領(lǐng)域使用智能眼鏡與增強現(xiàn)實技術(shù)進行了人與設(shè)備的互聯(lián)互通系統(tǒng)設(shè)計與實現(xiàn)。而在以裝配為代表的典型現(xiàn)場作業(yè),往往需要動態(tài)地精確測量物體的位姿信息并及時反饋給操作者,以便精確實施裝調(diào)操作。但是,當前智能眼鏡并不能提供幾何量測量功能,也不能將其他測量設(shè)備的信息集成起來。
激光跟蹤儀在大尺寸精密測量領(lǐng)域有廣泛的應(yīng)用,基于模型的自動測量是關(guān)鍵技術(shù)之一[8]。但是,現(xiàn)階段大多數(shù)激光跟蹤儀仍是通過控制柜與某臺安裝工業(yè)測量軟件(如Spatial Analyzer)的計算機進行有線連接來完成測量任務(wù)。在工業(yè)現(xiàn)場,一般是一人在計算機前操作工業(yè)測量軟件,另一人手持激光跟蹤儀反射器,雙人或多人協(xié)同完成某項測量任務(wù)。在復(fù)雜工業(yè)環(huán)境中,需要軟件操作人員與測量人員不斷進行交流以完成測量任務(wù),這種交流通常是通過語言來進行的,實現(xiàn)信息的傳遞不但十分耗費時間和體力,而且準確性不高。
針對以上問題并結(jié)合智能眼鏡的優(yōu)勢,本文提出了一種基于智能眼鏡的激光跟蹤儀移動控制系統(tǒng)。通過該系統(tǒng),測量人員可以直接佩戴智能眼鏡通過語音以及手勢等方式操控激光跟蹤儀,并在智能眼鏡上實時觀察測量數(shù)據(jù),實現(xiàn)了測量信息傳遞的閉環(huán),為解放操作人員雙手,提高作業(yè)過程中效率與準確性奠定了基礎(chǔ)。
系統(tǒng)總體結(jié)構(gòu)如圖1所示,是一個多客戶端/服務(wù)器結(jié)構(gòu),其中,客戶端為一個智能眼鏡移動應(yīng)用,智能眼鏡應(yīng)用軟件與智能眼鏡與眼鏡佩戴者形成一個數(shù)字化人[9]的整體來協(xié)同工作,智能眼鏡移動端為一個Android應(yīng)用。安裝在基于Android 4.0.3系統(tǒng)的Vuzix M100智能眼鏡上。服務(wù)器表示位于計算機上的服務(wù)端軟件。激光跟蹤儀為獨立的外部系統(tǒng),但是服務(wù)端內(nèi)部有相應(yīng)的模塊接口與之通信,本系統(tǒng)主要支持Leica系列激光跟蹤儀??蛻舳伺c服務(wù)端之間,服務(wù)端與激光跟蹤儀之間通過局域網(wǎng)建立TCP/IP連接,實現(xiàn)信息傳遞。
圖1中服務(wù)端功能模塊主要包括4個部分,分別是智能眼鏡模塊、激光跟蹤儀模塊、測量信息模塊和測量任務(wù)模塊。智能眼鏡模塊擁有兩個子功能或模塊,分別是智能眼鏡信息管理與智能眼鏡設(shè)備通訊模塊;激光跟蹤儀模塊擁有兩個子功能或模塊,分別是激光跟蹤儀信息管理與激光跟蹤儀通信模塊;測量信息模塊包括測量信息管理功能與測量結(jié)果管理功能;測量任務(wù)模塊包括測量任務(wù)管理功能與測量任務(wù)執(zhí)行功能。
數(shù)據(jù)層包括3個數(shù)據(jù)庫,智能眼鏡信息庫、激光跟蹤儀信息庫與測點信息庫。其中,智能眼鏡信息庫保存連接服務(wù)器的智能眼鏡的信息,包括ID、設(shè)備名、操作者以及上次連接時間等。激光跟蹤儀信息庫保存激光跟蹤的信息,包括ID、名稱、IP地址、端口號等。測點信息庫主要保存測量點的基本信息,包括ID、名稱、理論坐標值X、理論坐標值Y、理論坐標值Z等。
智能眼鏡信息管理功能對在智能眼鏡信息庫中保存的智能眼鏡的基本信息進行管理。同時提供初次注冊功能,讓智能眼鏡能夠獲取服務(wù)器的IP地址與端口號等必要的連接信息。
智能眼鏡設(shè)備通訊模塊主要負責發(fā)送與接收來自智能眼鏡的消息并作相應(yīng)的消息處理。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Overall structure of the measurement system
激光跟蹤儀信息管理負責對在激光跟蹤儀信息庫中保存的激光跟蹤儀的基本信息進行管理。包括激光跟蹤儀代號、激光跟蹤儀名稱、激光跟蹤儀連接IP地址與端口號。同時實現(xiàn)包括激光跟蹤儀參數(shù)設(shè)定等功能,主要包括物理單位量的設(shè)定、現(xiàn)場環(huán)境參數(shù)的設(shè)定、反射器的設(shè)定以及坐標系的設(shè)定等。
激光跟蹤儀通訊模塊主要負責與激光跟蹤儀進行通訊。
測點信息管理主要負責管理被測對象的數(shù)模點的測量信息,包括數(shù)模點ID、測點名稱與理論值X、Y、Z的坐標。
測量結(jié)果管理功能主要將測量完成后的實測數(shù)據(jù)保存為其他文件格式,如 txt.或 excel.。
測量任務(wù)管理功能負責對用戶所見的測量任務(wù)進行管理。包括測量任務(wù)的建立、刪除和狀態(tài)更改等。
測量任務(wù)執(zhí)行功能主要執(zhí)行測量任務(wù),并且向激光跟蹤儀發(fā)送測量指令消息,向智能眼鏡發(fā)送測量結(jié)果消息。
如圖1所示,移動端主要包括3個功能模塊,分別是測量輔助模塊,基礎(chǔ)模塊及網(wǎng)絡(luò)通信模塊。
測量輔助模塊主要包括3個功能,分別是測量任務(wù)選擇、測量任務(wù)執(zhí)行與測量結(jié)果顯示。通過這3個功能,用戶可以完成一個測量任務(wù)。
測量任務(wù)選擇:該功能將本智能眼鏡的測量任務(wù)以列表的形式展現(xiàn)出來。
測量任務(wù)執(zhí)行:通過對測量任務(wù)的測量點以交互方式進行測量。
測量結(jié)果顯示:將服務(wù)器返回的測量結(jié)果顯示在智能眼鏡上。
基礎(chǔ)模塊包括兩個功能,分別是語音識別功能與手勢識別功能。這兩個功能的作用是通過語音或手勢的方式實現(xiàn)對軟件界面的操作,降低智能眼鏡操作的不適感,讓操作者更加方便地操控設(shè)備。
語音識別功能可以識別智能眼鏡佩戴者所說的中文語音。并通過其語音的消息響應(yīng)自動執(zhí)行相應(yīng)的代碼段,實現(xiàn)了佩戴者對軟件的語音控制。
手勢識別功能可以通過智能眼鏡傳感器識別佩戴者的手勢,包括上移、下移、前移、后移以及遠離和靠近等。通過簡單的手勢識別以及響應(yīng)函數(shù)的添加,實現(xiàn)了頁面滑動等功能。
網(wǎng)絡(luò)通信模塊是實現(xiàn)基于智能眼鏡的移動測量的關(guān)鍵。
在網(wǎng)絡(luò)通信模塊中,由于智能眼鏡、服務(wù)器端和激光跟蹤儀三者隨時需要進行交互式的通信,因此需要使用Socket來建立長連接,同時主要依靠多線程的使用實現(xiàn)多個智能眼鏡與服務(wù)器的連接。每當服務(wù)端接收到來自智能眼鏡移動應(yīng)用的連接請求,便會生成一個客戶端線程,并將其放入線程池進行管理。在這個客戶端線程中,包含了一個消息處理線程以及消息處理隊列,一個消息發(fā)送線程以及消息發(fā)送隊列(圖2)。
在本系統(tǒng)中,將一個消息定義為一個不定長度的字節(jié)流。其中,一個消息類包括4個字節(jié)的消息頭、4個字節(jié)的發(fā)送者代號、4個字節(jié)的接受者代號、4個字節(jié)的數(shù)據(jù)長度值、4個字節(jié)的數(shù)據(jù)類型代號、不定長度的數(shù)據(jù)和4個字節(jié)的結(jié)尾標識。發(fā)送線程會將一個消息類實例通過以上的順序以字節(jié)流的形式發(fā)送,而接收方則通過以上順序接受字節(jié)流并還原為一個消息。
在客戶端向服務(wù)端發(fā)送Socket連接請求之后,服務(wù)端會創(chuàng)建一個客戶端通信線程,并將其放入線程池中進行管理。在客戶端沒有發(fā)送消息的時候,該通信線程會阻塞并等待消息。在接收到客戶端所發(fā)送的消息后,客戶端通信線程將該消息放入消息處理線程的消息隊列中,交由消息處理線程進行處理。消息處理線程會自動識別消息的關(guān)鍵字段的信息并開啟相應(yīng)的工作線程去處理該消息。在工作線程完成處理后,生成的結(jié)果消息會放入消息發(fā)送線程中的消息發(fā)送隊列。消息發(fā)送線程會將隊列中的消息逐個發(fā)送給客戶端。
emScon是Leica激光跟蹤儀的開源底層控制軟件。通過emScon可以使用任何系統(tǒng)或平臺來控制Leica激光跟蹤儀進行測量[10]。本文通過emScon的應(yīng)用程序編程接口 TPI(Track Programming Interface)來開發(fā)激光跟蹤儀控制模塊,實現(xiàn)對Leica激光跟蹤儀的控制。本系統(tǒng)中emScon具體版本為emScon 3.5版本,可支持的Leica激光跟蹤儀型號包括AT Tracker Series 10余種系列型號。
圖2 多客戶端消息處理流程Fig.2 Multi-client message workflow
激光跟蹤儀控制模塊中主要包括 TPI中的 3種功能類:(1)Socket網(wǎng)絡(luò)連接功能類以及其拓展類,主要用于連接激光跟蹤儀,并且與激光跟蹤儀通信,進行消息收發(fā)的操作;(2)消息命令類CESAPICommand以及其拓展類,主要用于將用戶需要發(fā)送的指令整合為一個消息,并發(fā)送給激光跟蹤儀;(3)消息接受類CESAPIReceive以及其拓展類,主要用于解析來自激光跟蹤儀的消息,并將關(guān)鍵信息提取出來進行后續(xù)的處理與顯示。
智能眼鏡屏幕較小,無法使用諸如鼠標和觸屏的方式進行操作,因此不能根據(jù)傳統(tǒng)的激光跟蹤儀控制軟件的測量過程來開發(fā)與實現(xiàn)測量的功能。本文采取了一種基于測量任務(wù)的測量方式,來借助智能眼鏡控制激光跟蹤儀完成測量操作。
圖3 服務(wù)端測量任務(wù)建立Fig.3 Defining a task on the server
在服務(wù)端,用戶可以通過在測量任務(wù)管理模塊建立測量任務(wù)。本文將一個測量任務(wù)分解為以下幾個部分:分別是測量任務(wù)的名稱,測量任務(wù)的類型,執(zhí)行測量任務(wù)所用的智能眼鏡和激光跟蹤儀以及該測量任務(wù)需要測量的若干測量點。服務(wù)端測量任務(wù)建立的界面如圖3所示。測量任務(wù)可以分為兩種: (1)坐標系建立任務(wù),主要用于激光跟蹤儀在測量物體局部坐標系下的定位;(2)OTP點測量任務(wù),用于測量OTP點。
圖4為測量任務(wù)執(zhí)行的流程圖。在智能眼鏡進入輔助測量功能之后,智能眼鏡首先會向服務(wù)器請求測量任務(wù)的信息,服務(wù)器會發(fā)送該智能眼鏡的全部測量任務(wù)信息給智能眼鏡,之后智能眼鏡選擇一個測量任務(wù),然后服務(wù)器會將該測量任務(wù)的全部測量點信息發(fā)送給智能眼鏡,并且開啟測量模式,將 智能眼鏡的測量指令發(fā)送給對應(yīng)的激光跟蹤儀。
圖4 測量任務(wù)執(zhí)行流程Fig.4 Workflow of a measurement task
現(xiàn)階段,由于智能眼鏡可穿戴的特殊性,其操作方式有諸多的限制。目前,市場上的智能眼鏡多采用按鍵控制、語音控制、手勢識別或眼動跟蹤的方式等方式進行操作[11]。為了充分體現(xiàn)智能眼鏡解放雙手的特點,同時為控制激光跟蹤儀提供便利,本文實現(xiàn)了基于語義識別的操作指令下達功能。
首先,本文對激光跟蹤儀測量過程中常用的操作指令進行了歸納總結(jié),將每個操作指令定義為一個2~4字的語義,如表1所示。
表1 操作指令定義表
本文將激光跟蹤儀測量任務(wù)中的操作指令分為3種類型;(1)基礎(chǔ)指令,代表在測量過程中一些基礎(chǔ)性操作的指令;(2)測量指令,表示在測量過程中涉及到測點數(shù)據(jù)變化或其他數(shù)據(jù)變化的指令;(3)控制指令,表示在測量過程中僅控制激光跟蹤儀進行某種操作且不導(dǎo)致數(shù)據(jù)變化的指令。
本文使用智能眼鏡制造商提供的開發(fā)包實現(xiàn)語義識別功能。首先,定義一個String類型的ArrayList數(shù)組,并將上述的語義存入該數(shù)組。接著調(diào)用語音監(jiān)聽服務(wù)類加載該數(shù)組,該語義數(shù)組便自動加載入本地語音庫。之后調(diào)用服務(wù)類的語音監(jiān)聽功能即可實現(xiàn)語音識別功能。在回調(diào)函數(shù)中抓取識別到的語音字符串并與自定義的語義比較,如果字符串與自定義的語義相同,則執(zhí)行相應(yīng)的功能。
本系統(tǒng)通過對某長方形金屬板的四角坐標以及中心坐標的測量來驗證智能眼鏡移動控制激光跟蹤儀的控制準確程度以及激光測量儀的測量結(jié)果是否正確。本次驗證所采用的激光跟蹤儀為Leica的AT901B型號激光跟蹤儀,其系統(tǒng)為emScon 3.6.400。
某長方形金屬板的長度約為1170mm,寬度為565mm,該金屬板5個關(guān)鍵點在某任意局部坐標系下的坐標分別為TB1(-200,70,0)、TB2(-200,635,0)、TB3(970,635,0)、TB4(-970,70,0),如圖5所示。
首先,先新建兩個測量任務(wù),分別是坐標系建立任務(wù)和OTP點測量任務(wù)。坐標系建立任務(wù)包括TB1~TB4 4個測量點,主要用于激光跟蹤儀在局部坐標系下的定位。OTP點的測量任務(wù)包括一個OTP測量點,用于驗證激光跟蹤儀測量的準確性。在眼鏡端首先選擇第一個測量任務(wù),分別測量4個TB點后使用“開始轉(zhuǎn)換”與“應(yīng)用轉(zhuǎn)換”指令,讓激光跟蹤儀轉(zhuǎn)到測量物體的局部坐標系下,如圖6(a)和圖6(b)所示。在激光跟蹤儀被定位到待測物體的局部坐標系下之后,便可以開始進行OTP點的測量,如圖6(c)所示。測量人員可以使用按鍵或者語音的方式進行測量操作,如對于測量該OTP點而言,測量人員既可以通過智能眼鏡上的按鍵將光標移動至“測量”按鈕的位置并點擊確認按鈕進行測量,也可以直接通過說出語音指令“測量”二字來進行測量操作??梢钥闯?,OTP點的坐標基本上在理論點附近,其中X的坐標相差為0.06mm左右,Y的坐標相差為0.09mm左右,Z的坐標相差為0.09mm左右??梢钥闯觯す飧檭x的坐標系已經(jīng)與待測物體的局部坐標系相符合,且測量結(jié)果準確。通過呼出“菜單”界面,可以通過“跟蹤模式”讓激光跟蹤儀進入連續(xù)測量狀態(tài)并不斷返回測量值,如圖6(d)和圖6(e)所示。在圖6(e)中,智能眼鏡會不斷顯示當前反射器位置坐標與測量點理論坐標的差值。
在軟件界面設(shè)計風格上,如圖6所示。在移動端應(yīng)用界面上,每一個可被識別并有消息響應(yīng)的語音指令均使用雙引號標注,用戶通過說出該詞語即可實現(xiàn)相應(yīng)的操作。并且,智能眼鏡的軟件的背景以黑色為主,避免白色等容易讓佩戴者產(chǎn)生視覺疲勞的顏色。
圖5 金屬板模型圖Fig.5 3D model of metal plate
為更好地說明本系統(tǒng)測量結(jié)果的可信度,本文使用標準尺的數(shù)據(jù)與Spatial Analyzer軟件的測量結(jié)果與本系統(tǒng)測量結(jié)果比較,驗證結(jié)果的可信度。
圖7所示為測量試驗現(xiàn)場實物圖與待測標準尺的圖片。其中點P1與P3的距離為711.178mm,P1點與P2點的距離為361.941mm。
圖6 移動端測量任務(wù)的執(zhí)行界面Fig.6 Execution interface of the measurement task on the glasses
現(xiàn)利用Spatial Analyzer軟件與本系統(tǒng)分別對P1、P2和P3點進行測量,測量結(jié)果如表2所示。
使用兩點間的距離公式,可得出Spatial Analyzer軟件與本系統(tǒng)的測量的P1~P2的長度與P1~P3的長度,如表3所示。
從表3可以看出,本系統(tǒng)對該標準尺長度的測量與實際值十分相近。由于激光跟蹤儀測量誤差為±0.02mm,故本系統(tǒng)與Spatial Analyzer的最終計算值均與實際值有約0.05mm的誤差。而Spatial Analyzer目前為行業(yè)應(yīng)用的專業(yè)測量軟件,可以充分說明本系統(tǒng)的測量結(jié)果可信度。
本文將智能眼鏡與工業(yè)現(xiàn)場測量實際情況結(jié)合,設(shè)計并開發(fā)了一套基于智能眼鏡的激光跟蹤儀移動控制系統(tǒng),該系統(tǒng)能夠讓測量人員通過智能眼鏡下達測量指令,并且可在智能眼鏡上顯示測量結(jié)果,實現(xiàn)了智能眼鏡佩戴者對激光跟蹤儀的移動控制,保證了精密測量過程中的測量數(shù)據(jù)的閉環(huán)傳遞,能夠減少在測量過程中的不必要語言交流,提高測量工作效率。理論上可將完成測量任務(wù)的測量人員最低人數(shù)由兩人減少為一人,減少了人力成本。但是,本系統(tǒng)目前只能夠滿足工業(yè)現(xiàn)場測量的部分測量需求,部分其他輔助功能仍待開發(fā)與完善。
圖7 測量試驗現(xiàn)場Fig.7 Physical picture of a measurement situation
表2 測量坐標表
表3 距離結(jié)果對比表mm
[1]陳東義,夏侯士戟,黃志奇,等. 面向工業(yè)應(yīng)用的可穿戴計算技術(shù)[J]. 電子科技大學學報, 2009(5):678-686.
CHEN Dongyi, XIAHOU Shiji, HUANG Zhiqi, et al. Wearable computing technology for industrial applications[J]. Journal of University of Electronic Science and Technology of China,2009(5): 678-686.
[2]ALEKSY M, RISSANEN M J.Utilizing wearable computing in industrial service applications[J]. Journal of Ambient Intelligence &Humanized Computing, 2011, 5(4): 394-400.
[3]夏侯士戟,陳東義,黃志奇. 基于可穿戴計算的現(xiàn)場作業(yè)輔助模式[J]. 計算機集成制造系統(tǒng), 2007, 13(11): 2269-2275.
XIAHOU Shiji, CHEN Dongyi, HUANG Zhiqi. On-site task assistant pattern based on wearable computing[J]. Computer Integrated Manufacturing Systems, 2007, 13(11): 2269-2275.
[4]夏侯士戟. 基于可穿戴計算的企業(yè)現(xiàn)場作業(yè)輔助系統(tǒng)及關(guān)鍵技術(shù)研究[D]. 成都:電子科技大學, 2009.
XIAHOU Shiji. Study on enterprise on-site task assistant system and key technologies based on wearable computing[D]. Chengdu: University of Electronic Science and Technology of China,2009.
[5]白寰. 基于可穿戴計算的設(shè)備維護協(xié)同作業(yè)支撐系統(tǒng)研究[D]. 成都:電子科技大學, 2009.
BAI Huan. Wearable computing supported cooperative work system for equipment maintenance[D]. Chengdu: University of Electronic Science and Technology of China, 2009.
[6]MURAKAMI K, KIYAMA R, NARUMI T, et al. Poster: A wearable augmented reality system with haptic feedback and its performance in virtual assembly tasks[C]// 3D User Interfaces(3DUI), 2013 IEEE Symposium on. IEEE, 2013:161-162.
[7]HAO Y, HELO P. The role of wearable devices in meeting the needs of cloud manufacturing: A case study[J]. Robotics and Computer-Integrated Manufacturing, 2015, 45:168-179.
[8]鄭聯(lián)語,朱緒勝,姜麗萍. 大尺寸測量技術(shù)在航空制造業(yè)中的應(yīng)用及關(guān)鍵技術(shù)[J].航空制造技術(shù), 2013(7): 38-41.
ZHENG Lianyu, ZHU Xusheng, JIANG Liping. Application of large-scale measurement in aviation manufacturing and its key technology[J].Aeronautical Manufacturing Technology, 2013(7):38-41.
[9]董伯麟,王治森,王純賢. 基于數(shù)字化人的車間數(shù)字化制造系統(tǒng)[J]. 中國機械工程, 2008, 19(15): 1815-1820.
DONG Bolin, WANG Zhisen , WANG Chunxian. Digtital manufacturing shop based on digital human[J]. China Mechanical Engineering,2008, 19(15): 1815-1820.
[10]胡寶海. 基于emScon的多激光跟蹤儀協(xié)同測量關(guān)鍵技術(shù)研究[D]. 杭州:浙江大學, 2012.
HU Baohai. emScon-based collaborative measurement technologies of multi-laser tracker[D]. Hangzhou: Zhejiang University, 2012.
[11]李杰. 面向智能眼鏡的交互控制系統(tǒng)研究及實現(xiàn)[D]. 成都:電子科技大學, 2015.
LI Jie. Study and implementation of interactive control system for the smart glass[D].Chengdu:University of Electronic science and Technology of China, 2015.