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