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