摘要:本文給出了在高級建模系統(tǒng)SolidWorks上開發(fā)機器人弧焊離線編程系統(tǒng)的方法,成功地開發(fā)出了一個功能較全的、實用化的機器人弧焊離線編程系統(tǒng)。本文給出了該系統(tǒng)的對象模型,并對各基本功能模塊的功能進行介紹。
前言
隨著微機性能的不斷提高,許多大型的CAD設(shè)計軟件紛紛推出其微機版本,并且出現(xiàn)了直接運行在微機上的SolidWorks等軟件。在機器人領(lǐng)域,以往運行在高檔圖形工作站上的離線編程軟件,如ROBCAD、IGRIP、WORKSPACE等,紛紛推出了基于Windows的離線編程系統(tǒng)。這些軟件都是通用的離線編程軟件,尚缺乏對弧焊特殊應(yīng)用的支持,如WORKSPACE更注重標定功能的開發(fā)[1]。用戶在編程程序時,很多時候還必須通過圖形示教方式建立機器人運動路徑,這對于大型工件或復(fù)雜路徑的編程,工作量是相當大的。從發(fā)展方向上看,離線編程系統(tǒng)正朝著智能化方向發(fā)展,用戶編程越來越簡單方便,自動編程技術(shù)成為人們追求的目標。
哈爾濱工業(yè)大學焊接實驗室開發(fā)的離線編程系統(tǒng)平臺AutoCAD2000,實踐證明,由于該軟件開發(fā)中的自身原因,使的該軟件存在一些的不足之處,三維設(shè)計中的實體造型能力不足,系統(tǒng)無法支撐較復(fù)雜工作單元的建模,無法實用化。目前具有一定自主規(guī)劃能力的離線編程系統(tǒng)將極大減少用戶的工作量,工件CAD信息的獲取成為后續(xù)規(guī)劃的數(shù)據(jù)輸入,這要求離線編程系統(tǒng)的平臺有較強的建模功能,能對各種焊接任務(wù)中的焊接工件進行建模。由于AutoCAD本身三維建模功能很弱,采用其他建模工具導(dǎo)入的模型,AutoCAD將無法得到足夠的工件建模信息,無法實現(xiàn)后續(xù)的自動規(guī)劃功能。
開發(fā)適合中國企業(yè)的、廉價且專業(yè)的弧焊離線編程系統(tǒng),對于推廣離線編程的實際應(yīng)用具有重要意義。
1 系統(tǒng)開發(fā)環(huán)境
SolidWorks由于價格便宜、具有一般用戶所需的功能,已成為全球3D主流設(shè)計市場用戶數(shù)最多、用戶滿意度最高、銷售額第一的軟件產(chǎn)品,在全球擁有超過325,000名用戶。并且它的二次開發(fā)功能很強大,能夠開發(fā)出弧焊離線編程系統(tǒng)。開發(fā)出的離線編程系統(tǒng)將具有較強的建模能力,從而具有較強的獲取工件和焊縫信息的能力,最大程度完成自動編程任務(wù)。這樣的弧焊離線編程系統(tǒng)很容易被中小企業(yè)接受。
本文應(yīng)用COM技術(shù)的編程方法,以SolidWorks的API二次開發(fā)接口和VC++ 6.0、ATL作為開發(fā)工具,在SolidWorks平臺進行弧焊離線編程系統(tǒng)的開發(fā)。SolidWorks API提供了大量的COM對象用于二次開發(fā)[2],這些COM對象涵蓋了全部的SolidWorks的數(shù)據(jù)模型,通過對SolidWorks的COM對象的調(diào)用,用戶可以在自己開發(fā)的系統(tǒng)中實現(xiàn)與SolidWorks相同的功能。圖1為主要的SolidWorks API對象模型。
[align=center]
圖1 SolidWorks API對象模型[2][/align]
2 機器人弧焊離線編程系統(tǒng)的對象建模
對象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)“數(shù)據(jù)”性質(zhì)。它是對模擬客觀世界實體的對象以及對象彼此間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)模型。類-&-對象間的關(guān)系可以概括為歸納關(guān)系、組合關(guān)系及關(guān)聯(lián)關(guān)系。
本文給出了三層的機器人工作單元中主要的數(shù)據(jù)結(jié)構(gòu):工作單元類,描述機器人等客觀對象的組合以及這些對象間的各種聯(lián)系和相互作用;設(shè)備類和關(guān)節(jié)類。
為了在圖形環(huán)境中可視地表征焊槍的運動過程,定義了路徑對象,路徑對象中有多個標簽點對象,一個路徑對象與一個部件對象之間存在受限關(guān)聯(lián)。根據(jù)以上分析,建立了離線編程與仿真系統(tǒng)的對象模型,如圖2所示。
[align=center]
圖2 系統(tǒng)對象模型[/align]
3 系統(tǒng)結(jié)構(gòu)
從功能上講,機器人弧焊離線編程系統(tǒng)較一般的離線編程系統(tǒng),增加了弧焊方面的功能。所以從功能上既包含了一般離線編程系統(tǒng)的功能,同時也突出了對弧焊的支持。本文對各功能模塊功能都做了改進。
機器人執(zhí)行級弧焊離線編程系統(tǒng)的總體結(jié)構(gòu)如圖3所示。
[align=center]
圖3 功能模塊劃分[/align]
下面對各模塊功能進行概括性介紹。
1)設(shè)備建模
該模塊用于定義機器人、焊接工件、變位機等周邊設(shè)備:將SolidWorks創(chuàng)建的裝配體定義為各種設(shè)備,定義設(shè)備的關(guān)節(jié)運動類型、定義設(shè)備工具參數(shù)、設(shè)定設(shè)備的運動學參數(shù)等。創(chuàng)建機器人設(shè)備庫、變位機等周邊設(shè)備庫。
2)工作單元布局
系統(tǒng)應(yīng)提供建立多設(shè)備組成的工作單元的能力,即工作單元布局功能。在該模塊中提供了調(diào)用已有設(shè)備、定義設(shè)備間位姿關(guān)系、組建協(xié)調(diào)運動設(shè)備的功能。創(chuàng)建工作單元庫。圖4給出了一個搭建的工作單元示例。
[align=center]
圖4 工作單元仿真示例圖[/align]
3)運動仿真
該模塊主要提供以下功能:各種設(shè)備的關(guān)節(jié)運動、回到零位運動;單機器人設(shè)備和協(xié)調(diào)運動設(shè)備的目標點運動、圓弧運動、沿路徑移動;路徑運動運動方式和仿真步長設(shè)定等。
4)路徑
路徑功能是離線編程的一大特點,使得機器人工具的運動過程能可視的記錄下來,以便于用戶的編輯。對于焊接任務(wù),本文實現(xiàn)了利用路徑記錄現(xiàn)場信息的功能,包括各路徑點處機器人輔助軸關(guān)節(jié)角值、機器人基坐標意義下的TCP位姿,焊接參數(shù)等。
5)編程
本文根據(jù)已有編程語言結(jié)合焊接應(yīng)用,提供了一種弧焊離線編程語言(OLPWL),用戶可利用此語言進行離線編程工作。該語言的特點接近實際弧焊機器人的編程語言,即方便熟悉機器人操作的編程人員使用,又可對編程人員進行訓(xùn)練。該模塊為集成編輯、調(diào)試和仿真功能于一體的離線編程器。
6)數(shù)據(jù)轉(zhuǎn)換
一般離線編程系統(tǒng)提供了同實際機器人程序進行轉(zhuǎn)換的模塊,即程序轉(zhuǎn)換模塊。但目前由于不同機器人廠商采用了不同的編程語言,最大的困難在于機器人運動數(shù)據(jù)的轉(zhuǎn)換,即運動路徑點數(shù)據(jù)轉(zhuǎn)換為實際機器人程序使用的路徑點(或關(guān)節(jié)角)數(shù)據(jù),由于不同機器人廠商采用不同的描述方法和存儲格式,可能無法破譯這部分信息。IGRIP軟件也只提供了同IGM和MotoMan機器人的直接程序轉(zhuǎn)換。本文提出了一種將運動路徑點數(shù)據(jù)轉(zhuǎn)換為各機器人編程人員都易理解的數(shù)據(jù)格式,實際機器人程序根據(jù)此數(shù)據(jù)單獨生成的方法。本文規(guī)定了通用的路徑數(shù)據(jù)描述方法。
7)數(shù)據(jù)上載
離線編程系統(tǒng)也應(yīng)能根據(jù)示教得到的機器人程序轉(zhuǎn)變成仿真工作單元中的路徑,同樣基于上述原因,本文提出了數(shù)據(jù)上載功能,將本文規(guī)定的通用的路徑數(shù)據(jù)上載到離線編程系統(tǒng)中,生成路徑。
8)狀態(tài)監(jiān)測
該模塊包括了關(guān)節(jié)超限檢查、關(guān)節(jié)運動速度和加速度超限檢查、碰撞檢測。以往的離線編程系統(tǒng)通過預(yù)檢查的方法對關(guān)節(jié)角是否超限進行檢測,這種方法用戶不能形成對機器人整條路徑運動關(guān)節(jié)角變化過程的直觀感覺。對關(guān)節(jié)超限處路徑點位姿調(diào)整沒有幫助。本文采取了在動態(tài)運動過程中,監(jiān)測機器人狀態(tài)變化的方法。給出提示信息,不終止機器人的運動過程。
9)標定
為了保證圖形工作單元模型與實際工作單元模型的一致性,需要進行實際工作單元的標定工作。
10)輔助模塊
針對弧焊的特殊應(yīng)用,本文開發(fā)了弧焊參數(shù)數(shù)據(jù)庫管理功能。
4 結(jié)論
本文開發(fā)了運行在SolidWorks平臺上的廉價且專業(yè)的弧焊離線編程系統(tǒng)。該系統(tǒng)具有較強的建模能力,解決了以往系統(tǒng)因建模能力不足,只能對部分簡單工件提取工件幾何信息的問題。采用面向?qū)ο蠹夹g(shù),建立了機器人弧焊離線編程與仿真系統(tǒng)的對象模型,開發(fā)了功能較全的機器人弧焊離線編程與仿真系統(tǒng)。