999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于X3DOM的工業機器人虛擬樣機設計

2020-04-28 08:33:48徐玉飛何嶺松王宇順
實驗室研究與探索 2020年1期
關鍵詞:指令實驗模型

徐玉飛,何嶺松,王宇順

(華中科技大學 機械科學與工程學院,武漢 430074)

0 引 言

近年來隨著計算機技術、網絡技術和圖形圖像技術高速發展和教育部門重視程度的增加,虛擬樣機技術越來越多地應用于各個學科的實驗教學中[1]。2017年,教育部指導高校開展新工科研究與實踐,倡導通過結合信息技術與工程教育的方式,達到提高工程教育的效率的目的[2]。在機器人學方面,由于實際實驗中可供學生操作的機器人數量有限,且學生作為初學者對機器人編程需要長時間構思和調試才能達到理想效果,降低了實驗教學的效率,增大了實際操作的風險。在機器人實驗教學中引入虛擬樣機,讓學生在實驗課之前通過虛擬樣機進行實驗訓練,將實驗室調試程序的前期過程轉移到課前的網上進行,可大幅度提高實際實驗課的效率[3-5]。

目前國內外已有不少優秀的工業機器人虛擬樣機的實現[6-8],如RobotStudio,Linux平臺上開源的ROS系統等。其中大部分平臺需要安裝復雜的軟件或插件,對電腦配置和運行環境有特定要求;一些商用平臺只提供特定廠商的機器人仿真,通用性較差。這些缺點在一定程度上限制了將它們直接作為機器人實驗教學平臺-使用的可能性。網頁是一種良好的跨平臺呈現形式,HTML5出現以后,極大的豐富了網頁的功能,弱化了瀏覽器對各種插件的依賴[9];同時,近年來出現的網頁圖形庫(Web Graphics Library,WebGL)、X3DOM(Extensible 3D+ Document Object Model,可擴展三維模型語言+文檔對象模型,X3D+DOM,)等無插件網絡三維顯示技術,更是將網頁的表現力提升到新的高度[10-11],并為基于網絡的無插件虛擬樣機應用提供了很好的技術實現手段。

本文采用HTML5+X3DOM的技術方案來構建網絡化無插件的工業機器人虛擬樣機,可直接在瀏覽器上運行,具有很好的通用性和跨平臺性。

1 系統設計方案

HTML5廣義上是指包括HTML、CSS和JavaScript的一套技術組合。它在語義化、兼容性、多媒體支持等多方面進行了改進,其中新增的canvas畫布元素允許JavaScript直接在網頁上繪制二維、三維圖形,為網頁三維顯示提供了基礎[2]。X3DOM是一個基于文檔對象模型(Document Object Model,DOM)的HTML5/可擴展三維模型(Extensible 3D,X3D)集成模型,用于將三維場景顯示在瀏覽器上。X3DOM技術不僅實現了無插件的網頁三維顯示,而且與HTML5緊密結合,能通過DOM方法動態訪問模型的節點及屬性,將控制對象由模型文件細化到文件內部節點,具有良好的發展前景[13]。

基于HTML5與X3DOM的工業機器人虛擬樣機的總體設計方案如圖1所示。圖中X3DOM模塊以運動單元和活動部件為基礎,將機器人組裝成一個可控的模塊化三維虛擬模型,通過模型接口改變運動節點參數就可改變虛擬樣機的位姿;Javascript模塊負責進行邏輯和數學運算,包括解析用戶指令、運動插補和運動學求解,并可將計算結果傳遞給X3DOM模塊以實現的虛擬樣機的驅動;UI模塊則負責提供機器人控制界面和X3D模型的顯示環境。另外,還提供了一個云服務模塊,用于虛實結合實驗時與云端服務器進行通信,并實現與虛擬樣機外部的實驗室真實機器人的網絡連接,將學生在網頁虛擬樣機上調試完成的控制指令發送到真實機器人上,以觀察實際運行效果。

圖1 機器人虛擬樣機系統設計方案

2 機器人虛擬樣機的實現

2.1 機器人運動求解的實現

建立機器人運動學模型是實現運動求解的重要前提。機器人運動求解包括正向求解和逆向求解兩部分,前者是已知關節變量求末端位姿的過程,后者是已知末端位姿求關節變量的過程。

(1)

式中:c為cos;s為sin;ai-1為連桿長度;αi-1為連桿扭角;di為相鄰連桿的偏距;θi為相鄰連桿長度方向的夾角。

(2)

在JavaScript腳本中將正解算法封裝為函數kinematicsEquation(input),其邏輯流程如圖2(a)所示。kinematicsEquation函數接受關節變量[q1,q2,…,qn]為輸入變量,經過正解輸出末端位姿[x,y,z,Ex,Ey,Ez],輸出變量將用于更新控制面板上機器人位姿參數或插補過程。

大多數工業機器人都滿足Pieper準則[],運動學反解具有封閉解,可采用反變換法[]求取運動學反解。機器人運動學反解通常會得到多組解,可通過機器人機械結構的限制排除部分不合理的解,剩余結果通過運動行程、運動時間、機器人功耗等指標選擇一組最優解。

在JavaScript程序中將反變換算法封裝為函數inverseKinematics(input),如圖2(b)所示。經過反解后,若存在有效的反解,將輸出關節變量,用于更新控制面板上機器人關節參數并控制三維模型運動至對應姿態;若所有反解結果皆無效,說明該位姿對應的目標點為奇異點或超出工作范圍,函數輸出空值NULL,用于提醒用戶修改機器人運動指令,避開此點。

(a) kinematicsEquation函數

(b) inverseKinematics函數

2.2 X3DOM工業機器人三維顯示

在工業機器人的三維顯示中,X3DOM負責提供工業機器人的三維模型,HTML5為其提供顯示環境。X3DOM提供了基礎的建模方法,可以通過語言描述建立簡單的幾何形狀,如立方體、球體、圓柱體等,但這種方式不適合建立復雜形狀模型。考慮到機器人模型復雜,選擇在建立三維模型后導出為X3D文件,并將其嵌入X3DOM程序中。HTML文件在嵌入X3DOM程序前調用X3DOM庫(包含x3dom.js和x3dom.css),在運行時調用 WebGL的3DAPI 在瀏覽器上進行3D圖形的實時渲染,實現無插件的網頁三維顯示。

為便于模型的運動控制,將機器人各部件單獨導出為X3D文件,再新建一個X3D裝配文件,調用各部件的X3D模型并進行“虛擬裝配”:即根據連桿間的結構關系進行節點嵌套,根據連桿之間的位置和角度關系調整節點的translation或rotation屬性,如圖3所示。最后為整個場景設置合適的視點和燈光,形成完整的三維場景。HTML文件調用X3DOM庫后,可直接在HTML文檔的節點中插入X3D節點,調用裝配好的機器人X3D文件,機器人三維模型即顯示在網頁上。

經過節點嵌套的機器人各部件之間具有父子關系,父節點的狀態變化會影響所有子節點的狀態,這樣就將機器人三維模型封裝為一個外部可控的X3DOM虛擬樣機。例如,將關節4所在的節點繞X軸旋轉90°,就可實現旋轉關節4后面嵌套的所有模型一起繞X軸旋轉了90°。這與真實機器人的連桿運動關系保持一致。

2.3 工業機器人虛擬樣機實現

工業機器人的X3D模型嵌入HTML文件后,成為HTML的DOM模型的一部分,可以通過DOM方法來訪問和修改模型內部節點的屬性。X3DOM的這種特性非常方便地控制機器人連桿的運動。

document.getElementById("rot1").

setAttribute('rotation', '0,0,1,3.14159');

上述代碼將rot1節點rotation屬性的值修改為‘0,0,1,3.14159’。rotation屬性值由4個數字組成,前3個數字組成一個三維空間內的單位向量,指定旋轉軸的方向,第4個數字指定繞軸旋轉的弧度,因此上述代碼的幾何意義是將關節1繞Z軸旋轉180°。在此基礎上,將機器人的X3DOM模型封裝為一個模塊,接受關節變量[q1,q2,…,qn]為輸入,通過上述DOM方法依次修改關節對應節點的rotation(旋轉關節)或translation(移動關節)屬性,即可將工業機器人模型各個關節旋轉/移動至指定的姿態。

將工業機器人的運動學求解模塊與工業機器人X3DOM模塊相結合,即可實現工業機器人虛擬樣機的基本功能。用戶可以通過關節控制和末端控制兩種方式控制機器人的運動:關節控制方法中,用戶在控制界面上改變機器人關節變量,關節變量傳入JavaScript腳本中,經過運動學正向求解得到機器人末端位姿并顯示到界面上,同時關節變量數據被傳遞給X3DOM模塊,通過DOM方法控制各個連桿模型運動,機器人三維模型運動至對應位姿;末端控制方法中,用戶在控制界面上改變機器人末端坐標和姿態,位姿變量傳入JavaScript腳本中,經過運動學反向求解得到機器人關節變量并顯示到界面上,同時關節變量數據被傳遞給X3DOM模塊,通過DOM方法控制機器人三維模型運動至對應位姿。

圖3 機器人模型的“虛擬裝配”

2.4 機器人指令解析與插補

工業機器人虛擬仿真實驗平臺的指令系統參考工業機器人控制語言RAPID語言[]建立,基本運動指令語句的結構為:“MoveType Piont1 ( , Piont2) , Speed ,Zone,Tool;”,指令含義為:“運動類型 示教點1(,示教點2),速度參數,轉角參數,工具參數;”。指令系統中有3種基本運動類型,分別是MoveJ:關節運動、MoveL:直線運動、MoveC:圓弧運動。除運動指令外,還包含一些簡單的信號處理指令,如“Set/Reset”可將數字輸出信號置位或復位,用于控制外部工具。

工業機器人虛擬實驗平臺也模擬了實際工業機器人的示教功能,在機器人特定的位姿狀態添加示教點,被標記過的示教點信息被后臺記錄,同時也顯示在頁面上的示教區。設置示教點之后在機器人指令編程中可以直接調用已定義的示教點,簡化了編程,提高了機器人運動路徑的準確性。

以指令編程方式控制機器人運動的邏輯流程如圖4所示。工業機器人虛擬樣機中,用戶在圖形界面上輸入的指令以字符串的形式傳遞到JavaScript腳本中的指令解析模塊,通過字符串匹配的方式獲取每一條指令的運動類型和運動參數(包括示教點、運動速度等)信息。按照運動類型的不同選擇不同的插補算法,依次計算并輸出運動軌跡上插補點的位姿。指令解析和插補模塊輸出的插補位姿傳遞給運動學求解模塊,輸出關節變量到X3DOM模塊,最終實現指令對工業機器人虛擬樣機的控制。

圖4 運動指令解析與插補流程圖

2.5 對工業機器人的遠程控制

實驗平臺遠程控制使用機器人為IRB120型工業機器人,實現遠程控制的關鍵在于虛擬樣機與真實機器人之間建立網絡通信。機器人控制系統安裝PC Interface組件,虛擬樣機的云服務器安裝node.js環境,二者之間即可通過TCP通信建立連接。機器人控制器已具備對機器人本體的指令控制功能,只需要將網頁上調試好的控制代碼經由云服務器以字符串的形式發送到機器人控制器,機器人控制器將收到的字符串解釋為可執行的運動指令,即可實現虛擬樣機對真實機器人的遠程控制。

HTML5具備豐富的多媒體處理功能,可以使用網絡攝像頭監控真實機器人運動,將實時的監控視頻無插件地嵌入到HTML5頁面中,更加直觀地對比虛擬樣機與真實機器人的運動。

3 應用實例與驗證

工業機器人虛擬樣機可應用于多種實驗教學場景中。實驗平臺運行于云服務器,用戶無需安裝軟件或插件,只要通過Chrome瀏覽器訪問實驗網址,即可在虛擬樣機上進行實驗訓練。

典型機器人虛擬實驗界面如圖5所示,實驗界面包含實驗說明書、虛擬實驗演示、開始實驗和課后訓練4個目錄選項。選擇開始實驗后,頁面左側顯示機器人虛擬模型、右側為虛擬機控制UI,包含機器人關節變量、末端位姿、工具選項、示教點以及控制指令等內容。

圖5 機器人虛擬實驗界面

機器人虛擬實驗的基本操作流程為:

(1) 在工具選項中為機器人選擇合適的工具并加載;

(2) 改變機器人關節變量或末端位姿,控制虛擬樣機模型運動至指定位置;

(3) 點擊添加示教點,或在示教點區域按照指定格式輸入示教點信息;

(4) 輸入機器人控制指令;

(5) 點擊提交,機器人模型按指定軌跡和速度運動。

3.1 焊接實驗與準確性驗證

為驗證仿真結果的準確性,在虛擬樣機和真實的工業機器人上分別使用同樣的示教點和運動指令,進行了焊接實驗。虛擬樣機與真實機器人運行過程的對比如圖6所示。

(a) 虛擬樣機仿真效果

(b) 實際運行結果

實驗結果表明,虛擬樣機能有效執行運動指令,樣機模型與實際機器人的運動軌跡基本保持一致,運動仿真具有較高準確性。

3.2 遠程碼垛實驗與同步性驗證

為驗證仿真運動與實際機器人運動的同步性,在遠程控制頁面中,將虛擬樣機上調試通過的運動指令經由服務器發送給遠程機器人,樣機模型與實際機器人同時開始執行同樣的指令,運動過程的對比如圖7所示。

(a) 碼垛開始

(b) 碼垛過程1

(c) 碼垛過程2

(d) 碼垛結束

實驗結果表明,樣機模型與遠程機器人在執行相同指令時,運動速度和執行時間基本一致,仿真具有較好的同步性。此外,二者運動的延時控制在毫秒級別,體現出遠程控制的實時性。

3.3 其他實例

除關節型機器人外,還設計并實現了并聯型機器人、圓柱坐標機器人以及直角坐標機器人的虛擬樣機,如圖8所示。

(a) 并聯型機器人

(b) 圓柱坐標機器人

(c) 直角坐標機器人

4 結 語

基于HTML與X3DOM技術設計實現了工業機器人虛擬樣機,利用X3DOM、HTML以及JavaScript實現對仿真模型的顯示和控制,并在此基礎上增加了虛擬樣機對真實機器人的遠程控制功能。實驗證明,本文設計的虛擬樣機可以很好地模擬真實機器人的運動和控制。在虛擬實驗平臺上進行的實驗訓練能夠有效地幫助學生進行課前預習和代碼調試。與現有的機器人虛擬樣機相比,本文設計的虛擬樣機不需要安裝任何軟件或插件,用戶只需要通過瀏覽器訪問實驗網站即可進行實驗訓練,便于平臺的使用和推廣,對實驗教學具有一定意義。

猜你喜歡
指令實驗模型
一半模型
聽我指令:大催眠術
記一次有趣的實驗
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
做個怪怪長實驗
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
3D打印中的模型分割與打包
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: h网址在线观看| 香蕉蕉亚亚洲aav综合| 尤物国产在线| 国产成人免费| 国产午夜看片| 激情无码视频在线看| 国产精品第三页在线看| 国产女人爽到高潮的免费视频 | 国产理论精品| 免费一极毛片| 午夜一级做a爰片久久毛片| 亚洲欧美国产五月天综合| 久久精品亚洲热综合一区二区| 亚洲成人在线网| 国产在线一区二区视频| 国产成人麻豆精品| 国产精品一区二区在线播放| 国产视频久久久久| 国产第四页| 国产精品女主播| 91在线丝袜| 一级毛片免费的| 中文字幕亚洲综久久2021| 免费观看无遮挡www的小视频| 国产精品午夜福利麻豆| 亚洲天堂视频在线观看免费| 日韩经典精品无码一区二区| 午夜福利视频一区| 五月婷婷伊人网| www.亚洲天堂| 少妇极品熟妇人妻专区视频| 国产精品不卡永久免费| 亚洲日韩精品伊甸| 91色在线观看| 日韩a级片视频| 亚洲AV无码久久精品色欲| 日韩色图在线观看| 亚洲精品波多野结衣| 亚洲 欧美 偷自乱 图片| 日韩国产欧美精品在线| 国产18在线| 国产a v无码专区亚洲av| 日韩视频免费| 久久精品人妻中文视频| 欧美亚洲激情| 亚洲天堂自拍| 人妻少妇乱子伦精品无码专区毛片| 美女被躁出白浆视频播放| 丁香婷婷久久| 成年看免费观看视频拍拍| 丁香亚洲综合五月天婷婷| 狠狠亚洲婷婷综合色香| 国产成人AV男人的天堂| 午夜无码一区二区三区在线app| 国产主播喷水| 99福利视频导航| 国产精品jizz在线观看软件| 一本大道AV人久久综合| 国产在线观看人成激情视频| 女人天堂av免费| 67194亚洲无码| 国产激情影院| 波多野结衣亚洲一区| 国产午夜小视频| 国产精品内射视频| 色哟哟国产成人精品| 国产精品无码一二三视频| 国产高清无码麻豆精品| 久久伊人色| 国产成人综合久久| 视频一本大道香蕉久在线播放| 老司机午夜精品视频你懂的| 国产精品偷伦在线观看| 亚洲精品亚洲人成在线| 伊人激情综合网| 国产欧美日韩另类精彩视频| 露脸真实国语乱在线观看| 日韩欧美成人高清在线观看| 凹凸国产熟女精品视频| 日韩无码真实干出血视频| 大学生久久香蕉国产线观看| 国产精品13页|