?

增強現實環境下裝配操作感知方法研究

2024-03-21 05:54梁劍斌何漢武吳悅明胡兆勇徐梓麒
機械科學與技術 2024年2期
關鍵詞:單位向量扳手位姿

梁劍斌,何漢武 , ,吳悅明,胡兆勇,徐梓麒

(1.廣東工業大學 機電工程學院,廣州 510006;2.廣東工貿職業技術學院,廣州 510006)

虛擬裝配技術已廣泛應用在人工機械裝配培訓課程中[1],該技術可有效減少零部件損耗、培訓成本[2-3]。虛擬裝配系統的人機交互是提升培訓效果的關鍵,為此研究者將自然虛擬裝配操作作為研究目標。其通用的研究方法首先采用攝像頭[4]、數據手套[5]、體感傳感器[6]等設備采集操作者的手部甚至全身姿態信息,并把該信息與虛擬環境中的虛擬替身作綁定;接著根據虛擬替身與虛擬物體之間的相互位姿、碰撞等信息識別操作者的虛擬操作;最后根據操作修改虛擬場景內容并輸出場景畫面以完成交互。胡弘等以虛擬手指尖與虛擬物的距離為特征,實現單手抓取,并以此構建適用于航天員訓練的虛擬裝配交互模型[7]。包文運等以虛擬手與虛擬物的接觸點計算為基礎,構建虛擬物空間位姿自適應調整算法,實現三維模型抓取、推、抬等單手交互操作的精確模擬[8]。緒玉花等將機械零件進行歸類,并為每類零件設計單獨的單手抓取手勢,實現虛擬裝配交互性的提高[5]。熊巍等以拇指尖與其他指尖的距離為特征,建立單手抓取手勢識別算法,并在此基礎上根據整個手部運動趨勢識別3 種裝配手勢,細化了虛擬操作表達[9]。袁偉等以虛擬手形狀與虛擬手物距離為特征,實現抓握、捏取、托舉等單手裝配手勢識別[10]。Ong 等將裝配操作時手部形態定義為相對固定形狀,實現基于拇指與食指碰撞檢測的單手虛擬抓取[4];并在此基礎上加入虛擬操作力反饋,使得交互更為真實[11]。

從實際執行的角度看,人工機械裝配操作是一個基于操作者手部操作的流程化工作,其一般工作流程可用以下循環表達:

1)開始階段:抓取當前工序所需零部件或工具;

2)執行階段:按照工藝要求執行操作;

3)結束階段:操作達到要求,執行下一步操作。

綜合以上內容,現有自然虛擬裝配操作研究多集中裝配操作的在開始階段,所使用的交互模型仍存在以下不足:

1)對雙手協同操作關注較少,不能表達部分常見雙手裝配操作,例如雙手搬動大型零部件、雙手使用套筒扳手等;

2)缺少單步操作工作量描述,不能完整表達需重復累積完成的操作,例如:扳手繞螺紋軸線旋轉一定累積角度以完成螺紋連接、錘頭重復多次打擊齒輪以完成過渡配合齒輪壓入等。

針對自然虛擬裝配操作研究存在不足,本文提出面向增強現實的裝配操作感知模型,實現人工機械裝配過程參數化描述。針對模型對虛擬物體位姿求解的需求,提出基于裝配運動特征的位姿計算方法。針對模型的關鍵狀態求解,給出其計算方法。以汽車變速箱為例,開發應用案例驗證操作感知模型有效性。

1 增強現實裝配操作感知模型

由于機械裝配是基于裝配工藝的流程化操作,因此定義增強現實裝配操作感知模型Mop由s步裝配操作mops組成。mops包含元素有:真實手部集合H、被操作的虛擬工具及零部件(以下簡稱:虛擬物體)集合VO、VO在世界坐標系ow-xwywzw下的幾何約束集合FC、VO在ow-xwywzw下的起始與目標位姿集合DM、操作工作量集合cv和時序組成t,Mop為

式中:t,s∈N。

H是Mop內唯一實物元素,表達式如式(2)所示。單個手部姿態hi中包含元素有:手部坐標系oih-xihyihzih、位姿矩陣Mih、指尖點集pih、手指關節彎曲角度集合αih。

式中:i為手部標識序號,i={0, 1},h0為左手,h1為右 手;pih={pihm,m={1, ···, 5}};αih={αihn,αihn∈[π∕2,π],n={1, ··· ,15}}。

以左手為例,hi中各個元素與手部的對應關系圖1 所示。圖中,vihz為oih-xihyihzih在zih方向上的單位向量。

圖1 手部元素與真實手部的對應關系Fig.1 Correspondence between hand elements and a real hand

VO表達式如式(3)所示,虛擬物體voj包含元素有:物體坐標系ojvo-xjvoyjvozjvo、位姿矩陣Mjvo、包圍盒集合cbjvo。

式中:j為虛擬物體標識序號,其取值范圍不固定,當操作所需的虛擬物體只有1 個時,j={0},當操作所需的虛擬物體有兩個時,j={0,1}。

由于FC和DM包含的元素與voj是一一對應,因此FC和DM的元素個數取決于j的取值范圍。

FC表達式為

單個虛擬物體運動約束fcj包含元素有:固定點pjfc、平移軸向vjfc、旋轉狀態qjfc。

DM表達式為

單個虛擬物體位姿參數集合dmj包含元素有:目標坐標系ojdm-xjdmyjdmzjdm、初始位姿Mjdm0、目標位姿Mjdm、zjdm方向的誤差范圍hjdm、ojdm-xjdmyjdm平面內的誤差半徑rjdm、旋轉誤差角度αjdm。

cv表達式為

其包含元素有:操作所需累積次數ncv、操作所需旋轉角度αcv。

t的作用是記錄mops操作時長,設變量e為文中除t外的任意變量,則e在t時刻的取值記為et。

Mop內各元素在ow-xwywzw內位置關系如圖2所示。由圖2 可知,H和VO是隨著t變化而變化,需要實時求取。FC、DM和cv則是常量集合,其取值與當前操作的工藝需求相關。除了手部和虛擬物體的運動感知,Mop還需要對操作進程進行感知。在Mop內,mops根據序號s順序執行。而在mops內,運行流程是隨著t的增加循環執行,每次循環流程如圖3 所示。

圖2 裝配操作感知模型元素空間關系Fig.2 Spatial relationship among elements in the assembly operation perception model

圖3 單步操作在t 時刻工作流程Fig.3 Workflow of single operation at time t

圖3 中,qGj為voj的抓取狀態,取值范圍為{0,1,2}。0 代表未被抓取,1 代表被單手抓取,2 代表被雙手抓取。

qN為所有voj的到位狀態,取值范圍為{0,1}。0 代表未到位,1 代表到位。

qA為操作完成狀態,取值范圍為{0,1}。0 代表未完成,1 代表完成。

由上述可知,Mop運行關鍵是求解真實手部H、被操作的虛擬物體VO和模型的關鍵狀態qGj、qN和qA。其中,H求解的相關理論已在作者前期研究[12]中詳細闡述。因此,下文將著重闡述VO和模型關鍵狀態的求解方法。

為了簡化下文部分公式復雜度,定義以下符號:

定義1 定義θ(a,b)為三維空間內單位向量a、b的夾角[13]。

定義2 定義v⊥(a,b)為三維空間內與單位向量a、b的向量積[13]共向的單位向量。

定義3 根據三維變換矩陣性質[14],定義M(R|t)為三維變換矩陣M的擴展表達;其中,t為M內含的平移向量,R為M內含的旋轉矩陣。

定義4 定義R(v,θ)為三維空間內任意點繞單位向量v按右手方向旋轉角度θ的旋轉矩陣,其計算方法可由羅德里格斯旋轉公式[15]求出。

定義5 定義Rvr(a,b)為三維空間內單位向量a變換為b的旋轉矩陣,其計算公式為

定義6 設a1,a2和b1,b2為三維空間內兩組互相垂直的單位向量組,定義Rcr(a1,a2,b1,b2)為a1,a2變換為b1,b2的旋轉矩陣,計算公式為

定義7 設a、b為三維空間內單位向量,b為平面P的法向量,定義vPrj(a,b)為與a在P上的投影共向的單位向量,其計算公式為

定義8 在三維空間內,設p為任意有向線段pp'的起點,v為與共向單位向量,α為繞v右手旋轉角度,定義MR(p,v,α)為三維空間內任意點繞pp'旋轉的變換矩陣,其計算公式為

式中:E為3 × 3 單位矩陣;0=[0 0 0]T。

2 面向裝配需求的虛擬物體位姿計算

2.1 裝配運動特征定義及其位姿計算應用

真實機械裝配中,工具或零部件運動的特點:

1)大多需要手部直接操作,這意味著被手部操作的工具或零部件運動中心點相對自身并不固定,與手部抓取位置相關;

2)在手部操作過程中,手部與被操作工具或者零部件一般保持相對靜止;

3)由于機械裝配體涉及大量基于軸向的定位與緊固,因此工具或零部件運動經常受基于軸線的約束,例如:螺釘繞螺紋軸線緊固或放松、軸承沿軸頭軸向壓入等。

根據以上特點,提出一種基于裝配運動特征的位姿變化計算方法以描述voj在ow-xwywzw內的運動。

因此,Mjvo的求解可轉化為的求解。

從t-1 時刻到t時刻,假設在ow-xwywzw內存在點phvj、單位向量vhvj,使得過phvj,方向為vhvj的直線與ojvo-xjvoyjvozjvo相對靜止,即phvj和vhvj滿足

則稱phvj、vhvj為voj在t時刻的運動特征點和運動特征向量。

假設ow-xwywzw內存在繞vhvj旋轉角度αhvj滿足式(13),則稱αhvj為voj在t時刻運動特征角。

phvj、vhvj、αhvj合稱為voj在t時刻的裝配運動特征。根據裝配運動特征定義,表達為

2.2 各運動方式的裝配運動特征計算

在進行計算前,需要對手部交互進行一定限制:

1)所有虛擬物體必須由手部抓取物體后帶動;

2)在抓取物體后,手指姿態無明顯變化。

根據以上限制,只有手部整體位姿變化可引起虛擬物體位姿變化。另外,由于部分操作對虛擬物體存在幾何約束,需要根據約束類型對虛擬物體運動方式進行歸類。根據fcj各個元素取值,可使voj執行各種運動方式,具體對應關系如表1 所示。下面針對各種運動方式,給出裝配運動特征計算方法。

表1 幾何約束與虛擬物體運動方式的對應關系Tab.1 Correspondence between geometric constraints and virtual object movement modes

2.2.1 自由移動

對于單手抓取物體的自由移動,裝配運動特征計算方法式為:

對于雙手抓取物體的自由移動,裝配運動特征計算方法為:

其中:β0和β1計算方法為

2.2.2 沿軸線移動

對于沿軸線移動,phvj和vhvj可用式(18)表達。因此,只需根據qGj和pjfc計算phvj和αhvj。

式中τ為位移系數,計算方法為

αhvj計算方法為

2.2.3 繞固定點轉動

繞固定點轉動一般用于描述螺紋緊固或放松操作時扳手的運動。在實際使用扳手時,通常是右手主發力,所以繞固定點轉動的裝配運動特征計算只有右手參與,其計算方法為:

3 感知模型關鍵狀態計算方法

3.1 虛擬操作抓取狀態計算

由于主流三維引擎已集成成熟碰撞檢測算法,所以僅對碰撞狀態進行定義。

在ow-xwywzw空間內,設pw為任意點,cb為任意包圍盒集合。記q(pw,cb)為pw與cb的碰撞狀態,取值范圍為{0,1}。0 代表為碰撞,1 代表碰撞。

設g(hi,voj)為hi抓取voj的狀態,其計算依據是拇指指尖與任一另外指尖或掌心與任一指尖是否同時碰撞到虛擬物體,計算方法為

對于qGj的計算,需要根據兩個手部對該物體的抓取狀態判斷,其計算方法為

3.2 虛擬物體到位狀態計算

設voj到位狀態為qNj,其計算依據是Mjvo與Mjdm重合度。由于三維變換可分解為旋轉和平移,因此使用平移重合狀態qjND和旋轉重合狀態qjNR以計算qNj。qNj計算方法為

qjND計算依據是判斷ojvo是否進入特定空間內。當hjdm有取值,這個空間為圓柱體;當hjdm無取值,這個空間為球體。qjND計算公式為

qjNR計算依據是ojvo-xjvoyjvozjvo與ojdm-xjdmyjdmzjdm坐標軸方向夾角小于αjdm,其計算公式為

式中:vjdmx、vjdmy、vjdmz為ojdm-xjdmyjdmzjdm坐標軸方向上單位向量;vjvox、vjvoy、vjvoz為坐標軸ojvo-xjvoyjvozjvo方向上單位向量。

qN的判斷依據是所有voj是否到位,其計算方法為

3.3 虛擬操作完成狀態計算

設VO在操作中累積有效旋轉角度為 αtr,累積有效操作次數為ntr,則qA計算方法為

ntr的本質是記錄當前操作qN的觸發次數,計算方法不作詳述。 αtr的計算方法為:

式中:βr為voj從t-1 到t繞vjdmz旋轉角度;αr為voj旋轉方向系數。

4 試驗案例

4.1 交互場景及硬件配置

為驗證增強現實裝配操作感知模型的可行性,開發了以某汽車變速箱為裝配對象的維修培訓案例,變速箱虛擬模型如圖4 所示。圖5 展示驗證案例的交互場景。場景的正上方和正面放置了RGBD 相機和彩色攝像頭,用于采集操作者手部動作。RGBD 相機可同時采集深度圖像和彩色圖像;深度圖像分辨率512 × 424,彩色圖像分辨率為1 920 × 1 080,采集速率皆為30 fps。彩色攝像頭采集圖像的分辨率為1 280 × 720,采集速率為30 fps。在實際使用時,操作者需要佩戴光學透視式頭戴顯示器以接收系統反饋。頭戴顯示器的視場角為70° × 50°,投影顯示屏分辨率為1 920 × 1 080。系統計算機硬件配置為:CPU 為Intel i7-10700,顯卡為Nvidia RTX2070 Super,內存容量32G。

圖4 汽車變速箱三維模型Fig.4 3D model of automobile gearbox

圖5 交互場景實景圖Fig.5 An interactive scene

4.2 常見機械裝配操作求解

該變速箱裝配所用到的裝配操作類型有:放置、錘擊、壓入、懸停以及扭動扳手。

放置是最常用的操作類型,主要實現零部件和工具定位。圖6 展示了雙手放置蓋板的操作。

圖6 放置操作過程Fig.6 Process of set operation

蓋板放置操作需使用參數的設置如表2 所示。從參數取值可知,該操作僅需操作單個物體;物體運動無約束;物體中心到達指定位置并且姿態正確即可完成操作。

表2 放置操作參數Tab.2 Parameters of set operation

錘擊常用于過盈配合零件的裝配,實現操作者錘擊動作感知。圖7 展示了使用錘擊打入齒輪。對于真實錘擊操作,操作者應一手將墊木固定在零件上,另一手持錘子重復打擊墊木以完成零件裝配。

圖7 錘擊操作過程Fig.7 Hammering operation process

因此,錘擊打入齒輪操作需使用參數的設置如表3 所示。從參數取值可知,該操作需每個手部單獨操作一個物體(墊木或錘子);物體運動無約束,墊木操作要求中心到位且姿態規整;錘子操作要求每次錘擊中心落在一個圓柱空間內且姿態規整,該圓柱空間高度h1dm取值較少與半徑r1dm取值較大,以模擬錘子對墊木的打擊面;錘擊需重復ncv次。

表3 錘擊操作參數Tab.3 Parameters of hammering operation

壓入常用于過渡或間隙配合零件的裝配,實現操作者手部壓入零件動作感知。圖8 展示了手部壓入齒輪操作。

圖8 壓入操作過程Fig.8 Push-in operation process

壓入齒輪操作需使用參數的設置如表4 所示。從參數取值可知,該操作僅需操作單個物體;物體必須沿軸線運動且不能旋轉,以模擬齒輪配合對運動的限制;物體中心到達指定位置并且姿態正確即可完成操作。

表4 壓入操作參數Tab.4 Parameters of push-in operation

懸停常用于垂直面零部件定位,圖9 展示了撥叉箱外手柄裝配操作。在真實裝配中,懸停與放置功能類似,兩者區別在于懸停操作的零件不受其他零部件承托,需要一手固定零件位姿,另一手放置螺釘以完成操作。

圖9 懸停操作過程Fig.9 Hover operation process

撥叉箱外手柄裝配需使用參數的設置如表5 所示。從參數取值可知,該操作需操作兩個物體(撥叉箱外手柄和螺釘);物體運動無約束;物體中心到達指定位置并且姿態正確即可完成操作。

表5 懸停操作參數Tab.5 Parameters of hover operation

扭動扳手常用于螺紋連接裝拆操作,圖10 展示了使用棘輪扳手裝配蓋板螺釘。在真實螺紋連接裝拆中,扳手運動總是以鉗口為基點,繞螺紋軸線作右手或左手旋轉。因此,在對扳手類工具進行三維建模時,將其模型中心設置在鉗口上以簡化后續計算。在設置目標位姿時,可調整ojdm-xjdmyjdmzjdm姿態,使得zjdm朝向平行螺紋軸線,調整zjdm朝向以實現有效旋轉方向的控制。

圖10 扭動扳手操作過程Fig.10 Twisting wrench operation process

使用棘輪扳手裝配蓋板螺釘的參數設置如表6所示。從參數取值可知,該操作僅需操作單個物體;物體必須繞定點旋轉,以模擬扳手繞螺釘旋轉的運動;物體中心應到達指定位置;物體需要累積有效旋轉角度為αcv。

表6 扭動扳手操作參數Tab.6 Parameters of twisting wrench operation

5 結論

針對現有自然虛擬裝配操作模型在雙手協同操作、操作工作量等操作內容表達上存在不足,提出增強現實環境下的裝配操作感知模型。該模型可實現單手或雙手協同虛擬裝配操作,并且可表達單步操作所需工作量。試驗結果證明,該方法可對表達5 種常見裝配操作,滿足增強現實環境下徒手虛擬裝配培訓需求。

在進一步研究中,將探索可同時識別手部和機械零部件的視覺識別算法,驗證在操作者和裝配體都為實物的裝配環境下操作感知模型的可行性。將模型的適用場景從虛擬培訓推廣到實際機械裝配培訓和實時引導,擴大理論的適用范圍。

猜你喜歡
單位向量扳手位姿
扳手為什么會掉頭
聚焦單位向量的常見題型
單位向量用途大
液壓扭矩扳手的不確定度評定
“戰車金扳手”的初心
不容忽視的基本概念—單位向量
基于共面直線迭代加權最小二乘的相機位姿估計
基于CAD模型的單目六自由度位姿測量
國際空間站打印出首個3D扳手
小型四旋翼飛行器位姿建模及其仿真
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合