戴福全,阮玉鎮(zhèn)
(福建工程學(xué)院 機械與汽車工程學(xué)院,福建 福州 350118)
?
兩輪自平衡機器人的滑??刂品椒ㄑ芯?/p>
戴福全,阮玉鎮(zhèn)
(福建工程學(xué)院 機械與汽車工程學(xué)院,福建 福州 350118)
摘要:基于拉格朗日函數(shù)法建立了機器人的動力模型,并基于滑??刂品椒ㄔO(shè)計了機器人的魯棒控制器,實現(xiàn)了機器人的平衡、轉(zhuǎn)向和行走等控制任務(wù)?;?刂破魇且环N魯棒控制方法,當進入滑模態(tài)后,控制能夠保證機器人在外力干擾和參數(shù)變化等情況下依舊保持控制性能。通過MATLAB和ADAMS聯(lián)合仿真環(huán)境,控制器的控制效果得到了驗證,證明了所設(shè)計的控制方法是可行的,能夠達到所要求的控制性能。
關(guān)鍵詞:兩輪自平衡機器人; 動力學(xué)控制; 滑??刂品椒?; 動力學(xué)仿真
兩輪自平衡機器人是一種將兩個輪子同軸布置的機器人,具有占地小、零半徑轉(zhuǎn)彎、結(jié)構(gòu)緊湊等特點,自出現(xiàn)以來得到了世界范圍內(nèi)研究者的關(guān)注[1-6]。兩輪機器人可以用作載人交通工具,比如Segway[3],以及室內(nèi)服務(wù)機器人等。此外,由于這種機器人的非線性、多耦合以及欠驅(qū)動特性,兩輪機器人常被用于先進控制方法的驗證平臺,以及用于控制類課程教學(xué)中[7-8]。然而,由于兩輪自平衡機器人的靜態(tài)非穩(wěn)定的特性,需要控制器動態(tài)調(diào)整以維持機器人的平衡狀態(tài),實現(xiàn)機器人的穩(wěn)定控制是一項嚴峻挑戰(zhàn)。
2002年,Grasser等人提出了一種稱為“JOE”的兩輪自平衡機器人[9],該機器人由兩個解耦的狀態(tài)空間控制器來控制,控制器是基于機器人線性化模型設(shè)計的,“JOE”的出現(xiàn)掀起了新的兩輪機器人研究熱潮。商業(yè)化方面,Segway公司推出的一款個人交通工具就是基于兩輪自平衡機器人的原理[10],并取得了商業(yè)上的成功。由于兩輪自平衡機器人復(fù)雜的非線性,兩輪機器人平臺很適合用于控制方法的驗證平臺。J.Solis等人開發(fā)了一種基于兩輪自平衡機器人平臺,用于向本科生介紹自動化設(shè)備相關(guān)的基礎(chǔ)知識[8]。S.C.Lin和C.C.Tsai開發(fā)了一種自平衡機器人交通工具,用于反饋控制的教學(xué)[7]??刂品椒ǚ矫妫婚_始在兩輪自平衡機器人上得到成功應(yīng)用的是PID和LQR等經(jīng)典線性控制方法,隨著研究的深入,越來越多的非線性、智能控制方法被應(yīng)用到這種機器人的控制中,如模糊控制[11-12]、滑??刂芠13]、神經(jīng)網(wǎng)絡(luò)控制[2,14]等。黃劍等人研究了兩輪自平衡機器人的魯棒速度跟蹤問題,為了解決模型不確定問題,作者基于滑模控制方法設(shè)計了滑??刂破?,并通過仿真和實驗驗證了控制方法的有效性[13]。K.H.Su等人采用智能控制結(jié)構(gòu)來處理參數(shù)變化、負載干擾、非線性摩擦等非結(jié)構(gòu)不確定性問題[15],在該方法中,采用模糊控制和神經(jīng)網(wǎng)絡(luò)控制結(jié)合的方法,其中模糊控制器是主控制器,神經(jīng)網(wǎng)絡(luò)起輔助作用。
本文針對兩輪自平衡機器人的平衡及行走控制等問題,采用拉格朗日函數(shù)法建立了機器人的動力學(xué)模型,基于滑??刂品椒ㄔO(shè)計了機器人的平衡、轉(zhuǎn)向和行走控制器,并進行了動力學(xué)仿真,驗證了控制方法的有效性。
1.1機器人系統(tǒng)結(jié)構(gòu)
如圖1所示為本文所研究的兩輪自平衡機器人,這種機器人的特點在于兩個車輪是同軸布置的,每個車輪由一個獨立的直流伺服電機驅(qū)動,機器人的控制系統(tǒng)及負載等在輪軸上方,由此形成了一個輪式倒立擺系統(tǒng)。
機器人的控制核心采用的是意法半導(dǎo)體的STM32系列單片機,該控制器工作頻率達到72 MHz,具有豐富的外設(shè),能夠滿足機器人控制的需求。為了測量機器人的傾角,系統(tǒng)采用加速度計和陀螺儀結(jié)合的方式作為機器人的傳感器。加速度計能夠測量重力加速度的分量,從而解算出機器人本體的傾角,但是加速度計測量結(jié)果容易受到震動的影響。另一方面,陀螺儀可以測量傾角速度,并通過積分得到角度值。但是,陀螺儀本身也有固有缺陷,陀螺儀輸出具有漂移現(xiàn)象,不適合長時間的測量。通過將這兩種傳感器的優(yōu)勢互補,最終獲取準確的機器人傾角信息,為控制算法提供可靠的反饋。
圖1 兩輪自平衡機器人Fig.1 Two-wheeled self-balancing robot
1.2機器人的動力學(xué)模型
在不影響最終控制效果的前提下可將機器人簡化,如圖2所示,簡化之后的機器人由左、右車輪和車身本體3部分組成。其中,左、右車輪是同軸布置的,因此構(gòu)成的機器人系統(tǒng)是靜態(tài)不穩(wěn)定系統(tǒng)。在建模之前,需要進行必要的假設(shè):機器人由剛體組成,各部分不產(chǎn)生變形;機器人具有對稱結(jié)構(gòu);同時,車輪與地面之間作純滾動。
圖2 兩輪自平衡機器人三維簡圖Fig.2 Three dimensional diagram of two-wheeled self-balancing robot
為了方便接下來的討論,先統(tǒng)一給出下文所涉及的參數(shù)描述:
實際中,機器人一般工作在平衡狀態(tài),此時機器人傾角非常小。在這種條件下,機器人直線方向的運動與轉(zhuǎn)向運動基本上互不干擾,因此機器人的模型可以動力學(xué)解耦成直線方向動力學(xué)模型與轉(zhuǎn)向方向動力學(xué)模型,兩個模型分別描述了在各自控制器作用下的運動規(guī)律。在這種情況下,機器人運動可以在兩個視圖下分別進行分析,如圖3所示為機器人的側(cè)視圖和俯視圖。側(cè)視圖描述了機器人直行方向的運動,俯視圖描述了機器人的轉(zhuǎn)向運動。
圖3 機器人側(cè)視圖和俯視圖Fig.3 Side view and top view of robot
利用拉格朗日函數(shù)方法建模,首先要根據(jù)系統(tǒng)自由度選定廣義坐標。廣義坐標數(shù)量與系統(tǒng)的自由度相同,設(shè)系統(tǒng)有nf個自由度,則廣義坐標qj(j=1,2,…,nf)由nf個獨立變量組成。根據(jù)所選廣義坐標,拉格朗日方程可以寫成:
其中,L表示系統(tǒng)的拉格朗日函數(shù);Qj表示除了有勢力以外的廣義力。
根據(jù)機器人運動的自由度,可以選擇x、α和δ為廣義坐標,則相應(yīng)廣義力為
拉格朗日函數(shù)為系統(tǒng)動能與勢能之差:
其中,E表示系統(tǒng)總動能;V表示系統(tǒng)勢能。
將機器人的拉格朗日函數(shù)代入式(1),可以得到機器人的直行和轉(zhuǎn)向動力學(xué)模型。其中,直行動力學(xué)模型描述了機器人在豎直平面內(nèi)的運動:
其中,T,m11,m12,m22和Gb表達式為:
轉(zhuǎn)向動力模型為:
其中,Tδ為等效轉(zhuǎn)向力矩,表達式為:
2.1平衡控制器設(shè)計
兩輪機器人是一個強非線性復(fù)雜系統(tǒng),不可能建立完全準確的模型,由于干擾的存在,兩輪機器人的控制是此類機器人的難點??紤]到兩輪機器人控制的復(fù)雜性,本文采用滑??刂品椒▉韺崿F(xiàn)機器人的控制。滑模變結(jié)構(gòu)控制是一種變結(jié)構(gòu)控制方法,這種方法按照系統(tǒng)的狀態(tài),動態(tài)地切換控制結(jié)構(gòu),迫使系統(tǒng)狀態(tài)到達并保持在預(yù)定的“滑動模態(tài)”上。滑模變結(jié)構(gòu)控制是一種魯棒控制方法,所謂魯棒控制是存在建模不確定性以及外在干擾等因素的情況下,控制器仍能保證系統(tǒng)性能的控制方法。當系統(tǒng)狀態(tài)處于滑模曲面時,系統(tǒng)參數(shù)變化以及干擾對系統(tǒng)動態(tài)特性將不再起作用,這個特性稱之為滑動模態(tài)的不變性。
則機器人直行動力學(xué)可以寫成:
其中,
設(shè)Xd為狀態(tài)期望值,狀態(tài)誤差可以表示為:
在狀態(tài)誤差基礎(chǔ)上,選擇滑模切換面為:
其中,C為待定常數(shù)矩陣,表示為:
為了保證系統(tǒng)軌跡到達切換面,切換面函數(shù)的變化率選為:
將式(16)代入式(18),并考慮到(11)和(15),可得
CXd-CM-1F(X)+εsgn(s)=CM-1U
(19)
從(19)可以解得控制器的表達式,即等效平衡力矩T為
2.2轉(zhuǎn)向控制方法
轉(zhuǎn)向控制器的設(shè)計類似于平衡控制器,首先定義偏航角誤差為:
其中,δd為期望偏航角。
在偏航角誤差基礎(chǔ)上,選擇滑模切換面為:
其中,cδ為待定常數(shù)。
為了保證滑模面的可達性,選擇sδ的導(dǎo)數(shù)為:
從式(8)和式(21)~(23)可以得到轉(zhuǎn)向控制器為
(24)
基于平衡控制器和轉(zhuǎn)向控制器的控制量,可以得到兩輪機器人左右輪的最終扭矩為:
2.3行走控制方法
圖4 行走控制法原理框圖Fig.4 The schematic of walking control
傾角控制器基于上文所設(shè)計的平衡控制器,不同的地方在于,平衡控制器的切換函數(shù)中傾角α被替換為傾角誤差
而速度控制器采用簡單的PID控制方法,也就是:
仿真環(huán)境是基于ADAMS與MATLAB構(gòu)建的聯(lián)合仿真環(huán)境,即通過ADAMS建立機器人的多剛體模型,再在MATLAB中實現(xiàn)控制算法。采用ADAMS建立機器人模型的方法能夠有效避免機器人建模的復(fù)雜性和不準確性,并且可以很直觀地展示機器人運動的效果。機器人參數(shù)如下:車體質(zhì)量為15 kg,車輪質(zhì)量為2.17 kg,車輪轉(zhuǎn)動慣量為0.09 kg/m2,車身轉(zhuǎn)動慣量為0.65 kg/m2,車輪半徑為0.16 m,車體重心為0.165 m,并設(shè)車輪與地面摩擦系數(shù)為0.01,最終建立的機器人模型如圖5所示,該模型由機器人本體、左車輪和右車輪3部分組成。在機器人與地面之間添加了接觸力,以模擬機器人在地面行走時的約束。
圖5 兩輪機器人的ADAMS模型Fig.5 ADAMS model for two-wheeled robot
控制算法則在MATLAB中實現(xiàn),為了便于算法的表達,采用了S-函數(shù)來實現(xiàn)所設(shè)計的控制算法。利用S-函數(shù)可以將控制方法封裝成Simulink模塊,從而以圖形化的方式進行仿真。仿真過程中,Simulink先從ADAMS得到的機器人模型中獲取狀態(tài)信息,根據(jù)得到的狀態(tài)信息,Simulink再計算控制器輸出,并將控制輸出傳遞至ADAMS,從而實現(xiàn)閉環(huán)的動力學(xué)控制仿真。
首先進行的是外力干擾下兩輪機器人的平衡恢復(fù)仿真,仿真中通過在機器人頂部施加外力,以測試機器人在平衡控制器作用下的抗干擾能力。仿真開始階段,在機器人頂部施加大小為5 N的推力,并持續(xù)0.1 s,這樣機器人傾角將產(chǎn)生一個偏離零位的值。在平衡控制作用下,機器人將從這個偏移傾角逐漸恢復(fù)至零位。仿真結(jié)果如圖6所示,從圖中可以看到,開始階段機器人傾角在外力干擾下逐漸變大,隨著仿真的進行,機器人很快恢復(fù)了平衡,傾角值最終保持在零位附近。
圖6 平衡控制仿真Fig.6 Balance control simulation
其次,進行了轉(zhuǎn)向仿真以驗證轉(zhuǎn)向控制器的效果,轉(zhuǎn)向仿真結(jié)果如圖7所示。從圖中可以看到,機器人在0.5 s接收到轉(zhuǎn)向指令后立即開始轉(zhuǎn)向,轉(zhuǎn)向過程平滑并且超調(diào)很小,最終偏航角穩(wěn)定在指定的期望偏航角。
圖7 轉(zhuǎn)向控制仿真Fig.7 Steering control simulation
最后進行行走控制仿真,結(jié)果如圖8所示。圖中紅色曲線為兩輪機器人車輪轉(zhuǎn)速,可以看出,兩輪自平衡機器人在所設(shè)計的行走控制器下能夠達到期望速度,并在期望速度上保持穩(wěn)定。藍色曲線為仿真中機器人的傾角,在初始的加速階段,機器人傾角逐漸增大,而當機器人行走速度達到期望速度后,傾角逐漸減小,并最終回到零值附近,機器人也就恢復(fù)了豎直狀態(tài)。在此過程中,機器人傾角最大值約4°。
圖8 行走控制仿真Fig.8 Walking control simulation
研究了兩輪自平衡機器人的控制問題,首先基于拉格朗日函數(shù)法建立了機器人的動力學(xué)模型,該動力學(xué)模型分為豎直平面內(nèi)的運動模型以及轉(zhuǎn)向模型。其中,基于滑??刂品椒ㄔO(shè)計了機器人的魯棒控制器,實現(xiàn)了機器人的平衡、轉(zhuǎn)向和行走等控制任務(wù)。機器人的平衡控制器負責機器人的平衡控制,轉(zhuǎn)向控制器則實現(xiàn)機器人的轉(zhuǎn)向動作任務(wù),而行走控制器是基于平衡控制器實現(xiàn)的。行走控制器根據(jù)行走速度誤差來輸出期望的機器人傾角,該期望傾角通過機器人平衡控制器實現(xiàn)機器人的角度控制。最后,通過MATLAB和ADAMS聯(lián)合仿真環(huán)境,控制器的控制效果得到驗證,證明所設(shè)計的控制方法可行,能夠達到所要求的控制性能。
參考文獻:
[1] Lin S C, Tsai C C, Huang H C.Adaptive robustself-balancing and steering of a two-wheeled human transportation vehi-cle[J].Journal of Intelligent & Robotic Systems,2011,62 (1):103-123.
[2] Peng Y F, Chiu C H.The implementation of wheeled robot using adaptive output recurrent CMAC[C]//Proceedings of 2008 IEEE International Joint Conference on Neural Networks.Hong Kong: IEEE,2008,1(8):2942-2947.
[3] Sawatzky B, Denison I, Tawashy A.The Segway for people with disabilities[J].American Journal of Physical Medicine & Rehabilitation,2009,88:484-90.
[4] Dai F Q,Li F X, Bai Y, et al.Development of a coaxial self-balancing robot based onsliding mode control[C]// Proceedings of 2012 International Conference on InMechatronics and Automation (ICMA).Chengdu: IEEE,2012:1241-1246.
[5] 段旭東,魏衡華,陳星.基于DSP的二輪小車-倒立擺系統(tǒng)[J].控制工程,2004,11(6):4-8.
[6] 楊興明,丁學(xué)明,張培仁, 等.兩輪移動式倒立擺的運動控制[J].合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版) ,2005,28(11):1485-1488.
[7] Lin S C, Tsai C C.Development of a self-balancing human transportation vehicle for theteaching of feedback control[J].IEEE Transactions on Education,2009,52(1):157-168.
[8] Solis J, Nakadate R,Yoshimura Y, et al.Development of the two-wheeled inverted pendulum typemobile robot WV-2R for educational purposes[C]//Proceedings of 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems.St.Louis: IEEE,2009:2347-2352.
[9] Grasser F, D'Arrigo A, Colombi S, et al.JOE: a mobile, inverted pendulum[J].IEEE Transactions on Industrial Electronics,2002,49 (1):107-114.
[10] Babazadeh R, Khiabani A G, Azmi H.Optimal control of Segway personal transporter[C]// Proceedings of 2016 4th International Conference on Control,Instrumentation, and Automation (ICCIA).Qazvin: IEEE,2016:18-22.
[11] Tsai C C, Ju S Y, Hsieh S M, et al.Trajectory tracking of a self-balancing two-wheeledrobot using backstepping sliding-mode control and fuzzy basis function networks[C]//Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems.Taibei:IEEE,2010:3943-3948.
[12] Li C Q, Gao XS, Huang Q, et al.A coaxial couple wheeled robot with T-S fuzzyequilibrium control[J].Industrial Robot,2011,38:292-300.
[13] Huang J, Guan Z H, Matsuno T, et al.Sliding-mode velocity control of mobile-wheeledinverted-pendulum systems[J].IEEE Transactions on Robotics,2010,26 (4):750-758.
[14] Tsai C C, Huang H C, Lin S C.Adaptive neural network control of a self-balancingtwo-wheeled scooter[J].IEEE Transactions on Industrial Electronics,2010,57(4):1420-1428.
[15] Su K H, Chen Y Y, Su S F.Design of neural-fuzzy-based controller for two autonomouslydriven wheeled robot[J].Neurocomputing,2010,73(13):2478-2488.
(責任編輯: 陳雯)
The control technology of two-wheeled self-balancing robot based on sliding mode control
Dai Fuquan,Ruan Yuzhen
(College of Mechanical and Automotive Engineering, Fujian University of Technology, Fuzhou 350118, China)
Abstract:A dynamic robot model was established based on the Lagrangian function method and a robot robust sliding mode controller was designed to enable the control of the robot balance, steering and walking.The sliding mode controller belongs to robust control method that can maintain the control performance of the robot under external disturbances and parameter variation.The control effect of the robot controller was verified via the joint simulation of MATLAB and ADAMS, which indicates that the method presented is feasible and effective.
Key words:two-wheeled self-balancing robot; dynamic control; sliding mode control; dynamic simulation
doi:10.3969/j.issn.1672-4348.2016.04.013
收稿日期:2016-06-15
基金項目:國家863計劃(2013AA041006)
第一作者簡介:戴福全(1987- ),男,福建龍巖人,講師,博士,研究方向:機器人。
中圖分類號:TH113.2
文獻標志碼:A
文章編號:1672-4348(2016)04-0376-06