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

基于網(wǎng)絡(luò)的工業(yè)機(jī)器人的仿真研究*

2017-06-19 18:50:12洪惠超鄭力新謝煒?lè)?/span>

洪惠超,鄭力新,謝煒?lè)?/p>

(工業(yè)智能化技術(shù)與系統(tǒng)福建省高校工程研究中心,福建 泉州 362021)

?

基于網(wǎng)絡(luò)的工業(yè)機(jī)器人的仿真研究*

洪惠超,鄭力新,謝煒?lè)?/p>

(工業(yè)智能化技術(shù)與系統(tǒng)福建省高校工程研究中心,福建 泉州 362021)

依托StepRobot-SA1400,研究了OpenGL在機(jī)器人仿真系統(tǒng)的應(yīng)用;通過(guò)CoDeSys編寫(xiě)SA1400 PLC控制器程序,基于TCP/IP協(xié)議實(shí)現(xiàn)PC或其他終端與機(jī)器人控制器的通信,實(shí)現(xiàn)了在PC對(duì)StepRobot-SA1400機(jī)器人進(jìn)行在線控制;同時(shí)通過(guò)離線仿真功能,真實(shí)地模擬了實(shí)際機(jī)器人的運(yùn)動(dòng)情況,預(yù)測(cè)和減少了實(shí)體機(jī)器人在實(shí)際運(yùn)行中出現(xiàn)的各種問(wèn)題。

三維仿真;工業(yè)機(jī)器人;運(yùn)動(dòng)學(xué)仿真;OpenGL

0 引言

隨著生產(chǎn)力水平的不斷進(jìn)步和科學(xué)技術(shù)的飛速發(fā)展,工業(yè)機(jī)器人作為先進(jìn)、智能的工業(yè)化設(shè)備的代表,在社會(huì)生活的很多方面廣泛應(yīng)用[1],尤其利用計(jì)算機(jī)預(yù)先對(duì)機(jī)器人及其工作環(huán)境乃至生產(chǎn)過(guò)程進(jìn)行仿真可以得到很好的輔助效果。通過(guò)系統(tǒng)仿真,可以在制造單機(jī)與生產(chǎn)線之前模擬出實(shí)物,縮短生產(chǎn)工期,避免不必要的返工。因此如何精準(zhǔn)、忠實(shí)地在計(jì)算機(jī)界面模擬實(shí)際機(jī)器人的生產(chǎn)過(guò)程、所在的工作環(huán)境已經(jīng)成為機(jī)器人技術(shù)的一個(gè)突出問(wèn)題。除此之外,在工業(yè)機(jī)器人的應(yīng)用領(lǐng)域還存在另一個(gè)較為嚴(yán)峻的問(wèn)題:一般的機(jī)器人控制器多以實(shí)現(xiàn)機(jī)器人內(nèi)部控制為主要目的,缺乏與外界設(shè)備的信息交換能力。用戶(hù)不能以一種有效的手段動(dòng)態(tài)地對(duì)機(jī)器人本身進(jìn)行遠(yuǎn)程指令下發(fā)、監(jiān)控。

如果基于通用的網(wǎng)絡(luò)技術(shù)和目前成熟的計(jì)算機(jī)圖形技術(shù),仿真系統(tǒng)能夠?qū)崟r(shí)接收機(jī)器人控制器發(fā)來(lái)的狀態(tài)數(shù)據(jù),動(dòng)態(tài)地以三維模擬方式顯示或者將數(shù)據(jù)存儲(chǔ)起來(lái)以備將來(lái)分析,那么則可以降低機(jī)器的研發(fā)成本,并極大地提高控制機(jī)器人的便利性,因此開(kāi)發(fā)一種基于網(wǎng)絡(luò)可遠(yuǎn)程控制的機(jī)器人仿真軟件是十分必要的。

本文構(gòu)建了一個(gè)在Visual Studio所提供的MFC框架下引入OpenGL圖形程序接口技術(shù)、基于TCP/IP通信協(xié)議開(kāi)發(fā)的機(jī)器人運(yùn)動(dòng)仿真及在線控制軟件。本文將對(duì)在MFC下利用OpenGL實(shí)現(xiàn)三維顯示及運(yùn)動(dòng)學(xué)建模等關(guān)鍵技術(shù)進(jìn)行研究說(shuō)明。最后簡(jiǎn)要闡述了基于通用的網(wǎng)絡(luò)通信技術(shù)與機(jī)器人仿真軟件相結(jié)合的一個(gè)應(yīng)用實(shí)例。

1 在MFC(Microsoft Foundation Classes)下的OpenGL三維顯示技術(shù)

OpenGL是由SGI公司所開(kāi)發(fā)的一個(gè)成熟而久負(fù)盛名的跨平臺(tái)的計(jì)算機(jī)圖形應(yīng)用程序接口規(guī)范,其高效、功能完善、支持幾乎所有現(xiàn)有的主流操作系統(tǒng)平臺(tái)。本文采用OpenGL2.0版本結(jié)合微軟基礎(chǔ)類(lèi)庫(kù)實(shí)現(xiàn)系統(tǒng)的人機(jī)交互功能。以下簡(jiǎn)單介紹應(yīng)用OpenGL和MFC實(shí)現(xiàn)三維圖形軟件的過(guò)程。

(1)開(kāi)發(fā)環(huán)境配置:應(yīng)用OpenGL和MFC開(kāi)發(fā)三維圖形軟件需要用到opengl32.dll和glu.dll這兩個(gè)文件。在開(kāi)發(fā)本程序時(shí),還使用了glut庫(kù),在程序中,可以利用glut提供的各種庫(kù)函數(shù)來(lái)實(shí)現(xiàn)對(duì)鼠標(biāo)、鍵盤(pán)的消息進(jìn)行響應(yīng)以及繪制三維圖形[2]。

(2)設(shè)置像素格式的結(jié)構(gòu)和參數(shù)

①填充 PIXELFORMATDESCRIPTOR 結(jié)構(gòu)設(shè)置像素格式。

②用ChoosePixelFormat()函數(shù)比較傳來(lái)的像素格式描述和OpenGL支持的像素格式,返回一個(gè)最佳匹配的像素格式索引。

③調(diào)用SetPixelForlnat用格式索引iPixelFormat來(lái)設(shè)置hdc的像素格式。

(3)設(shè)置著色描述表:OpenGL的著色描述表定義為hRC。為了讓程序能夠繪制窗口,還需要?jiǎng)?chuàng)建一個(gè)設(shè)備描述表。Windows的設(shè)備描述表被定義為hDC。DC將窗口連接到GDI(圖形設(shè)備接口)。而RC將OpenGL連接到DC。

(4)添加響應(yīng)WM_PAINT消息的消息處理函數(shù)OnPaint,在函數(shù)OnPaint函數(shù)體中建立機(jī)器人三維模型及繪制其工作環(huán)境[3-4]。

(5)建立消息映射和命令傳遞。

(6)定義場(chǎng)景(包括機(jī)器人和其工作環(huán)境)重繪函數(shù)DrawStepRoot(),在DrawStepRobot()函數(shù)中需要繪制包括氣缸 、活塞、上下平臺(tái)和鉸鏈等元件,繪制時(shí)這些元件則由更小的細(xì)節(jié)組成,這些細(xì)節(jié)均可通過(guò)OpenGL以及glut所提供的基本點(diǎn) 、線 、多邊形的繪制函數(shù)繪制而成;關(guān)節(jié)與關(guān)節(jié)之間的相對(duì)旋轉(zhuǎn)則可以分別由OpenGL中的glTranslatef()函數(shù)所實(shí)現(xiàn),將每個(gè)關(guān)節(jié)角作為函數(shù)傳入glTranslatef()中,通過(guò)DDX_(對(duì)話數(shù)據(jù)交換函數(shù))實(shí)現(xiàn)控件值與上述函數(shù)參數(shù)(如位置、姿態(tài)、每個(gè)關(guān)節(jié)的角度)的綁定;登記按鈕或鼠標(biāo)等命令消息,在對(duì)應(yīng)的消息處理函數(shù)中通過(guò)重繪函數(shù)DrawStepRoot()對(duì)機(jī)器人的狀態(tài)進(jìn)行更新[4-5]。

圖1 機(jī)器人本體

圖2 機(jī)器人仿真模型

機(jī)器人本體和機(jī)器人仿真模型如圖1和圖2所示。

2 在Windows下網(wǎng)絡(luò)數(shù)據(jù)通信的實(shí)現(xiàn)

本文所搭建的仿真軟件是以SA1400機(jī)器人本體為客戶(hù)端,而以其他設(shè)備為服務(wù)端。目的是實(shí)現(xiàn)一臺(tái)支持TCP/IP協(xié)議的終端盡最大的可能對(duì)多臺(tái)機(jī)器進(jìn)行操控。

在實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)倪^(guò)程中,因?yàn)閷?duì)數(shù)據(jù)的可靠性和完整性均有極高的要求,基于此,此處選擇了多線程流式Socket方式。

以傳輸機(jī)器人6個(gè)關(guān)節(jié)角為例,服務(wù)器程序?qū)崿F(xiàn)如下:

(1)在OnInitDialog()函數(shù)中添加用于初始化和建立套接字的代碼,用listen()和Accept()函數(shù)監(jiān)聽(tīng)客戶(hù)端請(qǐng)求。

(2)創(chuàng)建線程對(duì)象 pThread用于接收客戶(hù)端的連接請(qǐng)求:

CThread*pThread=(CThread*)AfxBeginThread(RUNTIME_CLASS(CThread));

這時(shí),服務(wù)器方通信的初始化完成,創(chuàng)建新的線程,避免由于通信造成主程序阻塞而不能對(duì)機(jī)器人進(jìn)行控制,妨礙用戶(hù)界面上的操作和結(jié)果的顯示。

(3)用Send()函數(shù)向機(jī)器人本體傳輸數(shù)據(jù)

對(duì)應(yīng)機(jī)器人的6個(gè)關(guān)節(jié)角,定義了一個(gè)長(zhǎng)度為6的浮點(diǎn)型數(shù)組,通過(guò)send()函數(shù)與機(jī)器人本體通信。具體為在消息響應(yīng)函數(shù)中加入如下代碼:

send (app->ClientSock, (char*)(data), 24, 0);

這種方法的不足之處是當(dāng)僅僅只需要更新一個(gè)關(guān)節(jié)角度值時(shí),則另外5個(gè)關(guān)節(jié)角度也需要同步更新,傳輸?shù)臄?shù)據(jù)量由本來(lái)的4 B變?yōu)榱?4 B;以及只能傳輸機(jī)器人的6個(gè)關(guān)節(jié)角度,而對(duì)于速度等其余數(shù)據(jù)則需要另行定義。

為了避免這種情況的出現(xiàn)以及適應(yīng)更多類(lèi)型數(shù)據(jù)的傳輸,本系統(tǒng)做了如下的設(shè)計(jì),定義發(fā)送數(shù)據(jù)包格式如圖3。

圖3 發(fā)送數(shù)據(jù)包格式

關(guān)節(jié)ID:表明當(dāng)前接收的數(shù)據(jù)適用于第n個(gè)關(guān)節(jié)。

指示執(zhí)行動(dòng)作類(lèi)型:表明關(guān)節(jié)ID將做何種狀態(tài)改變,如速度、旋轉(zhuǎn)角度等。

數(shù)據(jù)字段:指明了關(guān)節(jié)ID執(zhí)行動(dòng)作的改變量,如速度改變量、旋轉(zhuǎn)角度改變量等。

對(duì)于服務(wù)器而言,SA1400在接收數(shù)據(jù)時(shí),服務(wù)器解析第一個(gè)字段ID,確定需要更新第n個(gè)關(guān)節(jié)角后,解析指示執(zhí)行動(dòng)作類(lèi)型字段以及數(shù)據(jù)字段,由此機(jī)器人做出相應(yīng)的狀態(tài)改變。

基于MFC的多線程流式Socket方式的通信設(shè)計(jì)以及對(duì)發(fā)送數(shù)據(jù)包的改進(jìn)不僅能有效地實(shí)現(xiàn)一個(gè)終端對(duì)多臺(tái)機(jī)器人的控制,同時(shí)在發(fā)送數(shù)據(jù)量減少4倍的情況下,實(shí)現(xiàn)了機(jī)器人多種狀態(tài)的更新。

3 機(jī)器人運(yùn)動(dòng)學(xué)建模

研究工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)的運(yùn)動(dòng)特性,就是研究各連桿的速度、加速度、位置變量的所有高階導(dǎo)數(shù);選擇合適的方法確定機(jī)器人的連桿參數(shù),以及對(duì)機(jī)器人進(jìn)行工作空間規(guī)劃則有助于減小機(jī)器人三維尺寸,提高機(jī)器人的運(yùn)行效率[6]。

為了描述連桿坐標(biāo)系之間的關(guān)系,Denavit 和Hartenberg提出一種通用的方法,這種方法在機(jī)器人的每個(gè)連桿上都固定一個(gè)坐標(biāo)系,用4×4的齊次變換矩陣來(lái)描述相鄰兩連桿的空間關(guān)系。通過(guò)依次變換可最終推導(dǎo)出末端執(zhí)行器相對(duì)于基坐標(biāo)系的位姿,從而建立機(jī)器人的運(yùn)動(dòng)學(xué)方程[7]。

實(shí)現(xiàn)方法如下:

對(duì)機(jī)器人,如圖4所示,采用D-H參數(shù)法進(jìn)行建模,得到關(guān)于SA1400機(jī)器人的D-H坐標(biāo)系,如圖5所示。

圖4 SA1400機(jī)器人

圖5 SA1400機(jī)器人的D-H坐標(biāo)系

其中圖5中參數(shù)an表示連桿長(zhǎng)度;dn為移動(dòng)關(guān)節(jié)移動(dòng)變量。

根據(jù)圖5可得關(guān)于SA1400的D-H參數(shù),如表1所示。其中θn為轉(zhuǎn)動(dòng)關(guān)節(jié)變量,αn是兩關(guān)節(jié)軸扭角。

表1 SA1400的D-H參數(shù)表

由于所有的運(yùn)動(dòng)都是相對(duì)于當(dāng)前坐標(biāo)系而言的,因此,總的變換矩陣A等于各變換矩陣右乘。

nTn+1=An+1=Rot(z,θn+1)×Trans(0,0,dn+1)×Trans(an+1,0,0)×Rot(x,αn+1)

(1)

將表1參數(shù)代入式(1),從而得到A1、A2、A3、A4、A5、A6。

可得連續(xù)的連桿變換為:

(2)

所求T中的參數(shù)nx、ny、nz、ox、oy、oz、px、py、pz即為根據(jù)機(jī)器人各關(guān)節(jié)角度計(jì)算出來(lái)的末段執(zhí)行器的姿態(tài)和位置,也就是SA1400機(jī)器人正運(yùn)動(dòng)學(xué)方程的建立過(guò)程。與之相反的是機(jī)器人逆運(yùn)動(dòng)方程的建立,即已知末端位姿求出各個(gè)關(guān)節(jié)旋轉(zhuǎn)的角度。

對(duì)于機(jī)器人求逆解的方法有多種,最常用的方法是封閉解法,采用該方法不僅便于實(shí)時(shí)控制,而且計(jì)算速度快且效率高。封閉解法包含代數(shù)、幾何兩種解法。此處采用一種系統(tǒng)化的代數(shù)解法。具體過(guò)程如下:如式(2)所示,已知nx、ny、nz、ox、oy、oz、px、py、pz,而A1、A2、A3、A4、A5、A6則為未知矩陣,其中所含的未知變量為θ1、θ2、θ3、θ4、θ5、θ6。用未知的連桿的逆變換左乘方程的兩端,把關(guān)節(jié)變量分離出來(lái),從而求出解,按照這種方法讓矩陣左右兩邊的元素相等便可求出各個(gè)關(guān)節(jié)變量的值。計(jì)算過(guò)程可用下述等式表示:

(3)

4 應(yīng)用實(shí)例

本文構(gòu)建的基于網(wǎng)絡(luò)和StepRobot-SA1400工業(yè)機(jī)器人的仿真系統(tǒng)基本上能模擬真正機(jī)器人所實(shí)現(xiàn)的功能,圖6為轉(zhuǎn)動(dòng)關(guān)節(jié)變量J1~J6為0時(shí),機(jī)器人仿真軟件的仿真結(jié)果;圖7為J1~J2為0、J3=30°、J4~J6為0時(shí),機(jī)器人仿真軟件的仿真結(jié)果。

可以從圖6、圖7中的正運(yùn)動(dòng)學(xué)求解模塊中輸入轉(zhuǎn)動(dòng)關(guān)節(jié)變量獲得機(jī)器人末端執(zhí)行器的位姿矩陣,也可以在逆運(yùn)動(dòng)學(xué)求解模塊中設(shè)定末端執(zhí)行器的位姿矩陣,求得6個(gè)關(guān)節(jié)變量的角度值并在仿真界面中顯示。當(dāng)所求逆運(yùn)動(dòng)學(xué)解或輸入關(guān)節(jié)角度超過(guò)關(guān)節(jié)范圍時(shí)(關(guān)節(jié)角度范圍如表1所示),則程序?qū)棾鼍骓?yè)面(如圖8所示),若沒(méi)有對(duì)其進(jìn)行該設(shè)計(jì),當(dāng)關(guān)節(jié)超限時(shí),機(jī)器人的末端執(zhí)行器將可能對(duì)地板等硬物產(chǎn)生撞擊,造成機(jī)器人本體的損壞。

圖6 設(shè)J1~J6為0時(shí),機(jī)器人模型所對(duì)應(yīng)的狀態(tài)

圖7 J1~J2為0,J3=30°,J4~J6為0時(shí),機(jī)器人模型所對(duì)應(yīng)的狀態(tài)

圖8 提示轉(zhuǎn)動(dòng)關(guān)節(jié)變量超出范圍

5 結(jié)束語(yǔ)

本文構(gòu)建了一個(gè)基于網(wǎng)絡(luò)的工業(yè)機(jī)器人的仿真及在線控制系統(tǒng)。該系統(tǒng)利用OpenGL搭建了機(jī)器人本體仿真模型,避免了調(diào)試過(guò)程中對(duì)機(jī)器人本體可能造成的損傷;同時(shí)引進(jìn)在線控制功能,對(duì)傳輸?shù)臄?shù)據(jù)包做了進(jìn)一步的優(yōu)化,減少了網(wǎng)絡(luò)的通信量,實(shí)現(xiàn)對(duì)機(jī)器人的遠(yuǎn)程監(jiān)控,證明了仿真技術(shù)和網(wǎng)絡(luò)通信結(jié)合的可行性。

[1] 郭青陽(yáng).基于KUKA工業(yè)機(jī)器人的定位誤差補(bǔ)償方法的研究[D].長(zhǎng)春:長(zhǎng)春工業(yè)大學(xué),2016.

[2] 董天平,馬燕,劉倫鵬.基于OpenGL的工業(yè)化機(jī)器人仿真研究[J].重慶師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,30(2): 60-64.

[3] 李春雨. 計(jì)算機(jī)圖形學(xué)及實(shí)用編程技術(shù)[M]. 北京:北京航空航天大學(xué)出版社, 2009.

[4] 馮勝?gòu)?qiáng), 胡繩蓀, 申俊琦. 基于UG的弧焊機(jī)器人模型裝配與運(yùn)動(dòng)仿真[J]. 天津大學(xué)學(xué)報(bào), 2009, 42(6):518-522.

[5] 祁若龍, 周維佳, 劉金國(guó),等. VC平臺(tái)下機(jī)器人虛擬運(yùn)動(dòng)控制及3D運(yùn)動(dòng)仿真的有效實(shí)現(xiàn)方法[J]. 機(jī)器人, 2013, 35(5):594-599.

[6] CRAIG J J.機(jī)器人學(xué)導(dǎo)論(第3版)[M].贠超,譯.北京:機(jī)械工業(yè)出版社, 2006.

[7] DENAVIT J, HARTENBERG R S. A kinematic notation for lower-pair mechanisms based on matrices[J]. Trans.of the Asme. Journal of Applied Mechanics, 1955(22):215-221.

Simulation research of industrial robot based on network

Hong Huichao, Zheng Lixin, Xie Weifang

(Universities Engineering Research Center of Fujian Province Industrial Intelligent Technology and Systems, Quanzhou 362021, China)

Based on StepRobot-SA1400, this paper studied the application of OpenGL in the robot simulation system. Controller program of SA1400 was written by CoDeSys, and PC or other terminal can communicate with the robot controller based on TCP/IP to achieve control StepRobot-SA1400 in PC .At the same time through off-line simulation, the actual motion of the robot was simulated to forecast and reduce the various problems in the actual operation of the real robot.

3D simulation; industrial robot; kinematics simulation; OpenGL

華僑大學(xué)研究生科研創(chuàng)新能力計(jì)劃資助項(xiàng)目(1511322001)

TP24

A

10.19358/j.issn.1674- 7720.2017.11.002

洪惠超,鄭力新,謝煒?lè)?基于網(wǎng)絡(luò)的工業(yè)機(jī)器人的仿真研究[J].微型機(jī)與應(yīng)用,2017,36(11):5-7,11.

2017-02-13)

洪惠超(1991-),男,碩士研究生,主要研究方向:機(jī)器人控制、光電信息監(jiān)測(cè)與智能計(jì)算。

鄭力新(1967-),男,教授,博士,主要研究方向:運(yùn)動(dòng)控制、機(jī)器視覺(jué)、光機(jī)電一體化、計(jì)算機(jī)控制、影像色差識(shí)別技術(shù)、電源技術(shù)、網(wǎng)絡(luò)控制等。

謝煒?lè)?1994-),女,碩士研究生,主要研究方向:機(jī)器人控制、光電信息監(jiān)測(cè)與智能計(jì)算。

主站蜘蛛池模板: 欧美国产在线一区| 成人日韩视频| 色天天综合| 久久婷婷人人澡人人爱91| 国产福利在线观看精品| 亚洲,国产,日韩,综合一区 | 日本不卡视频在线| 国产麻豆va精品视频| 国产凹凸视频在线观看| 久久免费视频6| 毛片在线区| 国产亚洲精品91| 99激情网| 日韩欧美网址| 热思思久久免费视频| 久久免费看片| 日韩亚洲综合在线| 久久精品亚洲热综合一区二区| 一本一道波多野结衣一区二区| 啪啪啪亚洲无码| 国产在线自揄拍揄视频网站| 国产99视频精品免费观看9e| 国内精品视频区在线2021| 美女潮喷出白浆在线观看视频| 伊人久久大香线蕉成人综合网| 2022国产无码在线| 亚洲精品麻豆| 欧美亚洲国产一区| 91精品情国产情侣高潮对白蜜| 一区二区三区四区日韩| igao国产精品| 激情无码字幕综合| 国产高清不卡视频| 福利姬国产精品一区在线| 四虎永久在线视频| 奇米影视狠狠精品7777| 日本手机在线视频| 免费xxxxx在线观看网站| 久久综合伊人77777| 久久成人免费| 色网在线视频| 一级不卡毛片| 国产成人AV大片大片在线播放 | 久久国产高清视频| 亚洲精品视频在线观看视频| 国产成人欧美| 亚洲乱码在线视频| 香蕉精品在线| 沈阳少妇高潮在线| 正在播放久久| 国产av剧情无码精品色午夜| 亚洲婷婷六月| 综合色区亚洲熟妇在线| 手机精品视频在线观看免费| 91毛片网| 毛片在线看网站| 97se亚洲| 噜噜噜综合亚洲| 欧美激情视频一区| 亚洲国产精品无码AV| 伊人无码视屏| 欧美精品导航| 国产激情国语对白普通话| 宅男噜噜噜66国产在线观看| 99久久人妻精品免费二区| 久久久久夜色精品波多野结衣| 一级毛片无毒不卡直接观看| 国产成人精品日本亚洲| 亚洲女同一区二区| 麻豆精品久久久久久久99蜜桃| 五月天综合婷婷| 99久久精品免费视频| 国产成人夜色91| 日韩中文欧美| 永久免费无码成人网站| 国产97色在线| 亚洲成人黄色在线观看| 国产成人91精品| 67194成是人免费无码| 久久精品国产91久久综合麻豆自制 | 国产黄色免费看| 这里只有精品在线|