王一鳴,李 凌
(沈陽化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110142)
自平衡兩輪車作為輪式機(jī)器人的一種,具有節(jié)能環(huán)保、輕便靈活等優(yōu)點(diǎn),在各個(gè)領(lǐng)域都有著十分廣泛的應(yīng)用前景.然而該機(jī)器人屬于較為復(fù)雜的多變量、非線性、強(qiáng)耦合、欠驅(qū)動的不穩(wěn)定系統(tǒng),針對此類系統(tǒng)的穩(wěn)定控制研究一直是機(jī)器人控制領(lǐng)域的熱門研究問題[1].高效穩(wěn)定的控制器設(shè)計(jì)方案成為了機(jī)器人行業(yè)的關(guān)鍵技術(shù)之一.隨著穩(wěn)定性控制問題日益大型化、復(fù)雜化,現(xiàn)有的傳統(tǒng)控制方法面臨著越來越大的挑戰(zhàn).目前工業(yè)領(lǐng)域普遍使用傳統(tǒng)PID控制器,其穩(wěn)定性、準(zhǔn)確性和抗干擾性已無法滿足日益增長的控制需求.自平衡兩輪車屬于多學(xué)科交叉的非線性控制系統(tǒng),在平衡車平臺上可以對各種控制策略進(jìn)行理論研究與實(shí)驗(yàn)驗(yàn)證,因此,自平衡兩輪車是檢驗(yàn)各種先進(jìn)控制算法的理想實(shí)驗(yàn)平臺[2].針對自平衡兩輪車的研究無論是理論研究還是工程實(shí)踐都具有十分重要的意義.
本研究以自平衡兩輪車為被控對象,對其建立了基于拉格朗日方程的數(shù)學(xué)模型,并作了線性化處理,進(jìn)而針對該系統(tǒng)設(shè)計(jì)了基于反饋校正方法的雙閉環(huán)PID控制系統(tǒng),最后在MATLAB/Simulink環(huán)境下進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果驗(yàn)證了該方法的有效性,從而為該領(lǐng)域的后續(xù)研究奠定了基礎(chǔ).
采用拉格朗日方程法對系統(tǒng)進(jìn)行數(shù)學(xué)建模.為了便于分析和計(jì)算,在不影響所關(guān)注的系統(tǒng)性能的情況下,需要對某些復(fù)雜的和難以處理的部分進(jìn)行合理假設(shè)和忽略[3],因此本研究中有以下假設(shè)條件:
(1) 將車身與重物(人體)等效成一根剛性杠桿;
(2) 車輪與地面的摩擦只有滾動摩擦(忽略滑動摩擦);
(3) 平衡狀態(tài)時(shí),車身質(zhì)心位于兩輪中心正上方.
在數(shù)學(xué)建模過程中所涉及到的物理符號以及在系統(tǒng)中所表示的具體含意見表1.
表1 相關(guān)物理符號及含意
為了應(yīng)用拉格朗日方程法進(jìn)行系統(tǒng)建模,首先需要求解自平衡兩輪車系統(tǒng)的總動能.車體總動能可以分解為車身與車輪的平動動能和轉(zhuǎn)動動能,而要求解系統(tǒng)動能首先需要求解車身在各個(gè)狀態(tài)下的速度[4].
對于車身速度,可以將車身運(yùn)動狀態(tài)分成三種情況:前俯后仰、自身旋轉(zhuǎn)以及前行后退.由參考文獻(xiàn)[5]可知通過坐標(biāo)系分解法可以獲得不同運(yùn)動狀態(tài)下的速度分量, 將各坐標(biāo)軸上的速度分量合成即可得到車身速度,進(jìn)而可得車身各狀態(tài)下的動能,即:
車身的平動速度為
vx=v(x1)+v(x2)+v(x3),
vy=v(y1)+v(y2)+v(y3),
vz=v(z1).
車身的平動動能為
車身的轉(zhuǎn)動動能為
車輪的平動動能為
其中:vl、vr分別為左輪速度和右輪速度.
車輪的轉(zhuǎn)動動能為
對模型進(jìn)行簡化處理,則系統(tǒng)的總動能
(1)
再對平衡車進(jìn)行受力分析,并代入拉格朗日方程可以得到系統(tǒng)的精確數(shù)學(xué)模型,故系統(tǒng)在θt方向有
mbgLsinθt-Ml-Mr.
(2)
系統(tǒng)在θl方向有
(3)
其中:kl、kr為粘滯阻尼系數(shù).
系統(tǒng)在θr方向有
(4)
MbgLθt-Ml-Mr,
(5)
(6)
(7)
將實(shí)際物理參數(shù)代入數(shù)學(xué)模型可得
(8)
(9)
480.2sinθt-Ml-Mr.
(10)
為了驗(yàn)證模型的準(zhǔn)確性,在MATLAB/Simulink環(huán)境下搭建出該模型并設(shè)計(jì)驗(yàn)證性實(shí)驗(yàn),實(shí)驗(yàn)設(shè)計(jì)如下文所述.
實(shí)驗(yàn)一:給系統(tǒng)附加一個(gè)初始角度,在零輸入條件下檢測系統(tǒng)的輸出情況.考慮現(xiàn)實(shí)狀況中沒有輸入的狀態(tài)下車身會向初始角度方向傾倒,車輪也會朝反方向滾動,最終車身倒下,車輪靜止不動.圖1為該實(shí)驗(yàn)的仿真波形圖.
從圖1可以看出:車身在經(jīng)過20s左右的振蕩后最終恢復(fù)到靜止?fàn)顟B(tài),同時(shí)車身在180°位置處靜止不動,即豎直向下.這是實(shí)驗(yàn)中沒有添加約束條件,即沒有考慮實(shí)際情況中地面對車身的阻擋[7],在無約束條件下,該結(jié)果與實(shí)際情況相同,模型符合要求.
圖1 仿真波形圖
實(shí)驗(yàn)二:初始時(shí)刻分別給定左輪轉(zhuǎn)矩為15 N·m,右輪轉(zhuǎn)矩為5 N·m,初始傾角為0.考慮實(shí)際情況中車身會向左轉(zhuǎn)向并向下傾倒[8].其輸出波形如圖2、圖3所示.
圖2 車輪轉(zhuǎn)角波形圖
圖3 車身傾角波形圖
從圖2和圖3的仿真結(jié)果可以看出:在無約束條件下,車身會向反方向傾斜,最終停留在-180°的位置,即豎直向下狀態(tài);且左輪轉(zhuǎn)角大于右輪轉(zhuǎn)角,車身向左轉(zhuǎn)向[9].經(jīng)過驗(yàn)證,該結(jié)果與實(shí)際情況相同,模型符合要求.
該系統(tǒng)的兩驅(qū)動輪之間存在耦合關(guān)系,即當(dāng)左右兩輪的轉(zhuǎn)速大小相等、方向相同時(shí),小車沿直線前進(jìn);當(dāng)兩輪轉(zhuǎn)速大小相等、方向相反時(shí),小車會原地旋轉(zhuǎn).因此可以推斷:平衡車在平面內(nèi)的任意運(yùn)動都可由直線運(yùn)動和旋轉(zhuǎn)運(yùn)動合成產(chǎn)生[10].所以在進(jìn)行控制器設(shè)計(jì)時(shí)可以分別設(shè)計(jì)直行控制器和轉(zhuǎn)向控制器來避免耦合問題,實(shí)現(xiàn)有效控制.
設(shè)計(jì)的直行PID控制器原理如圖4所示.由于PID控制是一種常規(guī)線性控制算法,主要針對單輸入單輸出的線性系統(tǒng),對于自平衡兩輪車這種非線性多輸出系統(tǒng)的控制能力較差[11],因此,需要通過設(shè)計(jì)雙閉環(huán)回路的方式來改善它的動態(tài)性能.兩個(gè)控制回路可以分別控制車身傾角和系統(tǒng)位移.
圖4 直行PID控制系統(tǒng)原理
將數(shù)學(xué)模型轉(zhuǎn)化為傳遞函數(shù)可得
其中:G1(s)、G2(s)分別為內(nèi)環(huán)和外環(huán)的傳遞函數(shù).
令阻尼比ξ=0.707,閉環(huán)增益為1,調(diào)節(jié)時(shí)間為0.5 s,可得如下方程組:
解,得:Kp2=1.15,Kd2=0.16,K=-432.17.代入內(nèi)環(huán)傳遞函數(shù)則有
綜上可知直行控制器內(nèi)環(huán)參數(shù)為
D2(s)=-432.17,
為了降低系統(tǒng)的穩(wěn)態(tài)誤差,提升抗干擾能力,需要將系統(tǒng)設(shè)計(jì)為Ⅱ階系統(tǒng)[12],即令D1(s)為PI控制器.設(shè)D1(s)=Kp+1/Kis,則系統(tǒng)開環(huán)傳遞函數(shù)為
根據(jù)Ⅱ階系統(tǒng)條件,取ωc=0.5,則有
根據(jù)以上所得參數(shù),在MATLAB/Simulink環(huán)境下搭建出系統(tǒng)直行控制器的仿真模型,進(jìn)行仿真實(shí)驗(yàn),設(shè)置初始時(shí)刻車身傾角為0.2 rad,通過外加輸入信號給定車輪初速度為5 rad/s.輸出波形如圖5、圖6所示.從圖5和圖6的仿真結(jié)果可以看出:車速在第8 s左右開始趨于穩(wěn)定,最終保持勻速直線運(yùn)動,此時(shí)車身傾角也穩(wěn)定在0°左右.該結(jié)果符合預(yù)期的設(shè)計(jì)要求,驗(yàn)證了控制器設(shè)計(jì)的有效性.
圖5 車輪轉(zhuǎn)速波形
圖6 車身傾角波形
轉(zhuǎn)向控制部分由兩輪之間的耦合關(guān)系判斷,可以通過運(yùn)動合成的方式來改變其運(yùn)動狀態(tài)[13],故本研究采用轉(zhuǎn)速差控制方法來實(shí)現(xiàn)小車的轉(zhuǎn)向控制,系統(tǒng)以Δw(s)=wl-wr為輸入量,其值越大,轉(zhuǎn)向角度越大,反之亦然.轉(zhuǎn)向控制器結(jié)構(gòu)圖如圖7所示.
圖7 轉(zhuǎn)向控制器結(jié)構(gòu)
根據(jù)上述平衡車的直行控制與轉(zhuǎn)向控制的設(shè)計(jì),綜合可得自平衡兩輪車的雙閉環(huán)PID控制方案,在MATLAB/Simulink環(huán)境下搭建出控制系統(tǒng)的仿真模型.
在MATLAB/Simulink環(huán)境下進(jìn)行仿真實(shí)驗(yàn),測試系統(tǒng)的跟蹤性能.初始時(shí)刻給定速度1.0 m/s,之后始終勻速行駛保持不變;第20 s時(shí)輸入兩輪速度差0.5 m/s,5 s后恢復(fù)為0;第40 s時(shí)輸入兩輪速度差-0.5 m/s,5 s后恢復(fù)為0[13];第60 s時(shí)輸入兩輪速度差0.7 m/s,5 s后恢復(fù)為0;第80 s時(shí)輸入兩輪速度差-0.7 m/s,5 s后恢復(fù)為0.理論分析系統(tǒng)行駛軌跡如圖8所示.圖9~圖11為系統(tǒng)實(shí)時(shí)運(yùn)動狀態(tài)曲線.
圖8 平衡車系統(tǒng)理論行駛軌跡
由仿真結(jié)果圖9、圖10可知:系統(tǒng)初始時(shí)刻在經(jīng)過短暫調(diào)節(jié)后保持勻速直線運(yùn)動;20 s后向右轉(zhuǎn)向,5 s后繼續(xù)勻速直行;第40 s時(shí)向左轉(zhuǎn)向,5 s后繼續(xù)勻速直行;60 s后向右大轉(zhuǎn)向, 5 s后繼續(xù)勻速直行;第80 s時(shí)向左大轉(zhuǎn)向,5 s后繼續(xù)勻速直行.其行駛路徑和速度與理論分析相符.由圖11可知:系統(tǒng)運(yùn)行過程中車身傾角始終保持穩(wěn)定,證明了該控制器設(shè)計(jì)的有效性.
圖9 兩輪速度曲線
圖10 兩輪行駛距離曲線
圖11 車身傾角曲線
為了測試系統(tǒng)的抗干擾性能,在車身保持勻速前進(jìn)的基礎(chǔ)上,在20 s時(shí)施加幅值為0.8、脈寬為0.5 s的脈沖干擾,又在40 s時(shí)施加幅值為-0.8、脈寬為0.5 s的脈沖干擾,其輸出波形曲線如圖12所示.由圖12可知:系統(tǒng)在受到外部擾動時(shí)會有微弱的超調(diào),在大約2 s后會重新回到原來狀態(tài),說明該控制器在一定范圍內(nèi)具有良好的抗干擾性能.
圖12 魯棒性驗(yàn)證輸出曲線
為了驗(yàn)證系統(tǒng)的魯棒性,通過改變模型參數(shù)的方式來驗(yàn)證其性能.根據(jù)實(shí)際情況,選取車身質(zhì)量mb和質(zhì)心到輪軸的距離L作為變量,分別設(shè)計(jì)兩組實(shí)驗(yàn):第一組實(shí)驗(yàn)選取車身質(zhì)量mb分別為60 kg、70 kg、80 kg,其他參數(shù)不變,其輸出波形如圖13、圖14所示;第二組實(shí)驗(yàn)選取質(zhì)心到輪軸的距離L分別為0.6 m、0.7 m、0.8 m,其他參數(shù)不變,其輸出波形如圖15、圖16所示.
圖13 mb變化時(shí)車身速度曲線
圖14 mb變化時(shí)車身傾角曲線
圖15 L變化時(shí)車身速度曲線
圖16 L變化時(shí)車身傾角曲線
由仿真結(jié)果可知:當(dāng)系統(tǒng)參數(shù)發(fā)生變化時(shí),系統(tǒng)能夠很好地適應(yīng)該變化并保持原有的穩(wěn)定性和動態(tài)特性[15],說明該控制器在一定范圍內(nèi)具有良好的魯棒性.
在建立自平衡兩輪車精確的數(shù)學(xué)模型基礎(chǔ)上,采用雙閉環(huán)PID控制方法設(shè)計(jì)控制器,并分別設(shè)計(jì)了直行控制器與轉(zhuǎn)向控制器,避免了系統(tǒng)存在的復(fù)雜耦合問題與繁瑣的解耦算法.在MATLAB/Simulink環(huán)境下進(jìn)行模型搭建并進(jìn)行了詳細(xì)的仿真實(shí)驗(yàn).通過分析仿真結(jié)果可得:該控制方法能夠使自平衡兩輪車達(dá)到理想的控制效果,超調(diào)量小、響應(yīng)速度快、穩(wěn)定時(shí)間短,且具有良好的魯棒性、抗干擾性和動態(tài)特性,可以實(shí)現(xiàn)對自平衡兩輪車這類非線性系統(tǒng)較好的控制;但仍存在一些不足,如控制精度及最大可控范圍有待提高等.因此,在今后還將引入更加先進(jìn)的智能控制算法來提高系統(tǒng)精度和響應(yīng)速度.綜上,該設(shè)計(jì)不僅在工程應(yīng)用上具有很高的利用價(jià)值,并且為下一步的深入研究奠定了基礎(chǔ).