戴 棟,陳海秀,王海俊
(1.南京信息工程大學(xué)信息與控制學(xué)院,南京 210044;2.東南大學(xué)自動化學(xué)院,南京 210044)
奧地利KEBA是一家提供機(jī)器人控制系統(tǒng)解決方案的公司。該公司以KeMotion為核心的控制系統(tǒng)包括實(shí)時(shí)并行的Robot Control(RC)與Motion Control(MC)控制模式,提供示教再現(xiàn)的用戶層編程方式,用戶可以隨意定制自己的Teach-In示教程序來實(shí)現(xiàn)控制對象的運(yùn)動方式與運(yùn)動軌跡規(guī)劃。該系統(tǒng)在底層RC開發(fā)上幾乎不再受到限制,程序員可以在開放式的RC平臺上配合被控對象完成既定功能開發(fā),比如具有焊接功能的關(guān)節(jié)型機(jī)器人、具有噴涂功能的關(guān)節(jié)型機(jī)器人等。KEBA公司在德國3S公司CoDeSys基礎(chǔ)上開發(fā)出基于r系列控制器解決MC控制方案的KeStudio開放式的開發(fā)平臺,支持多種類型機(jī)器人,如2D-3D Cartesian Robot、RR Scara Robot、RRL Scara Robot、LRR Scara Robot、Delta Robot、Articulated Robot及General Robot等。本文結(jié)合KeMotion機(jī)器人控制器,在RC中實(shí)現(xiàn)了8軸多關(guān)節(jié)型機(jī)器人對焊接設(shè)備的控制,并且在用戶程序上實(shí)現(xiàn)機(jī)器人焊接功能。
KEBA控制系統(tǒng)由手持終端KeTop、機(jī)器人控制器KeMotionControl、外部設(shè)備組成??刂破鰿PU部分是系統(tǒng)的核心,支持KeMotion Control r4000 r5000系列、KeSystems Control S_CP24xCP25xSM系列的CP252/X CPU模塊,使用的是定制的基于Intel x86的嵌入式微處理器,其上運(yùn)行的是Vx-Works實(shí)時(shí)操作系統(tǒng)??刂破鲙в蠧F卡插槽、存儲系統(tǒng)及系統(tǒng)數(shù)據(jù)和應(yīng)用軟件。外部擴(kuò)展I/O模塊上KeMotion控制系統(tǒng)采用模塊化的方式構(gòu)建,所以可以方便地外擴(kuò)I/O模塊進(jìn)行功能擴(kuò)展,包括可以擴(kuò)展支持各種總線(CAN、Sercos、Profibus)模塊,以及模擬量或者數(shù)字量的輸入輸出模塊。外部設(shè)備或擴(kuò)展模塊通過以太網(wǎng)或總線與控制器相聯(lián)。KEBA公司提供的PC機(jī)上的工具軟件有TeachEdit、KeStudio、UosView、Scope 和 TeachView。TeachEdit、KeStudio分別為RC程序和PLC程序的編程工具。UosView和Scope為控制系統(tǒng)監(jiān)視診斷工具。UosView顯示 VxWorks的變量信息。Scope顯示圖形仿真控制系統(tǒng)的運(yùn)動過程,能讀取在控制器中設(shè)定顯示的變量,并且可以模擬顯示被控對象模型。TeachView為終端用戶操作軟件,可以安裝在手持終端上或PC上。
KEBA公司為KeMotion控制系統(tǒng)提供了一套完整的功能開發(fā)、用戶操作、在線診斷/模擬、內(nèi)存檢測工具,包括Expert RC開發(fā)、用戶Teach-In在線編程和支持IEC61131國際化標(biāo)準(zhǔn)的PLC程序開發(fā)。KEBA公司提供了支持Robot Control(RC)編程環(huán)境的TeachEdit平臺和支持Motion Control開發(fā)的編程環(huán)境的KeStudio平臺。TeachEdit平臺可以在線調(diào)試,支持 TeachTalk語言。TeachTalk語言是系統(tǒng)運(yùn)動控制的在線編程語言和專業(yè)級機(jī)器人流程開發(fā)語言,可以訪問KEBA系統(tǒng)的固件,可以支持ROUTINE生成不同用途的宏和類,以便End-user程序調(diào)用。而Teach-In終端用戶程序是終端用戶運(yùn)用KAIRO編程語言編寫的應(yīng)用程序,可以調(diào)用TeachTalk語言生成的宏或者類,形成特定功能的開發(fā)包。PLC部分負(fù)責(zé)電氣邏輯和實(shí)時(shí)外部信號采樣處理,通過與RC通信,對運(yùn)動控制過程進(jìn)行控制。圖1為機(jī)器人控制器KeMotion開發(fā)結(jié)構(gòu)。
在虛擬控制對象(機(jī)器人)情況下,離線編程系統(tǒng)Teachview提供用戶程序平臺,開發(fā)并通過仿真再現(xiàn)窗口Scope監(jiān)測、模擬及調(diào)試控制對象的動作或者希望達(dá)到的效果。控制模型構(gòu)造工具把控制對象解釋成支持機(jī)器人開發(fā)的編程語言,通過KeS-tudio配置虛擬控制對象(機(jī)器人),在PC上對控制對象進(jìn)行虛擬RC/MC開發(fā)。虛擬開發(fā)調(diào)試完畢后修改配置文件,移植到實(shí)際控制對象(機(jī)器人)系統(tǒng)中去。用戶調(diào)試監(jiān)測層、機(jī)器人控制層、控制對象層之間通過以太網(wǎng)或者總線形式通信。機(jī)器人控制器支持外擴(kuò)I/O模塊,之間通過K-BUS級聯(lián)通信。KeMotion控制系統(tǒng)常用的擴(kuò)展I/O模塊有DM272/A、DO272/A、FX271/A、AM280/A。
圖1 機(jī)器人控制器KeMotion開發(fā)結(jié)構(gòu)
控制器中安裝有Robot Control機(jī)器人的運(yùn)動控制程序。Robot Control系統(tǒng)具備了專業(yè)級的機(jī)器人運(yùn)動控制功能。一般Robot Control程序開發(fā)可以分為2個(gè)層面:一是上層終端用戶級,是終端用戶編寫的程序;另一個(gè)是底層專家級,可以是系統(tǒng)固件中的一些基本庫函數(shù)或是程序員開發(fā)的功能。終端用戶程序可以使用終端用戶語言KAIRO在手持終端KeTop上編寫,也可以在PC上使用KEBA公司的開發(fā)工具TeachView編寫。底層RC程序可以通過PC上的TeachEdit離線模擬開發(fā)或者在線聯(lián)調(diào)。開發(fā)者可以使用TeachTalk編程語言在PC上使用TeachEdit開發(fā)工具進(jìn)行專家編程,并使用TeachTalk語言編寫功能宏(Macro),提供給終端用戶使用。
運(yùn)行在手持終端KeTop示教器上的Teach-View軟件是基于WinCE的嵌入式系統(tǒng),通過以太網(wǎng)與控制器連接通信??梢酝ㄟ^手持終端連接至控制器控制系統(tǒng)的運(yùn)動,也可以編寫終端用戶程序?qū)C(jī)器人進(jìn)行示教操作、手動操作,監(jiān)視其運(yùn)動狀態(tài)。End-User開發(fā)語言 KAIRO是KEBA公司專門為機(jī)器人操作者設(shè)計(jì)的一種編程語言。利用KAIRO語言中的終端用戶指令集,終端用戶可以很容易地創(chuàng)建機(jī)器人運(yùn)動控制程序。指令包括了基本的運(yùn)動指令、設(shè)置指令、系統(tǒng)功能、數(shù)學(xué)函數(shù)、流程控制和I/O設(shè)備讀寫等。一般來說這些功能指令被稱為宏,相當(dāng)于TeachTalk中的ROUTINE。所以可見這個(gè)指令集是開放的,可通過TeachTalk編寫相應(yīng)的Macro來擴(kuò)展。在PC上使用TeachT-alk編程語言在KEBA提供的開發(fā)工具TeachEdit中進(jìn)行二次開發(fā),就是所謂的專家編程。KAIRO語言把機(jī)器人程序中的命令翻譯成相應(yīng)的運(yùn)動模式,包括數(shù)學(xué)幾何計(jì)算、路徑插補(bǔ)、動態(tài)規(guī)劃、機(jī)器人坐標(biāo)系變換等。圖2是Robot Control的流程。圖3是RC中對應(yīng)用程序的操作方式。KeTop操作控制流程中區(qū)別對待Project及Program的Load與Open操作,前一種操作是加載到控制器上,后一種操作僅僅是編譯所打開的Program,不具有RC運(yùn)動控制功能。
圖2 Ketop RC控制順序流程
圖3 Ketop程序控制流程
2.2.1 焊接過程控制
機(jī)器人焊接過程中需要有2個(gè)控制的過程:一是機(jī)器人運(yùn)動控制過程;另一個(gè)是焊接控制過程。機(jī)器人控制過程包括機(jī)器人焊接路徑規(guī)劃、焊接機(jī)器人狀態(tài)監(jiān)控以及機(jī)器人示教編程;焊接控制過程則包括焊機(jī)控制、送絲機(jī)與保護(hù)氣等控制。機(jī)器人焊接過程如圖4所示。
圖4 機(jī)器人焊接過程
一次焊接過程可以這樣來描述:示教盒手持終端編程,設(shè)置焊接工件外的起始點(diǎn),一般也稱作安全點(diǎn),然后示教焊接開始點(diǎn)與結(jié)束點(diǎn)。焊接路徑是通過機(jī)器人示教器示教完成的,可以通過用戶編程實(shí)現(xiàn)。焊接過程通過開發(fā)焊接宏來實(shí)現(xiàn)。通常在焊接之前,為了驗(yàn)證焊接路徑的有效性,大多數(shù)情況需要進(jìn)行模擬焊接,即不啟動焊接功能,只是單一進(jìn)行機(jī)器人運(yùn)動控制。模擬焊接信號需要在手持終端手動設(shè)置。焊接過程流程控制如圖5所示。
圖5 焊接過程流程控制
2.2.2 焊接系統(tǒng)硬件結(jié)構(gòu)
電弧焊接機(jī)器人框架結(jié)構(gòu)如圖6所示,其中I/O模塊分成2級:第1級是機(jī)器人控制器外部擴(kuò)展I/O口和機(jī)器人控制器通過K-BUS級聯(lián)通信;第2級是焊接模塊接口卡RINT X12和機(jī)器人控制外擴(kuò)I/O以工業(yè)總線連接的形式通信。機(jī)器人控制器外擴(kuò)I/O口一方面讀取手持終端輸入的外部模擬量,并通過焊接模塊接口卡RINT X12反饋到電焊機(jī)中去,實(shí)現(xiàn)對與電弧相關(guān)模擬量的微調(diào);另一方面通過焊接模塊接口卡RINT X12獲得焊接過程反饋信號,輸入到機(jī)器人控制器中去,實(shí)現(xiàn)對電焊機(jī)狀態(tài)以及焊接過程的監(jiān)控與問題診斷。
圖6 電弧焊接系統(tǒng)硬件結(jié)構(gòu)
2.2.3 焊接功能軟件開發(fā)
機(jī)器人焊接功能焊接過程流程如圖7所示。
圖7 機(jī)器人焊接功能焊接過程流程
焊接功能的開發(fā)一般在Control中實(shí)現(xiàn)。輸入控制功能需要在示教器上實(shí)現(xiàn),這就是預(yù)送氣、預(yù)送絲和回抽絲。程序中涉及到的使用手持終端KeTopt50上的按鍵包括 EmergencyStopT50、Key-SwitchLeft、KeySwitchRight、F1、F2,具 體 如 表 1所示。
表1 KeTopT50按鍵設(shè)定
最后在KeMotion機(jī)器人控制器軟件開發(fā)平臺上實(shí)現(xiàn)機(jī)器人控制焊接設(shè)備焊接模塊功能,如圖8所示,包括起弧、收弧、送氣、送絲、手動/自動等功能控制。
圖8 焊接模塊功能
圖9(a)為手持終端TeachView的用戶層編程,深色部分是通過TeachEdit編程平臺開發(fā)出的供用戶使用的指令,在專家層RC中一般稱之為ROUTINE,而在用戶層一般稱之為宏或者具有某種功能的模塊。圖9(b)為焊接功能起弧程序的參數(shù)設(shè)置界面,通過底層Rc專家級開發(fā)而來。
圖9 機(jī)器人電弧焊接用戶層開發(fā)程序
本文以6軸多關(guān)節(jié)型機(jī)器人在KEBA機(jī)器人控制器上的開發(fā)實(shí)現(xiàn)為例,介紹了新型通用型控制器軟件的二次開發(fā)方法,主要包括Robot Control底層專家平臺開發(fā)及End-user用戶界面平臺開發(fā),最終實(shí)現(xiàn)了KeMotion控制器對焊接設(shè)備的控制,開發(fā)出了具有自主知識產(chǎn)權(quán)的6軸焊接機(jī)器人。通過本文的討論與研究,一方面形成了一套機(jī)器人控制器二次開發(fā)的方法,另一方面實(shí)現(xiàn)了機(jī)器人焊接方案,為一般意義上的機(jī)器人控制器的開發(fā)提供參考。
[1]葛益軍.基于IEC61131-3的編程系統(tǒng)的研究[D].杭州:浙江大學(xué),2006.
[2]張磊.基于PC的軟PLC運(yùn)行系統(tǒng)研究與實(shí)現(xiàn)[D].太原:太原理工大學(xué),2008.
[3]戴娟,王惠家.光電導(dǎo)航移動機(jī)器人轉(zhuǎn)向機(jī)構(gòu)的設(shè)計(jì)研究[J].昆明理工大學(xué)學(xué)報(bào):理工版,2006,31(3):29-32.
[4]苑晶,黃亞樓,孫鳳池.多轉(zhuǎn)向驅(qū)動拖掛式移動機(jī)器人鎮(zhèn)定控制[J].自動化學(xué)報(bào),2011,37(4):471-479.
[5]KEBA.KeMotion-Robotics[EB/OL].[2011-08-18].http://www.keba.com/en/industrial-automation/kemotion-robotics/.
[6]馬玉敏,樊留群,李輝,等.軟PLC技術(shù)的研究與實(shí)現(xiàn)[J].機(jī)電一體化,2005(3):63-66.
[7]羅燕華.嵌入式軟PLC技術(shù)的研究與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2006.
[8]3S.IEC 61131-3 Development System(IDE)CoDeSys[EB/OL].[2011-05-20].http://www.3s-software.com/index.shtml?en_CoDeSysV3_en.
[9]Bonfe M,F(xiàn)antuzzi C.Object-oriented approach to PLC software design for manufacture machinery using IEC 61131-3 norm languages[J].Advanced Intelligent Mechatronics,2001(2):787-792.
[10]李永明,王健.焊接機(jī)器人控制系統(tǒng)的研究[J].儀表技術(shù),2009(6):31-33.