趙盛燁, 吳文江, 佟 敏, 李 鎖
(1. 中國(guó)科學(xué)院大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 北京 100049; 2. 中國(guó)科學(xué)院 a. 沈陽(yáng)計(jì)算技術(shù)研究所; b. 沈陽(yáng)高精數(shù)控智能技術(shù)股份有限公司, 沈陽(yáng) 110168; 3. 吉林大學(xué)通信設(shè)計(jì)院股份有限公司 政企事業(yè)部, 長(zhǎng)春 130012)
當(dāng)前, 云計(jì)算、 大數(shù)據(jù)、 工業(yè)互聯(lián)網(wǎng)和物聯(lián)網(wǎng)等技術(shù)飛速發(fā)展, 由于這些技術(shù)在信息處理方面具有智能性特點(diǎn), 對(duì)改造傳統(tǒng)的制造業(yè)、 實(shí)現(xiàn)產(chǎn)業(yè)升級(jí)具有明顯的優(yōu)勢(shì), 因此制造技術(shù)面臨著難得的發(fā)展機(jī)遇及挑戰(zhàn)。同時(shí), 智能制造對(duì)我國(guó)制造業(yè)的發(fā)展尤其重要, 其有助于發(fā)揮信息技術(shù)的優(yōu)勢(shì), 盡快彌補(bǔ)與發(fā)達(dá)國(guó)家制造業(yè)的差距, 對(duì)實(shí)現(xiàn)彎道超車(chē)具有重要的積極意義[1]。而被稱為“工業(yè)母機(jī)”的機(jī)床的智能化控制顯然是重中之重。對(duì)于智能機(jī)床的內(nèi)涵, 在國(guó)際范圍內(nèi)還沒(méi)有形成統(tǒng)一標(biāo)準(zhǔn)。從目前研究現(xiàn)狀看, 普遍認(rèn)為智能機(jī)床應(yīng)具有對(duì)外部環(huán)境的智能感知、 數(shù)據(jù)分析、 自我診斷和自我學(xué)習(xí)決策等類人的功能。自上世紀(jì)90年代以來(lái), 為搶占智能制造的發(fā)展先機(jī), 各發(fā)達(dá)制造強(qiáng)國(guó)紛紛投入到相關(guān)的研究中, 比較權(quán)威的研究機(jī)構(gòu)包括美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所、 英國(guó)漢普郡大學(xué)等。國(guó)際名牌機(jī)床廠商隨之推出了各自的智能化產(chǎn)品, 其智能化特征表現(xiàn)在如下幾個(gè)方面[2]: 1) 具有智能感知功能, 既實(shí)現(xiàn)對(duì)周?chē)h(huán)境的感知, 同時(shí)實(shí)現(xiàn)對(duì)自身工作狀況的正確識(shí)別; 2) 在加工過(guò)程中, 可實(shí)現(xiàn)對(duì)切削參數(shù)的動(dòng)態(tài)識(shí)別及自適應(yīng)調(diào)整; 3) 利用統(tǒng)計(jì)分析方法對(duì)工件的加工質(zhì)量進(jìn)行動(dòng)態(tài)評(píng)估, 以保證加工質(zhì)量穩(wěn)定性。此外, 瑞士米克朗公司認(rèn)為, 人應(yīng)作為智能制造的主體, 通過(guò)采用網(wǎng)絡(luò)技術(shù)發(fā)揮人的能動(dòng)作用, 與機(jī)床協(xié)調(diào)運(yùn)行以實(shí)現(xiàn)智能加工功能; 日本Mazak公司認(rèn)為智能機(jī)床應(yīng)具有綜合分析能力, 滿足對(duì)加工參數(shù)的智能調(diào)整。
智能機(jī)床有3個(gè)基礎(chǔ)共性問(wèn)題----信息、 狀態(tài)感知與數(shù)據(jù)處理。狀態(tài)感知是智能數(shù)控的基礎(chǔ), 其所采集的信息成為上層數(shù)控軟件進(jìn)行信息處理的源泉[3]。從國(guó)際范圍看, 國(guó)際知名的數(shù)控系統(tǒng)如西門(mén)子、 發(fā)那科等廠商, 推出了系列的智能化數(shù)控系統(tǒng)品牌, 在數(shù)控系統(tǒng)市場(chǎng)處于壟斷地位。對(duì)于國(guó)產(chǎn)數(shù)控系統(tǒng), 為改變智能數(shù)控的被動(dòng)局面, 國(guó)內(nèi)一些數(shù)控廠家及科研院所進(jìn)行了大量研究, 已取得了一定的研究成果, 其中華中數(shù)控、 廣州數(shù)控、 藍(lán)天數(shù)控等國(guó)產(chǎn)系統(tǒng)針對(duì)自身的特點(diǎn), 提出了各自的智能化的系統(tǒng)體系結(jié)構(gòu), 并結(jié)合具體應(yīng)用場(chǎng)景, 進(jìn)行了局部示范應(yīng)用, 發(fā)展前景廣闊, 但其研究深度還明顯不夠, 有待于深入。
數(shù)控機(jī)床在加工過(guò)程中受到各種因素綜合作用的影響, 各種影響因素間相互關(guān)聯(lián), 并且具有時(shí)變參數(shù)的非線性等特點(diǎn)。以上影響因素對(duì)PID(Proportion Integration Differentiation)參數(shù)的實(shí)時(shí)調(diào)整提出了更高的要求, 常規(guī)的PID算法已無(wú)法滿足。為此, 近年來(lái)有研究學(xué)者提出了采用模糊化處理、 參數(shù)自適應(yīng)控制、 滑動(dòng)平均處理、 PID 參數(shù)自整定, 神經(jīng)網(wǎng)絡(luò)控制以及以上方法組合控制方法等。劉春芳等[2]提出采用指數(shù)項(xiàng)的時(shí)變滑動(dòng)平均處理方法, 不僅提高了控制算法的運(yùn)算效率, 同時(shí)顯著降低了數(shù)控機(jī)床的顫振。孫宇新等[3]通過(guò)建立控制系統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型, 改善了數(shù)控機(jī)床對(duì)強(qiáng)耦合的影響因素、 加工動(dòng)作同步和系統(tǒng)慣性環(huán)節(jié)等控制問(wèn)題。上述研究成果對(duì)受多因素影響的數(shù)控加工具有一定的積極作用, 但需用基于數(shù)學(xué)模型的方法進(jìn)行控制, 如采用模糊控制機(jī)理的模型、 基于神經(jīng)網(wǎng)絡(luò)的參數(shù)辨識(shí)模型等。而各模型的建立條件依賴于特定的加工環(huán)境, 有一定的局限性, 現(xiàn)實(shí)模型中參數(shù)具有時(shí)變特性, 需根據(jù)實(shí)際環(huán)境檢測(cè)結(jié)果進(jìn)行動(dòng)態(tài)調(diào)整, 從而限制了以上控制方法在實(shí)際生產(chǎn)中的應(yīng)用。
針對(duì)數(shù)控加工過(guò)程中影響因素的非線性、 強(qiáng)耦合性等特點(diǎn), 采用無(wú)模型自適應(yīng)控制(MFAC: Model-Free Adaptive Control)具有明顯的優(yōu)勢(shì), 該控制方法結(jié)構(gòu)簡(jiǎn)單、 運(yùn)算效率高, 具有良好的應(yīng)用前景。其控制結(jié)構(gòu)不采用數(shù)控機(jī)床的數(shù)學(xué)模型, 僅采用數(shù)控機(jī)床所采集的閉環(huán)數(shù)據(jù)實(shí)現(xiàn)機(jī)床控制器的設(shè)計(jì), 使該方法成為一種可行的基于數(shù)據(jù)驅(qū)動(dòng)的控制方法。
筆者針對(duì)基于MFAC的智能數(shù)控系統(tǒng)展開(kāi)研究, 主要內(nèi)容包括: 對(duì)智能數(shù)控系統(tǒng)的體系結(jié)構(gòu)進(jìn)行設(shè)計(jì); 針對(duì)數(shù)控系統(tǒng)的多源信息特點(diǎn), 提出了基于多通道信號(hào)采集技術(shù); 改進(jìn)基于MFAC的數(shù)據(jù)驅(qū)動(dòng)控制算法; 此外, 為滿足數(shù)控系統(tǒng)采用現(xiàn)場(chǎng)總線對(duì)多種現(xiàn)場(chǎng)信號(hào)的采集要求, 進(jìn)行基礎(chǔ)性研究, 并完成智能數(shù)控系統(tǒng)控制效果的相關(guān)驗(yàn)證。
面向制造技術(shù)的智能化, 數(shù)控系統(tǒng)具有操作、 加工、 維護(hù)和管理智能化等功能特點(diǎn)[4]。從實(shí)現(xiàn)技術(shù)看, 其主要表現(xiàn)為系統(tǒng)的網(wǎng)絡(luò)化通訊、 開(kāi)放式結(jié)構(gòu)以及在此基礎(chǔ)上的人工智能技術(shù)的應(yīng)用。
1.1.1 系統(tǒng)的網(wǎng)絡(luò)化通訊
數(shù)據(jù)的獲取是數(shù)控系統(tǒng)智能化的前提條件。它是進(jìn)行后續(xù)的智能分析、 智能決策的基礎(chǔ)。數(shù)控系統(tǒng)需對(duì)外界各種信息進(jìn)行采集, 其中包括溫度、 切削力和噪聲信號(hào)等。日本馬扎克、 大隈等公司在智能化方面提供了許多先進(jìn)的技術(shù), 如主軸抑振、 智能防碰撞等功能[5-6]。沈陽(yáng)機(jī)床i5數(shù)控提供了基于特征的編程和圖形化診斷等功能, 因此其傳感器種類較多, 進(jìn)而通過(guò)采用實(shí)時(shí)監(jiān)控及補(bǔ)償技術(shù)提高機(jī)床的加工性能。由于傳感器信號(hào)的數(shù)據(jù)量較大, 無(wú)論對(duì)數(shù)據(jù)存儲(chǔ)還是分析, 傳統(tǒng)的數(shù)控系統(tǒng)都不能滿足要求, 需采用基于邊緣計(jì)算的物聯(lián)網(wǎng)技術(shù)的支持, 提高信息處理的實(shí)時(shí)性, 同時(shí), 在云端的采集信息的數(shù)據(jù)匯集, 結(jié)合大數(shù)據(jù)處理技術(shù)提高系統(tǒng)的智能化水平[7]。
此外, 在互聯(lián)網(wǎng)條件下, 數(shù)控系統(tǒng)成為了智能制造的一個(gè)智能終端, 可實(shí)現(xiàn)全生命周期的制造過(guò)程的數(shù)據(jù)透明, 不僅實(shí)現(xiàn)高效的制造過(guò)程, 同時(shí)為上層應(yīng)用提供實(shí)時(shí)數(shù)據(jù), 實(shí)現(xiàn)管理、 銷(xiāo)售和財(cái)務(wù)等功能, 形成生產(chǎn)計(jì)劃、 設(shè)計(jì)/制造一體化、 供應(yīng)鏈管理、 OA(Office Automation)和庫(kù)存管理等一系列生產(chǎn)和管理環(huán)節(jié)的資源整合與信息互聯(lián)。
1.1.2 模塊化開(kāi)放式結(jié)構(gòu)
智能化數(shù)控系統(tǒng)是包括多種功能并發(fā)處理系統(tǒng), 并且各處理任務(wù)的實(shí)時(shí)性要求不同。為滿足系統(tǒng)功能的擴(kuò)充、 裁剪等需求, 系統(tǒng)的軟件平臺(tái)必須具備模塊化開(kāi)放式結(jié)構(gòu), 以便于系統(tǒng)的二次開(kāi)發(fā)。
自上世紀(jì)80年代, 模塊化開(kāi)放式結(jié)構(gòu)已成為世界范圍內(nèi)的研究課題, 目前已形成了著名標(biāo)準(zhǔn), 其中包括歐共體的OSACA(Open System Architecture for Control within Automation)計(jì)劃、 美國(guó)3大汽車(chē)公司聯(lián)合研究的OMAC(Open Modular Architecture Controllers)和日本提出的OSEC(Open Systems and the Corresponding Interfaces for Automotive Electronics)等。3大標(biāo)準(zhǔn)的提出為國(guó)內(nèi)外數(shù)控系統(tǒng)的標(biāo)準(zhǔn)化奠定了良好的基礎(chǔ), 關(guān)于各標(biāo)準(zhǔn)的特點(diǎn)分析已有相關(guān)文獻(xiàn)進(jìn)行了闡述, 此處不再贅述[8]。但由于各系統(tǒng)廠家考慮自身技術(shù)的保密性, 不情愿采用統(tǒng)一的標(biāo)準(zhǔn), 完全標(biāo)準(zhǔn)化的系統(tǒng)開(kāi)發(fā)是不現(xiàn)實(shí)的, 各系統(tǒng)廠家根據(jù)自身結(jié)構(gòu)的特點(diǎn)提供開(kāi)放的API(Application Programming Interface)使用戶可以定制開(kāi)發(fā)。
根據(jù)以上對(duì)智能數(shù)控系統(tǒng)特點(diǎn)的分析, 支持多信息融合的二次開(kāi)發(fā)軟件平臺(tái)及支持智能化應(yīng)用的可重構(gòu)硬件平臺(tái)是智能化數(shù)控系統(tǒng)體系結(jié)構(gòu)兩個(gè)最顯著的特征。
智能化數(shù)控系統(tǒng)的任務(wù)繁多, 除了具體高精效的加工任務(wù)外, 還包括CAD(Computer Aided Design)/CAM(Computer Aided Manufacturing)一體化設(shè)計(jì)、 數(shù)控程序管理、 刀具管控、 任務(wù)調(diào)度和系統(tǒng)健康維護(hù)等應(yīng)用需求, 同時(shí)滿足系統(tǒng)智能控制要求的任務(wù)管理、 狀態(tài)識(shí)別、 決策制定、 任務(wù)動(dòng)態(tài)規(guī)劃、 智能感知和機(jī)床故障預(yù)警等任務(wù)。智能化數(shù)控系統(tǒng)的二次開(kāi)發(fā)平臺(tái)如圖1所示。通過(guò)該平臺(tái)可進(jìn)行滿足實(shí)際智能控制需求的系統(tǒng)定制開(kāi)發(fā), 從而提高開(kāi)發(fā)效率, 降低開(kāi)發(fā)成本。
圖1 智能化軟件平臺(tái)技術(shù)路線Fig.1 Technical route of intelligent software platform
圖1所示各層的主要功能如下。
1) 硬件平臺(tái)。該部分為系統(tǒng)的物理層, 采用開(kāi)放式結(jié)構(gòu)以支持多種CPU架構(gòu), 包括X86、 ARM(Advanced RISC Machine)、 國(guó)產(chǎn)龍芯等架構(gòu); 此外, 為滿足對(duì)多種現(xiàn)場(chǎng)設(shè)備的控制, 支持多種現(xiàn)場(chǎng)數(shù)據(jù)傳輸總線, 包括EtherCAT總線、 MIII(Matrolink 3)總線、 SSBIII(Serial Synchronous Bus 3)總線等; 支持多種信號(hào)采集, 包括基于RS422/485、 SSI、 EnDat、 BiSS協(xié)議的編碼信號(hào), 模擬及脈沖信號(hào), 從而滿足對(duì)多種傳感器設(shè)備的信號(hào)采集。
2) 操作系統(tǒng)平臺(tái)。負(fù)責(zé)系統(tǒng)底層任務(wù)的調(diào)度及系統(tǒng)資源管理, 支持Linux及Windows等多種操作系統(tǒng)。多任務(wù)并發(fā)及實(shí)時(shí)處理是數(shù)控系統(tǒng)有別于其他系統(tǒng)的主要特點(diǎn), 因此, 操作系統(tǒng)平臺(tái)需要進(jìn)行實(shí)時(shí)性擴(kuò)展, 如RTAI(Realtime Application Interface)實(shí)時(shí)內(nèi)核, 保證數(shù)控任務(wù)的實(shí)時(shí)調(diào)度, 提高系統(tǒng)的控制性能; 此外, 為滿足在線監(jiān)控及遠(yuǎn)程控制等需求, 提供Windows平臺(tái)的智能終端部署。
3) 智能化中間件。數(shù)據(jù)是實(shí)現(xiàn)系統(tǒng)智能化的基礎(chǔ)。智能化中間件包括各種組件數(shù)據(jù)庫(kù)的開(kāi)發(fā), 搭建了數(shù)據(jù)驅(qū)動(dòng)與數(shù)控系統(tǒng)功能的橋梁。組件數(shù)據(jù)庫(kù)通過(guò)觸發(fā)數(shù)據(jù)共享區(qū)的數(shù)據(jù), 實(shí)現(xiàn)數(shù)控系統(tǒng)實(shí)時(shí)、 非實(shí)時(shí)及界面觸發(fā)控制, 同時(shí)滿足數(shù)據(jù)庫(kù)中數(shù)據(jù)的及時(shí)更新。此外, 為滿足大批量數(shù)據(jù)的處理需求, 數(shù)據(jù)可通過(guò)網(wǎng)絡(luò)上傳至云端, 在云端進(jìn)行相關(guān)的數(shù)據(jù)處理及應(yīng)用, 同時(shí)采用WebService方式進(jìn)行網(wǎng)絡(luò)通訊, 滿足遠(yuǎn)程終端的智能控制。
為支持系統(tǒng)的智能化應(yīng)用, 筆者提出了可重構(gòu)硬件平臺(tái)設(shè)計(jì)方案, 通過(guò)實(shí)現(xiàn)硬件的可重構(gòu)以滿足系統(tǒng)的靈活配置。該方案支持X86、 ARM、 龍芯等處理器、 多種現(xiàn)場(chǎng)總線(EtherCAT 總線、 MIII總線、 SSBIII總線等)。所設(shè)計(jì)的系統(tǒng)平臺(tái)采用模塊化分層次硬件結(jié)構(gòu), 分為車(chē)間網(wǎng)絡(luò)層, 邏輯控制層和現(xiàn)場(chǎng)設(shè)備層。
1) 車(chē)間網(wǎng)絡(luò)層。網(wǎng)絡(luò)互聯(lián)是實(shí)現(xiàn)系統(tǒng)智能化的前提條件。在該層通過(guò)將現(xiàn)場(chǎng)數(shù)控設(shè)備進(jìn)行網(wǎng)絡(luò)互聯(lián), 實(shí)現(xiàn)設(shè)備的遠(yuǎn)程健康管理及運(yùn)行狀態(tài)維護(hù)、 系統(tǒng)在線升級(jí)和智能調(diào)試等。此外, 有助于采用云計(jì)算技術(shù)實(shí)現(xiàn)數(shù)控系統(tǒng)的遠(yuǎn)程控制和智能化維護(hù)等功能。
2) 邏輯控制層。邏輯控制層數(shù)控系統(tǒng)是設(shè)備智能控制的核心層, 該層采用模塊化結(jié)構(gòu), 主要包括控制、 顯示和智能終端單元等。該設(shè)計(jì)方案采用靈活的配置方式, 支持M:N的控制方式, 即多個(gè)顯示單元與多個(gè)控制單元進(jìn)行連接的方式。為滿足智能控制方式對(duì)實(shí)時(shí)性的需求, 各控制單元采用現(xiàn)場(chǎng)總線與設(shè)備連接, 此外, 控制單元與顯示終端間采用千兆以太網(wǎng)總線, 如RGMII(Remote Group Multiplexer 2), 實(shí)現(xiàn)連接, 保證通信的實(shí)時(shí)性。
3) 現(xiàn)場(chǎng)設(shè)備層。負(fù)責(zé)數(shù)控系統(tǒng)功能的執(zhí)行, 現(xiàn)場(chǎng)設(shè)備主要包括伺服驅(qū)動(dòng)器、 I/O控制單元、 信息采集單元和通信網(wǎng)關(guān)等。其中通信網(wǎng)關(guān)用于互聯(lián)網(wǎng)通信及物聯(lián)網(wǎng)通信, 支持多種通信方式, 如有線、 無(wú)線通信(Zigbee, WiFi, RFID(Radio Frequency Identification))等。此外, 傳感器采集信息的同步控制通過(guò)現(xiàn)場(chǎng)總線與廣播通訊結(jié)合的方式實(shí)現(xiàn)。
高速、 高精和高效加工一直是數(shù)控機(jī)床加工不斷追求的目標(biāo), 同時(shí)也是數(shù)控系統(tǒng)智能化要實(shí)現(xiàn)的目標(biāo)之一。但加工質(zhì)量受到多種因素的影響, 其中包括系統(tǒng)自身精度的影響及外界隨機(jī)因素的干擾, 從而在加工過(guò)程中產(chǎn)生各種系統(tǒng)誤差及隨機(jī)誤差。以上誤差分為多種形式, 按照誤差變化的快慢分為靜態(tài)、 準(zhǔn)靜態(tài)和動(dòng)態(tài)誤差, 按照誤差與時(shí)間的函數(shù)關(guān)系又分為線性與非線性誤差, 如絲杠螺距、 反向間隙、 機(jī)床熱、 切削力和噪聲誤差等。因此, 為實(shí)現(xiàn)高精、 高速和高效加工, 需對(duì)以上誤差因素實(shí)現(xiàn)數(shù)控系統(tǒng)智能感知[9]。
為實(shí)現(xiàn)數(shù)據(jù)的采集與處理, 信號(hào)的檢測(cè)是首要問(wèn)題。根據(jù)受各因素影響的機(jī)床誤差模型, 選擇要進(jìn)行信號(hào)采集的位置點(diǎn), 以便于進(jìn)行各種傳感器的安裝, 實(shí)現(xiàn)關(guān)鍵位置點(diǎn)信號(hào)的采集。采集的信號(hào)包括: 溫度、 加速度和噪聲等信號(hào), 然后實(shí)時(shí)采集各位置點(diǎn)的信息, 并輸入到數(shù)控系統(tǒng)中進(jìn)行處理, 實(shí)現(xiàn)數(shù)控機(jī)床的精度補(bǔ)償及故障預(yù)警等, 保證數(shù)控機(jī)床的加工精度并提高使用壽命[10]。
由于數(shù)控系統(tǒng)對(duì)各種信號(hào)檢測(cè)的實(shí)時(shí)性要求不同, 例如對(duì)位置精度要求較高的誤差因素, 需實(shí)時(shí)采集誤差信號(hào)及進(jìn)行補(bǔ)償; 而對(duì)位置精度影響不敏感的誤差因素, 實(shí)時(shí)性要求不強(qiáng), 如溫度誤差, 切削力等非線性誤差等[11]。此外, 為避免所采集的誤差數(shù)據(jù)之間的相互干擾, 筆者提出了一種多通道的信號(hào)采集技術(shù), 使每種誤差因素的采集固定在一個(gè)通道內(nèi), 以便于上層應(yīng)用程序分別處理, 提高數(shù)據(jù)信息的處理效率。
圖2 基于多通道的數(shù)據(jù)采集示意圖 Fig.2 Schematic diagram of data acquisition based on multi-channel
筆者提出的基于多通道的數(shù)據(jù)采集示意圖如圖2所示。系統(tǒng)驅(qū)動(dòng)程序周期采集傳感器信息, 將讀取的信息存儲(chǔ)在數(shù)據(jù)池中, 其信息按傳感器順序進(jìn)行結(jié)構(gòu)性放置。數(shù)據(jù)采集線程讀取數(shù)據(jù)池中的信息, 根據(jù)采集任務(wù)的實(shí)時(shí)性需求將任務(wù)劃分為3個(gè)不同優(yōu)先級(jí), 優(yōu)先級(jí)最高的線程讀取池中的信息后, 利用插補(bǔ)器進(jìn)行實(shí)時(shí)的路徑規(guī)劃; 優(yōu)先級(jí)次之的線程讀取池中的信息后, 按照不同的通道進(jìn)行采集, 基于數(shù)據(jù)驅(qū)動(dòng)的方法進(jìn)行模型構(gòu)建, 模型的參數(shù)將由任務(wù)規(guī)劃及調(diào)度層進(jìn)行插補(bǔ)器的配置; 優(yōu)先級(jí)最低的線程讀取池中的信息后, 直接由界面顯示, 便于對(duì)采集設(shè)備的調(diào)試。圖2中的數(shù)據(jù)驅(qū)動(dòng)方法包括人工神經(jīng)網(wǎng)絡(luò)、 支持向量機(jī)等多種方法, 筆者結(jié)合溫度、 切削力等誤差非線性及延遲性大等特點(diǎn), 提出采用改進(jìn)的無(wú)模型自適應(yīng)控制方法進(jìn)行數(shù)控機(jī)床的非線性誤差控制, 以得到更為精確的控制效果。
MFAC(Model-Free Adaptive Control)算法是一種動(dòng)態(tài)線性化方法, 適用于離散時(shí)間非線性系統(tǒng)的控制。在閉環(huán)控制系統(tǒng)中, 該算法在每個(gè)動(dòng)態(tài)工作點(diǎn)建立等價(jià)的線性化動(dòng)態(tài)數(shù)據(jù)模型, 然后根據(jù)所建立的數(shù)據(jù)模型實(shí)現(xiàn)控制系統(tǒng)的理論分析及自適應(yīng)控制。
將試驗(yàn)數(shù)據(jù)用Excel2013進(jìn)行處理,計(jì)算出不同處理下的吸力值和實(shí)測(cè)體積含水率。將實(shí)測(cè)體積含水率與相應(yīng)的吸力值作為輸入值,用Origin擬合曲線,將擬合參數(shù)代入Van-Genuchten模型、Gardner模型得到與吸力值對(duì)應(yīng)的擬合土壤含水率,并與實(shí)測(cè)結(jié)果進(jìn)行比較,直到滿足精度要求。
MFAC算法主要由數(shù)據(jù)模型、 控制量變化律確定及特征參量的估計(jì)等組成部分。
一般情況下, SISO(Simple Input Simple Output)離散非線性系統(tǒng)可表示為
y(k+1)=f(y(k),…,y(k-ny),u(k),…,u(k-nu))
(1)
其中y(k),u(k)分別為時(shí)刻k的系統(tǒng)輸出及輸入值;ny,nu為待確定的兩個(gè)正整數(shù);f(·)為待確定函數(shù)。
當(dāng)Δu(k)≠0時(shí), 定義偽偏導(dǎo)數(shù)表示時(shí)變函數(shù)φ(k)的變化率, 為此, 利用微分原理將系統(tǒng)的數(shù)據(jù)模型表示為Δy(k+1)=φ(k)Δu(k), 其中φ(k)≤b,b是一個(gè)正常數(shù)。
考慮如下二次型控制輸入準(zhǔn)則函數(shù)
(2)
其中λ>0稱為權(quán)重因子, 用以限制輸入的變化量, 實(shí)現(xiàn)平滑的信號(hào)輸入;y(k+1)、y*(k+1)分別表示系統(tǒng)的實(shí)際及期望輸出量。
將式(1)代入式(2)中, 對(duì)u(k)求導(dǎo)并確定駐點(diǎn), 可得
(3)
在規(guī)則函數(shù)中, 對(duì)φc(k)求極小值, 則偽偏導(dǎo)數(shù)的估計(jì)算法可寫(xiě)為
(4)
其中η∈[0,1]是步長(zhǎng)因子, 加入η使該估計(jì)算法的可調(diào)性更強(qiáng)。
采用MFAC的控制系統(tǒng)原理如圖3所示。MFAC控制基于上述動(dòng)態(tài)數(shù)據(jù)模型, 由式(3)確定控制量大小及式(4)對(duì)控制量變化率的確定是該算法的主要組成部分。
由于傳統(tǒng)的MFAC算法在預(yù)測(cè)控制方面存在不足, 筆者對(duì)其進(jìn)行了改進(jìn)。改進(jìn)算法基于傳統(tǒng)的MFAC算法, 利用無(wú)模型控制的數(shù)據(jù)模型和控制量變化律的反復(fù)迭代預(yù)測(cè)未來(lái)時(shí)刻的控制量輸出值, 滿足系統(tǒng)參數(shù)的自適應(yīng)調(diào)整, 以補(bǔ)償數(shù)控系統(tǒng)的非線性誤差。
改進(jìn)的MFAC算法結(jié)構(gòu)如圖4所示, 主要由3部分構(gòu)成: 參數(shù)估計(jì)器、 時(shí)延補(bǔ)償器和控制量預(yù)測(cè)器。其中參數(shù)估計(jì)器為控制量預(yù)測(cè)器提供的信息為3元組, 包括參考信號(hào)、 系統(tǒng)的輸出及參數(shù)估計(jì)值; 然后控制量預(yù)測(cè)器利用所提供的信息生成預(yù)測(cè)的控制量; 時(shí)延補(bǔ)償器補(bǔ)償采集信號(hào)延時(shí)所造成的誤差。
圖3 MFAC算法原理圖 圖4 改進(jìn)MFAC算法的結(jié)構(gòu)圖 Fig.3 MFAC algorithm schematic Fig.4 Structure chart of improved MFAC algorithm
3.2.1 參數(shù)估計(jì)器的設(shè)計(jì)
如圖4所示, 參數(shù)估計(jì)器給出參考信號(hào)、 系統(tǒng)的輸出及參數(shù)估計(jì)值; 參考信號(hào)由參數(shù)估計(jì)值提供, 通過(guò)事件驅(qū)動(dòng)有助于保證控制量預(yù)測(cè)器與參數(shù)估計(jì)器的時(shí)鐘同步性。利用式(4)對(duì)偽偏導(dǎo)數(shù)進(jìn)行估計(jì)。
3.2.2 控制量預(yù)測(cè)
預(yù)測(cè)的控制量不是單個(gè)的數(shù)據(jù)量, 而是預(yù)測(cè)控制增量序列??刂屏款A(yù)測(cè)器接收到參數(shù)估計(jì)器提供的最新數(shù)據(jù)后, 計(jì)算控制增量序列
Δu(ks|ks)=α(ks)(r(ks+1)-y(ks))
(5)
控制增量序列由
(6)
中控制增量及輸出控制序列迭代計(jì)算確定。其中y(ks|ks)=y(ks),i=1,2,…,d。
然后, 由式(5)和式(6)可得預(yù)測(cè)控制增量序列的前i項(xiàng)和
Δus(ks+i|ks)=Δus(ks+i-1|ks)+Δu(ks+i|ks)
(7)
其中Δus(ks|ks)=Δu(ks|ks)。預(yù)測(cè)控制量增量前i項(xiàng)和構(gòu)成的預(yù)測(cè)序列為
(8)
將該預(yù)測(cè)序列與時(shí)間ks發(fā)送給時(shí)延補(bǔ)償器。
3.2.3 時(shí)延補(bǔ)償器的設(shè)計(jì)
在k時(shí)刻, 時(shí)延補(bǔ)償器的數(shù)據(jù)緩沖區(qū)中最新的預(yù)測(cè)序列
此外, 時(shí)延補(bǔ)償器與參數(shù)估計(jì)器間需滿足一定的同步性, 時(shí)延補(bǔ)償器所確定的補(bǔ)償增量由下式確定
(9)
3.2.4 預(yù)測(cè)序列的確定
考慮輸入誤差變化率, 改進(jìn)算法的控制律為
ρ2[(y*(k+1)-y(k))-(y*(k)-y(k-1))]}
(10)
其中ρ1和ρ2為兩個(gè)常數(shù)。
在k時(shí)刻, 參數(shù)估計(jì)器將如下數(shù)據(jù)信息發(fā)送給預(yù)測(cè)控制器
(11)
利用式(5), 改進(jìn)算法的控制預(yù)測(cè)器為
Δu(ks|ks)=α(ks)[ρ1e(ks+1)+ρ2Δe(ks+1)]
(12)
其中
改進(jìn)算法的控制增量序列由
(13)
中控制增量及輸出控制序列迭代計(jì)算確定。其中
目前, 基于嵌入式進(jìn)行系統(tǒng)開(kāi)發(fā)是數(shù)控系統(tǒng)的發(fā)展趨勢(shì)之一。筆者的數(shù)據(jù)采集系統(tǒng)采用嵌入式系統(tǒng)進(jìn)行開(kāi)發(fā), 嵌入式開(kāi)發(fā)最為關(guān)鍵的是系統(tǒng)的低功耗及可靠性。采用現(xiàn)場(chǎng)總線的通訊技術(shù)進(jìn)行現(xiàn)場(chǎng)采集設(shè)備的互聯(lián)對(duì)實(shí)現(xiàn)系統(tǒng)的低功耗及可靠性具有明顯優(yōu)勢(shì)。數(shù)控加工過(guò)程中, 工件加工質(zhì)量會(huì)受到溫度、 切削力和顫振等因素影響, 因此需要對(duì)以上信號(hào)進(jìn)行實(shí)時(shí)采集, 用于數(shù)控系統(tǒng)對(duì)外部環(huán)境的全面感知[12]。下面分別從驅(qū)動(dòng)層數(shù)據(jù)接口、 鏈路層幀格式和應(yīng)用層等方面對(duì)所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)進(jìn)行闡述。
SSBⅢ現(xiàn)場(chǎng)總線是中科院沈陽(yáng)計(jì)算技術(shù)研究所開(kāi)發(fā)的數(shù)控現(xiàn)場(chǎng)總線, 擁有完全自主知識(shí)產(chǎn)權(quán)。SSBⅢ現(xiàn)場(chǎng)總線不局限于數(shù)控系統(tǒng), 還可應(yīng)用于工廠自動(dòng)化控制相關(guān)領(lǐng)域, 具有一個(gè)從站連接若干控制從站的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu), 其從站類型包括伺服驅(qū)動(dòng)器、 總線變頻器以及智能模塊單元等。
SSBⅢ現(xiàn)場(chǎng)總線包括一個(gè)C1控制主站, 最多可連接的控制從站設(shè)備為62個(gè)。根據(jù)實(shí)際的控制需求, 還可再擴(kuò)展一個(gè)控制主站C2, 便于實(shí)現(xiàn)主從式控制方式。C1為系統(tǒng)的控制主站, 任務(wù)處理的優(yōu)先級(jí)最高, 如運(yùn)動(dòng)控制、 PLC(Programmable Logic Controller)邏輯控制等; C2為系統(tǒng)的附屬主站, 一般用于實(shí)現(xiàn)對(duì)較低優(yōu)先級(jí)的外部設(shè)備的狀態(tài)監(jiān)視。
為滿足數(shù)控系統(tǒng)對(duì)多種外部信號(hào)采集的需求, 采用SSBⅢ現(xiàn)場(chǎng)總線并對(duì)其通訊協(xié)議進(jìn)行一定的擴(kuò)展。每個(gè)信號(hào)采集設(shè)備所采用的通訊協(xié)議由50個(gè)字組成, 通過(guò)現(xiàn)場(chǎng)總線的傳輸技術(shù), 實(shí)現(xiàn)各設(shè)備間的實(shí)時(shí)通信。用于數(shù)據(jù)采集的通訊協(xié)議數(shù)據(jù)結(jié)構(gòu)如下。
typedef struct {
UINT addr_s;//從站地址信息
UINT addr_m;//主站地址信息
} addr_t;
typedef struct {
UINT len;//數(shù)據(jù)的總長(zhǎng)度
UINT buf[16];//數(shù)據(jù)內(nèi)容
} data_t;
typedef struct{
addr_taddr;//總線的地址信息
UINT sts_com; //總線狀態(tài)標(biāo)識(shí)
UINT err_count;//錯(cuò)誤計(jì)數(shù);
UINT time_delay;
UINT watchdog;//死鎖監(jiān)視計(jì)數(shù)
data_trcv;//接收的數(shù)據(jù)
data_tsnd;//發(fā)送的數(shù)據(jù)
} axis_t;
實(shí)時(shí)通信采用如上所述的字節(jié)流形式, 經(jīng)結(jié)構(gòu)化后提供給上層應(yīng)用程序。通信數(shù)據(jù)的長(zhǎng)度根據(jù)len信息可動(dòng)態(tài)可伸縮, 若len為零, 表示沒(méi)有實(shí)時(shí)數(shù)據(jù)通信; 否則根據(jù)len的值, 提取實(shí)時(shí)數(shù)據(jù)信息。每個(gè)通訊周期, 都要將len的值清零, 便于開(kāi)啟下一周期的通信。
在現(xiàn)場(chǎng)總線的應(yīng)用層中, 主站與各從站的通信過(guò)程是動(dòng)態(tài)執(zhí)行的。為保證通信的可靠性, 采用有限狀態(tài)機(jī)技術(shù)實(shí)現(xiàn)主站與各從站間狀態(tài)的協(xié)調(diào)?,F(xiàn)場(chǎng)總線的通信狀態(tài)有4種: 上電初始化、 各站狀態(tài)查詢、 從站配置狀態(tài)和通信狀態(tài)。因此, 在進(jìn)行采集數(shù)據(jù)的應(yīng)用時(shí), 應(yīng)首先判斷總線當(dāng)前的狀態(tài), 如果處于通信狀態(tài), 說(shuō)明所采集的數(shù)據(jù)可用; 否則, 說(shuō)明現(xiàn)場(chǎng)總線不能進(jìn)行數(shù)據(jù)的接收及控制信息的發(fā)送, 以避免系統(tǒng)產(chǎn)生錯(cuò)誤的判斷。
根據(jù)數(shù)控系統(tǒng)對(duì)智能采集的需要, 筆者對(duì)現(xiàn)場(chǎng)總線的鏈路層數(shù)據(jù)幀格式進(jìn)行設(shè)計(jì)。在原系統(tǒng)組成單元的基礎(chǔ)上, 對(duì)所包含的功能模塊進(jìn)行了一定擴(kuò)展, 所擴(kuò)展的功能單元具體包括: I/O控制擴(kuò)展單元、 伺服軸控制擴(kuò)展單元和外界信息智能檢測(cè)單元等。其中外界信息智能檢測(cè)單元, 即SSBⅢ-IDU擴(kuò)展單元用于傳感信號(hào)的檢測(cè), 具體包括機(jī)床加工用的溫度(支持20路)、 振動(dòng)(支持4路)和噪聲等信號(hào)采集, 用于實(shí)現(xiàn)機(jī)床精度補(bǔ)償及機(jī)床故障診斷等功能?;赟SBⅢ總線的數(shù)據(jù)檢測(cè)單元的地址范圍為0x41~0x4F。
遵循現(xiàn)場(chǎng)總線的通訊規(guī)范, 結(jié)合以上所設(shè)計(jì)的命令列表, 筆者進(jìn)行了具體幀格式的設(shè)計(jì), 具體的命令幀包括: 溫度采集指令幀R_Temp、 向溫度傳感器發(fā)送命令幀W_Temp、 采集振動(dòng)傳感器信息指令幀R_Vib和向振動(dòng)傳感器發(fā)送命令幀W_Vib, 此外, 擴(kuò)展的R_A/D用于從傳感器讀AD(Analog to Digital)值, 擴(kuò)展的W_A/D用于寫(xiě)傳感器AD值等。在每個(gè)通信周期內(nèi), 同步發(fā)送及接收16字節(jié)的緩沖區(qū)數(shù)據(jù)。SSB-III的數(shù)據(jù)幀格式如表1所示。
表1 SSB-III幀格式
在系統(tǒng)的硬件層, 為實(shí)現(xiàn)數(shù)據(jù)的高效傳輸, 現(xiàn)場(chǎng)總線模塊與處理器之間采用雙口RAM(Random Access Memory)進(jìn)行兩者數(shù)據(jù)交互, 通過(guò)鏈路層的邏輯控制, 保證兩者間數(shù)據(jù)傳輸實(shí)時(shí)性及同步性。智能數(shù)據(jù)檢測(cè)單元功能結(jié)構(gòu)如圖5所示。
筆者采用的SSBⅢ現(xiàn)場(chǎng)總線主站中協(xié)議芯片內(nèi)部包含雙口RAM, 其存儲(chǔ)容量為1 024×16 bit。采用雙口RAM實(shí)現(xiàn)現(xiàn)場(chǎng)總線模塊與處理器之間交互, 為便于上層應(yīng)用開(kāi)發(fā)及交互邏輯編寫(xiě), 將雙口RAM的存儲(chǔ)區(qū)間進(jìn)行功能區(qū)間劃分。針對(duì)從站設(shè)備, 包括寫(xiě)數(shù)據(jù)和讀數(shù)據(jù), 具體含義如下。
1) 寫(xiě)數(shù)據(jù)區(qū)布局。該區(qū)間由數(shù)據(jù)檢測(cè)單元寫(xiě)入, 供處理器單元讀取, 包括溫度信號(hào)、 振動(dòng)加速度信號(hào)、 噪聲信號(hào)和其他A/D信號(hào)等。
2) 讀數(shù)據(jù)區(qū)布局。該區(qū)間由處理器單元寫(xiě)入, 供數(shù)據(jù)檢測(cè)單元讀取, 提供狀態(tài)顯示, 便于實(shí)現(xiàn)遠(yuǎn)程故障診斷等。
圖5 智能數(shù)據(jù)檢測(cè)單元功能結(jié)構(gòu)圖Fig.5 Functional structure diagram of intelligent data detection unit
為滿足數(shù)控系統(tǒng)智能化需求, 數(shù)據(jù)檢測(cè)單元可通過(guò)參數(shù)配置支持多種工作模式, 以實(shí)現(xiàn)數(shù)控系統(tǒng)不同的應(yīng)用開(kāi)發(fā)。配置參數(shù)通過(guò)人機(jī)界面寫(xiě)入, 檢測(cè)單元讀取到配置信息后, 在不同的工作模式間進(jìn)行切換。數(shù)據(jù)采集單元共有4種工作模式, 分別通過(guò)參數(shù)0x1,0x2,0x3,0x4進(jìn)行標(biāo)識(shí), 其中0x1為停止數(shù)據(jù)采集的執(zhí)行; 0x2為智能數(shù)據(jù)采集, 包括上傳溫度、 加速度、 噪聲信號(hào)等; 0x3為上傳16通道16 bit A/D值; 0x4為通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程運(yùn)行狀態(tài)檢測(cè)。
智能數(shù)據(jù)檢測(cè)單元處理器開(kāi)發(fā), 采用FPGA(Field Programmable Gate Array)技術(shù)實(shí)現(xiàn), 其中集成了NIOS(New Input Output of Soft core)軟處理器, 并配置了上述的雙口RAM 用于實(shí)現(xiàn)現(xiàn)場(chǎng)總線模塊與處理器之間高效數(shù)據(jù)交互, ARM處理器用于對(duì)采集單元數(shù)據(jù)讀取、 處理及采集單元狀態(tài)讀取等。SSBⅢ總線接口模塊與ARM模塊的通信流程如圖6所示。圖6為NIOS對(duì)雙口RAM的初始化過(guò)程及數(shù)據(jù)檢測(cè)模塊工作模式的設(shè)置。
圖6 SSBⅢ總線接口模塊與ARM模塊通信Fig.6 Handshake between SSBⅢ bus interface module and ARM module
根據(jù)4.3節(jié)所采集的多通道環(huán)境信息, 采用改進(jìn)MFAC控制算法實(shí)現(xiàn)對(duì)數(shù)控機(jī)床伺服電機(jī)的自適應(yīng)控制, 滿足高精度數(shù)控加工的需求, 改進(jìn)MFAC控制算法的具體實(shí)現(xiàn)過(guò)程如下。
步驟4 綜合檢測(cè)到的各外界信息, 根據(jù)以上所確定的各因素的補(bǔ)償控制增量, 計(jì)算各增量的代數(shù)和, 并將其作為最終的補(bǔ)償控制增量輸出給執(zhí)行器。
為驗(yàn)證所開(kāi)發(fā)的智能檢測(cè)單元的檢測(cè)功能, 筆者搭建了數(shù)據(jù)檢測(cè)單元測(cè)試平臺(tái)。在該測(cè)試平臺(tái)上, 對(duì)環(huán)境溫度、 加速度和噪聲等信號(hào)進(jìn)行功能測(cè)試。此外, 還進(jìn)行了SSBⅢ總線接口模塊與ARM模塊的通信測(cè)試, 所搭建的數(shù)據(jù)檢測(cè)單元測(cè)試平臺(tái)如圖7所示。
在如圖7所示的智能數(shù)據(jù)檢測(cè)單元的測(cè)試平臺(tái)上, 運(yùn)行QuartusⅡ軟件, 通過(guò)JTAG(Joint Test Action Group)方式對(duì)FPGA芯片中的邏輯程序進(jìn)行在線調(diào)試及通信數(shù)據(jù)幀的檢測(cè)。測(cè)試結(jié)果表明, 所開(kāi)發(fā)的數(shù)據(jù)采集單元可滿足對(duì)溫度、 加速度和噪聲等環(huán)境信息的采集。此外, 通過(guò)測(cè)試表明, SSBⅢ總線接口模塊與ARM模塊的通信功能可靠, 可滿足智能數(shù)控系統(tǒng)對(duì)數(shù)據(jù)采集的需求, 為實(shí)現(xiàn)數(shù)控系統(tǒng)的精度補(bǔ)償及遠(yuǎn)程機(jī)床故障診斷等功能奠定了良好的基礎(chǔ)。
針對(duì)筆者所提出的改進(jìn)MFAC算法, 在如圖8所示的測(cè)試平臺(tái)上進(jìn)行驗(yàn)證。圖9和圖10分別為改進(jìn)的MFAC算法及常規(guī)的PID控制算法的跟蹤效果, 測(cè)試采用的目標(biāo)期望位置為10 mm; 圖11為偽偏導(dǎo)數(shù)估計(jì)值; 圖12和圖13分別表示改進(jìn)的MFAC算法及常規(guī)的PID控制算法受到干擾后的測(cè)試曲線。
圖7 智能數(shù)據(jù)檢測(cè)單元的測(cè)試平臺(tái) 圖8 智能數(shù)據(jù)檢測(cè)單元的測(cè)試平臺(tái) Fig.7 Test and verification environment for Fig.8 Test and verification environment for intelligent data detection unit intelligent data detection unit
由圖11可見(jiàn), 改進(jìn)的MFAC算法比傳統(tǒng)的PID控制算法具有更好的控制效果, 該算法通過(guò)對(duì)偽偏導(dǎo)數(shù)估計(jì)值的實(shí)時(shí)調(diào)整滿足控制的準(zhǔn)確性及穩(wěn)定性。 由圖11和圖12的比較可見(jiàn), 改進(jìn)的MFAC 控制算法具有較好的魯棒性能, 抗干擾性強(qiáng)。
圖9 改進(jìn)MFAC算法跟蹤效果 圖10 傳統(tǒng)PID算法跟蹤效果 圖11 偽偏導(dǎo)數(shù)實(shí)時(shí)調(diào)整情況 Fig.9 Tracking effect of improved Fig.10 Tracking effect of Fig.11 Real-time adjustment of MFAC algorithm traditional PID algorithm pseudo partial derivative
圖12 改進(jìn)MFAC算法抗干擾效果 圖13 傳統(tǒng)PID算法抗干擾效果 Fig.12 Anti-interference effect of Fig.13 Anti-interference effect of improved MFAC algorithm traditional PID algorithm
智能制造是制造業(yè)發(fā)展的必由之路, 而被稱為“工業(yè)母機(jī)”的機(jī)床智能化控制是實(shí)現(xiàn)智能制造的重中之重。筆者設(shè)計(jì)了智能化數(shù)控系統(tǒng)的二次開(kāi)發(fā)平臺(tái)及可重構(gòu)的系統(tǒng)硬件結(jié)構(gòu), 具有分層模塊化特征, 便于系統(tǒng)的靈活配置; 提出了采用多通道的信號(hào)處理技術(shù), 既保證了處理的實(shí)時(shí)性, 又減小了信號(hào)間的干擾, 提高了數(shù)據(jù)處理效率; 提出并采用基于改進(jìn)MFAC的數(shù)據(jù)驅(qū)動(dòng)算法實(shí)現(xiàn)數(shù)控機(jī)床伺服電機(jī)的自適應(yīng)控制; 采用自主開(kāi)發(fā)的SSBⅢ現(xiàn)場(chǎng)總線進(jìn)行傳感器信號(hào)的采集, 完成了從鏈路層到應(yīng)用層功能的功能擴(kuò)充; 此外, 采用基于藍(lán)天數(shù)控的測(cè)試驗(yàn)證平臺(tái)對(duì)所提出的改進(jìn)MFAC算法進(jìn)行了測(cè)試, 表明所開(kāi)發(fā)算法對(duì)伺服電機(jī)的軌跡跟蹤具有良好的控制性能。