龍勇 朱留存 朱宇
【摘要】? ? 虛擬現(xiàn)實(Virtual Reality)是一種利用計算機硬件和軟件集成的技術(shù),對計算機圖形學(xué)、人機交互、多媒體、網(wǎng)絡(luò)通信等多種技術(shù)進(jìn)行綜合應(yīng)用,從而為用戶提供虛擬三維世界體驗的一種技術(shù)。傳統(tǒng)機械臂遠(yuǎn)程控制普遍采用的是手柄和鍵盤控制方式,而且今后方式普遍是攝像頭圖像顯示在監(jiān)控器上,和現(xiàn)場操作差別很大。協(xié)同控制機械臂將人的主觀能動性與機械臂精確作業(yè)結(jié)合起來,可以實現(xiàn)在人類不能到達(dá)的特定環(huán)境下,利用遠(yuǎn)端機器人進(jìn)行作業(yè),同時通過VR系統(tǒng)模擬真實環(huán)境為用戶提供身臨其境的體驗。
本文主要以Unity3d引擎為支撐,頭戴式顯示設(shè)備HTC VIVE作為虛擬現(xiàn)實硬件設(shè)備,通過Steam VR設(shè)計與實現(xiàn)一個具備通用交互行為功能的VR交互場景,利用Socket通信將VR系統(tǒng)與機械臂進(jìn)行連接,從而實現(xiàn)與機械臂的交互協(xié)同控制。
【關(guān)鍵詞】? ? 虛擬現(xiàn)實? ? 人機交互? ? 機械臂? ? 協(xié)同控制
Abstract:Virtual Reality is a technology that uses computer hardware and software integration to comprehensively apply multiple technologies such as computer graphics, human-computer interaction, multimedia, and network communications, so as to provide users with a virtual three-dimensional world experience. The traditional remote control of the mechanical arm generally uses the handle and keyboard control method, and in the future, the camera image is generally displayed on the monitor, which is very different from the on-site operation. The cooperative control mechanical arm combines the subjective activity of human beings with the precise operation of the mechanical arm, which can realize the use of remote robots to perform operations in a specific environment where human beings cannot reach. At the same time, the VR system simulates the real environment to provide users with immersive experience.
引言:
虛擬現(xiàn)實技術(shù)的發(fā)展,為人機交互和遠(yuǎn)程控制技術(shù)注入了新的技術(shù)元素,提供了一種面向虛擬環(huán)境的三維交互方式。基于傳統(tǒng)技術(shù)的人機交互和遠(yuǎn)程控制已經(jīng)不能滿足當(dāng)下人們的需求。人們需要構(gòu)建一個具有逼真可視化效果,能夠與虛擬場景進(jìn)行自然交互,在虛擬現(xiàn)實環(huán)境中對設(shè)備進(jìn)行遠(yuǎn)程操控的系統(tǒng)?;谔摂M現(xiàn)實交互的機械臂協(xié)同控制將虛擬現(xiàn)實技術(shù)與機器人系統(tǒng)有機結(jié)合起來,利用虛擬現(xiàn)實技術(shù)的良好交互性與沉浸感,協(xié)同機械臂高精度、高速點、操作靈活等特性,從而建立一種更符合人類日常習(xí)慣的遠(yuǎn)程控制方式,更能充分發(fā)揮人類固有的技能。
一、系統(tǒng)控制平臺架構(gòu)設(shè)計
本文采用ZED深度相機,用于捕獲實時畫面,并通過Unity3d引擎將其加載到虛擬環(huán)境中。將PC端與VR設(shè)備進(jìn)行連接,從而將捕獲的實時畫面顯示到VR頭盔顯示器中。
為了使深度相機與頭盔顯示器姿態(tài)一致,本文在ZED深度相機上搭載了一個二自由度舵機云臺。以藍(lán)牙串口的方式,將頭盔顯示器中陀螺儀的位置姿態(tài)傳輸?shù)蕉鏅C云臺控制板中,從而控制舵機與頭盔顯示器的運動姿態(tài)一致。
通過VR設(shè)備的定位技術(shù),捕獲出手部(手柄)的運動軌跡,并將其映射為虛擬空間中虛擬目標(biāo)點的運動。然后利用機械臂逆向運動學(xué)使虛擬機械臂跟隨虛擬目標(biāo)點運動,將各關(guān)節(jié)轉(zhuǎn)動角度封裝為控制命令,通過Socket通信將其傳輸給現(xiàn)實機械臂控制柜。機械臂端解析出控制指令,用其控制機械臂運動,從而達(dá)到精準(zhǔn)控制的目的。
二、基于HTC VIVE的顯示系統(tǒng)搭建
本文采用HTC VIVE作為虛擬現(xiàn)實體驗平臺,如圖2所示,其硬件設(shè)備包括一個頭盔顯示器、兩個操縱手柄、兩個激光傳感定位器。
定位器定義一個虛擬空間,通過發(fā)射紅外激光束,照射到頭盔顯示器和操縱手柄上的傳感器,根據(jù)光束的角度計算出自身在空間中的位置,并通過頭盔顯示器反饋給操作者。手柄上的扳機、按鍵則提供了與虛擬場景進(jìn)行人機交互的接口。
本文使用Unity3d引擎作為HTC VIVE的開發(fā)平臺,Unity3d中的Steam VR庫是連接HTC VIVE與Unity3d的橋梁。通過Steam VR設(shè)計與實現(xiàn)一個具備通用交互行為功能的 VR交互場景,從而實現(xiàn)Unity3d與HTC VIVE硬件的連接。
Steam VR安裝設(shè)置完成后,需要為Unity3d導(dǎo)入Steam VR Plugin插件。
Steam VR Plugin是一個虛擬現(xiàn)實開發(fā)工具包,所有的開發(fā)都是面向這個接口進(jìn)行的,以此作為控制腳本通過手柄和頭盔顯示器控制場景物體。
三、機械臂運動學(xué)分析
機械臂逆運動學(xué)求解相對困難,其原理為根據(jù)給定的機械臂末端位置和姿態(tài),求出與該位姿對應(yīng)的六個關(guān)節(jié)軸轉(zhuǎn)過的角度,但有時候無法求得解析解。
為了使算法程序能夠具有健壯性和解的高精度,本文采用迭代數(shù)值求解法來進(jìn)行求解。逆運動學(xué)求解大部分都是對非線性方程求解,非線性工程求解有多種迭代方法,本文在綜合考慮后決定采用牛頓-拉普森算法和奇異值分解算法進(jìn)行求解。
四、機械臂與PC間Socket通信
套接字(Socket)是支持TCP/IP協(xié)議的網(wǎng)絡(luò)通信的基本操作單元,通過3個參數(shù)(目的IP地址、使用的傳輸層協(xié)議(TCP或UDP)及使用的端口號)區(qū)分來自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。
本文設(shè)定機械臂連接服務(wù)端,PC連接客戶端,采用Socket 套接字通信,將虛擬機械臂各個關(guān)節(jié)的角度信息封裝到數(shù)據(jù)包中傳送到服務(wù)端,服務(wù)端根據(jù)約定協(xié)議解析客戶端的數(shù)據(jù),控制機械臂運動,從而保證現(xiàn)實機械臂與虛擬場景中的機械臂位姿一致,實現(xiàn)對機械臂的控制。
五、結(jié)束語
本文的創(chuàng)新點在于提出了一種新型的機械臂遠(yuǎn)程操作控制方式,在傳統(tǒng)機械臂控制方式的基礎(chǔ)上建立虛擬現(xiàn)實交互式仿真平臺,以其操作簡便、沉浸感強、更符合人類習(xí)慣的優(yōu)越性,實現(xiàn)了在虛擬現(xiàn)實環(huán)境中可交互的機械臂協(xié)同控制,從而給操作者帶來更直觀、身臨其境的體驗效果。
然而,本文只是初步建立了虛擬現(xiàn)實環(huán)境下的人機交互和設(shè)備遠(yuǎn)程控制系統(tǒng),所搭建的協(xié)同控制只有基于操作者的視覺反饋,機械臂運動過程中的力覺、觸覺等信息無法反饋給操作者,這也是該領(lǐng)域目前存在的局限性。
在后續(xù)開發(fā)中,我們將系統(tǒng)投入到具體的應(yīng)用環(huán)境中進(jìn)行實際測試,根據(jù)實際需求建立更加精密的參照坐標(biāo)系和模型,設(shè)立更準(zhǔn)確的運動鏈,從而提高虛擬現(xiàn)實中人機交互的機械臂協(xié)同控制精度。
參? 考? 文? 獻(xiàn)
[1]徐雅微,韓暢,趙子航,姚圣.基于VIVE的虛擬現(xiàn)實交互式機械臂仿真運動平臺搭建[J].現(xiàn)代計算機,2019(14):68-72.
[2]蔡路政,李慶黨,徐龍坤,張東陽.基于虛擬現(xiàn)實技術(shù)的機械臂人機交互系統(tǒng)[J].機械制造,2019,57(03):1-3+15.
[3]劉根.虛擬現(xiàn)實環(huán)境下人機交互與設(shè)備遠(yuǎn)程操控關(guān)鍵技術(shù)研究與應(yīng)用[D].鄭州輕工業(yè)大學(xué),2020.
[4]Investigations on collaborative remote control of virtual robotic manipulators by using a Kinect v2 sensor. Banda M,Ciupe V,Moldovan C,et al. ITM Web of Conferences . 2019
[5]曹丙花,劉夢溪,陳月榮,趙亞威,李冰清.基于陀螺儀控制的無線智能小車設(shè)計[J].電氣電子教學(xué)學(xué)報,2018,40(03):72-76.
[6]羅迎,曹金玲.基于虛擬現(xiàn)實的遙機器人控制系統(tǒng)仿真研究[J].新技術(shù)新工藝,2010(07):44-46.
[7]賀文人,劉霞,任磊.工業(yè)機器人遙操作系統(tǒng)的空間映射與控制策略[J].計算機應(yīng)用研究. 2020(11)
[8]朱齊丹,王欣璐.六自由度機械臂逆運動學(xué)算法[J].機器人技術(shù)與應(yīng)用,2014(02):12-18.
[9]劉正雄,司繼康,陳剛,黃攀峰.面向遙操作手眼協(xié)調(diào)的虛擬仿真交互控制方法[J].系統(tǒng)工程與電子技術(shù),2020,42(05):1146-1151.
[10]劉謀玉,汪地,姜海龍.基于Unity3D的機器人仿真和遙操作系統(tǒng)研究[J].工業(yè)控制計算機. 2016(09)
[11]林木,張永春,單麗君.基于強化學(xué)習(xí)和虛擬現(xiàn)實技術(shù)的機械仿真教學(xué)系統(tǒng)研究[J].中國設(shè)備工程,2020(22):228-229.
[12]陳琳,戴駿,馮俊杰,黃炳瓊,付兵,潘海鴻.基于Open GL的多機器人仿真環(huán)境[J].組合機床與自動化加工技術(shù),2014(09):10-13.
[13]趙海英,陳洪,穆曉峰.基于定位與姿態(tài)感知的虛實漫游方法應(yīng)用研究[J].圖學(xué)學(xué)報,2016,37(01):110-114.