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

SolidWorks二次開發曲面離線編程及運動仿真①

2017-09-15 07:19:04蔡奕松孫克爭蘇澤榮周雪峰
計算機系統應用 2017年9期
關鍵詞:二次開發系統

蔡奕松,孫克爭,蘇澤榮,周雪峰

(廣東省智能制造研究所 廣東省現代控制技術重點實驗室,廣州 510070)

SolidWorks二次開發曲面離線編程及運動仿真①

蔡奕松,孫克爭,蘇澤榮,周雪峰

(廣東省智能制造研究所 廣東省現代控制技術重點實驗室,廣州 510070)

為了解決人手動示教提取曲面軌跡困難且操作繁瑣的問題,采用Visual Studio對SolidWorks軟件進行二次開發的方式進行機器人的曲面離線編程,并且以DLL插件的形式自動加載到SolidWorks中.系統通過將曲面進行UV參數化進而實現離線軌跡的快速提取和機器人控制代碼的生成,再以DH參數表示機器人模型,最后通過遍歷關節角的方式實現機器人的運動仿真.實踐證明,該系統離線編程生成的控制代碼能夠直接下載到機器人控制器運行并達到了實際預期的效果.上述系統對工業場合的實際開發應用和國內中小型企業快速加工多種零件具有重要的意義.

曲面離線編程;UV 參數化;DH 參數;遍歷關節角

1 引言

采用離線編程的方式,可以有效的解決手動示教編程提取曲面軌跡困難,省去繁瑣的重復性操作,減少編程開發和機器人停止作業的時間,仿真實際運行的效果,遠離機器人工作的區間,避免工作員調試操作的危險[1].同時還可以加工多種或者更加復雜的零件,實現多機器人交互式的運動仿真.

從70年代開始,國外就開始開展了對機器人離線軌跡規劃以及編程系統的研發.從80年代以后,一些發達國家例如美國、德國、日本等在大學設立了專門的研究機構開展離線編程的研發,取得了相當可觀的成果[2].國外的離線編程軟件有:加拿大的Robotmaster:以色列的 Robocad[3];瑞士的 Robot Studio[4];以色列的 Robot Works[5];俄羅斯的 SprutCAM;日本的WINCAPSII;意大利的 Robomove.

與國外離線編程系統在工業機器人方面的研究對比,國內研發起步較晚,最早起步于90年代.主要由各大高校自主創新研發,例如,哈爾濱工業大學基于Motoman UP20工業機器人的離線編程系統和采用基于SolidWorks的二次開發,實現解決機器人的放置的難題,焊接順序規劃和多臺機器人進行離線運動仿真的功能[6];華中科技大學用C語言編寫的基于微機的離線編程系統和采用C++語言編寫的HOLPSS離線編程系統;南京理工大學用AutoCAD開發的HOLPS系統;北京工業大學基于OpenGL的針對焊接應用的離線編程與仿真系統;上海交通大學基于PC機利用OpenGL和Visual C++編寫開發的離線編程與動態仿真系統等等.另外中國科學院沈陽計算技術研究所在2016年提出基于win7利用Qt和OpenGL的串聯機器人離線編程系統[7].

近年來逐步有部分離線編程軟件商業化如由北京華航唯實針對于拋光打磨行業的應用RobotArt;由佛山羅庚開發的 Logen Robot Studio.

綜上所述,國內的離線編程系統功能相對國外薄弱,仍有相當大的差距.一方面,國內大部分的離線編程系統都是在單機器人系統基礎上,利用相關CAD平臺以及一些輔助的編程開發工具進行二次開發,雖然有少部分是基于SolidWorks的二次開發,但沒有形成完整的系統,只能用于仿真而不能連接機器人本體,不能投入實際應用;另一方面,國外雖然有大量成熟完整的離線編程系統并且大部分已商業化,但普遍授權費用高昂.當然,國外也有基于SolidWorks二次開發的軟件,如 Robot Works,但通用性弱并且軟件授權費用高,軌跡設計能力比較弱,不適合國內中小型企業.

本系統是基于 SolidWorks 2015 利用 Visual Studio 2010進行的二次開發[8],可以在離線的情況下對機器人的作業任務進行軌跡提取、代碼生成、運動仿真等.

2 系統總體架構

系統主要分為三個模塊:

圖1 系統總體架構

(1)Shell程序模塊是基于 SolidWorks 2015 進行的二次開發,采用 Visual C++語言.SolidWorks 是一款用Windows平臺開發的三維參數化軟件[9],并且由Visual C++語言編寫開發,本系統采用Visual C++語言進行SolidWorks的二次開發可以直接調用SolidWorks的底層函數,還可通過基于COM技術[10]用Visual Studio 2010開發的DLL程序直接嵌入到SolidWorks內部作為插件使用,便于參數的設計.這部分是本系統的重點設計程序,實現系統的功能:操作界面管理、代碼生成模塊設計、機器人軌跡提取、運動學分析和運動仿真等.

(2)共享內存管理模塊(Shared Memory)實現進程間的通訊,主要共享內存包含指令信息、數據信息、狀態信息.

(3)機器人在線控制則是基于 Robot Communication SDK,完成機器人通訊、信息交互等功能.

系統總體架構如圖1所示.

3 系統開發原理簡介

3.1 SolidWorks二次開發

SolidWorks二次開發包括SolidWorks的API接口和SolidWorks的API對象模型.

SolidWorks的 API接口:在 SolidWorks二次開發中SolidWorks作為OLE自動化服務器提供的屬性和方法構成了SolidWorks的API[11];SolidWorks的API接口即COM接口函數,可供支持COM編程的工具如Visual Basic、Visual C++6.0、Delphi等直接調用并開發所需程序模塊[12].

SolidWorks的API對象模型:最高級對象SldWorks,是所有訪問SolidWorks API對象的入口,也是所有類的父類對象,因此可以由它直接或者間接地方式去訪問其子類對象,進而訪問到對象中的屬性、事件和方法[13].SldWorks的子類對象主要有ModelDoc、Environment、Frame、SWpropertySheet、Modeler、AttributeDef等.其中一個非常重要的子類是文檔模型對象ModelDoc2,ModelDoc2對象成員如圖2所示.

圖2 ModelDoc2 對象成員

本系統用VC++進行SolidWorks二次開發工程生成步驟流程圖如圖3所示.

圖3 SolidWorks二次開發工程生成步驟流程圖

SolidWorks二次開發基本流程如圖4所示.系統利用 Visual Studio 2010 對 SolidWork2015 進行二次開發.首先,將模型曲面離散成曲線;接著,通過 Icurve 類的GetTessPts函數和Isurface類的EvaluateAtPoint函數將曲線離散成坐標點和切向法向量;另外,坐標轉換到裝配體坐標(機器人基坐標系)主要通過Icomponent類的get_Transform2函數和ImathPoint類的ImultiplyTransform函數實現;通過機器人運動學算法可正解算出機器人每一個關節的轉角,最后將機器人進行軌跡路徑的運動仿真,實現SolidWorks的二次開發技術.

圖4 SolidWorks 二次開發基本流程

3.2 機器人DH參數化

機器人DH參數化主要是通過將機器人模型各個零件的坐標系統一建立在裝配體基坐標系上;建立ini文件,該文件名與裝配體文件名相同并放在統一后錄下,并在文件中添加節:[DHPara](DH 配置參數)和[LinkName](各個關節的名稱).這樣即可通過獲取ini文件的形式加載機器人模型配置參數.按照圖5所示機器人在原點姿態的測量方法即可獲得機器人的DH配置參數 a0,a1,a2,a3,a4,df.在實際加載機器人模型中,需要對機器人進行配置參數的初始化,使加載進來的機器人模型以原點姿態放置在工作站的原點位置.

圖5 機器人的原點姿態

4 系統主要功能

4.1 操作界面管理

操作界面管理負責管理離線編程過程中用到的各個按鈕及顯示等功能,主要分成工程管理區、模型管理區、軌跡生成、仿真后處理、在線控制區、手動操作區、軌跡編輯區、項后管理區、狀態顯示區這九部分.操作界面管理如圖6所示.

圖6 操作界面管理

其中,模型管理區主要負責機器人、工具、工件和底座模型的加載.為了提高系統的兼容性,適應更多品牌的機器人,系統通過獲取ini文件的形式加載各個模型配置參數.相比瑞士ABB公司推出的只針對ABB機器人Robot Studio軟件,本系統具有更好的兼容性.

4.2 共享內存管理

共享內存管理模塊主要是負責在人機交互界面和機器人在線控制程序之間傳遞控制機器人本體的各種指令信息、數據信息和狀態信息.共享內存管理架構如圖7所示.

圖7 共享內存管理架構

在人機交互界面的程序中通過函數CreatSharedMem開辟一定的共享內存空間并設定共享內存大小,然后獲取共享內存映射進而用函數ReadDataFromMem和函數WriteDataToMem實現共享內存數據的讀寫功能.

4.3 機器人曲面離線軌跡提取及運動仿真

加載完所需的模型以及配置相關參數后,可進行離線軌跡的設計.機器人曲面離線軌跡的提取主要解決:平面曲線軌跡的提取和空間曲線軌跡的提取.一條曲線可以看成由∞條直線構成的,直線的參數化表達式為:

式中P為直線上的點,D為點的方向,因此可以用一個點和一個方向向量來表示直線;類似地,一個曲面其實可以看成由無數矩形的結構構成的,這樣曲面就有這三個方向:U、V、N(法線),即 UV 坐標系,UV 坐標系可以描述曲面上點的位置信息.通常用路徑與U對應,而截面與V對應.曲面也可以看成由∞條曲線構成的,每一條曲線都有U、V這兩個方向[14].這樣,同樣我們可以用一組U參數和V切向量的數據來表示曲線,即用U參數表示曲線的基本信息,V表示曲線某個位置的切向量參數,也是機器人工具坐標系x軸運動軌跡的方向.

SolidWorks本身提供了豐富的API接口函數可供開發者調用[15],通過實例化調用的對象接口,即可獲取到模型的相關屬性、事件和方法等.

對于平面曲線軌跡的提取,先是通過ICurve接口獲取選取到的模型邊緣曲線的起始點和終止點,再通過GetTessPts函數獲取代表這條曲線細分的一組點即將曲線進行離散細分成點,并獲得這些點的切向量作為機器人工具x軸的方向,再獲得曲線上這些細分出來的點的U參數,這樣就完成了平面曲線軌跡的提取.再將獲取到的點用ISketchPoint和ISketchSegment進行重新草繪即可獲得機器人的運動軌跡.最后通過正運動學解算出機器人的工具在該點的姿態即目標點的位置姿態,從而實現機器人提取的軌跡點的運動仿真.平面曲線軌跡的提取流程圖如圖8所示.

對于空間曲線軌跡的提取,本論文只針對規則曲面空間曲線軌跡的提取.對規則曲面空間曲線軌跡的提取,采用等參數線法[16]將曲面進行UV參數化,即將曲面分割成由若干個等距不規則平面堆疊而成即轉化為提取若干個平面曲線軌跡的問題,通過循環迭代平面曲線軌跡提取的方法即可將規則空間曲線的軌跡提取出來.如圖9所示為曲面UV參數化效果.

圖8 平面曲線軌跡的提取流程圖

圖9 空間曲面 UV 參數化效果

離線軌跡點生成后,通過正運動學分析[17]即可解算出每個位置姿態軌跡點對應的機器人運動姿態,機器人每個軸的姿態角通過MFC的滑條控件在關節空間節里面實時顯示出來,再通過OnTimer函數每隔一定時間遍歷一次關節角更新一個軌跡點姿態,這樣就可以實現機器人工具在工件模型上的運動仿真.機器人運動仿真效果如圖10所示.

圖10 機器人運動仿真效果

4.4 代碼生成模塊設計

代碼生成模塊負責設計并生成機器人控制代碼文件.代碼生成模塊主要由RobProgram類負責,都是在命名空間GiaRoboticLib里實現的.生成的機器人控制代碼包含工具坐標數據(ToolData類),工件坐標數據(ObjData 類),目標坐標數據(RobTarget類),控制指令數據(RobInstruct類)以及一些相應的數據名稱和固定的輸出格式.RobProgram類的成員關系如圖11所示.

圖11 RobProgram 類的成員關系

本設計中通過將生成的代碼保存為機器人控制器識別的有效文件,如ABB機器人控制器所需的mod格式的有效文件直接供機器人程序下載使用.

4.5 機器人在線控制

機器人在線控制主要實現人機交互界面與Robot Communication SDK之間控制信息的交互通訊,其功能包括連接機器人本體的控制器和加載機器人代碼.

5 實驗驗證分析

本系統以啟動插件的形式調用.dll文件的方式來自動啟動系統程序,即將DLL映射到進程的地址空間中[18],實現調用DLL中的可執行代碼和數據模塊的方法.SolidWorks每次運行時會自動裝載 DLL 文件,因而操作簡便,省去重復性的操作過程,進而減少開發的時間.

為了檢驗系統功能的可行性,采取在離線狀態下利用ABB IRB4600機器人拋光打磨金屬曲面的實驗對系統設計功能分別進行驗證分析.

本系統的功能是基于SolidWorks的二次開發技術進行研發設計的.首先,通過操作界面管理模塊對機器人、工件和工具等模型進行相關配置參數并且導入工作站;接著,通過對不同曲率曲線的金屬曲面軌跡的提取設計,并且將提取到軌跡點坐標通過代碼生成模塊生成機器人代碼文件,如ABB機器人控制器支持的mod格式文件;最后,通過機器人在線控制模塊將機器人代碼下載到機器人本體的控制器里,機器人控制器再用相關指令控制機器人末端工具按照離線的軌跡運行.另外通過共享內存管理模塊實時監控到機器人各個關節的關節角變化.

實驗過程中利用打磨頭沿著提取到的空間曲線離線軌跡在金屬曲面進行打磨作業驗證空間曲線離線軌跡提取設計的正確性.空間曲線離線軌跡的提取和運動仿真如圖12所示.

圖12 空間曲線離線軌跡的提取和運動仿真

空間曲線離線軌跡實際運行如圖13所示.可以看到機器人實際運行中始終保持軸線垂直于曲面的法線N方向,與離線軌跡設計的軌跡點Z方向相符.

圖13 空間曲線離線軌跡實際運行效果

另外在拋光打磨過程中,單單考慮離線軌跡的提取還不夠,在保持恒力和恒定轉速的情況下,對打磨頭的選取也非常重要,圖14列出了利用離線軌跡不同后數打磨頭做了五組實驗的打磨效果,后數從左到右分別為 80、180、800、2500、10000.

綜上可得,打磨頭的后數越大即打磨頭的砂礫越細,可以打磨出更加精亮的效果,結合空間曲線離線的軌跡再配上適當的后數的打磨頭,可以達到理想的拋光打磨效果.這樣,操作人員就可以在減少手動示教繁瑣操作和解決曲面復雜軌跡提取困難的同時,快速地進行相關的拋光打磨試驗,提高生產和研究的速率,達到理想的效果.

圖14 不同后數打磨頭打磨效果

6 系統性能對比分析

與瑞士ABB公司自主研發的企業專用型Robot Studio離線編程系統相比,本系統具有與Robot Studio離線編程系統一些類似基本開發功能的同時,具有以下三點的性能優勢:

(1)Robot Studio 是一款基于 RAPID 編程語言的離線編程系統,只能與ABB機器人配套使用;本系統可以直接通過獲取機器人的DH參數兼容更多品牌的機器人,兼容更多編程語言的離線編程系統.

(2)Robot Studio 在三維造型方面功能薄弱[19],而本系統由于是在SolidWorks軟件上進行的二次開發,具有強大的三維參數化建模功能.

(3)由于 Robot Studio 是 ABB 公司配套的軟件,系統沒有開放,用戶難以做二次開發;本系統用戶可以在此基礎上進行相關的二次開發和升級,更適應中小型企業的用戶需求.

7 結束語

通過在離線狀態對不同曲率曲線的曲面軌跡點的提取和生成、自動生成機器人代碼,并對機器人進行軌跡點的運動仿真,最后通過利用機器人在線控制程序實現了離線編程與機器人本體的通訊,完成了整一套離線編程系統.通過利用ABB IRB4600機器人對本系統設計的功能進行驗證,實踐證明,該系統穩定可靠,操作簡便,可以省去繁瑣的重復性操作,解決了手動示教編程提取曲面軌跡困難的問題,另外可以用于實際工業場合的應用開發,對國內中小型企業快速加工多種零件具有重要的意義.

1 宋鵬飛,和瑞林,苗金鐘,等.基于 Solidworks 的工業機器人離線編程系統.制造業自動化,2013,35(9):1–4.

2 曹林攀.多層多道焊離線編程技術及應用研究[碩士學位論文].廈門:廈門理工學院,2016.

3 黃曉霞.用于焊接機器人離線編程系統的運動學分析及仿真[碩士學位論文].廣州:華南理工大學,2015.

4 孫斌.六軸工業機器人的離線編程與仿真系統研究[碩士學位論文].太原:太原理工大學,2014.

5 高鵬.六自由度果蔬采摘機器人離線編程系統設計[碩士學位論文].杭州:浙江理工大學,2013.

6 岑洎濤.跨平臺工業機器人離線編程系統研究與開發[碩士學位論文].廣州:廣東工業大學,2016.

7 王光道.串聯機器人控制器離線編程系統設計與實現[碩士學位論文].北京:中國科學院大學,2016.

8 王洪雨.基于SolidWorks的工業機器人離線仿真系統分析.企業導報,2016,(13):190.

9 吳清龍.基于三維交互的發動機遠程在線監測及分析技術研究[碩士學位論文].濟南:山東大學,2015.

10 何西陽.基于SolidWorks的齒輪設計計算及三維建模造型系統的開發[碩士學位論文].青島:青島大學,2015.

11 章雙全,劉敬波,員一澤,等.基于 SolidWorks 二次開發的風機塔架參數化設計.機械制造與自動化,2015,44(2):143–145.

12 魏先讓,丁康,唐紅濤.基于 Solidworks 二次開發的組合銑鼓輪兩斜面夾具設計研究.山東工業技術,2015,(15):236–238.

13 薛美榮,林建邦,張世龍.基于 SolidWorks 二次開發的自動建模技術研究.科技創新與應用,2016,(17):48–49.

14 劉殿海.基于UG的不規則曲面運動軌跡生成研究[碩士學位論文].哈爾濱:哈爾濱工程大學,2012.

15 張彬.基于SolidWorks的旋風筒參數化設計二次開發.水泥,2016,(8):36–38.

16 楊宇航.基于砂帶磨削工藝的航空發動機葉片數控加工自動編程方法研究[碩士學位論文].重慶:重慶大學,2015.

17 Craig JJ.機器人學導論.貟超,譯.3 版.北京:機械工業出版社,2006.

18 朱英翔,陳燕,余啟志.基于 SolidWorks 的焊件參數化自動建模研究.微型機與應用,2016,35(22):84–87,91.

19 王純祥,程茁,陳楊.基于 Robotstudio 的弧焊機器人離線編程.重慶科技學院學報(自然科學版),2014,16(5):153–156.

Off-Line Programming and Motion Simulation of the Curved Surface Based on Secondary Development of SolidWorks

CAI Yi-Song,SUN Ke-Zheng,SU Ze-Rong,ZHOU Xue-Feng
(Robots and Automation Equipment Team,Guangdong Institute of Intelligent Manufacturing,Guangzhou 510070,China)

To tackle the problem that the extraction of the curved trajectory is difficult and the operation is complex in manual teaching,this paper uses the way that Visual Studio makes the secondary exploitation for the SolidWorks software to make the off-line programming of the curved surface of robot,and loads it automatically into SolidWorks in the form of DLL plug-in.By using UV parametric curved surface,the system realizes the rapid extraction of off-line trajectory and the generation of robot control code and finally implements the motion simulation of the robot with the model of the robot showed by DH parameter by means of traversing the joint angle.Practice has proven that the control code generated by the off-line programming can be directly downloaded to the robot controller which reaches the expected effect.Such a system is of great significance in the actual development and application of the industrial situations and domestic small and medium-sized enterprises for the rapid machining various parts.

off-line programming of the curved surface;UV parameterization;DH parameter;traverse the joint angle

蔡奕松,孫克爭,蘇澤榮,周雪峰.SolidWorks二次開發曲面離線編程及運動仿真.計算機系統應用,2017,26(9):75–81.http://www.c-sa.org.cn/1003-3254/5937.html

①基金項后:國家自然科學基金(51405091);廣東省重大專項(2014B090919001);廣東省應用專項(2015B090922010);廣州市珠江新星專項(201610010054)

2016-12-15;采用時間:2017-01-16

猜你喜歡
二次開發系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
基于PowerPC+FPGA顯示系統
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
主站蜘蛛池模板: 日韩AV手机在线观看蜜芽| 亚洲一区二区三区在线视频| 无码一区二区三区视频在线播放| 亚洲三级片在线看| 亚洲天堂区| 欧美午夜网| 国产a v无码专区亚洲av| 99re免费视频| 自拍中文字幕| 97视频在线观看免费视频| 精品福利国产| 噜噜噜综合亚洲| 国产成人在线小视频| 91探花国产综合在线精品| 91欧美亚洲国产五月天| 国产成人h在线观看网站站| 2020最新国产精品视频| 欧美福利在线观看| 99热亚洲精品6码| 99国产在线视频| 国产乱子伦精品视频| 欧美劲爆第一页| 午夜国产精品视频| 国产小视频a在线观看| 在线免费无码视频| 欧美精品在线观看视频| 国产成人免费手机在线观看视频| 无码中文字幕乱码免费2| 99久久精彩视频| 亚洲丝袜中文字幕| AV无码一区二区三区四区| 青青草国产精品久久久久| 久久久精品无码一二三区| 国产精品无码AV中文| 亚洲国产成人自拍| 在线播放国产99re| 亚洲成人网在线播放| 中文字幕日韩久久综合影院| 欧美中文字幕一区| 色婷婷综合激情视频免费看 | 亚洲三级成人| 亚洲国产精品久久久久秋霞影院| 国产精品第一区在线观看| 超碰免费91| 任我操在线视频| 亚洲成人动漫在线| 欧美精品在线看| 一级毛片视频免费| 欧美另类视频一区二区三区| 爱爱影院18禁免费| 99精品热视频这里只有精品7| jizz在线免费播放| 亚洲欧州色色免费AV| 无码aaa视频| 黄色污网站在线观看| 亚洲精品欧美重口| 欧美人人干| 热re99久久精品国99热| 免费a级毛片18以上观看精品| 久久久久久午夜精品| 国产91精选在线观看| 国产精品99r8在线观看| 亚洲成人播放| 国产情侣一区二区三区| 亚洲香蕉在线| 91色在线视频| 欧美第九页| 欧美综合激情| 国产靠逼视频| 激情無極限的亚洲一区免费| 欧美第二区| 干中文字幕| 久久夜色精品国产嚕嚕亚洲av| 97无码免费人妻超级碰碰碰| 中文字幕2区| 精品小视频在线观看| 成人夜夜嗨| 天堂在线亚洲| 欧美在线一二区| 91精品国产丝袜| 无码高潮喷水专区久久| 无码日韩精品91超碰|