韓竺秦 張麗娜
摘 要:介紹了兩輪自平衡機器人研究現狀,建立系統(tǒng)動力學模型,并用MATLAB進行仿真驗證控制方法的有效性。設計了自平衡機器人控制系統(tǒng),包括軟件和硬件系統(tǒng)。傳感器采用陀螺儀以及加速度檢測兩輪自平衡機器人重力方向的傾斜角度和車輪的旋轉加速度。經過STM32控制器處理后,采用LQR最優(yōu)控制策略控制電機調整車輪狀態(tài)使機器人保持平衡。通過實驗樣機驗證了自平衡機器人控制策略的可行性。
關鍵詞:STM32;兩輪平衡機器人;LQR控制策略;動力學控制;傳感器
DOI:10. 11907/rjdk. 181995
中圖分類號:TP319文獻標識碼:A文章編號:1672-7800(2019)003-0086-05
0 引言
針對兩輪機器人運動平衡的控制方法研究較多[1-5],如日本的Naoji Shiroma等[6]提出協(xié)作行為概念,應用多倒立擺機器人協(xié)作搬運物體,人與機器人協(xié)作實現物體搬運。機器人由底部的一臺伺服電機驅動實現直線運動,平衡控制采用極點配置方法。
瑞士聯邦工學院的Grasser等[7]制造了一個名為JOE的兩輪機器人。這是一款采用DSP控制的機器人,以陀螺儀作為姿態(tài)檢測傳感器,通過測得的角速度進行積分而獲得傾角。
臺灣中興大學Shui-Chun等[8-9]設計的兩輪自平衡機器人,姿態(tài)測量采用傾角計和陀螺儀實現。控制方法是先采用傳統(tǒng)的PID控制,然后在同一平臺利用神經網絡和自適應滑??刂品椒▽崿F控制。
兩輪自平衡機器人位置和姿態(tài)信息一般選擇陀螺儀、加速度計、傾角計、測距儀等傳感器獲取[10-11],通過數據融合得到準確的位姿信息。采用PID或極點配置法進行平衡控制,也有少數采用模糊控制[12]。
兩輪自平衡機器人具有多變量、非線性、強耦合、時變、參數不確定性等特性,其平衡控制研究一直是熱點。由于該系統(tǒng)為欠驅動系統(tǒng),運動學方程不能完整地描述系統(tǒng)行為且系統(tǒng)不可控,因此要解決兩輪自平衡機器人系統(tǒng)的平衡問題就必須考慮動力學影響[5]。
本文建立系統(tǒng)的動力學模型并進行仿真,驗證控制方法的有效性。兩輪自平衡機器人采用姿態(tài)檢測算法和最優(yōu)LQR控制策略算法。姿態(tài)檢測算法通過Kalman濾波器融合姿態(tài)傳感器測量數據,獲得準確的姿態(tài)信息[13-14]。利用這些姿態(tài)信息,輸出控制信號控制電機轉動使機器人得以平衡。
1 系統(tǒng)機械模型設計
自平衡機器人結構種類繁多,本設計樣機采用圖1結構,由上層電池層、中間主控層、底層電機驅動層組成。電池層用于放置12V電池給系統(tǒng)供電,主控層由主控芯片最小系統(tǒng)和傳感器模塊組成,電機驅動層接受單片機信號并控制電機。每層功能模塊的電路板之間用銅柱支撐固定,電機外殼與電機驅動電路板固定,電機轉軸與兩只輪胎相連。
2 機器人動力學模型
動力學模型用于描述系統(tǒng)特性的數學關系,假設在純滾動、沒有滑動、車體和車輪等部件均為剛性[1]并忽略各種靜摩擦力的情況下,兩輪平衡機器人瞬時力平衡分析如圖2所示。
3 控制器設計
系統(tǒng)采用STM32F103C8T6為主控芯片,通過I2C接口讀取傳感器L3G4200和ADXL345的數據,陀螺儀和加速度計的數據融合測出平衡機器人的相關姿態(tài),檢測機器人平臺的運行姿態(tài),最終通過PID輸出PWM電機控制信號對電機進行有效控制,調整平臺運行姿態(tài)和動平衡。系統(tǒng)總體框架設計如圖4所示。
3.1 系統(tǒng)硬件設計
3.1.1 電源系統(tǒng)設計
系統(tǒng)電源采用12V電源供電,LM2596開關電壓調節(jié)器是降壓型電源管理單片集成電路,能夠輸出3A的驅動電流,同時具有很好的線性和負載調節(jié)特性[4-16]。STM32F103VET6以及其它外圍芯片都是3.3V供電,所以需要用到5V轉3.3V的AMS1117-3.3V電源芯片。這個電源芯片屬于線性電源芯片,比開關電源芯片噪聲要小很多,最大輸出1A電流,給主控板供電完全夠用。電源供電系統(tǒng)如圖5所示。
3.1.2 加速度傳感器ADXL345
ADXL345是一款由ANALOG DEVICES 公司生產的3軸加速度計,該加速度傳感器電路如圖6所示。
ADXL345可以在傾斜檢測應用中測量靜態(tài)重力加速度,還可測量運動或沖擊導致的動態(tài)加速度,其高分辨率(3.9mg/LSB)能夠測量不到1.0°的傾斜角度變化[17]。主控芯片通過I2C即可初始化該芯片并讀取三軸的加速度值。單片機可通過此外部中斷觸發(fā)三軸加速度數據的讀取,用中斷觸發(fā)的方式降低系統(tǒng)計算周期,提高電機有效控制頻率。
從傳感器讀出的數據通過一定運行求出傳感器的各類傾斜角,其中θ是平衡車要消除的角度,車身傾斜角度可通過公式(1)計算。式(1)中,A是各軸輸出的加速度分量。
3.1.3 陀螺儀傳感器L3G4200
ADXL345主要用來測量靜態(tài)重力加速度,但系統(tǒng)的動態(tài)加速度值是干擾,用L3G4200測量出平衡車的角速度值能在一定程度上消除動態(tài)干擾,利用ADXL345和L3G4200能夠解算出車的傾角信息。L3G4200提供一個16位數據輸出[18],可配置低通和高通濾波器等嵌入式功能。與加速度傳感器的數字接口一致,通過SDA和SCL與主控芯片的硬件I2C接口進行通訊,采用3.3V供電。應用電路如圖7所示。
3.1.4 電機驅動電路
使用減速比為1∶30 的GB37電機作為兩輪自平衡機器人的驅動電機,電機采用H橋驅動方式。電機驅動器件采用TB6612FNG,具有大電流MOSFET-H橋結構,雙通道電路輸出,可同時驅動兩個GB37電機,外圍驅動電路簡單[19]。對于PWM信號輸入頻率范圍,高達100kHz的頻率足以滿足需求。
3.2 系統(tǒng)軟件設計
軟件程序設計流程如圖8所示。系統(tǒng)上電復位后,先初始化各個功能模塊,并進行平衡機器人的姿態(tài)檢測和PID控制[20]。為查看前期調試數據,使用STM32主控串口,將程序中產生的數據估算出最終角度,通過UART串口上傳到上位機,可在串口測試軟件看到數據特性。
4 系統(tǒng)仿真
采用LQR控制策略對系統(tǒng)進行控制,建立機器人模型如圖9所示。
圖10為兩輪自平衡機器人的速度控制曲線,反映了兩輪機器人的角度、傾角以及傾角角速度變化情況。從圖10可以看出,仿真曲線經過大約2s的自調整最終恢復到0值,達到了動態(tài)穩(wěn)定狀態(tài),取得了較好效果。
在時間 t = 0時,機器人傾角[θ]角為正,平衡車整體向前傾。要讓機器人重新回到平衡狀態(tài),在控制的作用下向前運行重新回到直立狀態(tài),[θ]角重新回零。在 0.4s時間內,平衡機器人的相關參數均達到其峰值。經過不斷調整,大約 2 s后系統(tǒng)最終達到新的動態(tài)平衡狀態(tài)。
系統(tǒng)運行穩(wěn)定后,在5s時間給平衡機器人突然加一擾動,人為給平衡機器人加一個外力,如圖11所示。從圖11可以清楚地看出,傾角變化曲線有明顯峰值,速度曲線也隨之變化,經過0.6s的自我調整,機器人趨于平衡穩(wěn)定,達到一個新的動態(tài)平衡,本文構建的兩輪平衡車實現穩(wěn)定控制和抗干擾目的。
5 結語
兩輪自平衡機器人是一個多變量、非線性、強耦合系統(tǒng)。本文分析了自平衡機器人的主要控制原理,對該系統(tǒng)的平衡瞬間動力學進行了分析,建立數學模型,采用最優(yōu)控制LQR控制策略,使平衡車系統(tǒng)的位移、角度、速度和加速度等變量趨于穩(wěn)定。用MATLAB進行仿真實驗,結果表明本文設計的兩輪平衡機器人能實現穩(wěn)定控制和抗干擾目的,滿足設計要求。
參考文獻:
[1] 路珺. 獨輪自平衡車設計方法研究[D] . 哈爾濱:黑龍江大學,2011.
[2] CHAN R P M,STOL K,HALKYARD? R. Review of modeling and control of two-wheeled robots[J]. Annual Re views in Control,2013(37): 89-103.
[3] GRASSER F,D'ARRIGO A,COLOMBI S,et al. A mobile,inverted pendulum[J]. IEEE Trans, Ind Electron (90278-0046),2002,49(1):107-114.
[4] 康冬亮,戰(zhàn)玉博,李憬宇. 基于自由擺的平板精確控制與激光追蹤系統(tǒng)[J]. 單片機與嵌入式系統(tǒng)應用,2012(10):55-58.
[5] 茅力非. 兩輪自平衡移動機器人建模與控制研究[D]. 武漢:華中科技大學, 2013.
[6] FENG T,LIU T,WANG X,et al. Modeling and imple- mentation of two-wheeled self-balancing robot equipped with sup- porting arms[C].? ICIEA,2011: 713-718.
[7] 詹長書,邢博坤,樸光宇,等. 兩輪自平衡小車的控制策略設計[J]. 森林工程,2015,31(4):73-76.
[8] LIN S L,TSAI C C,HUANG H C. Nonlinear adaptive sliding-mode control design for two-wheeled human transportation vehicle[C]. In 2009 IEEE International Conference on Systems, Man and Cybernetics, Piscataway, NJ, USA, 2009 :1965-1970.
[9] TSAI C C,HUANG H C,LIN S C. Adaptive neural network control of a self-balancing? two-wheeled? scooter[J]. IEEE Transactions on Industrial Electronics, Apr,2010, 57(4):1420-1428.
[10] 屠運武. 自平衡控制系統(tǒng)的建模與仿真[J]. 系統(tǒng)仿真學報,2004,16(4):938-841.
[11] 蔡建羨,馬洪蕊,程麗娜. 基于仿生策略的機器人自主導航方法研究[J]. 計算機仿真,2014,31( 1) : 333-338.
[12] 何述東. 多層前向神經網絡結構的研究進展[J]. 控制理論與應用,1998,15(3):313-319.
[13] KAMEN,DEAN. Segway[EB/OL].? http://www.segway.com/.
[14] 黃永平,聞雙云,相文超,等. 卡爾曼濾波在單神經元PID控制中的應用[J]. 吉林大學學報:理學版,2016,54(6):1350-1354.
[15] 李亞文,翟金玲,彭曉邦. 一種位置式PID控制的四旋翼飛行器的設計與實現[J]. 自動化儀器與儀表,2016(7):96-100.
[16] 梁振濤,樊澤明,任永亮. 基于單片機的移動監(jiān)控系統(tǒng)硬件設計[J]. 微型機與應用,2014,33(2):25-28.
[17] 周明安,郭天天,程小冬,等. 數碼手榴彈引信研究與設計[J]. 四川兵工學報,2014(8):8-10.
[18] 王琪,呂雪霜. 基于MSP430F5438A單片機的無線定位裝置[J]. 技術與市場,2011(9):163-164.
[19] 王建平,盧杉,武歡歡. TB6612FNG在直流電機控制設計中的應用[J]. 電子設計工程,2010(6):65-67.
[20] 趙智. 基于STM32的二輪自平衡電動車系統(tǒng)研制[D]. 武漢:華中師范大學,2013.
(責任編輯:杜能鋼)