(合肥職業(yè)技術(shù)學(xué)院, 安徽 合肥 230012)
工業(yè)機器人仿真系統(tǒng)是指在工業(yè)機器人領(lǐng)域上的,通過計算機仿真技術(shù)對特定應(yīng)用場合進行工業(yè)機器人系統(tǒng)建模、編程以及進行可行性分析,最終確定系統(tǒng)方案的軟件平臺[1]。離線編程是指通過仿真系統(tǒng)對工業(yè)機器人系統(tǒng)方案的可行性進行驗證,并借助仿真環(huán)境完成預(yù)編程[2-5]。工業(yè)機器人系統(tǒng)通常造價很高,借助離線編程,能夠降低工業(yè)機器人系統(tǒng)的調(diào)試時間,提高系統(tǒng)的生產(chǎn)有效時間。
隨著消費品個性化需求的提高,產(chǎn)品的迭代速率越來越快,產(chǎn)品趨于有個性化引起的中小批量生成,傳統(tǒng)的離線編程及仿真技術(shù)越來越不能更好適應(yīng)這一發(fā)展趨勢。因此設(shè)計一種工業(yè)機器人易編程系統(tǒng)。系統(tǒng)主要包括軟件和硬件兩部分:軟件部分在各層次設(shè)計方案,通過創(chuàng)建易編程項目提高機器人編程的自動化水平,減少編程過程中的重復(fù)工作;硬件部分除了常規(guī)的機器人系統(tǒng)外,增加傳感器反饋數(shù)據(jù),為編程的自動化提供數(shù)據(jù)支持。據(jù)此設(shè)計以面加工為目的基于視覺傳感器的工業(yè)機器人易編程系統(tǒng)軟件。
為了實現(xiàn)將工業(yè)機器人應(yīng)用的復(fù)雜度盡可能的降低,構(gòu)建了如圖1所示的工業(yè)機器人易編程系統(tǒng)結(jié)構(gòu)。該工業(yè)機器人易編程系統(tǒng)結(jié)構(gòu)是將原本鏈狀的離線編程過程,通過傳感器和通信形成了一個閉環(huán),將更多原本需要專業(yè)人員調(diào)試的環(huán)節(jié)交由系統(tǒng)自動完成[6]。旨在提高系統(tǒng)的智能水平,降低對技術(shù)人員的依賴以及提高工業(yè)機器人部署的效率。由圖1可以看出,易編程軟件系統(tǒng)獲取傳感器數(shù)據(jù)和機器人控制器中存儲的機器人參數(shù),并將這些數(shù)據(jù)分類整合到易編程軟件中,由易編程系統(tǒng)依據(jù)模型文件和加工任務(wù)文件,結(jié)合傳感器數(shù)據(jù)創(chuàng)建工業(yè)機器人編程任務(wù),生成機器人程序文件,最后下載到機器人控制器中,驅(qū)動機器人完成特定任務(wù)。
工業(yè)機器人易編程系統(tǒng)以將設(shè)計文件為輸入,通過軟件交互完成機器人編程,創(chuàng)建易編程項目,并且通過傳感器數(shù)據(jù)和機器人控制器數(shù)據(jù)的獲取降低機器人編程過程中對相關(guān)知識的依賴程度。該系統(tǒng)能通過修改加工對象的設(shè)計文件,快速更新工業(yè)機器人的程序文件,從而完成新的任務(wù)。工業(yè)機器人易編程系統(tǒng)能很好地避免無意義的重復(fù)性編程。
工業(yè)機器人易編程系統(tǒng)能夠有效的將一類加工任務(wù)封裝起來,并結(jié)合相關(guān)數(shù)據(jù)的反饋構(gòu)建閉環(huán),實現(xiàn)工業(yè)機器人的以離線編程為基礎(chǔ)的易編程。該系統(tǒng)結(jié)構(gòu)將原來復(fù)雜的工業(yè)機器人系統(tǒng)設(shè)計,簡化為僅需通過 CAD 軟件繪制設(shè)計文件,即可修改工業(yè)機器人的加工任務(wù)。
易編程系統(tǒng)是以離線編程方案為基本構(gòu)架搭建起來的,主要由建模、任務(wù)、仿真和后置處理四個主要部分構(gòu)成的易編程軟件系統(tǒng)。其中任務(wù)作為易編程系統(tǒng)軟件的核心,將離線編程提升到易編程階段。
圖1 工業(yè)機器人易編程系統(tǒng)結(jié)構(gòu)圖
建模是易編程系統(tǒng)軟件的基礎(chǔ),由用戶導(dǎo)入各類設(shè)計文件,包括預(yù)先使用CAD軟件繪制好的工業(yè)機器人工作站組的模型文件,以及描述加工任務(wù)的數(shù)據(jù)文件等,從而構(gòu)建起工業(yè)機器人應(yīng)用方案的環(huán)境模型。易編程系統(tǒng)軟件設(shè)計了包括不同類型模型的定義方案、加工數(shù)據(jù)的解析和管理方案、模型和數(shù)據(jù)的組織方案,以及用戶建模交互程序在內(nèi)的基礎(chǔ)功能方案。易編程軟件的建模通過交互程序指導(dǎo)用戶將模型文件組織為一個定義清晰、管理有序的易編程項目文件。易編程軟件的項目文件,能夠有效的存儲和管理用戶設(shè)計文件和相關(guān)數(shù)據(jù),并清晰的定義工業(yè)機器人工作站各部件的組織結(jié)構(gòu)和功能劃分。為簡化建模工作的復(fù)雜度,提供一套可擴展可復(fù)用的軟件設(shè)計方案。
任務(wù)是易編程系統(tǒng)軟件的核心。模型中已經(jīng)完成了一個或數(shù)個工作站模型的構(gòu)建,然后在一個工作站內(nèi)部,以描述加工任務(wù)為目的,構(gòu)建用于關(guān)聯(lián)模型對象和相關(guān)數(shù)據(jù)的“任務(wù)”對象?!叭蝿?wù)”對象是用來描述加工任務(wù)的一個基本單元。根據(jù)工作站類型的不同,一個工作站可能包含多個“任務(wù)”對象,描述著一組加工任務(wù)的基本單元。這一組加工任務(wù)共同描述一個工作站的加工任務(wù)。易編程系統(tǒng)軟件設(shè)計了工藝數(shù)據(jù)參數(shù)管理用數(shù)據(jù)庫方案、傳感器數(shù)據(jù)采集處理和傳輸方案、工業(yè)機器人參數(shù)采集管理方案,以及“任務(wù)”數(shù)學(xué)模型構(gòu)建和管理方案。從而解決從模型到現(xiàn)場的關(guān)聯(lián)問題,簡化離線編程的模型標(biāo)定和自動離線編程。降低了工業(yè)機器人應(yīng)用時對人員專業(yè)技術(shù)水平的要求,簡化工業(yè)機器人編程和調(diào)試過程。
仿真是易編程系統(tǒng)軟件的必要組成部分,主要用來調(diào)用“任務(wù)”對象,驅(qū)動三維模型運動,在仿真環(huán)境下完成加工目標(biāo),依靠三維仿真驗證加工任務(wù)是否符合加工要求。后置處理則是依據(jù)正確的仿真產(chǎn)生的數(shù)據(jù),根據(jù)機器人控制器的型號和語言標(biāo)準(zhǔn)轉(zhuǎn)換為指定的機器人程序文件。
易編程系統(tǒng)硬件提供傳感器反饋工業(yè)機器人應(yīng)用環(huán)境各對象的數(shù)據(jù),以及通過工業(yè)機器人控制器獲取機器人相關(guān)參數(shù)。在工業(yè)機器人編程過程中,包括工業(yè)機器人和關(guān)鍵對象的相對位姿關(guān)系,工業(yè)機器人 DH 參數(shù)的標(biāo)定數(shù)據(jù),工業(yè)機器人末端工具坐標(biāo)系的標(biāo)定以及被加工對象的相對位姿關(guān)系等因素,都對編程過程產(chǎn)生影響。通過現(xiàn)在的傳感器技術(shù)和通信技術(shù),將以上信息獲取到系統(tǒng)軟件中,能夠有效地提高系統(tǒng)的智能水平,系統(tǒng)將根據(jù)上述數(shù)據(jù)完成調(diào)整工業(yè)機器人應(yīng)用環(huán)境模型的位姿、加工任務(wù)的決策和軌跡的規(guī)劃等任務(wù)。
易編程工業(yè)機器人系統(tǒng)是在傳統(tǒng)離線編程技術(shù)的基礎(chǔ)上,通過添加傳感器為機器人添加一定的自我判斷和決策的能力,并結(jié)合流程自動化提高各個部分的自動化水平。使整體系統(tǒng)的柔性得以提高,實現(xiàn)將設(shè)計文件作為輸入,高效柔性機器人編程。
面對中小企業(yè)平面加工現(xiàn)實需求,開發(fā)了一套以平面加工任務(wù)為目標(biāo)的工業(yè)機器人易編程軟件系統(tǒng)是非常必要的。常見平面加工任務(wù)有板材激光切割、平面切削加工、去毛刺加工等。結(jié)合智能制造企業(yè)平面加工任務(wù)的具體需求,設(shè)計了圖2所示的工業(yè)機器人易編程系統(tǒng)實現(xiàn)方案。在該方案中,研究與開發(fā)的主要任務(wù)集中在工業(yè)機器人易編程軟件的實現(xiàn)上,對機器人系統(tǒng)和視覺定位系統(tǒng)進行集成開發(fā),以滿足系統(tǒng)需要。
圖2 工業(yè)機器人易編程系統(tǒng)實現(xiàn)方案圖
根據(jù)易編程系統(tǒng)實現(xiàn)方案,結(jié)合系統(tǒng)需求,確定系統(tǒng)具有以下功能:
(1)設(shè)計文件中包括了工件模型和使用DXF文件描述的加工任務(wù)軌跡,并且工件模型和機器人加工的工件是相對應(yīng)的。
(2)通過攝像頭獲取工件圖像,經(jīng)視覺處理、計算機圖形識別,獲取定位數(shù)據(jù),完成工件坐標(biāo)系的標(biāo)定,使仿真環(huán)境中加工對象與實際中加工對象相吻合。
(3)從機器人控制器中獲取工業(yè)機器人的關(guān)鍵參數(shù),使軟件中的機器人模型與實際的機器人參數(shù)相對應(yīng)。
(4)構(gòu)建一個只需要輸入設(shè)計文件就能驅(qū)動機器人完成特定加工任務(wù)的工業(yè)機器人易編程系統(tǒng)。
(5)軟件項目可以保存,存儲構(gòu)建的模型和任務(wù),各對象相關(guān)數(shù)據(jù)。能夠通過系統(tǒng)加載項目文件可自動重建項目環(huán)境。
工業(yè)機器人易編程系統(tǒng)軟件有四個部分構(gòu)成,根據(jù)具體實現(xiàn),將軟件劃分為提供基本函數(shù)庫的工具包、實現(xiàn)具體功能的應(yīng)用程序模塊、接收數(shù)據(jù)輸入或擴展功能的應(yīng)用程序接口,以及由四個部分以及輔助工具構(gòu)成的應(yīng)用層。如圖3所示。
應(yīng)用層四個部分:建模,用戶通過交互操作將使用CAD軟件繪制的設(shè)計文件加載到易編程軟件中,構(gòu)建起工業(yè)機器人應(yīng)用環(huán)境的組織結(jié)構(gòu)和三維模型;任務(wù),易編程軟件從機器人控制器中獲取工業(yè)機器人的工具坐標(biāo)系參數(shù)和關(guān)節(jié)標(biāo)定參數(shù),從視覺處理計算機獲取定位數(shù)據(jù)用于標(biāo)定工件的坐標(biāo)系,將以上數(shù)據(jù)輸入任務(wù),并結(jié)合模型和加工任務(wù)創(chuàng)建針對平面加工任務(wù)構(gòu)建的“任務(wù)”對象;仿真,執(zhí)行“任務(wù)”對象中定義的加工任務(wù),驅(qū)動仿真環(huán)境中的三維模型運動,在三維仿真環(huán)境中將加工過程呈現(xiàn)出來,以驗證工業(yè)機器人運動軌跡是否達到實際加工的需求,并存儲仿真過程的中運動控制數(shù)據(jù);后置處理階段,將根據(jù)具體的機器人控制器型號和機器人程序的標(biāo)準(zhǔn),將仿真獲得的運動控制數(shù)據(jù)轉(zhuǎn)換為機器人程序文件,以驅(qū)動機器人完成加工任務(wù)。
圖3 工業(yè)機器人易編程系統(tǒng)軟件模塊圖
圖4 易編程系統(tǒng)標(biāo)定及定位方案
工具包由渲染引擎Coin3D、Qt的SDK,以及DXF解析開源代碼DXFLib構(gòu)成。Coin3D主要負(fù)責(zé)三維圖形的管理和渲染,三維交互開發(fā)。Coin3D擁有完善的3D解決方案:可直接讀入VRML格式的三維模型,擁有用于管理模型的樹型內(nèi)建數(shù)據(jù)庫,以及實用的三維交互事件響應(yīng)機制。Qt作為一款功能強大的綜合跨平臺的開發(fā)平臺,擁有良好的交互設(shè)計能力,以及一些基礎(chǔ)的功能庫,是軟件開發(fā)的有力工具。通過設(shè)計DXF解析,采用比較成熟的開源代碼DXFLib是一種高效的方法方案,同時程序質(zhì)量也較容易保證。
應(yīng)用程序模塊主要劃分為:項目管理模塊、模型管理模塊、數(shù)據(jù)管理模塊、任務(wù)管理模塊、運動參數(shù)管理模塊、運動仿真管理模塊、后置處理模塊以及易編程過程管理模塊。項目管理主要負(fù)責(zé)工業(yè)機器人易編程軟件數(shù)據(jù)在內(nèi)存與文件存儲之間交換。模型管理主要完成模型的構(gòu)建過程,包括模型的三維組織、布局和相應(yīng)的運動算法。數(shù)據(jù)模塊是易編程軟件數(shù)據(jù)在內(nèi)存中的載體,是數(shù)據(jù)集中管理的模塊。任務(wù)管理模塊主要負(fù)責(zé)加工任務(wù)的組織和描述。運動參數(shù)管理主要負(fù)責(zé)將通過接口獲取的數(shù)據(jù)更新到模型中。通過運動仿真來完成工業(yè)機器人的仿真過程,驅(qū)動各模型按照加工任務(wù)運動,驗證編程的正確性。后置處理是將編程結(jié)果按照具體機器人的語言規(guī)范轉(zhuǎn)換成機器人程序。易編程過程是指帶視覺定位的自動化的編程過程的實現(xiàn)。
應(yīng)用程序接口是指軟件從硬件獲取數(shù)據(jù)或擴展外部算法的模塊。主要包括傳感器數(shù)據(jù)接口、機器人參數(shù)接口、工具參數(shù)接口和運動規(guī)劃接口。 其中傳感器數(shù)據(jù)接口是獲取傳感器返回的定位數(shù)據(jù)的,機器人參數(shù)接口和工具參數(shù)接口是從機器人控制器獲取相應(yīng)參數(shù)的。運動規(guī)劃接口是對軌跡操作的一個算法擴展接口。
在工業(yè)機器人編程過程中,工業(yè)機器人和被加工對象的相對位姿關(guān)系,工業(yè)機器人DH參數(shù)的標(biāo)定數(shù)據(jù),以及工業(yè)機器人末端工具的工具坐標(biāo)系標(biāo)定數(shù)據(jù)都需要通過硬件設(shè)備獲得,如圖4所示。
工業(yè)機器人官方都會提供工業(yè)機器人參數(shù)的標(biāo)定方案,并將相關(guān)算法封裝在機器人控制器中,因此,機器人參數(shù)的標(biāo)定僅需參照工業(yè)機器人相關(guān)手冊即可完成。工業(yè)機器人DH參數(shù)的標(biāo)定數(shù)據(jù),工業(yè)機器人工具坐標(biāo)系標(biāo)定數(shù)據(jù)均可通過機器人控制器獲得,將標(biāo)定數(shù)據(jù)傳輸給工業(yè)機器人易編程軟件的機器人參數(shù)數(shù)據(jù)接口,將數(shù)據(jù)同步到對應(yīng)模型。
工業(yè)機器人和被加工對象的相對位姿關(guān)系是工業(yè)機器人完成加工任務(wù)的前提。系統(tǒng)中,通過攝像頭獲取工件圖像,將圖像傳輸?shù)揭慌_專用的視覺處理計算機中,經(jīng)圖像識別,獲取工件定位數(shù)據(jù)。將定位數(shù)據(jù)傳輸給工件的坐標(biāo)系標(biāo)定接口,將數(shù)據(jù)同步到工件模型。
通過上述過程,便可將工業(yè)機器人易編程軟件環(huán)境和硬件環(huán)境的關(guān)鍵參數(shù)同步起來,構(gòu)建軟件和硬件溝通的橋梁,同時為機器人編程過程提供了一條反饋機制,使工業(yè)機器人編程形成一個閉環(huán)。
在機器人離線編程技術(shù)的基礎(chǔ)上,確立了工業(yè)機器人易編程系統(tǒng)的整體結(jié)構(gòu) ,并以平面加工為目標(biāo)設(shè)計了一套工業(yè)機器人易編程系統(tǒng)。從系統(tǒng)需求、軟件功能劃分和標(biāo)定定位方案三個面詳細的闡述了工業(yè)機器人易編程系統(tǒng)的設(shè)計與實現(xiàn)方案,目標(biāo)是提高機器人編程的自動化水平。