呂鑫平,彭晉民,,戴福全,阮玉鎮(zhèn),李海濱
(1. 福州大學(xué) 機(jī)械及自動(dòng)化工程學(xué)院,福建 福州350108; 2. 福建工程學(xué)院 機(jī)械與汽車工程學(xué)院,福建 福州 350108)
《中國制造2025》對(duì)我國制造業(yè)自動(dòng)化、智能化、信息化需求提出了新的要求,不斷完善和開發(fā)機(jī)器人及其運(yùn)動(dòng)控制系統(tǒng)在工業(yè)生產(chǎn)上的應(yīng)用,是我國創(chuàng)新強(qiáng)國之路的關(guān)鍵點(diǎn)。目前,工業(yè)生產(chǎn)中,機(jī)器人在焊接、搬運(yùn)、裝配等領(lǐng)域的應(yīng)用逐漸廣泛,而信息化時(shí)代對(duì)開放式控制系統(tǒng)的要求也日益增加。
目前,對(duì)于開放式控制系統(tǒng),主要針對(duì)的是由標(biāo)準(zhǔn)化硬件與具有開放式界面的操作系統(tǒng)所組成的體系結(jié)構(gòu)。該系統(tǒng)具備可擴(kuò)展性、互操作性、可移植性以及可增減性[1]。
RSI(robot sensor interface)是德國KUKA公司開發(fā)的用于實(shí)現(xiàn)機(jī)器人控制系統(tǒng)和傳感器系統(tǒng)之間數(shù)據(jù)交換的應(yīng)用程序包,其實(shí)時(shí)性響應(yīng)在毫秒級(jí)[2]。本文提出一種基于RSI的工業(yè)機(jī)器人開放式控制系統(tǒng),將RSI系統(tǒng)用于機(jī)器人與外部PC進(jìn)行數(shù)據(jù)交換,配合Windows操作系統(tǒng)強(qiáng)大的數(shù)據(jù)處理功能,在保證工業(yè)機(jī)器人實(shí)時(shí)性的前提下,實(shí)現(xiàn)功能的擴(kuò)展性和增減性。
如何實(shí)現(xiàn)工業(yè)機(jī)器人與外部PC 間的數(shù)據(jù)交換是設(shè)計(jì)的關(guān)鍵點(diǎn)之一。引入庫卡機(jī)器人RSI應(yīng)用軟件包,通過定義信號(hào)流配置文件以及用于以太網(wǎng)連接的XML文件,實(shí)現(xiàn)基于UDP網(wǎng)絡(luò)通訊的機(jī)器人與外部PC 機(jī)間的數(shù)據(jù)交換。RSI對(duì)象Ethernet的實(shí)時(shí)請(qǐng)求性高(PC必須在所定義的節(jié)拍內(nèi)回答所到達(dá)的數(shù)據(jù)包,否則將出現(xiàn)超時(shí)錯(cuò)誤)。毫秒級(jí)響應(yīng)速度在確保實(shí)時(shí)性控制要求的基礎(chǔ)上,給系統(tǒng)開放性開發(fā)提供最大限度的設(shè)計(jì)空間。
通過RSI對(duì)象Ethernet實(shí)現(xiàn)通過以太網(wǎng)的數(shù)據(jù)交換。對(duì)象輸入端上的信號(hào)發(fā)送給外部PC,而輸出端上提供由外部PC接收的數(shù)據(jù)。圖1所示的是通過Ethernet進(jìn)行數(shù)據(jù)交換的工作原理。
首先應(yīng)用圖形編輯器RSI Visual定義和保存RSI上下文,規(guī)定了機(jī)器人的信號(hào)處理框架,生成以下文件:
<文件名>.rsi(RSI Visual的信號(hào)流配置);
<文件名>.rsi.diagram(根據(jù)XML示意圖的RSI Visual信號(hào)流布局);
<文件名>.rsi.xml(機(jī)器人控制系統(tǒng)上用于信號(hào)處理的XML文件)。
圖1 以太網(wǎng)數(shù)據(jù)交換工作原理
然后調(diào)用RSI Visual的RSIEthernet模塊設(shè)定機(jī)器人控制柜與外部PC間通訊的數(shù)據(jù)內(nèi)容及類型。該XML文件同信號(hào)流配置文件一起保存在機(jī)器人系統(tǒng)的指定目錄下,同時(shí)Ethernet對(duì)象中需指定該XML配置文件的名稱。圖2所示的是自定義的交互協(xié)議文件,元素說明如表1所示。
圖2 數(shù)據(jù)交互協(xié)議的XML文件
表1 元素說明
在運(yùn)動(dòng)控制實(shí)現(xiàn)中,設(shè)定外部 PC控制6自由度機(jī)器人實(shí)現(xiàn)末端執(zhí)行器的笛卡兒坐標(biāo)移動(dòng),應(yīng)用RSI對(duì)象POSCORR(笛卡兒修正接通與限定),外部PC將笛卡兒修正數(shù)據(jù)發(fā)送給機(jī)器人,機(jī)器人根據(jù)相對(duì)修正值純修正控制地移動(dòng)。其信號(hào)流配置如圖3所示。
圖3 機(jī)器人信號(hào)流配置
信號(hào)處理信道激活后,Ethernet通過UDP/IP協(xié)議將機(jī)器人系統(tǒng)內(nèi)部數(shù)據(jù)發(fā)送給外部PC,實(shí)現(xiàn)對(duì)機(jī)器人系統(tǒng)狀態(tài)的實(shí)時(shí)監(jiān)測(cè),包括笛卡兒位置、機(jī)器人軸A1-A6特定位置、附加軸E1-E6特定位置、機(jī)器人軸A1-A6電機(jī)電流、延遲到達(dá)的數(shù)據(jù)包數(shù)量、主進(jìn)和預(yù)進(jìn)中的技術(shù)參數(shù)(功能發(fā)生器1-6)。
外部PC將包含笛卡兒修正值的自定義數(shù)據(jù)組發(fā)送給機(jī)器人,實(shí)現(xiàn)運(yùn)動(dòng)控制。
如圖4所示,所搭建的體系結(jié)構(gòu)按照所執(zhí)行功能的不同分成3個(gè)模塊:主控單元、執(zhí)行單元及檢測(cè)單元??刂葡到y(tǒng)的主控單元實(shí)現(xiàn)任務(wù)規(guī)劃、數(shù)據(jù)處理以及任務(wù)決策,將控制指令發(fā)送給執(zhí)行單元,以實(shí)現(xiàn)具體的控制任務(wù):力反饋控制模塊將力覺傳感器采集的力及力矩工作信息進(jìn)行綜合分析處理,機(jī)器人控制系統(tǒng)執(zhí)行運(yùn)動(dòng)控制及路徑規(guī)劃。檢測(cè)單元將所采集的工作信息反饋給主控單元,為任務(wù)決策提供信息參考,信息包括:各關(guān)節(jié)的位置、電機(jī)電流和力/力矩信息等。
圖4 開放式控制系統(tǒng)體系結(jié)構(gòu)
控制對(duì)象為一臺(tái)庫卡6自由度機(jī)器人,配備有KR C4控制柜。使用研華工控機(jī)作為其運(yùn)動(dòng)控制器。引入了RSI系統(tǒng),可直接通過以太網(wǎng)連接實(shí)現(xiàn)機(jī)器人和工控機(jī)之間的交互。使用ATI 6維力傳感器采集力及力矩工作數(shù)據(jù),并使用以太網(wǎng)將數(shù)據(jù)傳輸給工控機(jī),其硬件結(jié)構(gòu)如圖5所示。
圖5 控制系統(tǒng)硬件結(jié)構(gòu)
基于RSI的機(jī)器人控制系統(tǒng),其軟件平臺(tái)的功能包括:
1) 機(jī)器人系統(tǒng)狀態(tài)(包括位姿坐標(biāo)值、電機(jī)電流值、力及力矩值等)的實(shí)時(shí)監(jiān)控;
2) 與機(jī)器人控制器進(jìn)行數(shù)據(jù)交換;
3) 直線插補(bǔ)算法控制機(jī)器人點(diǎn)位運(yùn)動(dòng);
4) 正、逆運(yùn)動(dòng)學(xué)解算機(jī)器人目標(biāo)軌跡。
點(diǎn)位控制分為單軸運(yùn)行和多軸并聯(lián)控制,而其中多軸聯(lián)動(dòng)控制涉及到直線插補(bǔ)算法。項(xiàng)目中的工業(yè)機(jī)器人采用伺服電機(jī)驅(qū)動(dòng),在連續(xù)運(yùn)轉(zhuǎn)過程中的急停將影響到定位精度。針對(duì)這種問題采用的解決方案為:使得機(jī)器人末端到達(dá)預(yù)定減速點(diǎn)時(shí),開始勻減速運(yùn)動(dòng)到足夠小的速度,接著繼續(xù)運(yùn)行直至到達(dá)目標(biāo)點(diǎn),速度曲線如圖6所示。
圖6 速度變化梯形圖
算法如下:
已知空間中兩點(diǎn)P0={x0,y0,z0}、P1={x1,y1,z1},先計(jì)算出兩點(diǎn)間的直線距離:
再計(jì)算比例因子:
故得到各軸按步距修正移動(dòng)的步距為:
Step[x,y,z]=K[x,y,z]×W
其中:K為比例因子 ;W為給定單位步距[3]。
循環(huán)周期N為:
將所計(jì)算得到的比例因子及目標(biāo)點(diǎn)坐標(biāo)值代入程序中,即可實(shí)現(xiàn)機(jī)器人的多軸聯(lián)動(dòng)控制。
基于以上開放式控制系統(tǒng)的軟硬件設(shè)計(jì),在所搭建的力反饋實(shí)驗(yàn)平臺(tái)上開展控制系統(tǒng)的調(diào)試與試驗(yàn),如圖7所示,為機(jī)器人控制界面圖。使用手持操作器在指定的機(jī)器人控制系統(tǒng)目錄(C:KRCROBOTERKRCR1Program)運(yùn)行用于激活RSI的程序,信號(hào)處理信道激活后,即可通過發(fā)送自定義的數(shù)據(jù)組控制機(jī)器人運(yùn)動(dòng)了。
圖7 機(jī)器人控制平臺(tái)界面
工業(yè)機(jī)器人系統(tǒng)狀態(tài)信息采集與傳感器工作數(shù)據(jù)采集使用雙線程并行通訊,RSI系統(tǒng)數(shù)據(jù)交換周期為4ms或12ms兩種模式。ATI傳感器采用EtherCATF/T類型,采樣滯后最高1ms。對(duì)于所設(shè)計(jì)的實(shí)時(shí)系統(tǒng),測(cè)試其任務(wù)切換延時(shí)以及中斷響應(yīng)時(shí)間。任務(wù)切換延時(shí)為系統(tǒng)運(yùn)行多個(gè)任務(wù)時(shí),當(dāng)前任務(wù)結(jié)束后,控制系統(tǒng)切換到另一個(gè)任務(wù)過程中所耗費(fèi)的時(shí)間。中斷的響應(yīng)時(shí)間是指系統(tǒng)接收到中斷信號(hào)到操作系統(tǒng)作出響應(yīng),并完成切換轉(zhuǎn)入中斷服務(wù)程序的時(shí)間[4-5]。對(duì)以上2個(gè)主要參數(shù)進(jìn)行實(shí)驗(yàn),每個(gè)參數(shù)1 500 次的測(cè)試,測(cè)試結(jié)果如表 2 所示。
表2 系統(tǒng)實(shí)時(shí)性測(cè)試實(shí)驗(yàn)數(shù)據(jù) 單位:μs
由測(cè)試數(shù)據(jù)得出所設(shè)計(jì)控制系統(tǒng)的實(shí)時(shí)性參數(shù)的量級(jí)均為微秒級(jí)。通常,工業(yè)機(jī)器人的控制周期≤1ms,所以本系統(tǒng)完全能夠達(dá)到工業(yè)機(jī)器人的控制要求。
基于RSI的工業(yè)機(jī)器人控制系統(tǒng)滿足開放性要求,系統(tǒng)的可擴(kuò)展性與可移植性主要體現(xiàn)在:
1) 在保留整個(gè)控制系統(tǒng)的前提下,控制算法需要進(jìn)行擴(kuò)展和更新時(shí),在程序中擴(kuò)展新的算法即可實(shí)現(xiàn)。如圖8所示,系統(tǒng)控制臺(tái)采集機(jī)器人力及力矩信息之后,對(duì)數(shù)據(jù)進(jìn)行解析,然后應(yīng)用到相關(guān)算法當(dāng)中,而最終反饋為功能執(zhí)行。當(dāng)功能需求增加,可對(duì)算法庫進(jìn)行更新或修改。
2) 控制系統(tǒng)是基于Windows操作系統(tǒng),通過RSI系統(tǒng)實(shí)現(xiàn)機(jī)器人與工控機(jī)之間的數(shù)據(jù)交互的,可用于不同型號(hào)的庫卡工業(yè)機(jī)器人。在庫卡工業(yè)機(jī)器人中安裝RSI應(yīng)用軟件包,配置相關(guān)協(xié)議之后就可以成功進(jìn)行交互,而對(duì)應(yīng)不同型號(hào)的工業(yè)機(jī)器人(如不同自由度),依據(jù)功能要求,在不改變控制系統(tǒng)整體架構(gòu)的基礎(chǔ)上,只需對(duì)控制算法及操作界面做適當(dāng)修改即可,極大地縮短了控制系統(tǒng)的開發(fā)周期。
圖8 控制系統(tǒng)數(shù)據(jù)與算法邏輯關(guān)系
設(shè)計(jì)了一種基于RSI系統(tǒng)的開放式機(jī)器人控制系統(tǒng),引入RSI系統(tǒng),實(shí)現(xiàn)工業(yè)機(jī)器人與外部PC的實(shí)時(shí)數(shù)據(jù)交換,配合Windows操作系統(tǒng)的數(shù)據(jù)處理功能,在保證工業(yè)機(jī)器人實(shí)時(shí)性的前提下,實(shí)現(xiàn)了功能的擴(kuò)展性和增減性。試驗(yàn)表明,該系統(tǒng)能夠滿足實(shí)時(shí)性要求,響應(yīng)級(jí)別在毫秒級(jí),開放式結(jié)構(gòu)滿足擴(kuò)展性、可移植性要求。