


































摘" 要: 針對兩輪自平衡小車的平衡控制和抗干擾問題,提出基于支持向量回歸機器學習方法的平衡控制器方法。分析了兩輪小車的力學模型,將狀態向量和控制向量運用到非線性支持向量回歸算法([ε]?SVR),利用LIBSVM軟件對所采集樣品進行訓練,獲得高精度的SVR模型,其中樣品數據由搭建的傳統閉環串級PID控制器運行得到。經過Matlab仿真測試,該模型控制器的平衡響應優于PID控制和極點配置法,最后制作了小型樣車,驗證了SVR模型在動態平衡和自抗干擾下存在相對優勢。
關鍵詞: 兩輪自平衡小車; ICM20602; 平衡控制; 支持向量機; 學習型控制; SVR模型
中圖分類號: TN830.1?34; TP202+.2" " " " " " " " " 文獻標識碼: A" " " " " " " " " 文章編號: 1004?373X(2024)11?0125?06
Research on two?wheeled self?balancing trolley′s balance control
and anti?interference based on SVR model
LI Jiading1, YU Guangzheng2, MIAO Wennan1, SUN Xiaoguang1
(1. School of Electronic amp; Information Engineering, Guangzhou City University of Technology, Guangzhou 510800, China;
2. School of Physics and Optoelectronics, South China University of Technology, Guangzhou 510610, China)
Abstract: A balance controller method based on support vector regression (SVR) machine learning method is proposed to address the balance control and anti?interference issues of the two?wheeled self?balancing trolley. The mechanical model of the two?wheeled trolley is analyzed, and the state vector and control vector are applied to the nonlinear support vector regression algorithm ([ε]?SVR). The LIBSVM is used to train the collected samples and obtain a high?precision SVR model, the sample data of which is obtained by running an established traditional closed?loop cascade PID controller. After Matlab simulation testing, the balance response of the model controller is superior to PID control and pole configuration method. Finally, a small sample trolley was made to verify the relative advantages of the SVR model in dynamic balance and self anti?interference.
Keywords: two?wheeled self?balancing trolley; ICM20602; balance control; SVM; learning control; SVR model
0" 引" 言
兩輪自平衡小車占空小、機動強的特點在狹小空間和大角度轉向場合有著極高的軍事和民用實用價值。其平衡控制具有不穩定、非線性、多變量、強耦合等特點,是控制方法的理想檢驗平臺。平衡控制和自動抗擾是小車實現自主移動的基礎,也是其他研究的前提。國內外對其控制方法有大量的研究,傳統方法有如文獻[1]的PID控制法,以及PID的改進方法如文獻[2?3]引入神經網絡改善PID算法。小車運行速度保持常見方法有極點配置法,如文獻[1]和文獻[4],控制車體傾角和維持車體動態平衡有著良好的性能。另一類常見的控制方法如文獻[5]使用的狀態反饋線性二次型最優控制理論(LQR)和文獻[6]的模糊控制,也是與PID控制方法融合,提升平衡控制精度。這兩類方法都是基于牛頓力學或拉格朗日方程建立數學模型,非線性復雜模型進行線性簡化處理,造成控制的精度存在偏差,影響實際效果。
近年來,智能控制如神經網絡[7?8]、模糊邏輯[9]等方法廣泛應用于復雜系統建模,如文獻[8]采用神經網絡方法建立控制模型,針對不確定性和非線性有良好的適用性,但存在難以獲得滿足需要的物理量樣品數據的情況[2,8],而模糊控制[9]需要大量先驗知識,難以徹底實現自主控制。
為了解決上述問題,一種建立在統計學習理論基礎上,模仿與學習人類策略的機器學習型控制方法得到廣泛研究[10],其中,非線性?支持向量機回歸法([ε]?SVR)非常適合兩輪小車這類復雜非線性系統的研究,能在有限樣品集的基礎上得到全局最優解,避免局部極值問題[11]。本文將[ε]?SVR方法應用于小車的平衡控制器設計,并檢驗其效果。
1" 兩輪自平衡小車的數學模型
從手掌托起木樁不倒的表演出發,當木樁向右傾斜時,手掌施加向右的力來維持穩定(如圖1a)所示)。自平衡小車若車身向右傾斜,是靠直流電機的轉動,車輪與地面的摩擦反作用于車輪,車體獲得向右的速度來維持平衡(如圖1b)所示)。由此從電機、車輪、車身三者的物理關系來建立數學模型。
1.1" 直流電機模型
自平衡小車由兩個直流電機獨立驅動,不同電壓輸出大小、方向不同的轉速和轉矩。電機端電壓[Ua]與轉子輸出轉速[ωm]和轉矩[Tm]間的關系如下:
[Ua=RIa+KeωmTm=KmtIa=Tl+J(dωmdt)] (1)
式(1)中各參數含義如表1所示。
1.2" 直流電機模型
兩輪小車通過車輪轉速來抵抗外部干擾實現平衡(見圖2)。車輪受到電機的輸出轉矩、車體作用于電機軸的作用力、地面支持力、地面摩擦力的作用。
車輪動力學方程如下:
[mdvwldt=fl-FlJdωwldt=Tml-flrw] (2)
式(2)中各參數含義如表2所示。
1.3" 平衡小車的車體動力學模型
車體運動方式包括平動與轉向運動,車體平動指前進與后退。車體受力如圖2b)所示,水平、豎直、轉動三個維度的動力學方程如下:
[FH=mbd2xdt2mbd2ydt2=Tn-mbgId2θdt2=Tnlsinθ-FHlcosθ-T] (3)
式(3)中各參數含義如表3所示。
車體質心在水平和豎直方向的運動方程為:
[x=x0+lsinθy=r+lcosθ] (4)
由式(1)~式(4)可推導出電機電壓(左[Ul]、右[Ur])、自平衡車平動車速[vm]、車體傾斜角[θ]間的關系為:
[" " " m+Jr2w+mb2dvmdt=Kmt2Rrw(Ul+Ur)-KmtKeRr2wvm-" " " " "12mbld2θdt2cosθ-dθdt2sinθ] (5)
轉向運動:小車轉彎是因為左右車輪轉速不同,轉向速度[ωR=(vwl-vwr)D],其中[D]為車輪間距。若不考慮車體傾斜對車體繞中心(如圖2b)的[y]軸)轉動慣量[Ja]的影響,車身的轉動來自左右車輪水平方向受力不均,其動力學方程為:
[JaωR=D(FHl-FHr)2] (6)
兩輪自平衡小車的轉向運動中,轉向速率[ωR]與左右車輪的輸入電壓滿足如下關系:
[2JaD+mD+JDr2wdωRdt=KmtRrw(Ul-Ur)] (7)
由此,可將小車水平運動速度、車體傾斜角、傾角速度、轉彎速度作為狀態向量[x],電機電壓為控制輸入向量[U],構建系統模型為:
[x=[vm,θ, dθdt,ωR]U=[(Ul+Ur)2,(Ul-Ur)2]vm=f(x)+g(x)U] (8)
2" 基于支持向量機回歸的學習控制法
2.1" 基于統計學習理論的支持向量回歸機方法
前面力學分析可見自平衡小車是一個復雜的非線性、多變量、強耦合系統,若從狀態向量和輸入控制量間的力學關系出發建立數學模型相對困難。常用神經網絡ANN(Aritificial Neural Netwok)[11]或支持向量回歸機SVM(Support Vector Machine)尋找兩者潛在的映射關系。SVM相對ANN所要求的樣本集不大就能得到全局最優解,在非線性、有限樣本、高維分類與回歸方面有顯著優勢[12],適合于自平衡小車這類復雜系統建模。
支持向量回歸機(SVM)學習算法建立在統計學習理論(Statistical Learning Theory, SLT)的基礎上[13],包括支持向量分類(SVC)和支持向量回歸(SVR)。對于非線性系統[ε]?支持向量回歸法(Support Vector Regression, [ε]?SVR),其回歸效果和抗干擾要強于傳統最小二乘法、線性支持向量回歸、最小二乘支持向量回歸法[12],故采用[ε]?SVR來尋找小車狀態向量與輸入控制間潛在的映射關系[14]。
2.2" 線性支持向量回歸
對于訓練集[T={(x1,y1),(x2,y2),…,(xl,yl)}],若利用最小二乘法來尋找回歸函數[f(x)=ax+b],確定參數[a]和[b],其目標函數為:
[mini=1l(yi-f(xi))2] (9)
若利用線性支持向量回歸法來確定參數[a]和[b],引入懲罰函數(對學習過程中產生的模型誤差的量度),一般選用[ε]不敏感懲罰函數對所有樣品數據在滿足一定精度[ε]的情況下進行線性回歸,根據結構風險最小原則[13],求解[f(x)]優化目標函數為:
[minω,b,ξ(*) 12a2+Ci=1l(ξi+ξ(*)i)s.t." (a?xi)+b-yi≤ε+ξiyi-(a?xi)-b≤ε+ξ(*)i,i=1,2,…,l;ξi,ξ(*)i≥0] (10)
在這里,允許部分訓練點不滿足約束條件,引入松弛變量[ξi]和[ξ(*)i],[ξi]作為誤差[ε]不敏感損失函數[12?14],超出[ε]數據又受到懲罰函數懲罰度[C]的限制,常數[C]gt;0。式(10)求解的是一個二次凸優化求解過程,引入Lagrange函數及對偶形式。
[L=12a2+Ci=1n(ξi+ξ(*)i)-i=1nαiξi+ε-yi+f(xi)-i=1nα(*)iξ(*)i+ε-yi+f(xi)-i=1nξiγi+ξ(*)iγ(*)i] (11)
式中:[αi]、[α(*)i]、[γi]、[γ(*)i≥0]為Lagrange函數的乘數。求函數[L]對[ω]、[b]、[αi]、[α(*)i]的最小化,對[αi]、[α(*)i]、[γi]、[γ(*)i]的最大化,代入[L]的對偶形式:
[maxW(αi,α(*)i)=12i=1,j=1n(αi-α(*)i)(αj-α(*)j)(xiyi)+" " " " " " " " " " " " " "i=1n(αi-α(*)i)yi-i=1n(αi+α(*)i)ε] (12)
對式(12)求解過程中會對數據集分類,當滿足標準支持向量(Normal Support Vector, NSV)時,即[αi∈(0,C)],[α(*)i=0],[ξi=0]或者[α(*)i∈(0,C)],[αi=0],[ξ(*)i=0],可算出回歸參數[a]和[b]。
[a=i=1n(αi-α(*)i)xib=yi-xj∈NSV(αi-α(*)i)xj?xi-ε] (13)
2.3" 非線性支持向量回歸([ε]?SVR)算法
對于非線性回歸,SVR方法是將原數據通過特定的非線性映射函數[?(x)]轉化到高維特征空間中,再通過線性回歸來求解,對應原數據在低維空間的非線性回歸。將式(12)轉換成如下形式:
[maxW(αi,α(*)i)=-12i=1,j=1n(αi-α(*)i)(αj-α(*)j)?K(x?xi)+i=1n(αi-α(*)i)yi-i=1n(αi+α(*)i)ε] (14)
在計算過程中引入核函數[k(x,x)],通常采用高斯徑向基核函數(BRF)如下:
[k(x,x)=exp-x-x2σ2] (15)
最終的非線性回歸函數表達式如下:
[f(x)=aΦ(x)+b=i=1n(αi-α(*)i)K(x?xi)+b] (16)
中間求解過程相對復雜,如同運用最小二乘法線性回歸,一般不關心求解過程,而在乎利用工具獲得回歸參數[a]和[b]。對于[ε]?SVR的應用也只需獲得驗證優化后的參數([C,ε,γ]),即可得到回歸模型。
3" 控制器設計
利用[ε]?SVR設計控制器需要先采集狀態和控制向量數據,然后訓練得到回歸模型。采集技術嫻熟的人類專家操控平衡車的輸入輸出變量是不實際的,在此先設計PID控制器使得兩輪小車運行起來,再采集數據,訓練得到SVR回歸模型后重新設計控制器,并逐步完善。
3.1" 狀態采集與數據融合
3.1.1" 狀態數據采集
兩輪小車實現自平衡的前提是感知自身姿態,本研究采用的ICM20602芯片是一款集成了3軸加速度計和3軸陀螺儀于一體的運動跟蹤傳感器,相比市面常見的MPU6050,具有低功耗、噪音小、性價比高等優點。ICM20602芯片置于車體,其加速度計能獲得各方向的移動速度和偏轉角度,陀螺儀獲得各軸的偏轉角速度。若小車在[xy]平面運動,加速度計可測出[R]矢量[xyz]軸上的變化值,設定小車的水平速度[vm]和車體偏轉角[θ]為:
[vm=d(Rxy)dtθ=arctan(RxyRz)] (17)
陀螺儀能測各軸的角速度[ωi],若以[z]軸的偏轉為俯仰角,假設某時刻角速度[ωi]恒定,對時間積分即可得到周期[T]內總的偏轉角[θ]為:
[θ=i=1TωziΔti," " ωl=dθdt] (18)
3.1.2" 狀態數據融合——卡爾曼濾波算法
由式(17)、式(18)可知,傳感器中的加速度計和陀螺儀均能獲得傾角[θ]但測量數據存在不確定性。利用卡爾曼濾波算法來融合數據、降低噪聲,相關研究較多,在此不做詳細敘述。
3.1.3" 搭建PID平衡控制小車
為了獲取狀態數據為后續訓練模型做準備,先搭建一個串級別PID平衡控制小車,車身傾角[θ]為控制目標,外環速度控制,內環角度控制,如圖3所示。
PID參數整定需多次實驗試湊,雖不同設備參數有差異但方式一致且成熟[15]。本實驗平臺最終獲得優化后的參數為:角度環PID系數分別為230、0、10;速度環分別為0.01、0.000 05、0。
3.2" [ε]?SVR回歸模型訓練
利用[ε]?SVR模型設計控制器,將車體傾斜角[θ]和傾角轉速[ωl]作為關鍵狀態變量(見表4),根據狀態計算出保持平衡的車輪速度[vm]作為系統輸出。采集1 000組數據,按7∶3用于訓練集和測試集。
接下來采用LIBSVM軟件[16]中關于[ε?SVR]模型的回歸軟件包對所采集數據進行訓練,以獲得高精度的SVR模型。按照LIBSVM軟件要求,對輸入狀態數據和輸出控制數據歸一化處理,選擇BRF核函數進行模型訓練,最終得到回歸模型參數值,[C]=1.32,[ε]=1.06,[γ]=0.09。
3.3" 支持向量機回歸法控制器的設計
利用前面得到的[ε]?SVR回歸模型設計平衡控制器,將傳感器ICM20602的加速度計和陀螺儀測得的狀態數據,經過卡爾曼濾波算法融合后給已經訓練好的SVR模型計算獲得控制變量輸出,再通過控制電路實現對應輸出車速,具體流程如圖4所示。
制作兩輪自平衡小車實驗平臺(見圖5),應用于接下來的實驗和仿真測試。
其中小車相關參數如表5所示。
4" 仿真測試與實驗分析
先驗證[ε]?SVR回歸模型的精度,再對比傳統PID控制和極點配置傾角控制在動態平衡控制上的差異,特別是啟動初始階段。最后在實驗平臺,通過數據分析小車受到外力干擾情況下恢復平衡的過程。
4.1" 回歸模型的精度仿真測試
根據系統模型表達式(8),將小車移動速度[vm]作為輸出,進一步簡化如下:
[x=AC+BUy=Cv] (19)
據表5中小車的各項參數及前面的計算公式,得到小車的傳遞參數如下:
[A=0.068 3-11.35200010.385 4172.630],[B=0.90309.135],[C=[1 0 0]] (20)
利用Matlab軟件得到傳遞函數:
[G(s)=C(sI-A)-1B=0.903s2-321.92s3-0.068 3s2-172.63s+87.2] (21)
由式(21)可見,平衡小車是一個高度非線性系統,通過求系統的能控和能觀矩陣的秩rank都等于3,說明簡化后的模型系統完全能控且能觀。
接下來驗證回歸模型的精度,以測試集中的傾角和傾角速度為輸入,利用訓練出的回歸模型計算出控制小車平衡所需要的車輪速度值,再與測試集的車輪速度值進行對比,結果如圖6所示。
圖6中:“*”表示系統實際控制輸出值;“[○]”表示訓練模型的輸出值。該模型的輸出值與系統實際值吻合度高達95.7%,偏轉角較小時表現更明顯。這表明訓練得到的SVR模型精度高,能用于控制器設計。
4.2" 過程平衡控制響應測試
為了驗證基于SVR回歸模型控制器相對于PID控制器在平衡控制方面的差異,在初始狀態傾角和傾角速度對平衡狀態的仿真響應如圖7所示。
由圖7可看出,基于SVR模型的控制器在維持車體動態平衡中其響應時間更短。
4.3" 初始狀態平衡控制響應測試
自平衡小車除了維持平衡外,還需保持一定的速度,而實際運動中常會受到外部干擾如路面顛簸、上下坡、撞擊、風阻等,傳統方式是在PID閉環系統配置極點控制來抵消外部擾動和內部干擾,從而維持系統動態平衡和穩定。為了比較SVR模型與極點配置方法在這方面的差異,以小車在初始傾斜角11°恢復平衡為例,進行仿真比較。由圖8可見,SVR模型控制器在初始狀態響應平衡時間更短、收斂性更高。
4.4" 動態平衡和抗干擾測試實驗
接下來進行SVR模型控制器平衡小車抗干擾測試。啟動后,將車體狀態和時間數據由MCU每40 ms獲取一次,保存于指定存儲器中,小車運行中施加一個外部干擾——輕微碰撞,測量數據經過RS 232導出,取車體傾角和時間數據(見圖9),可見小車在第5.5 s左右受到外部擾動,能快速恢復平衡,說明SVR模型控制具備一定的魯棒性,能達到抗干擾和動態平衡的預期目標。
5" 結" 語
兩輪自平衡小車使用非線性支持向量機([ε]?SVR)回歸模型設計控制器能避開物理量復雜的力學關系,而是轉化為數學上的策略建模,這種基于統計學習理論的學習型控制方法能實現小車的動態平衡和自抗干擾,具有良好的魯棒性。該策略對于其他姿態控制系統也有一定的參考價值。
參考文獻
[1] 王子凡,崔嘯鳴.基于PID控制的兩輪遙控自平衡小車的設計與實現[J].國外電子測量技術,2022,41(4):153?158.
[2] 項思哲,周依濤,鄭煒煬,等.基于改進單神經元PID算法的平衡小車控制[J].電子測量技術,2021,44(13):68?72.
[3] REN H, ZHOU C. Control system of two?wheel self?balancing vehicle [J]. Journal of Shanghai Jiaotong University (Science), 2021, 26(5): 713?721.
[4] 牛雪娟,孫宏圖.變傾角自適應雙輪自平衡機器人控制算法[J].控制工程,2021,28(2):306?312.
[5] 高志偉,代學武.自平衡小車LQR?PID平衡與路徑跟蹤控制器設計[J].控制工程,2020,27(4):708?714.
[6] 劉滿祿,韓帥,張俊俊,等.基于兩輪自平衡小車的[H∞]和LQR控制方法對比研究[J].機械設計與制造,2019(5):245?248.
[7] 符新東,張大興,袁帥.兩輪自平衡小車的狀態反饋和輸出反饋控制[J].儀表技術與傳感器,2018(8):90?93.
[8] 沈浩宇,江先志,馮濤.二輪平衡車的神經元控制算法及仿真[J].機床與液壓,2022,50(19):159?166.
[9] 韓帥,劉滿祿,張俊俊,等.基于兩輪自平衡小車的模糊自適應補償算法研究[J].機械設計與制造,2020(9):197?200.
[10] 宋啟松,李少波,李志昂,等.移動機器人避障的機器學習算法研究[J].機械設計與制造,2022(3):272?275.
[11] 金志超,高大啟,朱昌明,等.基于權重的多視角全局和局部結構風險最小化分類器[J].華東理工大學學報(自然科學版),2019,45(5):815?822.
[12] 李揚.最小二乘法、[ε]?支持向量回歸機與最小二乘支持向量回歸機的對比研究[D].上海:華東師范大學,2018.
[13] 李航.統計學習方法[M].北京:清華大學出版社,2012.
[14] 崔亮亮.自平衡雙輪移動小車設計與控制研究[D].廣州:華南理工大學,2014.
[15] 張忠藝,徐冬梅.基于PID的制造業多智能體系統一致性分析[J].制造業自動化,2021,43(3):168?172.
[16] CHANG C C, LIN C J. LIBSVM: A library for support vector machines [J]. ACM transactions on intelligent systems and technology, 2011, 2(3): 1?27.
[17] 李楠,魯根森.AprilTag與自抗擾控制結合的智能平衡跟隨車的設計[J].現代電子技術,2022,45(16):170?174.
作者簡介:李加定(1982—),男,湖南衡陽人,碩士,講師,主要研究領域為計算機視覺、機器人控制。
余光正(1978—),男,四川瀘州人,博士,教授,主要研究領域為儀器與測試技術、現代電子技術與系統等。