應(yīng)用需求:倒立擺控制方法在軍工、航天、機器人和一般工業(yè)過程領(lǐng)域中都有著廣泛的用途,如機器人行走過程中的平衡控制、火箭發(fā)射中的垂直度控制和衛(wèi)星飛行中的姿態(tài)控制等。倒立擺的控制,能用來檢驗控制方法是否有較強的處理非線性和不穩(wěn)定性問題的能力。
面臨的挑戰(zhàn):倒立擺控制系統(tǒng)是一個復(fù)雜的、不穩(wěn)定的、非線性系統(tǒng)。涉及控制中的許多典型問題:如非線性問題、魯棒性問題、鎮(zhèn)定問題、隨動問題以及跟蹤問題等。
解決方案:利用NI CompactRIO 平臺實現(xiàn)的倒立擺控制器體現(xiàn)了該平臺強大的控制能力,所有的算法都是在FPGA和實時控制器上實現(xiàn),保證了控制響應(yīng)的快速、實時和確定性。
倒立擺的控制問題就是使擺桿盡快地達到一個平衡位置,并且使之沒有大的振蕩和過大的角度和速度。當擺桿到達期望的位置后,系統(tǒng)能克服隨機擾動而保持穩(wěn)定的位置。倒立擺研究具有重要的工程背景:(1) 機器人的站立與行走類似雙倒立擺系統(tǒng)。(2) 在火箭等飛行器的飛行過程中,為了保持其正確的姿態(tài),要不斷進行實時控制。(3) 通信衛(wèi)星在預(yù)先計算好的軌道和確定的位置上運行的同時,要保持其穩(wěn)定的姿態(tài),使衛(wèi)星天線一直指向地球,使它的太陽能電池板一直指向太陽。(4) 偵查衛(wèi)星中攝像機的輕微抖動會對攝像的圖像質(zhì)量產(chǎn)生很大的影響,為了提高攝像的質(zhì)量,必須能自動地保持伺服云臺的穩(wěn)定,消除震動。(5) 為了防止單級火箭在拐彎時斷裂而誕生的柔性火箭(多級火箭),其飛行姿態(tài)的控制也可以用多級倒立擺系統(tǒng)進行研究。由于倒立擺系統(tǒng)與雙足機器人、火箭飛行控制和各類伺服云臺穩(wěn)定有很大相似性,因此對倒立擺控制機理的研究具有重要的理論和實踐意義。
系統(tǒng)實現(xiàn)方法 1、 倒立擺系統(tǒng)的控制方法 對倒立擺這樣一個典型被控對象進行研究,無論在理論上和方法上都具有重要意義。不僅由于其級數(shù)增加而產(chǎn)生的控制難度是對人類控制能力的有力挑戰(zhàn),更重要的是實現(xiàn)其控制穩(wěn)定的過程中不斷發(fā)現(xiàn)新的控制方法、探索新的控制理論,并進而將新的控制方法應(yīng)用到更廣泛的受控對象中。各種控制理論和方法都可以在這里得到充分實踐,并且可以促成相互間的有機結(jié)合。當前,倒立擺的控制方法可分為以下幾類: (1) 線性理論控制方法 將倒立擺系統(tǒng)的非線性模型進行近似線性化處理,獲得系統(tǒng)在平衡點附近的線性化模型,然后再利用各種線性系統(tǒng)控制器設(shè)計方法,得到期望的控制器。PID 控制、狀態(tài)反饋控制、LQR 控制算法是其典型代表。這類方法對于一、二級倒立擺(線性化誤差較小、模型較簡單)控制時,可以解決常規(guī)倒立擺的穩(wěn)定控制問題。但對于像非線性較強、模型較復(fù)雜的多變量系統(tǒng)(三、四級以及多級倒立擺)線性系統(tǒng)設(shè)計方法的局限性就十分明顯,這就要求采用更有效的方法來進行合理的設(shè)計。 (2) 預(yù)測控制和變結(jié)構(gòu)控制方法 由于線性控制理論與倒立擺系統(tǒng)多變量、非線性之間的矛盾,使人們意識到針對多變量、非線性對象,采用具有非線性特性的多變量控制解決多變量、非線性的必由之路。人們先后開展了預(yù)測控制、變結(jié)構(gòu)控制和自適應(yīng)控制的研究。 (3) 智能控制方法 在倒立擺系統(tǒng)中用到的智能控制方法主要有神經(jīng)網(wǎng)絡(luò)控制、模糊控制、仿人智能控制、擬人智能控制和云模型控制等。 (4) 魯棒控制方法 雖然,目前對倒立擺系統(tǒng)的控制策略有如此之多,而且有許多控制策略都對倒立擺進行了穩(wěn)定控制,但大多數(shù)都沒考慮倒立擺系統(tǒng)本身的大量不確定因素和外界干擾,目前對不確定倒立擺系統(tǒng)的魯棒控制問題進行了研究并取得了一系列成果。 2、系統(tǒng)設(shè)計平臺配置 NI CompactRIO 可編程自動化控制器(PAC)是一款低成本、可重新配置的控制和采集系統(tǒng),專為需要高性能和高可靠性的應(yīng)用而設(shè)計。該系統(tǒng)包含一個開放的嵌入式架構(gòu)以及小型、堅固且可熱插拔的工業(yè)I/O 模塊。NI CompactRIO 采用了可重新配置I/O(RIO)FPGA 技術(shù)以及實時操作系統(tǒng)(RTOS)。FPGA 電路是一款具有并行處理能力,可重新配置的計算引擎,可在芯片的硅電路中執(zhí)行LabVIEW 應(yīng)用程序,使用嵌入式的RIO FPGA 硬件,可以超過100 Ks/s 的循環(huán)速率進行多循環(huán)PID 控制。并且LabVIEW FPGA 技術(shù)使您無需掌握專門的硬件開發(fā)語言(如VHDL)就可以用LabVIEW 圖形化的開發(fā)語言來開發(fā)用戶自定義的FPGA 程序。所以NI CompactRIO 平臺非常適合倒立擺控制器的開發(fā)。 NI CompactRIO 的總體構(gòu)成如下圖所示: NI 9014:實時控制器,主要通過TCP/IP 協(xié)議與主機進行通訊,從而將控制器程序以及FPGA VI 進行編譯或下載。 NI 9411:6 路數(shù)字量輸入模塊,正交編碼器進行編碼從而得出二級倒立擺的位移和兩個角度。 NI 9477:數(shù)字量輸出模塊,控制電機的運行和停止。 NI 9263:模擬量輸出模塊,將控制反饋電壓輸出驅(qū)動電機工作。 3、核心算法實現(xiàn) 本控制系統(tǒng)的設(shè)計、仿真、測試與實現(xiàn)的全過程都在cRIO硬件平臺和LabVIEW 統(tǒng)一的軟件平臺上完成??刂葡到y(tǒng)的控制算法基于LabVIEW Control Design Toolkit 完成,并在cRIO的RT操作系統(tǒng)上實現(xiàn);控制系統(tǒng)的各信號輸入,控制信號輸出,以及二級倒立擺裝置的限位、限角和限速等各種保護工作都在cRIO 的FPGA 上實現(xiàn)。當人為將倒立擺裝置的兩根擺桿置于預(yù)定的平衡位置附近時,控制系統(tǒng)自動啟動并控制倒立擺裝置的小車左右移動來保持兩根擺桿穩(wěn)定不倒??刂葡到y(tǒng)具備一定的魯棒性,當已經(jīng)受控穩(wěn)定的倒立擺裝置受到一定的外界擾動時,控制系統(tǒng)能夠及時地使其重新恢復(fù)穩(wěn)定??刂葡到y(tǒng)還具備保護功能,當小車速度大于限定值或位置到達限制位置時,控制系統(tǒng)會自動切斷,使小車迅速停止,從而對倒立擺裝置進行有效的保護。 3.1 正交編碼算法在FPGA 中實現(xiàn) 利用NI 9411 模塊在FPGA 實現(xiàn)了正交編碼算法。圖2 是正交編碼算法流程圖,利用NI 9411 的兩個差分輸入端與正交編碼器的兩個輸出通道A 和B 進行差分連接。NI 9411具有6個差分/TTL數(shù)字輸入端并且其最大時延500 ns,因而NI 9411 是高速正交編碼器應(yīng)用場所的理想選擇。 正交編碼算法:首先A通道和B通道分別與前一個狀態(tài)作比較,只要有一個通道脈沖狀態(tài)改變,則脈沖計數(shù)就要相應(yīng)的進行加1 或者減1,具體要根據(jù)兩個通道的方向來判定。對B通道當前狀態(tài)和A通道上一狀態(tài)進行異或來判定加1或者減1。如果A 和B 狀態(tài)都沒有改變,則脈沖計數(shù)不變。