徐子為,李 眾
(江蘇科技大學(xué)電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
兩輪自平衡機(jī)器人系統(tǒng)本質(zhì)上是一種極其不穩(wěn)定的欠驅(qū)動系統(tǒng)。國內(nèi)外專家學(xué)者對于該類機(jī)器人的控制都進(jìn)行了較為深入而廣泛的研究。首要研究課題便是平衡控制。大量文獻(xiàn)主要從傳統(tǒng)控制、現(xiàn)代控制、智能控制三個方向?qū)ζ淦胶庀到y(tǒng)進(jìn)行研究[1-9]??刂品椒ㄖ饕斜壤e分微分控制器(proportion integral derivative,PID)、線性二次型調(diào)節(jié)器(linear quadratic regulator,LQR)、模糊算法等,但是控制效果始終不理想,機(jī)器人抖動現(xiàn)象嚴(yán)重。
本文將兩輪自平衡機(jī)器人平衡系統(tǒng)作為研究對象,通過一維云模型多規(guī)則推理映射算法,分別設(shè)計了三規(guī)則以及五規(guī)則云模型控制器。將兩種云模型控制器分別應(yīng)用于兩輪自平衡機(jī)器人平衡控制系統(tǒng),并在實際應(yīng)用中進(jìn)行了對比分析。通過試驗,證明了云模型控制器的可行性與科學(xué)性。
主控制器、動力驅(qū)動以及姿態(tài)傳感器是兩輪自平衡機(jī)器人平衡系統(tǒng)的重要組成部分。其中,主控制器單元由STM32最小系統(tǒng)板和云模型控制器組成。姿態(tài)傳感器可以較為精準(zhǔn)地計算兩輪自平衡機(jī)器人的俯仰角θ。圖1為兩輪自平衡機(jī)器人平衡系統(tǒng)示意圖。當(dāng)θ=0時,表示機(jī)器人處于直立姿態(tài);當(dāng)θ>0時,表示兩輪自平衡機(jī)器人向右傾斜,并且向右移動;當(dāng)θ<0時,機(jī)器人向左傾斜,并向左運動。設(shè)eθ為機(jī)器人俯仰角和機(jī)器人直立時角度差,即eθ=θ-0,eθ與機(jī)器人運動速度相關(guān)聯(lián)。平衡系統(tǒng)通過控制器控制改變車輪速度,實現(xiàn)對兩輪自平衡機(jī)器人的平衡控制。
圖1 兩輪自平衡機(jī)器人平衡系統(tǒng)示意圖
本系統(tǒng)選擇STM32F103C8T6作為主控制器。STM32F103C8T6擁有ARM Cortex-M3 32位的內(nèi)核,以及眾多的外設(shè)模塊。該芯片主要負(fù)責(zé)采集傳感器數(shù)據(jù),根據(jù)采集的俯仰角信息,通過云模型算法驅(qū)動電機(jī)模塊來維持機(jī)器人的平衡。
選取數(shù)字傳感器MPU6050作為姿態(tài)傳感器。該傳感器內(nèi)置加速計和陀螺儀。主控制器通過I2C總線獲取機(jī)器人的姿態(tài)信息,并通過卡爾曼濾波算法保證數(shù)據(jù)的準(zhǔn)確性。本系統(tǒng)的關(guān)鍵在于實現(xiàn)對兩輪自平衡機(jī)器人俯仰角信息的采集。主控制器通過俯仰角與平衡直立時角度0°的誤差對電機(jī)作出相應(yīng)的控制。
選取TB6612FNG作為電機(jī)驅(qū)動模塊。該芯片可以同時驅(qū)動兩組直流電機(jī),并且可以通過配置輸入輸出口電平,實現(xiàn)對直流電機(jī)轉(zhuǎn)動方向和轉(zhuǎn)速等的控制。當(dāng)兩組直流電機(jī)被同時控制時,兩輪自平衡機(jī)器人直立、后退、前行以及轉(zhuǎn)彎等運動就可以被精準(zhǔn)控制。
數(shù)字傳感器MPU6050與主控制器采用I2C總線進(jìn)行通信。I2C是一種串行通信方式。I2C總線有兩根總線,一根為SDA,另一根為SCL,分別用于傳輸數(shù)據(jù)信號和時鐘控制信號。MPU6050獲取數(shù)據(jù)主要有以下3個步驟,首先是設(shè)置數(shù)字傳感器MPU6050,接著是寫入傳感器地址和內(nèi)部地址,最后讀取傳感器數(shù)據(jù)。姿態(tài)傳感器通信流程如圖2所示。MPU6050模塊采用卡爾曼濾波和姿態(tài)解算技術(shù),通過串口便可直接讀取三軸的角度信息,并且讀取的角度誤差小、精度高。
圖2 姿態(tài)傳感器通信流程圖
本文電機(jī)驅(qū)動器件采用日本東芝半導(dǎo)體公司生產(chǎn)的TB6612FNG。圖3為該驅(qū)動芯片內(nèi)部原理圖。
圖3 驅(qū)動芯片內(nèi)部原理圖
該芯片內(nèi)置兩組H橋驅(qū)動電路和兩組邏輯控制單元,可通過單片機(jī)同時控制兩組直流電機(jī)。PWM、IN1、IN2與主控制器一組I/O口相連接,單片機(jī)通過控制IN1、IN2電平高和低就可實現(xiàn)對電機(jī)正反轉(zhuǎn)方向的控制。主控制器輸出脈沖可調(diào)的脈沖寬度調(diào)制(pulse width modulation,PWM)方波到驅(qū)動芯片TB6612FNG,實現(xiàn)對電機(jī)轉(zhuǎn)速的控制。表1為該驅(qū)動芯片的邏輯真值表。主控制器參照該表,控制I/O口高低電平實現(xiàn)控制電機(jī)正反轉(zhuǎn)等功能(CW表示正轉(zhuǎn),CCW表示反轉(zhuǎn))。
表1 邏輯真值表
云模型控制系統(tǒng)的優(yōu)點:一是能夠抑制非線性因素影響;二是對于被控對象數(shù)學(xué)模型的準(zhǔn)確性要求不高,并且魯棒性較強(qiáng)。量化因子、推理映射、驅(qū)動因子是云模型控制器的3個主要組成部分。
一般情況下,設(shè)計云模型控制器有以下幾個步驟[10-15]。
①首先,需要明確輸入變量、輸出變量的歸一化。
②其次,要確定合適云化方法以及相關(guān)規(guī)則推理。
③再次,設(shè)計云模型映射器的映射關(guān)系。
④最后,選擇適宜的輸入以及輸出變量論域,并且得出云模型控制器的特性參數(shù)。
在本文的平衡系統(tǒng)中,兩輪自平衡機(jī)器人通過姿態(tài)傳感器MPU6050獲取俯仰角θ。該角度即反映機(jī)器人的平衡姿態(tài)。系統(tǒng)對體現(xiàn)姿態(tài)的俯仰角θ與兩輪自平衡機(jī)器人處于平衡狀態(tài)時的角度0°的誤差eθ,進(jìn)行量化因子歸一化處理,將處理后的數(shù)據(jù)作為云模型映射器的定量輸入。通過云模型規(guī)則推理映射出定量的輸出值。該值經(jīng)過驅(qū)動因子轉(zhuǎn)化為電機(jī)脈寬的校正量。將該脈寬校正量與電機(jī)零點脈寬之和作為輸出量給電機(jī)驅(qū)動TB6612FNG,對電機(jī)進(jìn)行控制,從而實現(xiàn)兩輪自平衡機(jī)器人的平衡控制。云模型控制器系統(tǒng)框圖如圖4所示。
圖4 云模型控制器系統(tǒng)框圖
經(jīng)過理論分析與控制系統(tǒng)特性研究,結(jié)合多次試驗驗證,能夠得出多條兩輪自平衡機(jī)器人的平衡規(guī)則。采用一維云模型多規(guī)則映射算法,實現(xiàn)對兩輪自平衡機(jī)器人的平衡控制。經(jīng)過定性分析,得出云模型控制規(guī)則可以用如下語言簡單描述:
IFeθ負(fù)大 THEN 電機(jī)校正變量負(fù)大
IFeθ零 THEN 電機(jī)校正變量零
IFeθ正大 THEN 電機(jī)校正變量正大
使用云模型,可以將以上比較模糊的語言所要表達(dá)的內(nèi)容轉(zhuǎn)變成對被控對象的定性分析。在此基礎(chǔ)上,結(jié)合系統(tǒng)特性以及一定的控制經(jīng)驗,在不斷的試驗驗證的基礎(chǔ)上,得出如表2所示的三規(guī)則控制云參數(shù)。
表2 三規(guī)則控制云參數(shù)
圖5和圖6分別表示表2中三規(guī)則云參數(shù)的前件云和后件云。
圖5 三規(guī)則前件云
圖6 三規(guī)則后件云
依據(jù)一維云模型多規(guī)則映射算法,可以得到如圖7所示的一維云模型三規(guī)則映射關(guān)系圖。
圖7 一維云模型三規(guī)則映射關(guān)系圖
同理,根據(jù)控制系統(tǒng)特性和人的控制經(jīng)驗得到云模型五規(guī)則系統(tǒng)控制規(guī)則。其表現(xiàn)為:
IFeθ負(fù)大 THEN 電機(jī)校正變量為負(fù)大
IFeθ負(fù)小 THEN 電機(jī)校正變量為負(fù)小
IFeθ零 THEN 電機(jī)校正變量為零
IFeθ正小 THEN 電機(jī)校正變量為正小
IFeθ正大 THEN 電機(jī)校正變量為正大
表3給出了云模型五規(guī)則的推理映射云參數(shù)。
表3 五規(guī)則控制云參數(shù)
五規(guī)則情況下的前件云和后件云分別如圖8、圖9所示。一維五規(guī)則映射推理、三規(guī)則與五規(guī)則推理比較曲線分別如圖10、圖11所示。
通過試驗分析,本文分別將一維云模型控制器的三規(guī)則推理的映射關(guān)系和五規(guī)則推理的映射關(guān)系進(jìn)行了對比。由圖11可以看出,當(dāng)俯仰角的角度誤差eθ∈[-2,2]時,三規(guī)則推理的映射沒有產(chǎn)生響應(yīng),給出的脈寬校正量大約為0。而同樣角度誤差eθ∈[-2,2]時,卻能刺激五規(guī)則推理,由五規(guī)則推理映射關(guān)系可以看出,直流電機(jī)產(chǎn)生了一個范圍[-20,20]的非線性的校正脈寬量映射。由圖11分析可得知:當(dāng)機(jī)器人俯仰角波動較大時,通過五規(guī)則推理出的映射曲線電機(jī)校正值顯然要大于三規(guī)則推理得到的值,表五規(guī)則推理的響應(yīng)速度表明顯比三規(guī)則推理要來的快。根據(jù)控制經(jīng)驗,上述試驗分析得到的五規(guī)則映射推理結(jié)果更加符合人的控制思維。
圖8 五規(guī)則前件云
圖9 五規(guī)則后件云
圖10 一維五規(guī)則映射推理圖
圖11 三規(guī)則與五規(guī)則推理比較曲線
基于一維云模型控制器的兩輪自平衡機(jī)器人,能夠很好地實現(xiàn)直立動態(tài)平衡。當(dāng)系統(tǒng)遭遇外界擾動時,兩輪自平衡機(jī)器人會自動調(diào)整,保持直立平衡的姿態(tài),實現(xiàn)動態(tài)平衡。
使用串口助手工具,對最能體現(xiàn)其直立平衡特性的俯仰角進(jìn)行了實時監(jiān)測。從宏觀角度進(jìn)一步分析實時監(jiān)測到的數(shù)據(jù),可以得出這樣的結(jié)論:兩種云模型控制器都能夠讓兩輪自平衡機(jī)器人在相當(dāng)長的時間保持直立特性,并且能夠在較小的角度范圍內(nèi)穩(wěn)定保持平衡。
對比分析使用三規(guī)則和五規(guī)則一維云模型控制器的實時檢測曲線數(shù)據(jù)可以得出,在直立平衡方面,五規(guī)則云模型控制器性能更優(yōu)。在外界強(qiáng)干擾和主動沖擊條件下,即兩輪自立平衡機(jī)器人的俯仰角度出現(xiàn)大波動的情況下,五規(guī)則云模型控制器具有更好的系統(tǒng)特性,能夠以更快的收斂速度,在更短的時間內(nèi)再次保持平衡。
本文主要研究對象為兩輪自平衡機(jī)器人平衡系統(tǒng)。根據(jù)該控制系統(tǒng)特征,分別研究設(shè)計了一維三規(guī)則、五規(guī)則云模型控制器。分別采用對比分析與試驗驗證的方法,得出結(jié)論:相較于三規(guī)則云模型控制器,五規(guī)則云模型控制器性能更優(yōu),控制效果更佳。
作為一個具有非線性、強(qiáng)耦合性和多變量的控制系統(tǒng),兩輪自立平衡機(jī)器人平衡系統(tǒng)的實時控制規(guī)律也呈現(xiàn)著多變性,難以被人掌握。云模型智能控制器的出現(xiàn),大大提升了對兩輪自平衡機(jī)器人的控制效果。不僅如此,云模型控制器對兩輪自平衡機(jī)器人出現(xiàn)的高頻抖動問題也有所改善。
云模型理論在不斷完善和發(fā)展,向著智能控制方向發(fā)展的趨勢也日趨明顯。本文對云模型控制器在硬件平臺實現(xiàn)的可行性和科學(xué)性進(jìn)行了驗證,這也為后續(xù)云模型控制器的研究設(shè)計提供了參考。