彭小丹 劉金溢
DOI:10.19850/j.cnki.2096-4706.2021.09.037
摘? 要:二輪自平衡移動(dòng)機(jī)器人在狹小空間中具有較高的適用性,是一種典型的欠驅(qū)動(dòng)系統(tǒng)。文章研究了二輪自平衡機(jī)器人的動(dòng)力學(xué)建模方法,完成了控制系統(tǒng)設(shè)計(jì),基于Simulink實(shí)現(xiàn)了二輪自平衡機(jī)器人仿真和控制程序一體化設(shè)計(jì),縮短了開(kāi)發(fā)周期。設(shè)計(jì)了以STM32單片機(jī)為核心的二輪自平衡機(jī)器人控制器,基于Simulink編程方式實(shí)現(xiàn)了機(jī)器人的直立和行進(jìn)控制。經(jīng)仿真和實(shí)際測(cè)試表明,該二輪自平衡機(jī)器人能夠較好地控制車(chē)體保持平衡狀態(tài),具有較強(qiáng)的穩(wěn)定性。
關(guān)鍵詞:Simulink;PID控制;二輪自平衡機(jī)器人;STM32
中圖分類(lèi)號(hào):TP242.6;TP273 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2021)09-0141-04
The System Design of Two-Wheeled Self-Balancing Robot
PENG Xiaodan,LIU Jinyi
(North China University of Technology,Beijing? 100144,China)
Abstract:Two-wheeled self-balancing robot has a high applicability in a confined space,which is a typical underactuated system. This paper researched the method of dynamic modelling for the two-wheeled self-balancing robot and finished the design of control system. Based on Simulink,the integrated design of simulation and control program of two-wheeled self-balancing robot is realized,which shortens the development cycle. A two-wheeled self-balancing robot controller based on STM32 single chip microcomputer is designed. The vertical and moving control of the robot is realized based on Simulink programming. The simulation and actual test show that the two-wheeled self-balancing robot can better control the vehicle body to maintain the balance state and has strong stability.
Keywords:Simulink;PID control;two-wheeled self-balancing robot;STM32
0? 引? 言
二輪自平衡移動(dòng)機(jī)器人具有體積小、靈活度高、可應(yīng)用于狹小作業(yè)空間的優(yōu)點(diǎn)。二輪自平衡機(jī)器人系統(tǒng)是一個(gè)高階次、不穩(wěn)定、多變量、非線(xiàn)性、強(qiáng)耦合的系統(tǒng)[1]。該類(lèi)機(jī)器人的控制器開(kāi)發(fā)通常先完成理論仿真驗(yàn)證控制系統(tǒng)設(shè)計(jì)的可行性再開(kāi)發(fā)實(shí)際控制器,開(kāi)發(fā)過(guò)程耗費(fèi)時(shí)間較長(zhǎng)。而基于模型設(shè)計(jì)的方法可實(shí)現(xiàn)仿真與實(shí)際控制器一體化開(kāi)發(fā),能夠提高開(kāi)發(fā)效率。
作為控制理論算法實(shí)踐平臺(tái)之一的二輪自平衡機(jī)器人,眾學(xué)者對(duì)其系統(tǒng)設(shè)計(jì)展開(kāi)了大量研究。史策通過(guò)MATLAB對(duì)模糊滑模控制器和卡爾曼濾波器進(jìn)行仿真,利用Keil5集成開(kāi)發(fā)環(huán)境完成編寫(xiě)程序代碼和調(diào)試工作[2]。朱年華對(duì)二輪自平衡機(jī)器人建立動(dòng)力學(xué)模型,并通過(guò)MATLAB設(shè)計(jì)控制算法進(jìn)行仿真,在KEIL平臺(tái)下實(shí)現(xiàn)程序設(shè)計(jì)[3]。錢(qián)慶文通過(guò)調(diào)動(dòng)動(dòng)態(tài)鏈接庫(kù),采用MATLAB和VC++混合編程的方式實(shí)現(xiàn)對(duì)機(jī)器人的控制,降低了開(kāi)發(fā)成本[4]。目前現(xiàn)有開(kāi)發(fā)方式多數(shù)通過(guò)MATLAB平臺(tái)進(jìn)行算法仿真,利用KEIL集成開(kāi)發(fā)環(huán)境編寫(xiě)程序代碼的方式分步開(kāi)發(fā),多平臺(tái)多次編程的開(kāi)發(fā)方式開(kāi)發(fā)周期較長(zhǎng)。
本系統(tǒng)設(shè)計(jì)利用模型化開(kāi)發(fā)方式,基于Simulink軟件平臺(tái)的快速控制原型方法,采用將建模、仿真與實(shí)際代碼編寫(xiě)一體化的開(kāi)發(fā)方式,提高開(kāi)發(fā)效率。本系統(tǒng)設(shè)計(jì)以STM32F4系列微處理器為控制核心,采用HI229姿態(tài)測(cè)量傳感器,通過(guò)PID控制算法實(shí)現(xiàn)平衡車(chē)的直立和行走。Simulink軟件設(shè)計(jì)開(kāi)發(fā)平臺(tái)通過(guò)模塊化的方式搭建控制算法,具有可視性高,易于模塊化管理的特點(diǎn)。經(jīng)仿真和實(shí)例驗(yàn)證,本文設(shè)計(jì)的系統(tǒng)具有較高的可行性和實(shí)用性。
1? 理論模型及仿真
1.1? 動(dòng)力學(xué)建模
二輪自平衡機(jī)器人通過(guò)電機(jī)轉(zhuǎn)矩改變車(chē)體運(yùn)動(dòng)姿態(tài),當(dāng)機(jī)器人車(chē)體發(fā)生傾斜時(shí),電機(jī)驅(qū)動(dòng)車(chē)輪產(chǎn)生與車(chē)體傾斜方向相同的加速度進(jìn)行補(bǔ)償,以達(dá)到保持平衡的目的。由于二輪自平衡機(jī)器人系統(tǒng)控制輸入為電機(jī)扭矩,因此二輪自平衡機(jī)器人系統(tǒng)是一個(gè)非線(xiàn)性系統(tǒng),其數(shù)學(xué)模型較為復(fù)雜。結(jié)合實(shí)際與理論推導(dǎo)需求,本文假設(shè)該二輪自平衡機(jī)器人系統(tǒng)結(jié)構(gòu)對(duì)稱(chēng),左右輪參數(shù)相同,從而可將系統(tǒng)簡(jiǎn)化為如圖1所示的模型[5]。
圖1中,θ表示車(chē)體與垂直方向的偏角,l表示車(chē)體質(zhì)心到車(chē)輪軸的距離,mt和mw分別為車(chē)體和車(chē)輪質(zhì)量。將二輪自平衡機(jī)器人分解成車(chē)體和車(chē)輪兩部分分別采用牛頓力學(xué)分析法對(duì)系統(tǒng)進(jìn)行分析,從而推導(dǎo)出系統(tǒng)輸入量電機(jī)扭矩與輸出量二輪自平衡機(jī)器人車(chē)體偏角和整體速度之間的關(guān)系。
車(chē)體在水平方向的位移xd可表示為車(chē)輪在水平方向的位移x與車(chē)體相對(duì)車(chē)輪在水平方向上位移之和:
xd=x+lsinθ
即車(chē)體在水平方向上的加速度為:
姿態(tài)發(fā)生變化,通過(guò)反饋控制實(shí)現(xiàn)系統(tǒng)閉環(huán)。
二輪自平衡機(jī)器人主要通過(guò)角度環(huán)控制保持直立穩(wěn)定狀態(tài),采用PD控制算法實(shí)現(xiàn)。當(dāng)平衡車(chē)朝某個(gè)方向倒下時(shí),車(chē)體實(shí)際角度會(huì)與期望角度產(chǎn)生偏差,通過(guò)比例(P)環(huán)節(jié)控制減小偏差。當(dāng)比例系數(shù)Kpa較大時(shí),系統(tǒng)會(huì)發(fā)生振蕩,通過(guò)微分(D)環(huán)節(jié)預(yù)測(cè)偏差信號(hào)的變化趨勢(shì),降低系統(tǒng)超調(diào)。為了使二輪自平衡機(jī)器人能夠保持穩(wěn)定,還需加入速度環(huán)控制。利用積分環(huán)節(jié)消除靜差,采用PI控制算法使二輪自平衡機(jī)器人以給定速度移動(dòng)。角度環(huán)控制是二輪自平衡機(jī)器人保持平衡的主要控制方法,速度環(huán)控制相對(duì)其而言屬于干擾信號(hào),為了減小二輪自平衡機(jī)器人速度對(duì)角度環(huán)的干擾,對(duì)速度進(jìn)行一階濾波,減緩速度差值。
仿真過(guò)程中,假設(shè)二輪自平衡機(jī)器人初始狀態(tài)x0=[0? 0? 0.1? 0]T,即車(chē)體初始角度為5.73°。根據(jù)圖3角度變化曲線(xiàn)可知,系統(tǒng)調(diào)節(jié)時(shí)間約為47 ms,超調(diào)角度為0.2°左右,系統(tǒng)超調(diào)量約為3.5%。根據(jù)仿真結(jié)果可以推測(cè),角度環(huán)PD控制和速度環(huán)PI控制能夠使二輪自平衡機(jī)器人保持平衡,且具有較好的穩(wěn)定性、準(zhǔn)確性和快速性。
2? 控制系統(tǒng)設(shè)計(jì)
二輪自平衡機(jī)器人控制系統(tǒng)是一個(gè)閉環(huán)系統(tǒng),通過(guò)霍爾編碼器和姿態(tài)傳感器獲取車(chē)體實(shí)時(shí)姿態(tài)運(yùn)動(dòng)信息,將采集的數(shù)據(jù)與期望值輸入控制器進(jìn)行實(shí)時(shí)控制,并作用于電機(jī)實(shí)現(xiàn)二輪自平衡機(jī)器人的運(yùn)動(dòng)控制。本系統(tǒng)采用GM37直流電機(jī),該電機(jī)通過(guò)霍爾編碼器來(lái)實(shí)現(xiàn)位置信息反饋。根據(jù)AB兩相信號(hào)輸出高低電平的先后順序來(lái)確定電機(jī)的正反向運(yùn)動(dòng),通過(guò)單位周期內(nèi)脈沖數(shù)量得到電機(jī)轉(zhuǎn)速。姿態(tài)傳感器通過(guò)串口通信將獲取的角速度和歐拉角等姿態(tài)信息發(fā)送給上位機(jī)??刂破骶哂休^高的運(yùn)算能力,能夠?qū)@取的外部信息進(jìn)行融合處理,利用各類(lèi)控制算法進(jìn)行控制,通過(guò)定時(shí)器輸出通道輸出PWM控制電機(jī),設(shè)置輸出端口高低電平實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)控制,從而使二輪自平衡機(jī)器人姿態(tài)發(fā)生改變,控制系統(tǒng)結(jié)構(gòu)圖如圖4所示。
結(jié)合二輪自平衡機(jī)器人平衡狀態(tài)下各個(gè)方向上運(yùn)動(dòng)速度慢和角度信息反饋精確等特點(diǎn),該硬件系統(tǒng)采用HI229姿態(tài)測(cè)量模塊,其集成了三軸加速度計(jì)、三軸陀螺儀和一款微控制器,可以通過(guò)串口通信的方式向上位機(jī)發(fā)送姿態(tài)信息,滿(mǎn)足系統(tǒng)姿態(tài)信息獲取需要。其最大幀數(shù)輸出速率為200 Hz,符合控制器每5 ms更新一次數(shù)據(jù)的要求。TB6612FNG驅(qū)動(dòng)模塊可以提升單片機(jī)I/O引腳的帶載能力,可使微控制器同時(shí)控制2個(gè)直流電機(jī)。GM37電機(jī)配備正交編碼器,可以通過(guò)TB6612FNG驅(qū)動(dòng)模塊直接獲取電機(jī)方向標(biāo)志位和編碼值到控制器,并根據(jù)定時(shí)器設(shè)置的數(shù)據(jù)采集頻率,解算得到電機(jī)轉(zhuǎn)速。硬件系統(tǒng)框圖如圖5所示。
3? 實(shí)例驗(yàn)證
根據(jù)仿真結(jié)果的可行性,對(duì)實(shí)際系統(tǒng)進(jìn)行控制,通過(guò)Simulink在仿真模型的基礎(chǔ)上實(shí)現(xiàn)I/O口、定時(shí)器、串口等功能完成實(shí)際控制系統(tǒng)模型搭建,將模型編譯生成C代碼,在Keil5下進(jìn)行在線(xiàn)調(diào)試,實(shí)時(shí)記錄平衡車(chē)角度和速度的變化。在平衡車(chē)保持直立穩(wěn)定的狀態(tài)下,輸入一個(gè)擾動(dòng)信號(hào),觀(guān)察系統(tǒng)響應(yīng)過(guò)程和特性。二輪自平衡機(jī)器人的角度和速度變化如圖6所示,橫坐標(biāo)為時(shí)間軸(ms),縱坐標(biāo)為角度值(°)和速度值(m/s)。
如圖6所示,車(chē)體受到擾動(dòng)后最大偏角為-13°,系統(tǒng)經(jīng)0.8 s左右達(dá)到穩(wěn)定狀態(tài),車(chē)體瞬時(shí)速度最高達(dá)到-32 m/s。在上電前將二輪自平衡車(chē)傾斜20°,通過(guò)觀(guān)察二輪自平衡車(chē)的角度和速度變化檢測(cè)平衡車(chē)的控制性能,如圖7所示。
上電后,車(chē)體角度迅速向當(dāng)前傾斜角度的反方向擺動(dòng),上升時(shí)間約為0.1 s,峰值時(shí)間約為0.2 s,約0.9 s后系統(tǒng)達(dá)到穩(wěn)定狀態(tài),響應(yīng)速度較快,系統(tǒng)超調(diào)量大約為25%。根據(jù)圖6、7測(cè)試結(jié)果可知,本系統(tǒng)設(shè)計(jì)具有較好的穩(wěn)定性和可行性。
4? 結(jié)? 論
本文首先對(duì)二輪自平衡機(jī)器人進(jìn)行動(dòng)力學(xué)分析,建立狀態(tài)空間方程,通過(guò)Simulink搭建被控對(duì)象模型以及PID控制算法,經(jīng)仿真驗(yàn)證本系統(tǒng)設(shè)計(jì)可行。通過(guò)分析系統(tǒng)性能需求,本系統(tǒng)設(shè)計(jì)采用STM32F4系列微處理器為控制核心,利用HI229姿態(tài)測(cè)量傳感器獲取車(chē)體姿態(tài)信息,通過(guò)PID控制算法實(shí)現(xiàn)閉環(huán)控制。根據(jù)仿真結(jié)果的可行性,通過(guò)Simulink對(duì)實(shí)際控制系統(tǒng)進(jìn)行設(shè)計(jì),經(jīng)實(shí)際測(cè)試本系統(tǒng)設(shè)計(jì)具有較好的穩(wěn)定性和可行性。后期將以本文設(shè)計(jì)系統(tǒng)為搭載平臺(tái),對(duì)各類(lèi)控制算法進(jìn)行研究。
參考文獻(xiàn):
[1] 王恒,桑元俊.基于新型慣性傳感器的兩輪自平衡車(chē)的設(shè)計(jì) [J].現(xiàn)代電子技術(shù),2017,40(18):49-54.
[2] 史策.模糊滑??刂圃趦奢喿云胶庑≤?chē)中的應(yīng)用研究 [D].馬鞍山:安徽工業(yè)大學(xué),2019.
[3] 朱年華.兩輪自平衡電動(dòng)車(chē)控制系統(tǒng)設(shè)計(jì)與研究 [D].南昌:華東交通大學(xué),2016.
[4] 錢(qián)慶文.兩輪自平衡車(chē)擺機(jī)器人建模與控制方法的研究 [D].哈爾濱:哈爾濱理工大學(xué),2019.
[5] 姜立標(biāo),何家壽.兩輪自平衡代步車(chē)控制策略及動(dòng)力學(xué)仿真 [J].華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,44(1):9-15.
[6] 趙磊.兩輪平衡車(chē)建模與系統(tǒng)設(shè)計(jì) [D].成都:西南交通大學(xué),2013.
作者簡(jiǎn)介:彭小丹(2000—),女,漢族,安徽合肥人,本科在讀,研究方向:智能機(jī)器人控制
收稿日期:2021-04-14