国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

六自由度機械臂三維仿真軟件的設(shè)計

2014-02-25 04:31:09張華文梁艷陽
電腦知識與技術(shù) 2014年1期
關(guān)鍵詞:機械臂

張華文 梁艷陽

摘要:在機械臂實體上進行正逆運算的結(jié)果往往難以分析和驗證,且機械臂實體的成本比較昂貴,針對此問題,設(shè)計了一套六自由度機械臂的三維仿真軟件,可以對機械臂的運動進行實時仿真。該軟件以VS2008為開發(fā)平臺,使用OpenGL函數(shù)庫進行機械臂三維模型的創(chuàng)建,使用Qt界面庫進行軟件界面的設(shè)計,提供正逆解運算和演示。結(jié)果表明,該軟件操作界面良好,能夠很好地仿真出機械臂的運動過程。

關(guān)鍵詞:機械臂;運動學(xué)建模;運動學(xué)正逆解;OpenGL;三維仿真

中圖分類號:TP391.9 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)01-0060-03

1 概述

隨著自動化技術(shù)的不斷發(fā)展,工業(yè)機器人的應(yīng)用越來越廣泛,機器人的三維仿真技術(shù)也越來越受到人們的重視。使用機器人仿真軟件不會影響機器人的正常工作,待仿真完成后,直接把仿真程序下載到機器人中即可完成機器人的控制,從而提高生產(chǎn)效率。現(xiàn)在大多數(shù)院校的學(xué)生沒有太多的機會去接觸到實體機器人,使用機器人仿真軟件可以讓學(xué)生們更真實地感受機器人的運動,對教育教學(xué)有著十分重要的意義。該文以設(shè)計了六自由度機械臂的三維仿真軟件,能夠良好地仿真出機械臂的運動過程。

2 機械臂三維實體的繪制

按照模塊化的思想,把機械臂自上而下進行分解:六自由度機械臂由六個關(guān)節(jié)組成,每個關(guān)節(jié)由多個立體形狀組成,每個立體形狀由多個面組成。繪制模型時,先繪制面,再由面去組成立體形狀,然后由多個立體形狀組成關(guān)節(jié),最后由六個關(guān)節(jié)組成機械臂。采用模塊化的思想,可以使各個關(guān)節(jié)之間獨立,能夠自由地添加關(guān)節(jié)和改變各個關(guān)節(jié)的形狀。

1)面的繪制。對于一些簡單的平面(例如:三角形,矩形等),只要確定各個頂點,就可以繪制出來。對于曲面,可以把它劃分成許多個三角形。創(chuàng)建面時,要創(chuàng)建三個數(shù)組,分別用來存儲頂點,頂點的法線和頂點的索引。使用glVertexPointer()函數(shù)來指定頂點數(shù)據(jù),使用glNormalPointer()函數(shù)來指定法線數(shù)據(jù)。在繪制圖形時,每次取三個頂點,通過繪制三角形來組合成面。使用glDrawElements()函數(shù)來調(diào)用頂點索引數(shù)組來進行頂點的繪制。實際繪制時,對于曲面,需要確定其細(xì)分?jǐn)?shù),即將其分解成小三角形的數(shù)目。細(xì)分?jǐn)?shù)越大,模型越細(xì)膩,但繪制過程就越慢,因此必須均衡考慮細(xì)分?jǐn)?shù)。

2) 關(guān)節(jié)的繪制。每個關(guān)節(jié)都是由不同的形狀組成的,首先確定組成關(guān)節(jié)所需的形狀,然后去創(chuàng)建每個形狀,再進行旋轉(zhuǎn)和平移變換將其移動到相應(yīng)的位置。所有的關(guān)節(jié)都由兩種基本形狀組成:方形棱柱和圓柱形棱柱。棱柱的每個面都可以調(diào)整參數(shù)來改變尺寸。

3) 關(guān)節(jié)聯(lián)動的實現(xiàn)。為了達到關(guān)節(jié)聯(lián)動的效果,后一關(guān)節(jié)的局部坐標(biāo)系必須建立在前一關(guān)節(jié)的局部坐標(biāo)系之上。在進行繪圖時,調(diào)用OpenGL的庫函數(shù)glPushMatrix()使上一個關(guān)節(jié)的局部坐標(biāo)系作為當(dāng)前坐標(biāo)系。如果該關(guān)節(jié)是最后一個關(guān)節(jié),繪圖完成后要調(diào)用glPopMatrix()函數(shù)來釋放棧上的當(dāng)前坐標(biāo)系。

3 運動學(xué)建模與正逆解

3.1 D-H參數(shù)建模

使用D-H表示法進行運動學(xué)建模。建模時遵循以下原則,以達到簡化模型的目的。

1) 機器人每個關(guān)節(jié)的初始角度都處于0度。

2) 盡量使關(guān)節(jié)坐標(biāo)系的原點重合,從而減少計算次數(shù)。

3) 盡量使所有關(guān)節(jié)坐標(biāo)系的X軸都重合,從而減少計算參數(shù)。

4) 使最后三個關(guān)節(jié)坐標(biāo)系的原點重合,這里選定原點為第五關(guān)節(jié)的轉(zhuǎn)動中心。從而使手臂和手腕解耦,手腕用于機械臂的姿態(tài)控制,手臂用于機械臂的位置控制。

其中,[x0-z0]表示基座坐標(biāo)系,[xj-zj(j=1,2...6)]表示關(guān)節(jié)1到關(guān)節(jié)6的坐標(biāo)系。

使用該方法建模后,所有的關(guān)節(jié)坐標(biāo)系都只需經(jīng)過4次相同的變換,就可以轉(zhuǎn)換為下一個關(guān)節(jié)坐標(biāo)系。記[j-1Tj]為從坐標(biāo)系[j-1]到坐標(biāo)系[j]的變換,則有:

[j-1Tj=Rot(x,αj)*Trans(x,dj)*Rot(z,θj)*Trans(z,rj)] (1)

[[j]\&[αj(°)]\&[dj(mm)]\&[θj(°)]\&[rj(mm)]\&初始角度\&關(guān)節(jié)角度變化范圍[(°)]\&1\&0\&0\&[θ1]\&0\&0\&-170-170\&2\&90\&0\&[θ2]\&0\&0\&-180—45\&3\&0\&106\&[θ3]\&0\&0\&-135-45\&4\&-90\&0\&[θ4]\&122\&0\&-160-160\&5\&90\&0\&[θ5]\&0\&0\&-90-90\&6\&-90\&0\&[θ6]\&0\&0\&-360-360\&]

3.2 正逆解

運動學(xué)正解根據(jù)當(dāng)前每個關(guān)節(jié)的角度推算出末端的姿態(tài)。由于參考坐標(biāo)系、基座坐標(biāo)系和第一關(guān)節(jié)坐標(biāo)系是重合的,根據(jù)式(1)從參考坐標(biāo)系依次變換到末端工具坐標(biāo)系:

[rTt=0Tt=0T11T22T33T44T55T66Tt=nxoxaxpxnyoyaypynzozazpz0001] (2)

運動學(xué)逆解根據(jù)當(dāng)前末端的姿態(tài),求出各個關(guān)節(jié)的角度。由于篇幅限制,這里未給出詳細(xì)求解步驟。算法流程如下:

1)設(shè)定每個關(guān)節(jié)的限位角度。

2)設(shè)定每個關(guān)節(jié)每次運動最大的差值。

3)每求解一個關(guān)節(jié),用1、2條件判斷,如果不滿足,則直接進行下一組解。

4)判斷是否超出機器人的工作空間,如果超過,則直接進行下一組解。

5)判斷是否出現(xiàn)奇異,如果出現(xiàn),則處理奇異情況。

6)用性能函數(shù)對所求得的所有解進行篩選,取最優(yōu)解。

性能函數(shù)定義為[f=i=16(λiΔθi)2],其中[θi]表示關(guān)節(jié)[i]轉(zhuǎn)動的角度,[λi]是權(quán)重。關(guān)節(jié)轉(zhuǎn)動時,對位姿影響越大,則[λi]越大。

4 人機界面

圖3 機械臂仿真軟件界面

界面左上方是機械臂的三維模型顯示,左下方是狀態(tài)顯示,右邊是控制區(qū)域。能夠?qū)崿F(xiàn)以下功能:

1)關(guān)節(jié)控制。設(shè)定運動速度,讓每個關(guān)節(jié)進行轉(zhuǎn)動。

2)坐標(biāo)控制。設(shè)定運動速度,使機械臂沿三個坐標(biāo)軸平移和旋轉(zhuǎn)。

3)工具控制。控制末端手爪的開合狀態(tài)。

4)狀態(tài)顯示。實時地顯示每個關(guān)節(jié)的角度和機械臂的位姿。

5)視角切換。使用鼠標(biāo)拖動機械臂進行視角的切換。

6)機械臂整體的移動。通過光標(biāo)鍵,移動機械臂在屏幕中的位置。

7)視窗大小的調(diào)整。通過鼠標(biāo)滑輪滾動,調(diào)整機械臂視窗大小。

8)運動軌跡的顯示。能夠動態(tài)地顯示出機械臂的運動軌跡。

5 結(jié)論

本文設(shè)計了一套六自由度機械臂三維仿真軟件。使用OpenGL創(chuàng)建三維模型,使用D-H表示法建立運動學(xué)模型,使用VS2008開發(fā)平臺和Qt界面庫提供良好的人機交互界面。結(jié)果表明,該仿真軟件可以有效地驗證機械臂的運動學(xué)模型和正逆解,并且能夠良好地仿真出機械臂的運動過程,對機械臂的研究和教學(xué)起到了促進作用。

參考文獻:

[1] 張聰,楊光,王晨升.基于OpenGL的六自由度機械臂建模及仿真[C].第四屆圖像圖形技術(shù)與應(yīng)用學(xué)術(shù)會議, 2009:236-239.

[2] 陳素麗,任福深.基于OpenGL 的弧焊機器人仿真設(shè)計[J].科學(xué)技術(shù)與工程,2012,12(3):544-550.

[3] Carlos Vázquez Hurtado, Alejandro Rojo Valerio, Luis Ruvalcaba Sánchez. Virtual Reality Robotics System for Education and Training[C].Robotics and Automotive Mechanics Conference,2012:162-164. (下轉(zhuǎn)第75頁)

(上接第62頁)

[4] 閆賀,吳懷宇,彭晟遠(yuǎn),等.四自由度模塊化機械臂運動學(xué)建模[J].信息技術(shù),2011(10):1-4.

[5] 孫亮,馬江,阮曉鋼.基于OpenGL的六自由度機械臂三維仿真工具的設(shè)計[J].計算機測量與控制,2009,17(5):983-984.

[6] Lida Zhu,Chunxia Zhu.Research on Motion Simulation for Robot Based on Virtual Reality[C].International Conference on Robotics and Biomimetics,2007:1296-1300.

[7] 陳幼平,馬志艷,袁楚明,等.六自由度機械手三維運動仿真研究[J].計算機應(yīng)用研究,2006, (6):205-207.

[8] 沈靖,呂恬生.教學(xué)機器人三維仿真與遠(yuǎn)程控制軟件實現(xiàn)[J].計算機仿真,2006,23(10):289-292.

[9] 解偉,王曉璨.基于 OpenGL的六自由度機器手建模仿真[J].信息化縱橫,2009(12):65-67.

猜你喜歡
機械臂
一種六自由度機械臂的控制系統(tǒng)設(shè)計
碼頭集裝箱機械臂的研究與設(shè)計
書畫手臂的模型設(shè)計
六自由度機械臂控制系統(tǒng)設(shè)計
基于無人機平臺的垃圾搜索及拾取系統(tǒng)設(shè)計
基于智能車技術(shù)的圖書館書籍整理機器人
機械臂平面運動控制與分析
機械臂工作空間全局相對可操作度圖的構(gòu)建方法
人機交互課程創(chuàng)新實驗
計算機教育(2016年7期)2016-11-10 09:01:27
定點巡視與帶電清理平臺的研究與設(shè)計
肇源县| 康乐县| 潜山县| 女性| 南郑县| 那坡县| 桐城市| 岐山县| 吕梁市| 蓝田县| 临江市| 北海市| 榆林市| 手游| 怀仁县| 页游| 台东县| 昌都县| 沐川县| 福清市| 南通市| 延川县| 武平县| 博客| 峨边| 察雅县| 和林格尔县| 新平| 醴陵市| 个旧市| 五原县| 新泰市| 马公市| 松原市| 厦门市| 金乡县| 镇远县| 阜康市| 沾益县| 凭祥市| 马鞍山市|