亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2017-06-19 18:50:12洪惠超鄭力新謝煒芳
        關(guān)鍵詞:運(yùn)動學(xué)連桿機(jī)器人

        洪惠超,鄭力新,謝煒芳

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

        ?

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

        洪惠超,鄭力新,謝煒芳

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

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

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

        0 引言

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

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

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

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

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

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

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

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

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

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

        (3)設(shè)置著色描述表:OpenGL的著色描述表定義為hRC。為了讓程序能夠繪制窗口,還需要創(chuàng)建一個設(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)定義場景(包括機(jī)器人和其工作環(huán)境)重繪函數(shù)DrawStepRoot(),在DrawStepRobot()函數(shù)中需要繪制包括氣缸 、活塞、上下平臺和鉸鏈等元件,繪制時這些元件則由更小的細(xì)節(jié)組成,這些細(xì)節(jié)均可通過OpenGL以及glut所提供的基本點(diǎn) 、線 、多邊形的繪制函數(shù)繪制而成;關(guān)節(jié)與關(guān)節(jié)之間的相對旋轉(zhuǎn)則可以分別由OpenGL中的glTranslatef()函數(shù)所實(shí)現(xiàn),將每個關(guān)節(jié)角作為函數(shù)傳入glTranslatef()中,通過DDX_(對話數(shù)據(jù)交換函數(shù))實(shí)現(xiàn)控件值與上述函數(shù)參數(shù)(如位置、姿態(tài)、每個關(guān)節(jié)的角度)的綁定;登記按鈕或鼠標(biāo)等命令消息,在對應(yīng)的消息處理函數(shù)中通過重繪函數(shù)DrawStepRoot()對機(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ī)器人本體為客戶端,而以其他設(shè)備為服務(wù)端。目的是實(shí)現(xiàn)一臺支持TCP/IP協(xié)議的終端盡最大的可能對多臺機(jī)器進(jìn)行操控。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        對機(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表示連桿長度;dn為移動關(guān)節(jié)移動變量。

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

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

        由于所有的運(yùn)動都是相對于當(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é)角度計算出來的末段執(zhí)行器的姿態(tài)和位置,也就是SA1400機(jī)器人正運(yùn)動學(xué)方程的建立過程。與之相反的是機(jī)器人逆運(yùn)動方程的建立,即已知末端位姿求出各個關(guān)節(jié)旋轉(zhuǎn)的角度。

        對于機(jī)器人求逆解的方法有多種,最常用的方法是封閉解法,采用該方法不僅便于實(shí)時控制,而且計算速度快且效率高。封閉解法包含代數(shù)、幾何兩種解法。此處采用一種系統(tǒng)化的代數(shù)解法。具體過程如下:如式(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é)變量分離出來,從而求出解,按照這種方法讓矩陣左右兩邊的元素相等便可求出各個關(guān)節(jié)變量的值。計算過程可用下述等式表示:

        (3)

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

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

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

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

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

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

        5 結(jié)束語

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

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

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

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

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

        [5] 祁若龍, 周維佳, 劉金國,等. VC平臺下機(jī)器人虛擬運(yùn)動控制及3D運(yùn)動仿真的有效實(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)新能力計劃資助項(xiàng)目(1511322001)

        TP24

        A

        10.19358/j.issn.1674- 7720.2017.11.002

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

        2017-02-13)

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

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

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

        猜你喜歡
        運(yùn)動學(xué)連桿機(jī)器人
        某發(fā)動機(jī)連桿螺栓擰緊工藝開發(fā)
        基于MATLAB的6R機(jī)器人逆運(yùn)動學(xué)求解分析
        基于D-H法的5-DOF串并聯(lián)機(jī)床運(yùn)動學(xué)分析
        基于運(yùn)動學(xué)原理的LBI解模糊算法
        機(jī)器人來幫你
        認(rèn)識機(jī)器人
        機(jī)器人來啦
        認(rèn)識機(jī)器人
        連桿的運(yùn)動及有限元分析
        一種連桿、杠桿撬斷澆口的新型模具設(shè)計
        avtt一区| 91视频88av| 丝袜足控一区二区三区 | 女优一区二区三区在线观看| 99riav国产精品视频| 少妇性bbb搡bbb爽爽爽| 激情综合丁香五月| 天堂а√在线中文在线新版| 人妻被黑人粗大的猛烈进出| 午夜毛片午夜女人喷潮视频| 亚洲va在线va天堂va四虎| 日韩美女av二区三区四区| 中国av一区二区三区四区| 在线视频观看一区二区| 亚洲一区二区在线观看网址| 久久婷婷五月综合色丁香| 无码国产精品一区二区免费式直播| 国产午夜亚洲精品午夜鲁丝片| 国产精品久久国产精麻豆99网站| 中文字幕在线日韩| 久久HEZYO色综合| 久久久人妻丰满熟妇av蜜臀| 日韩av一区二区不卡| 中文字幕无码中文字幕有码| 巨茎中出肉欲人妻在线视频| 免费看泡妞视频app| 亚洲乱码视频在线观看| 中文不卡视频| 精品中文字幕日本久久久| 久久精品国产在热亚洲不卡| 粉嫩av最新在线高清观看| 久久精品国产99久久无毒不卡| 国产熟女高潮视频| 国产人澡人澡澡澡人碰视频| 日韩精品中文字幕综合| 亚洲精品综合中文字幕组合| 久久精品国产清自在天天线| 久久久午夜精品福利内容| 国产最新地址| 色视频日本一区二区三区| 亚洲第一黄色免费网站|