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