• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      張華文 梁艷陽(yáng)

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

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

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

      1 概述

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

      2 機(jī)械臂三維實(shí)體的繪制

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

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

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

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

      3 運(yùn)動(dòng)學(xué)建模與正逆解

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

      使用D-H表示法進(jìn)行運(yùn)動(dòng)學(xué)建模。建模時(shí)遵循以下原則,以達(dá)到簡(jiǎn)化模型的目的。

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

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

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

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

      其中,[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)過(guò)4次相同的變換,就可以轉(zhuǎn)換為下一個(gè)關(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 正逆解

      運(yùn)動(dòng)學(xué)正解根據(jù)當(dāng)前每個(gè)關(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)

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

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

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

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

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

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

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

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

      4 人機(jī)界面

      圖3 機(jī)械臂仿真軟件界面

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

      1)關(guān)節(jié)控制。設(shè)定運(yùn)動(dòng)速度,讓每個(gè)關(guān)節(jié)進(jìn)行轉(zhuǎn)動(dòng)。

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

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

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

      5)視角切換。使用鼠標(biāo)拖動(dòng)機(jī)械臂進(jìn)行視角的切換。

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

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

      8)運(yùn)動(dòng)軌跡的顯示。能夠動(dòng)態(tài)地顯示出機(jī)械臂的運(yùn)動(dòng)軌跡。

      5 結(jié)論

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

      參考文獻(xiàn):

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

      [2] 陳素麗,任福深.基于OpenGL 的弧焊機(jī)器人仿真設(shè)計(jì)[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頁(yè))

      (上接第62頁(yè))

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

      [5] 孫亮,馬江,阮曉鋼.基于OpenGL的六自由度機(jī)械臂三維仿真工具的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,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ùn)動(dòng)仿真研究[J].計(jì)算機(jī)應(yīng)用研究,2006, (6):205-207.

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

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

      猜你喜歡
      機(jī)械臂
      一種六自由度機(jī)械臂的控制系統(tǒng)設(shè)計(jì)
      碼頭集裝箱機(jī)械臂的研究與設(shè)計(jì)
      書(shū)畫(huà)手臂的模型設(shè)計(jì)
      六自由度機(jī)械臂控制系統(tǒng)設(shè)計(jì)
      基于無(wú)人機(jī)平臺(tái)的垃圾搜索及拾取系統(tǒng)設(shè)計(jì)
      基于智能車技術(shù)的圖書(shū)館書(shū)籍整理機(jī)器人
      機(jī)械臂平面運(yùn)動(dòng)控制與分析
      機(jī)械臂工作空間全局相對(duì)可操作度圖的構(gòu)建方法
      人機(jī)交互課程創(chuàng)新實(shí)驗(yàn)
      定點(diǎn)巡視與帶電清理平臺(tái)的研究與設(shè)計(jì)
      东乌| 岑溪市| 河南省| 义马市| 尉犁县| 肥西县| 顺义区| 太康县| 安西县| 太谷县| 阿拉尔市| 会昌县| 渑池县| 桐城市| 兰州市| 工布江达县| 汉中市| 汉寿县| 都兰县| 虞城县| 女性| 道孚县| 罗定市| 乌兰察布市| 象山县| 固阳县| 曲水县| 尼木县| 潞城市| 云安县| 新野县| 五原县| 广饶县| 宿迁市| 南和县| 仙游县| 岳池县| 额济纳旗| 九江县| 萝北县| 寻乌县|