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

基于網絡的工業機器人的仿真研究*

2017-06-19 18:50:12洪惠超鄭力新謝煒芳
網絡安全與數據管理 2017年11期

洪惠超,鄭力新,謝煒芳

(工業智能化技術與系統福建省高校工程研究中心,福建 泉州 362021)

?

基于網絡的工業機器人的仿真研究*

洪惠超,鄭力新,謝煒芳

(工業智能化技術與系統福建省高校工程研究中心,福建 泉州 362021)

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

三維仿真;工業機器人;運動學仿真;OpenGL

0 引言

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

如果基于通用的網絡技術和目前成熟的計算機圖形技術,仿真系統能夠實時接收機器人控制器發來的狀態數據,動態地以三維模擬方式顯示或者將數據存儲起來以備將來分析,那么則可以降低機器的研發成本,并極大地提高控制機器人的便利性,因此開發一種基于網絡可遠程控制的機器人仿真軟件是十分必要的。

本文構建了一個在Visual Studio所提供的MFC框架下引入OpenGL圖形程序接口技術、基于TCP/IP通信協議開發的機器人運動仿真及在線控制軟件。本文將對在MFC下利用OpenGL實現三維顯示及運動學建模等關鍵技術進行研究說明。最后簡要闡述了基于通用的網絡通信技術與機器人仿真軟件相結合的一個應用實例。

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

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

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

(2)設置像素格式的結構和參數

①填充 PIXELFORMATDESCRIPTOR 結構設置像素格式。

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

③調用SetPixelForlnat用格式索引iPixelFormat來設置hdc的像素格式。

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

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

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

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

圖1 機器人本體

圖2 機器人仿真模型

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

2 在Windows下網絡數據通信的實現

本文所搭建的仿真軟件是以SA1400機器人本體為客戶端,而以其他設備為服務端。目的是實現一臺支持TCP/IP協議的終端盡最大的可能對多臺機器進行操控。

在實現數據傳輸的過程中,因為對數據的可靠性和完整性均有極高的要求,基于此,此處選擇了多線程流式Socket方式。

以傳輸機器人6個關節角為例,服務器程序實現如下:

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

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

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

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

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

對應機器人的6個關節角,定義了一個長度為6的浮點型數組,通過send()函數與機器人本體通信。具體為在消息響應函數中加入如下代碼:

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

這種方法的不足之處是當僅僅只需要更新一個關節角度值時,則另外5個關節角度也需要同步更新,傳輸的數據量由本來的4 B變為了24 B;以及只能傳輸機器人的6個關節角度,而對于速度等其余數據則需要另行定義。

為了避免這種情況的出現以及適應更多類型數據的傳輸,本系統做了如下的設計,定義發送數據包格式如圖3。

圖3 發送數據包格式

關節ID:表明當前接收的數據適用于第n個關節。

指示執行動作類型:表明關節ID將做何種狀態改變,如速度、旋轉角度等。

數據字段:指明了關節ID執行動作的改變量,如速度改變量、旋轉角度改變量等。

對于服務器而言,SA1400在接收數據時,服務器解析第一個字段ID,確定需要更新第n個關節角后,解析指示執行動作類型字段以及數據字段,由此機器人做出相應的狀態改變。

基于MFC的多線程流式Socket方式的通信設計以及對發送數據包的改進不僅能有效地實現一個終端對多臺機器人的控制,同時在發送數據量減少4倍的情況下,實現了機器人多種狀態的更新。

3 機器人運動學建模

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

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

實現方法如下:

對機器人,如圖4所示,采用D-H參數法進行建模,得到關于SA1400機器人的D-H坐標系,如圖5所示。

圖4 SA1400機器人

圖5 SA1400機器人的D-H坐標系

其中圖5中參數an表示連桿長度;dn為移動關節移動變量。

根據圖5可得關于SA1400的D-H參數,如表1所示。其中θn為轉動關節變量,αn是兩關節軸扭角。

表1 SA1400的D-H參數表

由于所有的運動都是相對于當前坐標系而言的,因此,總的變換矩陣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參數代入式(1),從而得到A1、A2、A3、A4、A5、A6。

可得連續的連桿變換為:

(2)

所求T中的參數nx、ny、nz、ox、oy、oz、px、py、pz即為根據機器人各關節角度計算出來的末段執行器的姿態和位置,也就是SA1400機器人正運動學方程的建立過程。與之相反的是機器人逆運動方程的建立,即已知末端位姿求出各個關節旋轉的角度。

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

(3)

4 應用實例

本文構建的基于網絡和StepRobot-SA1400工業機器人的仿真系統基本上能模擬真正機器人所實現的功能,圖6為轉動關節變量J1~J6為0時,機器人仿真軟件的仿真結果;圖7為J1~J2為0、J3=30°、J4~J6為0時,機器人仿真軟件的仿真結果。

可以從圖6、圖7中的正運動學求解模塊中輸入轉動關節變量獲得機器人末端執行器的位姿矩陣,也可以在逆運動學求解模塊中設定末端執行器的位姿矩陣,求得6個關節變量的角度值并在仿真界面中顯示。當所求逆運動學解或輸入關節角度超過關節范圍時(關節角度范圍如表1所示),則程序將彈出警告頁面(如圖8所示),若沒有對其進行該設計,當關節超限時,機器人的末端執行器將可能對地板等硬物產生撞擊,造成機器人本體的損壞。

圖6 設J1~J6為0時,機器人模型所對應的狀態

圖7 J1~J2為0,J3=30°,J4~J6為0時,機器人模型所對應的狀態

圖8 提示轉動關節變量超出范圍

5 結束語

本文構建了一個基于網絡的工業機器人的仿真及在線控制系統。該系統利用OpenGL搭建了機器人本體仿真模型,避免了調試過程中對機器人本體可能造成的損傷;同時引進在線控制功能,對傳輸的數據包做了進一步的優化,減少了網絡的通信量,實現對機器人的遠程監控,證明了仿真技術和網絡通信結合的可行性。

[1] 郭青陽.基于KUKA工業機器人的定位誤差補償方法的研究[D].長春:長春工業大學,2016.

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

[3] 李春雨. 計算機圖形學及實用編程技術[M]. 北京:北京航空航天大學出版社, 2009.

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

[5] 祁若龍, 周維佳, 劉金國,等. VC平臺下機器人虛擬運動控制及3D運動仿真的有效實現方法[J]. 機器人, 2013, 35(5):594-599.

[6] CRAIG J J.機器人學導論(第3版)[M].贠超,譯.北京:機械工業出版社, 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

華僑大學研究生科研創新能力計劃資助項目(1511322001)

TP24

A

10.19358/j.issn.1674- 7720.2017.11.002

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

2017-02-13)

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

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

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

主站蜘蛛池模板: 免费在线a视频| 国产网站在线看| aⅴ免费在线观看| 日本黄色a视频| www成人国产在线观看网站| 亚洲中文字幕在线一区播放| 97色婷婷成人综合在线观看| 国产成人精品高清不卡在线| 国产自产视频一区二区三区| 制服丝袜国产精品| 欧美色丁香| 亚洲国产第一区二区香蕉| 青青青国产视频| 国产资源免费观看| 国产福利一区二区在线观看| 性激烈欧美三级在线播放| 男人的天堂久久精品激情| 国产精品污视频| 亚洲综合欧美在线一区在线播放| 亚洲视频免费在线看| a级毛片视频免费观看| 狠狠色丁婷婷综合久久| a毛片基地免费大全| 午夜毛片免费观看视频 | 国产中文一区a级毛片视频| 日韩精品视频久久| 精品久久久久成人码免费动漫| 色屁屁一区二区三区视频国产| 国产一级在线播放| 青草精品视频| 欧美成人a∨视频免费观看| 亚洲av无码专区久久蜜芽| 国产精品久线在线观看| 国产91精品久久| 亚洲自拍另类| 91视频首页| 丁香婷婷激情网| 精品无码国产自产野外拍在线| 国产熟睡乱子伦视频网站| 欧美一区二区福利视频| 国产极品美女在线| 在线免费观看AV| 久久国产黑丝袜视频| 亚洲欧美人成人让影院| 毛片久久久| 欧美国产三级| 日本亚洲成高清一区二区三区| 热思思久久免费视频| 国产一区二区免费播放| 国产精品福利一区二区久久| 精品无码人妻一区二区| 成人福利在线视频免费观看| 精品日韩亚洲欧美高清a | 色哟哟精品无码网站在线播放视频| 无码中文AⅤ在线观看| 国产精品美人久久久久久AV| 亚洲国产看片基地久久1024 | 天天摸夜夜操| 亚洲无码37.| 中文国产成人精品久久一| 国产美女一级毛片| 日本成人精品视频| 白浆免费视频国产精品视频| AV色爱天堂网| 蜜芽一区二区国产精品| 中文字幕va| 91免费国产在线观看尤物| 2021国产精品自产拍在线观看| 精品国产女同疯狂摩擦2| 欧美午夜久久| 国产第一页屁屁影院| 九色综合视频网| 99精品视频在线观看免费播放| 国产男女免费视频| 多人乱p欧美在线观看| 欧美国产日韩另类| 1769国产精品免费视频| 99在线观看精品视频| 国产精品不卡永久免费| 国产不卡网| 色哟哟色院91精品网站| 无码精油按摩潮喷在线播放|