呂 強,王 平,張皓潔
(杭州電子科技大學 自動化學院, 杭州 310018)
·儀器設備研制與開發·
獨輪車自平衡控制系統實驗平臺設計
呂 強,王 平,張皓潔
(杭州電子科技大學 自動化學院, 杭州 310018)

獨輪車自平衡控制系統實驗平臺是針對“微型機器人與C51應用”實踐類課程開發的一種嵌入式系統實驗平臺。該平臺由獨輪車、嵌入式控制系統以及上位機軟件組成。獨輪車在靜止狀態下是不能保持平衡狀態的,它需要通過編寫單片機程序控制慣性飛輪和行走輪的轉動力矩,協調獨輪車的橫滾方向和俯仰方向的姿態,使得獨輪車保持平衡狀態。上位機軟件通過藍牙來接收當前獨輪車橫滾角度以及俯仰角度,并設置嵌入式系統中控制算法的參數。該平臺有助于學生深入了解嵌入式系統的設計以及程序開發,有利于培養學生的工程實踐能力。
獨輪車; 自平衡; 控制系統; 嵌入式系統
“微型機器人與C51應用”是面向本科生開辦的一門實踐類課程,用以培養學生對機器人相關知識的興趣,引導學生主動學習后續的基礎理論課程,服務工業機器人產業對高素質人才的需求[1-2]。為了讓學生能夠更好地掌握這門課程中的關鍵知識點,以及鍛煉學生的動手實踐能力,本文開發了獨輪車自平衡控制系統實驗平臺。作為一種比較特殊的輪式移動機器人,獨輪車最顯著的結構特點是只有一個車輪支撐,具有靜態不穩定性,是一種典型的自平衡機器人。在該平臺上可以開展嵌入式系統開發、機器人學、控制理論等課程的實踐教學[3]。
獨輪自平衡車的發展可以追溯到1987年,Schoonwinkel[4]開發了第一款獨輪自平衡車。Vos等[5]在Schoonwinkel的獨輪自平衡車的基礎上,設計了線性二次調節器。Sheng等[6]開發了一種閉環鏈結構的獨輪車。郭磊等[7]設計了一種采用轉子結構的獨輪自平衡車。Lee等[8]基于反向作用力的原理在該車的左右兩端分別安裝了一臺鼓風機,從而實現橫滾方向平衡。近年來,一種采用慣性飛輪配合行走輪的結構吸引了國內外科學家和工程師的目光,這類獨輪車主要參考了雜技演員走鋼絲時通過旋轉平衡桿保持平衡的原理,設計了慣性飛輪代表平衡桿,用來保持橫滾方向平衡,行走輪代表雜技演員的運動,保持俯仰方向的平衡。這樣獨輪車體由三部分組成,最上面的慣性飛輪,調節橫滾方向平衡;中間車體框架和最下面的行走輪,調節俯仰方向平衡。平衡的主要原理是根據慣性飛輪和行走輪的來回加速旋轉,產生的反向作用力,來補償車體的傾斜,從而保持了車體的平衡[9-10]。
本文開發了獨輪車自平衡控制系統實驗平臺。該實驗平臺由獨輪車、嵌入式控制系統和上位機軟件三部分組成。獨輪車是整個實驗平臺的關鍵組成部分,它包括車體構架、電池、慣性飛輪、行走輪等。嵌入式系統則由控制器、角度傳感器、電源模塊、藍牙模塊、電動機驅動模塊和控制及驅動程序組成。上位機軟件可通過藍牙和嵌入式系統通信,獲取車體在俯仰軸和橫滾軸的轉動方向,并可設置嵌入式系統中控制算法的參數[11-17]。
獨輪車俯仰方向是通過行走輪加減速運動來保持平衡;獨輪車橫滾方向上是通過慣性飛輪旋轉實現平衡控制。所以,獨輪車最主要的兩個組件就是行走輪與慣性飛輪。獨輪車的機械結構如圖1所示。

圖1 獨輪車的機械結構
從圖1可以看出,獨輪車由三部分組成:① 慣性飛輪。慣性飛輪被放置于獨輪車頂端,并通過電動機直接驅動,主要保持獨輪車的橫滾方向平衡。② 行走輪。行走輪由電動機通過齒輪驅動,用于保持獨輪車俯仰方向的平衡。③ 車體。車體連接慣性飛輪和行走輪,并可安裝嵌入式控制模塊等。需要說明的是,車體主要由亞克力板制作,支架、平臺是由2、3 mm以及5 mm厚度的亞克力材料黏合起來的。
獨輪車的正視圖和側視圖分別如圖2和3所示,其輪廓尺寸(長×寬×高)為:103 mm×75 mm×250 mm;慣性飛輪外徑為108 mm,內徑為84 mm;行走輪外徑為60 mm,內徑為11 mm。

圖2 獨輪車正視圖圖3 獨輪車側視圖
為了使獨輪車在電動機力矩控制下,保持平衡狀態,需要控制獨輪車每一部分的質量。部件的質量:輪車254 g,慣性飛輪45 g,電路板54 g,步進電動機24 g,電池12 g。
從圖2、3可以看出,獨輪車無法保持靜態平衡,但可以通過行走輪和慣性飛輪的旋轉保持獨輪車的平衡狀態。
獨輪車自平衡控制系統實驗平臺由下位機和上位機兩部分組成。其中,下位機由獨輪車和嵌入式控制系統組成。通過角度傳感器檢測車體的俯仰和橫滾方向的傾斜角度,然后由姿態處理算法進行數據的轉換、濾波等處理,并由平衡控制算法計算為保持小車平衡,慣性飛輪和行走輪需要的轉動力矩,然后由運動控制算法控制電動機的轉動。上位機則通過藍牙接收獨輪車的慣性飛輪和行走輪的角度狀態,并可以通過上位機對獨輪車控制算法參數進行調節。圖4給出了獨輪車自平衡控制系統結構。

圖4 獨輪車自平衡控制系統結構
2.1獨輪車嵌入式系統
獨輪車的控制電路主要包括控制器、角度傳感器、電源模塊、藍牙模塊及電動機驅動模塊。控制芯片采用了ARM Cortex-M3內核的STM32F10系列微控制器,角度傳感器是MPU6050,慣性飛輪和行走輪的驅動電動機使用了SPG20-1372和SPG20-1308,UCN5804是電動機驅動芯片,這些部件的連接關系如圖5所示。

圖5 硬件設計框圖
(1) 單片機最小系統。根據實驗平臺的設計要求:控制芯片體積小、功耗低、速度快和容量大。因此,STM32F103RCT6 芯片被確定為控制器,該芯片具有ARM Cortex-M3內核,工作頻率為72 MHz,運算速度的要求得到保證;此外,該芯片有48KB SRAM、 256KB FLASH,可以滿足存儲容量的要求;并且有8個定時器,片內資源豐富。因此,選用該芯片可以滿足獨輪車運算量大、外圍器件多、功能復雜和實時性強等需求。
(2) 角度傳感器。要保持獨輪車的平橫狀態,需要獲得獨輪車的俯仰和橫滾方向的角度。在該實驗平臺上, InvenSense 公司的MPU6050被確定為角度傳感器。MPU6050由三軸陀螺儀傳感器和三軸加速度傳感器組成。它通過數字運動處理器DMP,輸出四元數,再轉換為歐拉角,通過I2C將獨輪車的傾角發給控制器。
(3) 電源模塊。獨輪車的電源模塊由兩部組成:① 升壓模塊,用于給12 V的驅動電機供電;② 穩壓模塊,用于給3.3 V控制器和其他功能部件供電。考慮獨輪車的質量分布以及供電要求,電源由4節1.2 V充電電池串聯而成。
(4) 藍牙模塊。實驗平臺采用了藍牙模塊,它的主要功能:① 將獨輪車橫滾方向和俯仰方向的傾斜角度發送給上位機;② 將上位機設定的控制器參數傳送給嵌入式系統。通過藍牙通信,學生可以方便地調節PID控制器參數,觀察不同參數的控制效果,有助于學生對控制器參數整定方法的學習。
(5) 電動機驅動模塊。在獨輪車中,使用了2個驅動電動機,分別驅動慣性飛輪和行走輪,用來保持獨輪車的橫滾方向和俯仰方向的平衡。需要說明的是,驅動電動機采用的是步進電動機而不是直流電動機。主要原因是,采用步進電動機可以通過脈沖信號的頻率控制轉速,并且可以開環控制,不用再做復雜的三閉環控制,符合實驗平臺的設計要求。并且步進電動機質量輕,體積小,易于安裝。因此,四相步進電動機SPG20-1372、SPG20-1308被選用驅動慣性飛輪和行走輪。
由于控制器引腳電流太小,不能直接用來驅動步進電動機,故需要安裝電動機驅動芯片。此外,采用電動機驅動芯片的另一個好處是,可以隔離電動機對控制器的沖擊電流,防止控制器損壞。因此,采用UCN5804 作為四相步進電動機SPG20-1372以及SPG20-1308的驅動器。這類驅動芯片可以很好進行功率放大,并有效保護控制器。
(6) 控制系統實物。嵌入式控制系統的尺寸為62.5 mm×75 mm,如圖6所示。圖中,具體標明了電動機驅動芯片、藍牙模塊、角度傳感器和升壓模塊。

圖6 嵌入式控制系統實物圖
2.2獨輪車上位機軟件
上位機軟件的主要功能包括:① 實時顯示獨輪車的俯仰和橫滾方向的傾斜角度;② 在線設定嵌入式系統中控制算法的參數。獨輪車實驗系統上位機軟件,是在.NET Framework 3.0下,采用C#語言編程實現。WPF(Windows Presentation Foundation)是.NET Framework 3.0的一個功能組件,它具有數據綁定的特點,可以減少后臺代碼編寫。并且,該組件非常便于UI設計,能夠做到界面設計和后臺代碼編寫的分隔。
圖7顯示了本文設計的上位機軟件界面。從圖中可以看出,左半部采用了2個圖形界面,用來顯示嵌入式系統通過藍牙模塊發送來的獨輪車俯仰和橫滾方向的傾斜角度。該圖形界面能夠實時顯示獨輪車的平衡狀態,便于觀察實驗效果。軟件界面的中間部分顯示PID控制算法中,比例、積分和微分系數的設定情況,通過改變PID控制算法的參數,觀察獨輪車的平衡狀態,有利于學生了解參數對系統性能的影響,深刻理解PID控制算法的參數整定方法。軟件界面的右邊部分,包括了串口的設定,用于上位機和獨輪車嵌入式系統的通信。串口設定主要包括端口號、波特率、數據位和停止位,以及打開串口和和關閉串口功能。由于采用了串口通信,故在數據傳輸中,需要將數據位組合好后,再進行解析,理解數據的含義。

圖7 上位機界面
采用2個PID控制算法分別控制慣性飛輪和行走輪的驅動電動機,如圖8所示。


圖8 PID控制方框圖
獨輪車在橫滾方向和俯仰方向的傾斜角度變化曲線如圖9和10所示。需要說明的是,在通電啟動初期,角度傳感器需要陀螺儀傳感器以及加速度計的數據來校正,所以在圖9和10開始階段,有一個角度突變的過程,一旦角度傳感器校正完成,開始正常工作, 獨輪車在橫滾和俯仰方向的角度在平衡狀態上下變化。此外,還可以看出,橫滾軸上角度的變化相對較小,俯仰軸上角度的變化相對較大。主要的原因是,橫滾方向,系統受到的外界擾動較小;而俯仰方向,系統受到的外界擾動較大。
在獨輪車實驗平臺上,主要采用PID控制方法實現獨輪車的平衡狀態,學生可以通過上位機軟件對PID控制器參數進行設定,了解PID控制算法的控制效果。在PID控制算法的基礎上,還可以進一步采用其他控制方法,拓展學生的視野,調動學生對控制方法及機器人學的學習積極性。

圖9 橫滾軸角度

圖10 俯仰軸角度
本文針對“微型機器人與C51應用”課程而開發的獨輪車自平衡控制系統實驗平臺具有以下特點:
(1) 實用性。獨輪車自平衡控制系統實驗平臺,小巧、輕便、成本低廉、便于攜帶、易于演示。保持獨輪車平衡性是學生設計與開發的關注點,因此,獨輪車的開發與設計要求學生學習嵌入式系統設計方法,程序編寫方法,以及簡單控制參數的設定。這樣就能夠有效地調動學生的積極性,增強學生的動手實踐能力,更好地輔助課堂教學。
(2) 系統性。獨輪車自平衡控制系統實驗平臺涉及到了下位機和上位機的開發,使學生對整個系統的開發設計有了一個直觀的印象,了解上位機和下位機的基本概念,明確上位機和下位機之間通信的方式,為學生今后的工程實踐打下了堅實的基礎。
(3) 綜合性。獨輪車自平衡控制系統實驗平臺作為高等院校的實踐平臺,不但可以用于“微型機器人與C51應用”課程,而且可以用于機器人學、控制理論、系統辨識、運動控制等課程的教學實踐工作。同時也可作為科研院所的實驗平臺,在該平臺的基礎上,可以展開系統動力學分析與建模、控制算法驗證、人工智能等方面的研究,為本科生和研究生提供科研創新平臺。
[1] 范 燕,俞 洋,李永義,等.基于ZigBee無線傳感器網絡的遠程監控系統[J].實驗室研究與探索,2016,35(1):80-84.
[2] 余建潮.依托實驗教學示范中心加強學生實驗能力的培養[J].實驗技術與管理,2013,30(3):117-119.
[3] 王 平.獨輪自平衡機器人的設計與控制研究[D].杭州:杭州電子科技大學,2016.
[4] Schoonwinkel A.Design and test of a computer stabilized unicycle [D].USA: Stanford University,1987.
[5] Vos D.Dynamics and nonlinear adaptive control of an autonomous unicycle: Theory and experiment [D].USA: Massachusetts Institute of Technology,1991.
[6] Sheng Z,Yamafuji K.Study on the stability and motion control of a unicycle [J].International Journal of Japan Society Mechatronics and Engineering,1995,38(2): 249-259.
[7] Guo L,Liao Q,Wei S.Dynamical modeling of unicycle robot and nonlinear control [J].Journal of System Simulation,2009,21(9): 2730-2729
[8] Lee J,Shin H,Lee S,etal.Novel air blowing control for balancing a unicycle robot [C]//Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems.USA: IEEE Press,2010: 2529-2530.
[9] Zhang H,Lu Q,Zhao X,etal.An event-triggered finite-time control scheme for unicycle robots[C]// Proceedings of the 41st Annual Conference of the IEEE Industrial Electronics Society.USA: IEEE Press,2015: 1037-1042.
[10] Wang P,Lu Q,Zhao X,etal.Finite-time posture control of a unicycle robot[C]//Proceedings of the 34th Chinese Control Conference and SICE Annual Conference.USA: IEEE Press,2015: 1151-1156.
[11] Zhang H,Lu Q,Wang J,etal.A T-S fuzzy control scheme for unicycle robots[C]//Proceedings of the 42nd Annual Conference of the IEEE Industrial Electronics Society.USA: IEEE Press,2016: 1-6.
[12] 王建林,徐青菁,姜子庠.多功能自平衡智能車控制平臺的設計[J].實驗室研究與探索,2016,35(4): 71-73.
[13] 徐 冰,印 江,陳俊君.不完全齒輪與曲柄搖桿的無碳小車設計[J].實驗室研究與探索,2016,35(2):59-61.
[14] 胡 星,胡 丹,翟穎妮,等.高校創新實驗室創客空間的建設模式探究[J].實驗室研究與探索,2016,35(7): 266-268.
[15] 梁明亮,趙 成.基于嵌入式技術的四輪驅動教育機器人設計[J].實驗技術與管理,2012,29(11): 82-86.
[16] 鄧曉剛.過程控制實驗裝置的機理建模與虛擬仿真軟件開發[J].實驗室研究與探索,2015,34(10):99-103.
[17] 徐曉濱,李世寶,孫新亞.ZPW-2000A軌道電路故障診斷實驗平臺[J].實驗技術與管理,2016,33(5): 63-68.
Design of Self-balance Control System Platform of Unicycles
LüQiang,WANGPing,ZHANGHaojie
(School of Automation,Hangzhou Dianzi University,Hangzhou 310018,China)
An experimental platform of self-balance control systems of unicycles,which is an embedded experimental platform,is developed for the class "Small Robot and Applications of C51".This platform consists of a unicycle,an embedded control system,and an upper software.At normal conditions,a unicycle cannot keep balance without control input; however,it can keep balance by controlling angular moments of flywheel and moving wheel at the roll axis and pitch axis.The upper software is used to receive angle information of flywheel and moving wheel and to set the parameters of control algorithm in embedded systems.The platform is helpful for students to learn the design of embedded systems and programming.Moreover,the platform is also helpful for students to train their engineering ability.
unicycles; self-balance; control systems; embedded systems
2016-10-08
國家自然科學基金項目(61375104);杭州電子科技大學2016年高等教育研究資助項目(YB201661)
呂 強(1977-),男,遼寧撫順人,副教授,研究方向為信息化教學資源開發與應用,多機器人合作控制。
Tel.:13819139153; E-mail:lvqiang@hdu.edu.cn
TP 242.3
:A
1006-7167(2017)07-0035-04