盛 濤
(哈爾濱博實自動化股份有限公司,黑龍江 哈爾濱 150001)
隨著機械自動化水平的提高,機器人以其在機械結構、適用范圍、靈活性、成本以及維護等方面的優勢,使其應用漸為廣泛,并成為一種發展趨勢。而機器人控制系統的性能決定著機器人的品質,目前主流高性能運動控制系統的發展趨勢是在具有很強計算能力的計算機上集成高性能實時系統和高速通訊總線的控制架構。以該種控制結構完成具有前饋補償的控制結構。運動學、動力學和用于前饋補償的伺服控制算法均在計算性能強大的工控機中完成。在每一個伺服周期內伺服控制指令通過高速通訊總線傳遞給驅動器,同時在同一個伺服周期內完成運動指令的反饋。伺服控制指令被疊加到電流回路指令給定端作為前饋補償,其可以補償動力學耦合和結構柔性產生的非線性效應。控制指令可以根據相應的控制算法進行實時計算。在前饋補償作用下,每一個主動關節即可以視為一個簡單的單輸入單輸出系統,從而采用驅動器內部的線性控制器即可獲得較好的控制性能。
目前由于Windows良好的人機界面和交互功能,在工控領域應用越來越廣泛,但由于其并不是一個實時系統,時間片設定在5毫秒以下時,其便很難保持精確穩定的運行。從而用于實時性要求較高的工控場合會存在很多的局限性,如完成伺服層的伺服調試,需要1個毫秒以下的精確定時。為了解決這一矛盾,出現了很多利用Window環境進行擴展或者內嵌實時內核的實時系統。其中德國Beckhoff公司的TwinCAT系統就是其中之一,TwinCAT(The Windows Control and Automation Technology)的原意是指“基于Windows的控制和自動化技術”,其通過在Windows環境下內嵌實時內核的方法,將每一臺PC變為多個具有很強大處理能力的PLC集合,并同時具有良好的開發和編程環境,符合IEC-61131-3標準。其集成的人機界面開發環境,可以支持高級語言如VC++,Matlab直接編程。TwinCAT將實時控制與Windows環境有機結合,為工控機進行高性能工控任務提供了強大的實時擴展。所有的Windows環境下的程序,例如圖形和可視化模塊均可以通過ADS通訊的方式訪問TwinCAT數據,或進行實時的數據交互。同時TwinCAT在軟件方面集成了完善的錯誤診斷,穩定和安全機制,特別在各從站信號同步方面,采用了分布式時鐘和抖動監測器,嚴格保證信號同步,增加了系統可靠性。同時其實時內核具有很高優先級和穩定性,在Windows系統藍屏時,仍可保證后臺服務穩定運行。
當完成所有在線指令的實時計算后,運動控制指令需要從運動控制單元傳輸到驅動單元中。以往的運動控制系統,運動控制指令通過模擬量進行傳輸,從而不存在時間延遲。但是電磁干擾和噪聲對于模擬量是一個嚴重的問題。因此,采用模擬量方式進行運動指令傳輸在工業應用中要穩定可靠的運行難度很大,且一般無法進行長距離傳輸。目前由德國Beckhoff和EtherCAT Technology Group(ETG)推廣的基于工業以太網的高性能通訊總線EtherCAT,其采用主從結構,由主站和多個從站組成。主站可以是工控機或者其他嵌入式控制器,從站使用專用芯片構成EtherCAT從站控制器,其具有完成EtherCAT通信協議所要求的物理層和數據鏈路層的所有功能。這種通訊總線將一些優秀的專門用于運動控制的總線協議(如Sercos,CAN)與以太網的高通訊帶寬結合起來。同時傳統工業以太網一般需要在每個節點接收以太網數據包,然后進行解碼和編碼,而EtherCAT在數據幀處理方式與此不同,系統控制周期由主站發起,主站發出下行電報。當數據幀通過每一個從站設備時,EtherCAT從站控制器直接分析尋址到本機的報文,根據EtherCAT報文,讀寫數據到報文指定的位置,同時從站硬件把該報文的工作計數器(WKC)加1,表示該數據被處理,整個過程大約產生十幾個納秒延遲。此過程是在從站控制器中通過硬件實現的,因此與協議堆棧軟件的實時運行系統或處理器性能無關,有效地提高了通訊實時性。并且從站數量的增加對這一指標影響不大,在同時連接1000個I/O類型的從站節點下,能穩定運行的最小循環時間能達到62.5微秒。目前該總線已成為先進運動控制的主流,其所有協議均是開放,越來越多的工控和伺服廠家推出了支持該種通訊總線的產品。
在TwinCAT PLC Control中提供的遵循IEC 61131-3標準的編程環境下,對4自由度搬運機器人底層軟件進行了編寫,并期望通過通用功能模塊化封裝的思想,開發能適用于各種型號工業機器人的底層運動控制程序庫。整個控制器程序可以看做一個復雜的狀態機,根據程序當前運行結果或外部條件觸發而更改運行狀態,并調用組件庫中的對應功能。機器人組件庫由一些功能模塊組成,包括插補及運動規劃組件,其以運動規劃算法為基礎完成機器人離線或者在線的運動規劃,并在每一個主程序循環周期進行一次機器人的正逆解運算。伺服控制模塊通過狀態機的方式實現對機器人各軸進行控制,電機軸的運動狀態可以通過示教盒或自身內部改變;編碼器及傳感器讀取模塊用于讀取機器人電機軸的編碼器數據及各傳感器數據,用于進行反饋控制;上位機通訊網絡模塊,用于在示教狀態下和外部輸入設備交互,調用機器人系統的功能;機器人運動學及動力學組件庫建立機器人運動學及動力學算法,在每個主程序循環周期內進行計算,通過高速總線將前饋補償值傳遞給驅動器。安全模塊對整個機器人系統提供安全保障。在軟件系統中每個功能模塊都以一個任務的形式存在,系統軟件流程簡圖如下:

圖1
本文提出的控制系統架構和軟件實現,使系統動態響應能力大幅提高,動態跟蹤誤差明顯降低。可廣泛用于物流自動化行業中的搬運、分揀等方面,具有廣闊的前景。
[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.