本發(fā)明涉及機械臂控制,具體涉及一種基于目標(biāo)物體數(shù)字孿生的機械臂遙操作交互方法。
背景技術(shù):
1、在傳統(tǒng)系統(tǒng)中,用戶使用操縱桿、游戲手柄、鍵盤和鼠標(biāo)控制遠程機械臂,并同時接收來自2d顯示器的視覺反饋,而使用2d顯示器來觀察工作場景,會導(dǎo)致用戶在獲取工作場景信息方面有困難。單個2d顯示器只能從一個方向觀察工作空間,在這種情況下,用戶不能直接感知深度,同時在判斷機械臂末端器和工件之間距離上也有困難。此外用戶在操作時需要同時關(guān)注顯示器和控制器,導(dǎo)致交互過程中用戶無法專注于機械臂的控制上。多攝像機布局雖然允許用戶觀察和判斷不同視角下物體之間的距離,從而補償只有一個單目2d攝像機的限制,但通過多個2d攝像機反饋來避免機械臂和周圍的物體碰撞,使得遙控機器人系統(tǒng)變得更加復(fù)雜,必然導(dǎo)致機械臂操作的低效和增加操作者工作負擔(dān)。
2、混合現(xiàn)實(mr)提供了一個三維、立體、虛擬與現(xiàn)實結(jié)合的場景和更加自然、直觀的交互,使用戶更容易理解工作環(huán)境,提供更好的用戶體驗。通過mr,將2d可視化改進為3d可視化,可以提供更加立體的工作場景和一定的深度信息。這主要是將2d顯示器替換為點云界面、純虛擬界面或者點云與真實機器人同時顯示的界面,其中點云界面面臨數(shù)據(jù)量過大會導(dǎo)致實時性不足的問題;在mr中還可以通過顯示有關(guān)機械臂操作的額外信息來幫助用戶更好地理解工作場景,如機械臂末端器的終點位姿、機械臂的安全區(qū)域、規(guī)劃的機械臂運動軌跡等;mr還可以用于改變機械臂的操作方法,主要有使用語音識別和頭部注視來選擇虛擬抓手的姿勢、通過手勢移動虛擬末端器來控制真實的機械臂,使用一系列航點(航點是機械臂末端器必須移動到的位姿)創(chuàng)建和編輯機器人的運動。
3、盡管mr界面給機械臂的遙操作帶來了更好的用戶體驗,但目前三維虛擬場景主要以點云形式呈現(xiàn),而點云模型的數(shù)據(jù)量往往十分巨大,這導(dǎo)致實時場景模型、數(shù)據(jù)轉(zhuǎn)換和描繪非常困難。同時,點云模型僅能顯示掃描設(shè)備所面對的區(qū)域,對于無法掃描到的物體背面則沒有點云顯示。在操作方式上,目前基于混合現(xiàn)實的機械臂遙操作方法主要是對末端器進行操作,這種方法在mr環(huán)境下不夠直觀且操作復(fù)雜,在多物體環(huán)境下容易發(fā)生碰撞。
技術(shù)實現(xiàn)思路
1、本發(fā)明要解決現(xiàn)有技術(shù)中基于混合現(xiàn)實的機械臂遙操作方法存在的重建過程數(shù)據(jù)量過大、在mr環(huán)境下不夠直觀且操作復(fù)雜的問題,提供一種基于目標(biāo)物體數(shù)字孿生的機械臂遙操作交互方法。本發(fā)明的交互方法,是一種直接對目標(biāo)物體的交互操作方式,減少由于用戶的操作失誤而發(fā)生的不必要的碰撞,同時降低使用時的工作量和使用難度;使用預(yù)制三維模型代替點云模型,極大減少了需要傳輸?shù)臄?shù)據(jù)量,保證了實時性,提高了用戶體驗。
2、為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案具體如下:
3、一種基于目標(biāo)物體數(shù)字孿生的機械臂遙操作交互方法,包括以下步驟:
4、所述的機械臂遙操作交互方法適用的系統(tǒng)包括:機械臂、服務(wù)器、rgb相機、深度相機和hololens設(shè)備;所述深度相機、rgb相機、機械臂、hololens設(shè)備分別與所述服務(wù)器連接,所述深度相機和rgb相機固定在所述機械臂上;
5、步驟1:通過rgb相機和深度相機獲得機械臂周圍環(huán)境物體的rgb圖像和深度圖像,服務(wù)器讀取獲取到的rgb圖像和深度圖像,并利用獲取的圖像對場景中的物體進行識別和定位;
6、步驟2:在步驟1獲取物體的類別和位置后,服務(wù)器將相關(guān)信息發(fā)送給hololens設(shè)備,hololens設(shè)備便會在虛擬場景的對應(yīng)位置生成真實物體的數(shù)字孿生;
7、步驟3:用戶通過hololens設(shè)備的手勢識別,抓取虛擬物體,并移動到想要的位置,在用戶按下虛擬的確認按鈕后,hololens設(shè)備便會檢測所有虛擬物體,判斷出已移動的虛擬物體,并將這些虛擬物體的類別和目標(biāo)位置發(fā)送到服務(wù)器,服務(wù)器自主控制機械臂將對應(yīng)的真實物體從當(dāng)前位置移動到目標(biāo)位置。
8、在上述技術(shù)方案中,步驟1中服務(wù)器利用獲取的圖像對場景中的物體進行識別的步驟如下:
9、以顏色識別不同的物體,服務(wù)器對rgb圖像依次進行高斯模糊處理、轉(zhuǎn)換hsv圖像、腐蝕處理后,通過設(shè)置hsv圖像的顏色范圍,以獲取對應(yīng)顏色的邊界框,并用四個值(x,y,w,h)表示,其中(x,y)表示邊界框的左上角,(w,h)表示邊界框的寬度和高度,以此計算物體邊界框的中心在rgb圖像中的像素坐標(biāo)
10、在上述技術(shù)方案中,步驟1中服務(wù)器利用獲取的圖像對場景中的物體進行定位的步驟如下:
11、根據(jù)物體邊界框的中心在rgb圖像中的像素坐標(biāo),確定其在深度圖像中對應(yīng)的位置,這個位置對應(yīng)的值就是所需要的物體的深度值,將物體在深度圖像中的像素坐標(biāo)乘以深度相機的內(nèi)參矩陣和深度值,獲得物體在深度相機坐標(biāo)下的坐標(biāo),將物體在深度相機坐標(biāo)下的坐標(biāo)分別乘以深度相機坐標(biāo)系到機械臂底座坐標(biāo)系的坐標(biāo)變換矩陣,得到物體在機械臂底座坐標(biāo)系上的坐標(biāo)。
12、在上述技術(shù)方案中,步驟2中的相關(guān)信息包括:物體的類別、代表物體位置的三維坐標(biāo)、代表物體姿態(tài)的四元數(shù)。
13、在上述技術(shù)方案中,步驟2中在hololens設(shè)備接收物體的相關(guān)信息后,便會以虛擬機械臂底座坐標(biāo)系為參考坐標(biāo)系,在虛擬場景的對應(yīng)位置生成真實物體的數(shù)字孿生。
14、在上述技術(shù)方案中,步驟2中的在虛擬場景的對應(yīng)位置生成真實物體的數(shù)字孿生的步驟具體為:
15、在hololens設(shè)備中利用unity軟件生成虛擬場景,在unity中創(chuàng)建一個類objmsg,用來存儲物體的相關(guān)信息,包括物體的名稱name、三維坐標(biāo)posx、posy、posz和四元數(shù)rotx、roty、rotz、rotw,創(chuàng)建ros信息接收腳本,在其中使用subscriber()接收ros的信息,unity收到ros的物體信息后,將其信息用objectposenow.add()函數(shù)存儲在哈希表objectposenow中,哈希表以物體名稱為鍵,三維坐標(biāo)和四元數(shù)為值,并按接收順序依次使用objadd()函數(shù)將物體的預(yù)制三維模型加入到虛擬場景中,并生成真實物體的數(shù)字孿生。
16、在上述技術(shù)方案中,所述深度像機與服務(wù)器、rbg相機與服務(wù)器、機械臂與服務(wù)器均采用有線連接,服務(wù)器與hololens設(shè)備之間采用無線連接。
17、在上述技術(shù)方案中,服務(wù)器與hololens設(shè)備之間利用ros-tcp-connector和ros-tcp-endpoint實現(xiàn)通訊。
18、本發(fā)明的有益效果是:
19、本發(fā)明的基于目標(biāo)物體數(shù)字孿生的機械臂遙操作交互方法,通過物體識別和定位,使用預(yù)制三維模型在虛擬場景的對應(yīng)位置生成真實物體的數(shù)字孿生,而且可以將新的預(yù)制三維模型放入模型庫中用于重建場景,同時將機械臂的操作結(jié)合在場景中。相比于傳統(tǒng)的2d圖像數(shù)據(jù),三維數(shù)據(jù)提供了物體的深度信息,提高了用戶遠程操作的效率和完成工作任務(wù)的成功率。為了讓用戶不需要同時關(guān)注顯示器和控制器,本發(fā)明將三維場景和機械臂的操作結(jié)合到一起,讓用戶可以在觀察虛擬環(huán)境的同時操作機械臂。相比于三維的點云場景重建,本發(fā)明使用預(yù)制三維模型代替點云模型,極大減少了需要傳輸?shù)臄?shù)據(jù)量,保證了實時性,提高了用戶體驗。同時本發(fā)明重建的虛擬場景可以從任意角度進行觀察,以獲取物體與機械臂之間的相對關(guān)系。
20、本發(fā)明的基于目標(biāo)物體數(shù)字孿生的機械臂遙操作交互方法,用戶通過直接和目標(biāo)物體的數(shù)字孿生交互來控制機械臂,而不是用戶通過搖桿、手柄等物理設(shè)備操作機械臂或在虛擬場景中移動虛擬機械臂的末端器控制機械臂。本發(fā)明用戶直接與目標(biāo)物體的數(shù)字孿生交互,可以降低操作者的操作難度和學(xué)習(xí)難度,同時減少操作者因操作失誤而引發(fā)的不必要碰撞。