【摘要】兩輪自平衡小車的核心問題是平衡控制問題和運動控制問題。兩輪自平衡小車需要始終保持車身直立,同時還需要完成各種機動動作,如行進、旋轉、左轉彎、右轉彎等。PID控制算法是應用最為普遍的一種算法,其特點是構造簡單,應用有效及具備了許多成熟的穩定性分析的方法,有很高的可靠性。針對兩輪自平衡小車的非線性和不穩定性,利用非線性PD控制算法和PID差動結構可以實現小車的平衡控制和運動控制。
【關鍵詞】兩輪自平衡小車;PID控制;平衡控制;運動控制;控制算法
1.引言
兩輪自平衡小車是一種典型的欠驅動系統(underactuated system)、非完整系統(nonholonomic system)。其核心問題是對小車的平衡控制和運動控制,其中兩輪自平衡小車的姿態平衡控制類似于倒立擺的平衡問題,所不同的是兩輪自平衡小車可以在二維甚至三維空間內運動。兩輪自平衡小車不僅需要始終保持車身的直立,還需要在保持直立的同時在二維甚至三維空間內運動。
兩輪自平衡小車有4個自由度:2個平面支撐運動自由度,2個姿態角運動自由度。然而其中只有2個平面支撐運動自由度,即左輪和右輪可以驅動。
對于兩輪自平衡小車,姿態平衡控制可以通過改變左輪和右輪的運動速度和運動方向來控制的。當小車的車身發生傾斜時,左右電機產生相應的力矩來調節左右兩輪運動速度和運動方向,使小車恢復平衡直立的狀態。小車的運動軌跡控制則是通過調整行進速度和行進方向來控制的。兩輪自平衡小車的行進速度是左輪線速度和右輪線速度的平均值,也是通過左右電機產生的力矩來調節。行進方向則需要左輪和右輪的差動來調節,即對左輪和右輪施加不同的作用力矩,以產生不同的運動速度,從而實現兩輪自平衡小車航向的控制。
PID控制算法是一種應用廣泛、使用簡單有效的經典的自動控制算法,兩輪自平衡小車的平衡控制和運動控制都可以采用PID控制策略。在1997年,日本的Hiraoka和Noritsugu研究出一種采用PID算法控制速度和位置的兩輪平行小車[1]。實際上,大多數的兩輪自平衡小車都是在運動平衡控制實驗的最初階段選用PID控制策略[2],之后才進一步研究其他的控制策略,包括各種智能控制,各種變形的PID控制策略。
2.控制結構
兩輪自平衡小車的運動平衡控制包含兩個方面:平衡控制,運動控制。
平衡控制問題是兩輪自平衡小車控制問題中首要的問題,也是最主要的矛盾。保持姿態的平衡需要通過驅動電機及其伺服控制實現。
運動控制是在車體保持姿態平衡的狀態下執行各種機動動作,其基本的原理是對行進速度和行進方向的控制。
兩輪自平衡小車的運動平衡控制回路如圖1所示,圖中的符號和參數參照表1定義。
3.平衡控制
兩輪自平衡小車的最首要目標是使小車的車體始終保持直立狀態,即使車體的俯仰角保持在期望值附近。通常情況下,假定兩輪自平衡小車車體質心位于車體坐標的幾何中軸之上,期望俯仰角≡0,于是采用線性PD控制算法為:
在兩輪自平衡小車的平衡控制環節中,選擇PD控制而不是PID控制的原因有以下兩點:
(1)兩輪自平衡小車運動時的姿態檢測信號中不可避免的混雜著較大的噪聲信號,積分(I)環節會將這些噪聲信號由隨著時間不斷地累積,這樣積分器便失去消除靜差的調節功能并產生控制誤差;
(2)兩輪自平衡小車的車輪與地面的摩擦會產生阻尼作用,而這種阻尼作用能夠抵消機器人姿態傾角的靜差的持續增加。
在適當的增益系數下,線性PD控制器可以實現兩輪自平衡小車的姿態平衡控制,但是仍然存在2個不足:
(1)電機損耗和能耗大,魯棒性低;
(2)在平衡點=0的鄰域內容易出現自激或者振蕩。
為了在一定程度上彌補線性PD控制器的不足,可以使用非線性PD控制代替線性PD控制,這同時還能使控制器有較為明確的物理意義。
根據控制機理的不同,非線性PID控制器可分為兩大類[3]:直接控制型(direct-action)和增益調整型(gain-scheduling)。但是兩類非線性PID控制器的作用對象不同,直接控制型是對控制分量的非線性控制量進行直接設計,而增益調整型是對增益參數的非線性控制進行規劃調整。
式中,、為控制量輸入信號;為控制響應誤差信號;為非線性函數的自變量向量;為非線性函數的自變量;、、分別為比例、積分、微分三個非線性分量函數;、、分別為比例、積分、微分三個非線性增益函數。
式(2)中非線性函數、、包含以下非線性特征被控制原理所證實[4]:
(1)比例控制分量可以為誤差信號的連續并且單調遞增的非線性函數;
(2)當誤差信號=0時,有=0,表明誤差為零值時,比例控制分量也為零值;
(3)當誤差信號=max()時,有=max(),表明最大誤差對應著最大比例分量輸出。
而且可以比其他函數對象保留更加簡單的非線性幾何特征,從而簡化了非線性控制器的設計。
基于以上分析,可以構造用于兩輪自平衡小車姿態平衡控制的非線性PD控制算法:
這里,為非線性比例環節參數,適當地選定參數和值,使控制量||較小時的斜率較小,在||較大時的斜率較大;選較大的值,特別是當高頻噪聲嚴重時,應該適當地拓寬(-)空間。其中,是非線性微分環節參數。
和依據兩輪自平衡小車的動力模型選取。
在剛性的兩輪自平衡小車的動力學模型中,系統參數如表2所示。
若只考慮傾角變化,動力學方程為:
在式(8)中,當、、為期望輸入,為輸出時,式(8)為兩輪自平衡小車在只考慮姿態傾角的情況下的動力學逆模型。
將式(8)與式(4)(即非線性PD控制器)進行對比可以發現,二者在表達形式上十分接近。對于式(8),如果忽略二階項,并用近似cos,則式(8)與式(4)在表達形式上是統一的。由此可以認為,式(4)所描述的非線性PD控制器是兩輪自平衡小車在只考慮姿態傾角的情形下的近似逆模型。這種近似性表明,非線性PD控制器含有兩輪自平衡小車部分非線性特性。根據非線性控制的逆系統方法[5],這種近似性使控制器在控制時能夠對小車的非線性特性進行補償,從而有利于提高控制系統的性能。
4.運動控制
兩輪自平衡小車在保持姿態平衡的同時,還需要執行各種機動動作。兩輪自平衡小車的運動控制問題就是對小車行進速度和行進方向的控制。
由兩輪自平衡小車運動學模型可知,兩輪自平衡小車的行進速度和行進方向與左輪轉速和右輪轉速存在約束關系:
兩輪自平衡小車的行進速度和行進方向均可采用PID算法控制。
4.1 行進速度的控制
兩輪自平衡小車的行進速度是其左輪線速度與右輪線速度的平均值,即:
兩輪自平衡小車的行進速度的控制仍然可采用PID控制:
式中,是實際行進速度與期望行進速度的差。
這里比例項>0,是正反饋,用于調節小車的行進速度;積分項,也是正反饋,作用在于累積位移差形成的位移勢能,這種位移勢能既能夠消除靜差,又能夠保障小車在復雜路面行進時保持行進速度平穩;微分項,是負反饋,可以消除系統的自激和振蕩。
在兩輪自平衡小車的行進速度控制器中,比例項起主導作用,其次是積分項,因此,行進速度的控制器是一個正反饋回路。
4.2 行進方向的控制
兩輪自平衡小車的行進方向是依靠左輪和右輪的差動實現。
兩輪自平衡小車的輪系差動系統如圖2所示。由圖2可知,式(4)獲得的姿態平衡控制信號與式(8)獲得的行進速度控制信號疊加后被分配至左電機和右電機。左電機和右電機分配到的控制量取決于差動系數。
差動系數用于兩輪自平衡小車左右輪速度和的差動控制,使:
差動系數,需要通過期望航向或者期望偏航速度進行換算。顯然,,當差動系數,左右輪速度相等,小車沿直線行進。當差動系數時,左輪靜止,兩輪自平衡小車右輪繞左輪旋轉;當差動系數時,右輪靜止,兩輪自平衡小車左輪繞右輪旋轉。
控制信號的差動分配使兩輪自平衡小車左輪和右輪能以不同的速度運動,從而可以實現兩輪自平衡小車行進方向控制和調節。
如圖2所示,在兩輪自平衡小車輪系差動系統引入PID反饋環節:
因為在實際的運動過程中,由于系統本身的抖動、路面復雜程度等多種外界因素的影響,小車可能會偏離期望的航向和軌跡。在運動控制中引入PID反饋環節可以克服外部干擾,使小車系統行進速度和行進方向更加穩定。
5.結語
本文針對兩輪自平衡小車的核心問題——運動平衡控制問題進行了研究,通過分別對平衡控制和運動控制進行分析,設計構造出非線性PD控制算法和PID差動控制結構,提出了針對兩輪自平衡小車的平衡控制和行進控制的新策略,提高了兩輪自平衡小車的控制效果。
參考文獻
[1]Hiraoka N,Noritsugu T.Velocity and position control of parallel biwheel vehicle driven with a stepping motor.Transactions of the Japan Society of Mechanical Engineers,1997(63):3207-3214.
[2]Ooi R C.Balancing a two-wheeled autonomous robot(PhD Thesis).Perth:University of Western Australia,2003.
[3]胡包剛.非線性PID控制器研究——比例分量的非線性方法[J].自動化學報,2006(32):219-227.
[4]Hu B G,Mann G K I,Gosine R G.Control curve design for nonlinear(or fuzzy)proportional actions using spline-based functions.Automatica,1998(34):1125-1133.
[5]李春文,馮元琨.多變量非線性控制的逆系統方法[M].北京:清華大學出版社,1991.
基金名稱:長江大學校級創新訓練項目(項目編號:2012315)。
指導老師:鄭恭明