霍志宇
(中國航空制造技術(shù)研究院,北京 100024)
飛機裝配過程中人工的介入必不可少。因此,提高人工環(huán)節(jié)的效率和質(zhì)量對于飛機裝配全過程的效率和質(zhì)量有顯著的提升作用。人工裝配中將裝配指令更加直觀、準確地向作業(yè)人員傳遞是提升裝配效率的關(guān)鍵,也是保證裝配質(zhì)量的核心。增強現(xiàn)實(Augmented reality,AR)技術(shù)可以將虛擬模型疊加顯示至真實場景以對場景中的重要信息進行提示和標注,這種功能被稱為虛實融合。利用AR技術(shù)建立具備虛實融合功能的輔助裝配系統(tǒng),將可視化的產(chǎn)品裝配指令疊加顯示在目標位置,使裝配人員更加直觀地獲得裝配所需的工件、工具和裝配工藝、裝配工序等信息,從而提高人工裝配作業(yè)速度并防止錯裝、漏裝問題的發(fā)生。國內(nèi)外航空制造領(lǐng)域?qū)R輔助裝配技術(shù)進行了深入研究和廣泛實踐。美國波音公司運用谷歌眼鏡研發(fā)能在工人視野中疊加布線路徑和文字信息的AR系統(tǒng),從而協(xié)助飛機制造中電力線纜的連接和接線器裝配工作[1];洛克希德·馬丁公司利用微軟Hololens AR眼鏡將獵戶座飛船的數(shù)字模型疊加顯示在被裝配的船體上,以對人工裝配任務進行可視化引導[1];國內(nèi)上海交通大學、西北工業(yè)大學均對飛機裝配中的AR輔助裝配技術(shù)進行研究并測試了原型產(chǎn)品[2–3]。
AR眼鏡、智能手機等AR設(shè)備采用相機等傳感器追蹤環(huán)境中形態(tài)穩(wěn)定、特征明顯的目標以實時估計自身六自由度(6DoF)位置和姿態(tài),進而利用相機位姿信息將虛擬模型渲染為圖像,實現(xiàn)虛實融合效果。被追蹤的目標可為二維碼、條形碼、圖片等平面標志物[4]或通過物體CAD模型和三維掃描結(jié)果所生成的點云模型[5],AR設(shè)備可在追蹤后直接將虛擬內(nèi)容疊加顯示在目標上。這類方法的精度較高,但需要追蹤時將目標保持在AR設(shè)備的視野內(nèi)且目標的外形特征需保持穩(wěn)定。輔助裝配任務中標記被遮擋或裝配對象的外形變化都會導致跟蹤失敗。因此當前增強現(xiàn)實輔助裝配的應用中多采用同時定位與建圖(Simultaneous localization and Mapping,SLAM)[6]的方法實現(xiàn)空間定位。首先通過觀察標志物或匹配局部點云的方式獲取AR設(shè)備初始位置,隨后通過SLAM在線建立包含場景中特征點信息的AR地圖,并通過跟蹤AR地圖持續(xù)定位。然而這種方法中初始定位誤差以及特征跟蹤和特征點位置測量所產(chǎn)生誤差會在SLAM系統(tǒng)運行中不斷累計,使AR系統(tǒng)的空間定位精度和虛實融合效果下降。當前基于SLAM方法的AR系統(tǒng)的空間定位誤差普遍在1 cm以上,難以滿足AR輔助裝配的需求。
針對這一問題,本文提出一種基于平面標志物信息約束的SLAM空間定位方法,實現(xiàn)AR系統(tǒng)高精度的空間定位。該方法在不依賴平面標志物跟蹤和場景高精度點云模型初始化場景的情況下,利用SLAM過程中觀測到的平面標志物信息約束和重置SLAM地圖,從而生成輔助裝配所需的高質(zhì)量AR地圖,并可適應動態(tài)場景。該方法擴大了增強現(xiàn)實輔助裝配技術(shù)的應用范圍,提升了航空制造中人工裝配環(huán)節(jié)的質(zhì)量和效率,并在某型發(fā)動機外涵道機匣人工裝配站位環(huán)境中進行驗證。
SLAM是指根據(jù)傳感器的信息,一邊計算自身位置,一邊構(gòu)建環(huán)境地圖的過程,其目的為在缺乏或僅有極少量先驗信息的情況下實現(xiàn)在環(huán)境中持續(xù)的自定位[6]。SLAM過程可分為初始化、位姿估計、地圖建立3個步驟(圖1)。初始化即通過匹配已知場景或三角測量創(chuàng)建地圖的方式建立初始地圖并為之后的跟蹤提供初始位姿狀態(tài)信息;位姿跟蹤即通過圖像匹配的方式不斷跟蹤地圖中已知位置的特征點來實時估計相機自身6DoF位姿;地圖建立即相機運動時通過檢測、跟蹤、測量環(huán)境中新的特征點并將其加入地圖,從而擴展可追蹤地圖區(qū)域以擴大SLAM的空間定位范圍。
圖1 SLAM系統(tǒng)過程原理圖Fig.1 Diagram of process of SLAM system
本文中使用圖2所示的平面標志物。該標志物由ArUco碼[7]和圓形標記組合而成。ArUco碼由寬的黑色邊框和確定其標識符的內(nèi)部二進制矩陣組成,具有很高的辨識度。通過文獻[7]中的方法可以快速識別ArUco碼的標識符信息并通過4個角點計算出標記相對于相機的位姿。然而由于圖像噪聲的緣故,角點的識別在距離較遠時會存在較大誤差。圓形標記中由于圓心位置可以利用圓形邊緣的全部像素參與計算,因此其計算精度一般要高于角點。由此本研究利用ArUco碼標識標志物,而將圓形標記用于位姿計算,從而結(jié)合二者的優(yōu)勢實現(xiàn)標志物的快速檢測和精確定位。在圖像中識別標志物時,首先識別平面定位標記中的ArUco碼,隨后根據(jù)二維碼4個角點的方向通過文獻[8]中的霍夫變換方法搜索識別4角方向的4個橢圓形(圓形標記通常會投影成橢圓形)標記并計算標記的圓心位置。
圖2 平面標志物 Fig.2 Planar marker
AR輔助裝配中,AR設(shè)備空間定位過程分為建立AR地圖、空間注冊、視點跟蹤3個步驟,各步驟間關(guān)系如圖3所示,最終實現(xiàn)AR設(shè)備在業(yè)務場景中6DoF位姿的實時定位。
圖3 AR輔助裝配中AR設(shè)備空間定位過程示意圖Fig.3 Diagram of process of localization of AR device for AR-based assembly
步驟1:建立AR地圖。首先將平面標志物布設(shè)在輔助裝配場景坐標系中的已知位置,隨后啟動AR設(shè)備SLAM功能掃描環(huán)境區(qū)域并使AR設(shè)備視野覆蓋平面標志物所在位置。掃描時通過SLAM方法生成包含多個互相關(guān)聯(lián)的關(guān)鍵幀和三維地圖點信息的初始AR地圖(圖4),該地圖坐標系由SLAM算法根據(jù)設(shè)備起始位置和姿態(tài)隨機建立。最后通過對AR地圖關(guān)鍵幀圖像中標志物的識別、跟蹤和基于集束約束(Bundle adjustment,BA)[9]的優(yōu)化過程,將關(guān)鍵幀和地圖點位姿轉(zhuǎn)換至輔助裝配場景坐標系中并優(yōu)化其位姿生成高質(zhì)量的AR地圖。坐標系轉(zhuǎn)換和地圖優(yōu)化方法將在下文中詳細描述。
圖4 AR地圖Fig.4 AR map
步驟2:空間注冊??臻g注冊指AR設(shè)備將所感知的場景信息與上一步中所生成的AR地圖相匹配,確定自身在業(yè)務場景坐標系下的初始位姿[10]。首先,計算AR地圖中所有關(guān)鍵幀中特征點的描述子(如BRIEF[12]等),并通過文獻[11]中的詞袋模型方法,將描述子信息構(gòu)建成為每一幀的特征向量。隨后利用特征向量距離比較、特征點匹配的方法匹配AR地圖中的關(guān)鍵幀和地圖點。最后通過求解3D到2D點對運動的方法(Perspective-n-points,PnP)[13]求得當前AR設(shè)備在業(yè)務場景中的6DoF初始位姿狀態(tài)。
步驟3:視點跟蹤。視點定位指AR設(shè)備通過跟蹤AR地圖不斷實時更新自身6DoF位姿以計算業(yè)務場景中視點的位置和姿態(tài),從而以此為根據(jù)渲染虛擬場景。同時,以步驟1中所生成的AR地圖為初始場景,通過SLAM算法在AR設(shè)備運動中不斷擴展AR地圖范圍,以保證AR設(shè)備不間斷的自定位。
通過SLAM所生成的AR地圖會發(fā)生誤差累計現(xiàn)象[14],從而影響AR系統(tǒng)的虛實融合效果。此外,僅有單相機傳感器的AR設(shè)備生成的AR地圖具有尺度不確定性問題[15]。將識別位姿已知的平面標志物位姿狀態(tài)作為先驗信息約束AR地圖中的關(guān)鍵幀和地圖點位姿信息,可以優(yōu)化地圖并將地圖坐標系的原點、方向和尺度變換至標志物所在的輔助裝配場景坐標系。定義AR地圖中所有n個關(guān)鍵幀的圖像集合為I ={i1,i2,…,in},位姿集合為Ζ ={ζ1,ζ2,…,ζn},m個地圖點坐標集合為P ={p1,p2,…,pm},k個平面標志物所包含的4×k個圓形標記在業(yè)務場景下的位姿為H ={η1,η2,…,η4k}。利用平面標志物信息對AR地圖進行優(yōu)化和坐標變換的過程如下(圖5)。
圖5 基于平面標志物信息的AR地圖的優(yōu)化和地圖坐標系變換過程示意圖Fig.5 Process of using the information of planar marker to optimize and transform an AR map
(1)首先通過裝配場景數(shù)?;?qū)酥疚镂恢眠M行測量的方法獲得平面標志物(包括標志物中圓形標記)在場景中的6DoF位姿信息。
(2)在AR地圖的關(guān)鍵幀圖像集合I中識別出平面標志物1~k和其4角方向圓形標記。通過文獻[7]中的方法計算出標志物中ArUco碼與AR設(shè)備的相對距離和角度,僅當相對距離<0.5 m、角度<15°且4個圓形標記均可見時保留識別結(jié)果。對于4×k個圓形標記,獲得其在可見的關(guān)鍵幀圖像上的像素位置。假設(shè)第j個圓形標記在I′={ia,ib}兩個關(guān)鍵幀中的像素坐標為U ={uja,ujb},通過直接線性轉(zhuǎn)換(DLT)[16]的方法利用像素坐標信息和關(guān)鍵幀位姿信息構(gòu)建A矩陣,并用奇異值分解(SVD)方法計算出該圓形標記在原始AR地圖坐標系上的位置p′j=[pxj,pyj,pzj],式(1)為DLT方法過程:
式中,A為像素坐標和位姿信息所構(gòu)成的矩陣,A通過SVD分解的方法得到U×sigma×Vt。
(3)原始AR地圖坐標x′到AR業(yè)務場景坐標x間的變換T用相似變換[16]描述為
式中,R為旋轉(zhuǎn)矩陣;t為平移向量;s為尺度因子??紤]到部分圓形標記在原始AR地圖坐標系上的位置計算可能存在誤差,因此使用非線性優(yōu)化算法求解T中參數(shù)。定義該優(yōu)化問題的目標函數(shù)為圓形標記變換后位置與真實位置之差的平方和,即
利用Levenberg–Marquardt(L–M)非線性優(yōu)化方法[17]估計T中的R、t、s參數(shù)使T = argmin(O(T))最小化O(T)。隨后利用相似變換T將AR地圖中所有關(guān)鍵幀和地圖點的位置和姿態(tài)轉(zhuǎn)換至業(yè)務場景坐標系中。
(4)利用平面標志物信息優(yōu)化AR地圖中部分關(guān)鍵幀的位姿。首先挑選出識別到2個以上非共線平面標志物的關(guān)鍵幀(為保證精度,圖像中平面標志物連線所成多邊形面積應占圖像總面積的1/4以上)。然后利用標志物上已知的圓形標記圓心三維空間位置和其在關(guān)鍵幀圖像上的投影位置,通過PnP算法求解并重置這些關(guān)鍵幀在AR地圖中的6DoF位姿。
(5)重新計算上一步被優(yōu)化關(guān)鍵幀中觀察數(shù)量多于1次的地圖點的坐標,重置這些地圖點從而獲得精度較高的子地圖。
(6)最后利用BA的方法優(yōu)化其他關(guān)鍵幀和地圖點。構(gòu)建優(yōu)化問題時將高精度子地圖中的關(guān)鍵幀和地圖點信息邊緣化,即將這些信息轉(zhuǎn)化為對地圖中其他關(guān)鍵幀和地圖點構(gòu)成的先驗約束,從而糾正地圖中的累計誤差因素。優(yōu)化問題的目標函數(shù)定義為
式中,π(ζ,p)代表坐標為p的地圖點在位姿為ζ的關(guān)鍵幀上所計算出的重投影坐標,ν代表該地圖點在此關(guān)鍵幀圖像上所觀察到的投影。目標函數(shù)由3部分相加而成,分別為G個高精度子地圖上的地圖點在A個未優(yōu)化關(guān)鍵幀上重投影誤差平方之和;H個未優(yōu)化地圖點在B個高精度子地圖關(guān)鍵幀上重投影誤差平方之和;以及L個未優(yōu)化地圖點在C個未優(yōu)化關(guān)鍵幀上重投影誤差平方之和。通過L–M方法求解優(yōu)化函數(shù)每1項中的ζa、ph、ζc、pl使得O(Z,P)的值最小化,最終獲得如圖6所示的高質(zhì)量AR地圖。
圖6 AR地圖的優(yōu)化和坐標系變換Fig.6 Optimization and transform for AR map
對空間定位方法在輔助裝配場景中進行驗證,驗證中使用手機相機作為AR設(shè)備傳感器平臺,連接工作站作為計算單元(配置為Windows10系統(tǒng)、Intel i5處理器、8 GB內(nèi)存),場景為某型發(fā)動機外涵道機匣人工裝配站位,以數(shù)字模型為基礎(chǔ)建立輔助裝配場景坐標系。為確保定位效果,需將平面標志物安裝在剛度好、距離裝配基準點近的位置。既要覆蓋業(yè)務場景范圍以保證AR地圖的優(yōu)化效果,又要盡量避免對人工裝配工作造成干擾。由于裝配場景中工件和工裝的相對位置固定,因此將標志物固定在工裝的基準位置附近(圖7)并通過測量獲得安裝位置。
圖7 驗證場景Fig.7 Scenario for validation
驗證時首先啟動AR設(shè)備,通過ORB–SLAM2方法[18]建立業(yè)務場景的AR地圖。ORB–SLAM2方法是SLAM研究領(lǐng)域精度、穩(wěn)定性最好的算法之一,也是多種AR產(chǎn)品空間定位功能的原型系統(tǒng)。驗證中使用者移動AR設(shè)備建立覆蓋場景內(nèi)所有區(qū)域的AR地圖,并在掃描場景時遍歷所有的標志物使其盡可能多地出現(xiàn)在AR地圖中關(guān)鍵幀的視野中。然后啟動地圖坐標系變換和優(yōu)化程序并保存變換后的AR地圖。最后,啟動AR設(shè)備的空間定位功能,利用變換、優(yōu)化后的AR地圖信息實現(xiàn)空間注冊和視點跟蹤。
驗證中共進行10次空間定位軌跡數(shù)據(jù)采集,每次AR系統(tǒng)首先掃描場景并通過本文方法和ORB–SLAM2方法分別建立AR地圖,然后再次啟動AR系統(tǒng),通過不同的AR地圖進行空間注冊和視點定位并獲得兩條相應的空間定位軌跡。最后將兩條軌跡與通過紅外標記跟蹤方式獲取的真實值(誤差<0.2 mm)相比較計算絕對軌跡誤差(Absolute trajectory error,ATE)。軌跡信息和測試結(jié)果如表1所示。圖8為其中1次測試中使用本文方法所生成的軌跡和ORB–SLAM2方法所生成的軌跡的對比。
圖8 本文方法與ORB–SLAM2所生成的軌跡對比(真實軌跡為兩圖中的藍色軌跡)Fig.8 Comparison of trajectories of method in the paper and ORB–SLAM2 (blue trajectories in both figures are ground truth)
表1 本文方法與ORB–SLAM2方法結(jié)果對比Table 1 Comparison of metrics between method in the paper and ORB–SLAM2
驗證中建立AR地圖用時平均為15 s,AR地圖優(yōu)化和變換過程用時平均為0.44 s。使用本方法進行空間定位所獲得的絕對軌跡誤差為0.0046 m,作為對照的ORB–SLAM2方法(利用ArUco碼初始定位)為0.0163 m,本方法誤差明顯低于對照方法。根據(jù)空中客車公司的一項研究,AR系統(tǒng)的空間定位誤差<0.01 m時,可滿足航空制造人工裝配任務中可視化引導的最低要求[19],因此本方法可用于實現(xiàn)部分輔助裝配任務AR可視化引導功能。圖9展示了使用本方法在驗證場景和模擬試驗件上所獲得的虛實融合效果,其中圖9(a)為在裝配場景中疊加顯示裝配對象的效果,圖9(b)為在模擬試驗件上顯示待裝配零件模型的效果。
圖9 人工裝配場景中的AR虛實融合Fig.9 AR mixture reality in scenario of assembly
通過分析軌跡數(shù)據(jù)總結(jié)ORB–SLAM2方法誤差較大的原因在于: (1)通過觀察單個ArUco碼所獲得的空間定位結(jié)果精度不足,產(chǎn)生了初始位姿的誤差,這個誤差無法通過ORB–SLAM2系統(tǒng)中自身的局部或全局地圖優(yōu)化機制消除; (2)ORB–SLAM2系統(tǒng)地圖擴展時產(chǎn)生的累計誤差會隨AR設(shè)備與初始位置距離增加而增大; (3)ORB–SLAM2所建立的AR地圖中地圖點的位置信息缺乏可靠的約束進行修正,導致依賴這些地圖點的定位結(jié)果誤差較大。
(1)本文提出的方法融合標志物定位和SLAM定位兩種空間定位方法的技術(shù)特點,實現(xiàn)了輔助裝配場景下高精度的定位效果。AR設(shè)備在輔助裝配任務中無需時刻追蹤平面標志物也可依靠標志物信息約束建立的AR地圖實現(xiàn)精確的空間定位。文中設(shè)計了ArUco碼和圓形標記相結(jié)合的平面標志物,通過對不同類型標記的組合滿足了平面標志物辨識度與跟蹤精度的要求。該方法不依賴特定的設(shè)備或平臺,對于基于單目、多目視覺的AR系統(tǒng)均能適用。
(2)對于飛機裝配等復雜的人工裝配任務,可在裝配場景中的工裝、工件中的某些基準位置布設(shè)平面標志物,利用本方法在裝配任務開始前快速建立SLAM定位所需的高精度AR地圖,從而實現(xiàn)各類AR設(shè)備(手持AR平板、AR眼鏡等)的空間定位功能。
(3)針對復雜裝備裝配過程中場景形態(tài)變化較大的問題,由于本方法以預先定位的平面標志物進行AR地圖的優(yōu)化和坐標系變換,因此只需保持裝配過程中平面標志物相對于裝配對象基準點位置關(guān)系的穩(wěn)定,即使由于裝配對象外形變化造成AR地圖中特征點丟失引起空間定位失敗,系統(tǒng)也能快速將AR地圖重置于原坐標系下,恢復AR可視化引導功能。
(4)該項技術(shù)僅需通過模型或測量的方式獲得平面標志物在輔助裝配場景坐標系下的位姿信息即可實現(xiàn)高精度的空間定位,對于缺乏高保真三維數(shù)字模型的裝配場景或裝配對象也可實現(xiàn)高質(zhì)量的AR虛實融合功能,縮短了用于輔助裝配的AR工具的開發(fā)周期,擴大了AR技術(shù)的應用范圍。