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

基于OpenGL的RV-3SQ垂直多關(guān)節(jié)型機器人監(jiān)控研究

2011-01-01 00:00:00嚴奎
計算技術(shù)與自動化 2011年4期

文章編號:1003-6199(2011)04-0137-04

摘 要:利用OpenGL平臺導入三菱RV-3SQ垂直多關(guān)節(jié)型機器人3D模型,在VC++的環(huán)境中采用OpenGL平臺進行對3D模型對象進行控制,通過串口通信使模型機器人對象與實際機器人對象聯(lián)動,為機器人監(jiān)控提供便利。實驗表明,將基于 OpenGL平臺的圖形虛擬系統(tǒng)與實際控制對象結(jié)合起來,能夠更好的表現(xiàn)對象的運動過程,在監(jiān)控系統(tǒng)中具有很強的實用性。

關(guān)鍵詞:OpenGL;RV3SQ機器人;3D模型;監(jiān)控

中圖分類號: TP24;TP273+.5 文獻標識碼:A



Based on the OpenGL RV3SQ Vertical Multijoint 

Robot Control Research



YAN Kui

(Nanjing Institute of Technolgy,Nanjing 210000,China)

Abstract:This paper aims to import the 3D model of Mitsubishi RV3SQ Robot in the platform of Opengl where the model could be controlled in VC++ environment.It will combine the virtual robot with the actual robot by Serial Communication.Experiment suggests that it could be very practical and it can provide great convenience to connect the virtual system and the actual control of the objects on Opengl Platform in the robot Monitored Control System.

Key words: OpenGL;RV3SQ robot ;3D model;monitor and control

1 引 言

工業(yè)生產(chǎn)線上機器人在現(xiàn)代工業(yè)制造和生產(chǎn)中地位非常重要,應用也越來越廣。如何對機器人監(jiān)控是保證機器人完成指定工作重要的環(huán)節(jié)。現(xiàn)場人員監(jiān)控以及利用攝像頭跟蹤機器人運動,并利用監(jiān)控畫面實現(xiàn)控制是現(xiàn)階段控制的主要手段。缺點在于:①對場地要求具備便于安裝攝像頭或者現(xiàn)場控制人員工位;②生產(chǎn)環(huán)境要求必須適應人員或者攝像頭,對于煙塵、蒸汽等有毒有害的生產(chǎn)場所,都不能采用上述方案。③監(jiān)視存在死角,不能多角度的觀測對象。為克服上述缺點,本文試圖應用OpenGL技術(shù)對機器人在上位計算機建立模型,并將該模型與機器人實際運動過程通過檢測和通信關(guān)聯(lián)起來,以便在控制中做應用,并且能夠克服上述的應用缺陷。

2 機器人模型的建立

機器人模型要針對具體的實際機器人對象,能夠還原機器人實際的運動和功能要求。由于機器人的種類很多,根據(jù)不同的生產(chǎn)要求功能也不盡相同,所以首先要對機器人進行建模。在我們的研究對象是三菱公司的RV3SQ垂直多關(guān)節(jié)型機器人。如圖1所示,它是6自由度關(guān)節(jié)機器人。此機器人為某合作項目中,可視化三菱 e-f@ctory 自動生產(chǎn)線上,零件的加工設(shè)備中的自動上下料機器人,主要在生產(chǎn)線上是完成加工件的上下料。基于上述要求可以對機器人進行建立模型,可以采用兩種方式:①利用OpenGL建立模型,即運用OpenGL的基本圖元方式(點、線、面)和OpenGL輔助庫中三維圖元直接構(gòu)造,將機器人分解成不同的幾何部分,然后調(diào)用庫函數(shù)進行對各個部分進行繪制,最后整合得到機器人模型。但是由于OpenGL不提供描述類似于飛機、汽車、分子形狀等復雜形體的圖形操作函數(shù)。用戶必須從最基本的圖形單元開始構(gòu)造自己的三維模型,所以對于像機器人這種模型建造起來比較復雜,同時會增加代碼的復雜程度,使得整個程序的效率和實時性受到影響。②利用第三方三維制作軟件,如3DMAX、solidwok 等軟件進行模型的建立,由軟件Milkshape3D進行格式轉(zhuǎn)換和添加關(guān)節(jié)(也稱為骨骼),然后對由OpenGL其動作進行控制及骨骼運動。這種方法一方面可以大大的節(jié)省上位機模型的建立時間,另一方面可以提提高程序的可讀性和執(zhí)行效率,缺點在于必須要對三維軟件所建立的文件格式非常熟悉,文件操作相對復雜。圖2為三維軟件建立的機器人模型。

3 基于OpenGL對機器人模型的處理

圖形處理軟件建立的上位機的三維機器人模型是一個三維信息文件,現(xiàn)在通過OpenGL 讀取、并控制這個上位機機器人模型,可實現(xiàn)機器人的虛擬可視化,這是實現(xiàn)監(jiān)控的重要部分。所運用的OpenGL平臺是一個與硬件圖形發(fā)生器的C語言軟件接口,它包括了多個圖形操作函數(shù),開發(fā)者可以利用這些函數(shù)來構(gòu)造景物模型、進行三維圖形交互軟件的開發(fā),是由世界計算機圖形學界領(lǐng)袖Silicon Graphic公司的開發(fā)的產(chǎn)品。由于OpenGL本身不提供復雜模型繪制,所有對于本論文中需要實現(xiàn)的機器人模型,是需要OpenGL中提供的點、線、面函數(shù)逐步來實現(xiàn),這樣將耗費大量的時間和精力,而且效果不好。我們采用專業(yè)的三維模型軟件繪制上位機機器人模型,然后對其處理。三維軟件畫出的機器人模型不是簡單的文檔文件,所以對其讀出不是簡單的文檔讀寫操作,需要對建立模型的格式進行處理。MS3D機器人模型是由3DMAX繪制,再由Milkshape3D軟件轉(zhuǎn)換的文件格式,原因在于:①可以添加控制關(guān)節(jié),使得模型機器人更加逼真機器人運動;②轉(zhuǎn)換后的格式便于C語言進行處理,同時與OpenGL可以進行良好的結(jié)合。MS3D文件格式的機器人模型從C語言的角度來講,是由數(shù)個數(shù)據(jù)結(jié)構(gòu)來描述三維信息的MS3D文件的數(shù)據(jù)結(jié)構(gòu)如下[1]:

//文件頭數(shù)據(jù)結(jié)構(gòu),描述版本信息等,用來文件讀入判斷

struct MS3DHeader 

{

……

} 

// 頂點信息數(shù)據(jù)結(jié)構(gòu):包括頂點個數(shù),以及每個頂點的位置數(shù)據(jù),有無骨骼。

struct MS3DVertex

{

……

// 三角形信息:模型是由多邊形組成的,所以包括三角形的個數(shù)和位置。

struct MS3DTriangle

{……

}

// 材質(zhì)信息

struct MS3DMaterial

{

……

} PACK_STRUCT;

//關(guān)節(jié)即骨骼連接信息

struct MS3DJoint

{

……

} PACK_STRUCT;

// 關(guān)鍵幀數(shù)據(jù)

struct MS3DKeyframe

{……

}

根據(jù)MS3D 格式的機器人模型文件所提供的頂點信息、三角信息、網(wǎng)格信息、紋理信息、骨骼信息、關(guān)節(jié)信息等,利用OPENGL提供函數(shù)將MS3D 格式的機器人模型重新繪制出來[5],這一點與在程序中常用的圖片調(diào)用不一樣。這里我們提供在OPENGL編程中具體用到的函數(shù),并且對這一過程的說明:

1)讀入文件,運用文件操作的方法對三維文件模型進行解構(gòu),并將這些信息存放在指定數(shù)組存儲,以便于OPENGL平臺在VC環(huán)境中進行重繪,程序流程圖如圖3所示:

2)在VC環(huán)境中進行重繪圖形并顯示,我們在三維制作軟件中,將機器人模型根據(jù)實際控制機器人對象按照關(guān)節(jié)分為幾個部分,將重繪寫成一個函數(shù)[7],將不同的部分畫出,程序流程圖4:

程序運行效果如圖5所示:

4 模型控制部分

三維模型在上位機畫出的是靜態(tài)圖像,為了使得機器人模型與實際機器人對象實現(xiàn)聯(lián)動,同時能予以控制,必須為其設(shè)置動作部分關(guān)節(jié)點,控制關(guān)節(jié)點,就能轉(zhuǎn)動手臂使得其到達規(guī)定工位。為了達到上述要求,本文將機器人分成幾個部分,并對各個部分進行控制。主要用到了glScalef,glTranslatef,glRotatef,glPopMatrix函數(shù)。運行程序,并控制在關(guān)節(jié)在不同的姿態(tài)如圖6所示:

5 通信監(jiān)控部分

實現(xiàn)模型機器人對象和實際控制機器人對象進行通信,使得模型對象與控制對象的聯(lián)動。一方面將控制信息傳遞到實際機器人對象,使得實際機器人對象根據(jù)控制信息要求進行指定運動,同時將這運動過程傳回模型對象,使模型對象與實際對象運動保持一致。由于具體的機器人因型號和廠家不同,支持的通信接口也不盡相同。我們所研究的對象是支持三菱公司的CCLINK工業(yè)總線,通過協(xié)議轉(zhuǎn)換可以將其轉(zhuǎn)換成串口通信,具體的協(xié)議轉(zhuǎn)換不是本論文所討論的,為不失一般性,我們假定機器人能接受串口,所以通信采用串口通信。由于三菱RV-3SQ垂直多關(guān)節(jié)型機器人還處于在生產(chǎn)線上調(diào)試中,所以本論文并沒有將模型和實際對象系統(tǒng)調(diào)試,只是將上下臂關(guān)節(jié)移動信息由串口輸出和輸入,并假定已通過串口轉(zhuǎn)成CCLINK傳遞到機器人中完成控制[8]。為此在機器人底座固定的情況下,只需要傳遞的數(shù)據(jù)就是上臂轉(zhuǎn)角angle1、下臂轉(zhuǎn)角angle2、底座轉(zhuǎn)角angle3。將角度信息設(shè)置全局變量,并設(shè)置定時器,定時采集角度信息等。部分代碼結(jié)構(gòu)如下:

void CFormDrive::OnCommMscomm1() 

{

// TODO: Add your control notification handler code here

VARIANT variant_redinput;

……

if(m_ctrlComm.GetCommEvent()==2) //事件值為2表示接收緩沖區(qū)內(nèi)有字符

{ variant_redinput =m_ctrlComm.GetInput(); //讀緩沖區(qū)

……

m_strRXData+=strtemp; //將接收數(shù)據(jù)轉(zhuǎn)換成CString; 

}

If(m_strRXData.find(\"angle1\")!=-1)//判斷是否對應轉(zhuǎn)角。

{ angel1=angelrobot1;

……

UpdateData(FALSE); 

} 6 結(jié)束語

本文就在生產(chǎn)線機器人監(jiān)控中提出了一種基于3D模型的可視化監(jiān)控方法,改善以往在生產(chǎn)現(xiàn)場對機器人監(jiān)控由于現(xiàn)場條件的限制,而影響監(jiān)控效果的情況。系統(tǒng)地描述了 OpenGL 以及三維可視化的相關(guān)技術(shù)和應用,并給出了部分代碼框架。而且這一方法可以推廣到對非平面運動機構(gòu)多角度監(jiān)控上,在工業(yè)生產(chǎn)中具有較高的使用價值。

參考文獻

[1] Evan Piph.Focus On 3D Models[M] . Portland: Premier Press,2002:7.

[2] 李桂瓊,張文祥譯.Edward Angel.OpenGL程序設(shè)計指南[M].北京:清華大學出版社,2005.

[3] 楊志曉,韓金池,歐仁輝.基于OpenGL的虛擬機器人建模的優(yōu)化方法[J].計算機系統(tǒng)應用,2008,11:21-25.

[4] 馬志強,陳一民,汪地.面向?qū)ο蟮臋C器人仿真與監(jiān)控系統(tǒng)[J].計算機工程與設(shè)計,2005,(1):75-78.

[5] 梁磊,王勇,王憲倫.基于VRML和 JavaApplet的機器人三維仿真[J].山東大學學報,2004,34(6):4-7.

[6] 蔣蕉,何清華,王奕.基于VRML和Java的交互式虛擬裝配技術(shù)研究[J].機械研究與應用,2008,21(6):96-99.

[7] ZZMSLBin,ZLCBinggang. STATICS ANALYSIS AND OPENGL BASED 3D SIMULATION OF COLLABORATIVE RECONFIGURABLE PLANETARY ROBOTS[J].西安交通大學學報(英文版).2006.2

[8] Tetsuo Yoshimitsua. Microhopping Robot For Asteroid Exploration[J].ActaAstronautica,2003.52: 441-446.

收稿日期:2011-08-31

基金項目:南京工程學院校級科研基金項目(KXJ08093)

作者簡介:嚴 奎(1976—),男,四川南充人,講師,碩士,研究方向:控制工程與控制理論(E-mail:yankui@njit.edu.cn)。

主站蜘蛛池模板: 国产成人精品18| 欧美精品高清| 欧美a级完整在线观看| 无码久看视频| 亚洲天堂在线视频| 免费看黄片一区二区三区| 99无码中文字幕视频| 国产69精品久久| 国产一区二区三区精品欧美日韩| 自拍偷拍欧美日韩| 性色生活片在线观看| 久久香蕉国产线| 国产一区二区人大臿蕉香蕉| 国产欧美日韩精品第二区| 亚洲V日韩V无码一区二区| 青青青伊人色综合久久| 亚洲精选无码久久久| 国产成人综合日韩精品无码不卡| 视频二区中文无码| 日韩精品免费一线在线观看| 国产精品久久久久久影院| 好紧好深好大乳无码中文字幕| 嫩草国产在线| 熟妇丰满人妻av无码区| 黄色网址手机国内免费在线观看| 久久综合九色综合97网| 亚洲福利网址| 亚洲一区黄色| 日本久久网站| 亚洲毛片网站| 色婷婷在线影院| 国产全黄a一级毛片| 日韩精品无码免费一区二区三区 | 精品国产中文一级毛片在线看| 免费一级毛片完整版在线看| 久久久久国色AV免费观看性色| 国产色伊人| 亚洲中文字幕精品| 九色91在线视频| 99国产精品一区二区| 欧美 亚洲 日韩 国产| 国产在线精品99一区不卡| 99精品免费欧美成人小视频| 亚洲国产第一区二区香蕉| 国产精品不卡片视频免费观看| 中日韩欧亚无码视频| 久久综合色视频| 韩国自拍偷自拍亚洲精品| 免费看a级毛片| 国产精女同一区二区三区久| 国产主播福利在线观看| 91精品最新国内在线播放| 美女无遮挡被啪啪到高潮免费| 亚洲三级视频在线观看| 欧美日韩中文字幕二区三区| 2019年国产精品自拍不卡| 中文字幕佐山爱一区二区免费| 国产亚洲精品在天天在线麻豆| 六月婷婷精品视频在线观看 | 一级做a爰片久久免费| 午夜欧美理论2019理论| 波多野吉衣一区二区三区av| 国产成人在线无码免费视频| 精品人妻无码区在线视频| 欧美有码在线| 精品少妇人妻一区二区| 99久久人妻精品免费二区| 成人字幕网视频在线观看| 免费在线成人网| 日韩精品一区二区三区swag| 欧美在线导航| 亚洲欧美在线精品一区二区| 国产1区2区在线观看| 激情综合五月网| 午夜精品影院| 人人爱天天做夜夜爽| 国产色爱av资源综合区| a亚洲视频| 欧美色99| 亚洲精品午夜无码电影网| 亚洲Av激情网五月天| 狠狠久久综合伊人不卡|