盛 濤
(哈爾濱博實(shí)自動(dòng)化股份有限公司,黑龍江 哈爾濱 150001)
隨著機(jī)械自動(dòng)化水平的提高,機(jī)器人以其在機(jī)械結(jié)構(gòu)、適用范圍、靈活性、成本以及維護(hù)等方面的優(yōu)勢(shì),使其應(yīng)用漸為廣泛,并成為一種發(fā)展趨勢(shì)。而機(jī)器人控制系統(tǒng)的性能決定著機(jī)器人的品質(zhì),目前主流高性能運(yùn)動(dòng)控制系統(tǒng)的發(fā)展趨勢(shì)是在具有很強(qiáng)計(jì)算能力的計(jì)算機(jī)上集成高性能實(shí)時(shí)系統(tǒng)和高速通訊總線的控制架構(gòu)。以該種控制結(jié)構(gòu)完成具有前饋補(bǔ)償?shù)目刂平Y(jié)構(gòu)。運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)和用于前饋補(bǔ)償?shù)乃欧刂扑惴ň谟?jì)算性能強(qiáng)大的工控機(jī)中完成。在每一個(gè)伺服周期內(nèi)伺服控制指令通過高速通訊總線傳遞給驅(qū)動(dòng)器,同時(shí)在同一個(gè)伺服周期內(nèi)完成運(yùn)動(dòng)指令的反饋。伺服控制指令被疊加到電流回路指令給定端作為前饋補(bǔ)償,其可以補(bǔ)償動(dòng)力學(xué)耦合和結(jié)構(gòu)柔性產(chǎn)生的非線性效應(yīng)??刂浦噶羁梢愿鶕?jù)相應(yīng)的控制算法進(jìn)行實(shí)時(shí)計(jì)算。在前饋補(bǔ)償作用下,每一個(gè)主動(dòng)關(guān)節(jié)即可以視為一個(gè)簡(jiǎn)單的單輸入單輸出系統(tǒng),從而采用驅(qū)動(dòng)器內(nèi)部的線性控制器即可獲得較好的控制性能。
目前由于Windows良好的人機(jī)界面和交互功能,在工控領(lǐng)域應(yīng)用越來越廣泛,但由于其并不是一個(gè)實(shí)時(shí)系統(tǒng),時(shí)間片設(shè)定在5毫秒以下時(shí),其便很難保持精確穩(wěn)定的運(yùn)行。從而用于實(shí)時(shí)性要求較高的工控場(chǎng)合會(huì)存在很多的局限性,如完成伺服層的伺服調(diào)試,需要1個(gè)毫秒以下的精確定時(shí)。為了解決這一矛盾,出現(xiàn)了很多利用Window環(huán)境進(jìn)行擴(kuò)展或者內(nèi)嵌實(shí)時(shí)內(nèi)核的實(shí)時(shí)系統(tǒng)。其中德國Beckhoff公司的TwinCAT系統(tǒng)就是其中之一,TwinCAT(The Windows Control and Automation Technology)的原意是指“基于Windows的控制和自動(dòng)化技術(shù)”,其通過在Windows環(huán)境下內(nèi)嵌實(shí)時(shí)內(nèi)核的方法,將每一臺(tái)PC變?yōu)槎鄠€(gè)具有很強(qiáng)大處理能力的PLC集合,并同時(shí)具有良好的開發(fā)和編程環(huán)境,符合IEC-61131-3標(biāo)準(zhǔn)。其集成的人機(jī)界面開發(fā)環(huán)境,可以支持高級(jí)語言如VC++,Matlab直接編程。TwinCAT將實(shí)時(shí)控制與Windows環(huán)境有機(jī)結(jié)合,為工控機(jī)進(jìn)行高性能工控任務(wù)提供了強(qiáng)大的實(shí)時(shí)擴(kuò)展。所有的Windows環(huán)境下的程序,例如圖形和可視化模塊均可以通過ADS通訊的方式訪問TwinCAT數(shù)據(jù),或進(jìn)行實(shí)時(shí)的數(shù)據(jù)交互。同時(shí)TwinCAT在軟件方面集成了完善的錯(cuò)誤診斷,穩(wěn)定和安全機(jī)制,特別在各從站信號(hào)同步方面,采用了分布式時(shí)鐘和抖動(dòng)監(jiān)測(cè)器,嚴(yán)格保證信號(hào)同步,增加了系統(tǒng)可靠性。同時(shí)其實(shí)時(shí)內(nèi)核具有很高優(yōu)先級(jí)和穩(wěn)定性,在Windows系統(tǒng)藍(lán)屏?xí)r,仍可保證后臺(tái)服務(wù)穩(wěn)定運(yùn)行。
當(dāng)完成所有在線指令的實(shí)時(shí)計(jì)算后,運(yùn)動(dòng)控制指令需要從運(yùn)動(dòng)控制單元傳輸?shù)津?qū)動(dòng)單元中。以往的運(yùn)動(dòng)控制系統(tǒng),運(yùn)動(dòng)控制指令通過模擬量進(jìn)行傳輸,從而不存在時(shí)間延遲。但是電磁干擾和噪聲對(duì)于模擬量是一個(gè)嚴(yán)重的問題。因此,采用模擬量方式進(jìn)行運(yùn)動(dòng)指令傳輸在工業(yè)應(yīng)用中要穩(wěn)定可靠的運(yùn)行難度很大,且一般無法進(jìn)行長(zhǎng)距離傳輸。目前由德國Beckhoff和EtherCAT Technology Group(ETG)推廣的基于工業(yè)以太網(wǎng)的高性能通訊總線EtherCAT,其采用主從結(jié)構(gòu),由主站和多個(gè)從站組成。主站可以是工控機(jī)或者其他嵌入式控制器,從站使用專用芯片構(gòu)成EtherCAT從站控制器,其具有完成EtherCAT通信協(xié)議所要求的物理層和數(shù)據(jù)鏈路層的所有功能。這種通訊總線將一些優(yōu)秀的專門用于運(yùn)動(dòng)控制的總線協(xié)議(如Sercos,CAN)與以太網(wǎng)的高通訊帶寬結(jié)合起來。同時(shí)傳統(tǒng)工業(yè)以太網(wǎng)一般需要在每個(gè)節(jié)點(diǎn)接收以太網(wǎng)數(shù)據(jù)包,然后進(jìn)行解碼和編碼,而EtherCAT在數(shù)據(jù)幀處理方式與此不同,系統(tǒng)控制周期由主站發(fā)起,主站發(fā)出下行電報(bào)。當(dāng)數(shù)據(jù)幀通過每一個(gè)從站設(shè)備時(shí),EtherCAT從站控制器直接分析尋址到本機(jī)的報(bào)文,根據(jù)EtherCAT報(bào)文,讀寫數(shù)據(jù)到報(bào)文指定的位置,同時(shí)從站硬件把該報(bào)文的工作計(jì)數(shù)器(WKC)加1,表示該數(shù)據(jù)被處理,整個(gè)過程大約產(chǎn)生十幾個(gè)納秒延遲。此過程是在從站控制器中通過硬件實(shí)現(xiàn)的,因此與協(xié)議堆棧軟件的實(shí)時(shí)運(yùn)行系統(tǒng)或處理器性能無關(guān),有效地提高了通訊實(shí)時(shí)性。并且從站數(shù)量的增加對(duì)這一指標(biāo)影響不大,在同時(shí)連接1000個(gè)I/O類型的從站節(jié)點(diǎn)下,能穩(wěn)定運(yùn)行的最小循環(huán)時(shí)間能達(dá)到62.5微秒。目前該總線已成為先進(jìn)運(yùn)動(dòng)控制的主流,其所有協(xié)議均是開放,越來越多的工控和伺服廠家推出了支持該種通訊總線的產(chǎn)品。
在TwinCAT PLC Control中提供的遵循IEC 61131-3標(biāo)準(zhǔn)的編程環(huán)境下,對(duì)4自由度搬運(yùn)機(jī)器人底層軟件進(jìn)行了編寫,并期望通過通用功能模塊化封裝的思想,開發(fā)能適用于各種型號(hào)工業(yè)機(jī)器人的底層運(yùn)動(dòng)控制程序庫。整個(gè)控制器程序可以看做一個(gè)復(fù)雜的狀態(tài)機(jī),根據(jù)程序當(dāng)前運(yùn)行結(jié)果或外部條件觸發(fā)而更改運(yùn)行狀態(tài),并調(diào)用組件庫中的對(duì)應(yīng)功能。機(jī)器人組件庫由一些功能模塊組成,包括插補(bǔ)及運(yùn)動(dòng)規(guī)劃組件,其以運(yùn)動(dòng)規(guī)劃算法為基礎(chǔ)完成機(jī)器人離線或者在線的運(yùn)動(dòng)規(guī)劃,并在每一個(gè)主程序循環(huán)周期進(jìn)行一次機(jī)器人的正逆解運(yùn)算。伺服控制模塊通過狀態(tài)機(jī)的方式實(shí)現(xiàn)對(duì)機(jī)器人各軸進(jìn)行控制,電機(jī)軸的運(yùn)動(dòng)狀態(tài)可以通過示教盒或自身內(nèi)部改變;編碼器及傳感器讀取模塊用于讀取機(jī)器人電機(jī)軸的編碼器數(shù)據(jù)及各傳感器數(shù)據(jù),用于進(jìn)行反饋控制;上位機(jī)通訊網(wǎng)絡(luò)模塊,用于在示教狀態(tài)下和外部輸入設(shè)備交互,調(diào)用機(jī)器人系統(tǒng)的功能;機(jī)器人運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)組件庫建立機(jī)器人運(yùn)動(dòng)學(xué)及動(dòng)力學(xué)算法,在每個(gè)主程序循環(huán)周期內(nèi)進(jìn)行計(jì)算,通過高速總線將前饋補(bǔ)償值傳遞給驅(qū)動(dòng)器。安全模塊對(duì)整個(gè)機(jī)器人系統(tǒng)提供安全保障。在軟件系統(tǒng)中每個(gè)功能模塊都以一個(gè)任務(wù)的形式存在,系統(tǒng)軟件流程簡(jiǎn)圖如下:
圖1
本文提出的控制系統(tǒng)架構(gòu)和軟件實(shí)現(xiàn),使系統(tǒng)動(dòng)態(tài)響應(yīng)能力大幅提高,動(dòng)態(tài)跟蹤誤差明顯降低??蓮V泛用于物流自動(dòng)化行業(yè)中的搬運(yùn)、分揀等方面,具有廣闊的前景。
[1]ALBU-SCHAFFER A,HADDADIN S,OTT C,et al.The DLR lightweight robot:design and control concepts for robots in human environments[J].Ind Robot,2007,34(5):376-85.
[2]SPONG M W.Modeling and Control of Elastic Joint Robots[J].J Dyn SysttAsme,1987,109(310-9.
[3]LI Q.Experimental validation on the integrated design and control of a parallel robot[J].Robotica,2006,24(173-81.
[4]GE S S,LEE T H,TAN E G.Adaptive neural network control of flexible joint robots based on feedback linearization[J].Int J Syst Sci,1998,29(6):623-35.