林 俊,林 凱,谷 兵,王蘇衛(wèi)
(湖南師范大學,湖南 長沙410081)
移動機器人是當今學科研究的熱點之一,而控制算法在機器人領(lǐng)域中處于核心地位。目前,常用于移動機器人智能控制的算法主要有:PID控制、模糊控制、神經(jīng)網(wǎng)絡控制等[1-2]。還有一些相對特殊的控制方法,譬如參考文獻[3]中提及的基于風險評估的路徑規(guī)劃方案等。每種算法的原理不同,一般對外界信息的依賴性較大。若根據(jù)算法要求開發(fā)硬件平臺,其電路的設計、PCB板的制作以及電路的調(diào)試等一系列繁瑣的研發(fā)工作對算法的驗證將造成極大不便[4]。Matlab提供的可視化界面環(huán)境GUI,其與VB相似的功能可以很方便地創(chuàng)建用戶界面形式。因此,本文利用Matlab GUI設計一種用于移動機器人路徑規(guī)劃的控制仿真平臺。
移動機器人的控制體系結(jié)構(gòu)定義為:一種能把多種模塊有機地結(jié)合起來,從而在環(huán)境中完成目標任務的機器人結(jié)構(gòu)框架。本系統(tǒng)主要完成未知環(huán)境下移動機器人的路徑規(guī)劃,所以系統(tǒng)設計了多個模塊構(gòu)成整個控制系統(tǒng)。如圖1所示,控制體系主要包含的功能有:感知、定位模塊、路徑規(guī)劃、行為控制以及任務規(guī)劃。
1.1.1里程計與羅盤計
里程計用于測量移動機器人的行駛距離,主要由驅(qū)動輪內(nèi)側(cè)的碼盤信號計算出單個驅(qū)動輪角速度信息,從而根據(jù)運動學模型計算出行駛距離。羅盤計基于指南針原理,用于測量機器人的車身角度。
1.1.2超聲波測距
超聲波測距原理采用時間差測距法,可表示為:
式中,D為超聲波傳感器與障礙物之間的距離,C為超聲波速度,△t為發(fā)射和接收之間的時間差。
1.2.1機器人運動學模型
本設計研究的是雙輪差分驅(qū)動式移動機器人,由兩個驅(qū)動輪和一個隨動輪組成。兩驅(qū)動輪之間的軸間距離為d,驅(qū)動輪半徑為r,其軸間連線中點為M,坐標為(xM,yM),如圖 2 所示。
令左、右兩驅(qū)動輪的角速度分別為 ωL和 ωR,機器人車身與X軸的夾角為θ,則關(guān)于M點的機器人運動學方程為:
根據(jù)式(2)可求得M點的線速度和角速度,即:
令平臺轉(zhuǎn)彎半徑為R。 由于 υM=ωM×R,則:
從上式可以看到,當 ωL=ωR時,轉(zhuǎn)彎半徑為無窮大,機器人做向前或向后方向的直線運動;當ωL=-ωR時,轉(zhuǎn)彎半徑為0,平臺繞M點原地旋轉(zhuǎn)。
1.2.2航姿推算定位法
雙輪差分驅(qū)動式移動機器人的運動分為直線模式和弧線模式兩種,本設計采用相對簡單的直線模型。離散化航姿推算定位法形式為:
式(6)中,(x,y)為機器人的坐標值,θ為機器人車身與 X軸之間的夾角,定義(xn-1,yn-1,θn-1)為上一時刻移動機器人的位姿,(xn,yn,θn)為當前機器人的位姿,θj為控制決策的轉(zhuǎn)向角度,△s為行駛步長。進一步分析,△s越小,定位效果越好,但是會造成系統(tǒng)計算量增大。需要根據(jù)機器人的行駛環(huán)境大小來設定△s。
定義終點坐標為 T(xT,yT),當前時刻機器人車身方向與目標點的夾角為△θn。將坐標軸平移到當前機器人坐標,則新坐標軸下終點的坐標為 T′(xT-xn,yT-yn),如圖3所示。計算新坐標中原點與T′之間的正弦和余弦值為:
對式(7)判斷符號后即可確定 θT所在的象限,再分別求反三角函數(shù)即可在[-180°,180°]范圍內(nèi)唯一確定 θT。最后將 θn減去 θT再確定到[-180°,180°]范圍,即可得出△θn值。
本文利用Matlab GUI設計人機交互方式的二維平面環(huán)境模型[5],可以設置移動機器人的行駛環(huán)境大小、起點和終點,通過文本設計方法再加鼠標設置可以繪制障礙物區(qū)域。利用文本設置的行駛環(huán)境大小、起點與終點設置,障礙物相對簡單。鼠標設置相對復雜,需要響應鼠標事件。當鼠標左鍵單擊白色坐標軸有效范圍時,系統(tǒng)響應單擊事件記下第一個點的坐標值,然后鼠標劃過一段區(qū)域后釋放,系統(tǒng)響應釋放事件記下第二個點坐標值。通過兩點坐標值即可唯一確定一個矩形障礙物。
本設計模擬超聲波的測距方案,對機器人正前、左 45°、右 45°三個方向進行距離檢測,如圖4所示。系統(tǒng)將機器人看作一個質(zhì)點,S0、S1、S2分別代表正前、左 45°、右 45°三個方向上的超聲波傳感器。
通過算法實現(xiàn)的機器人測距原理相對復雜,如圖5所示。首先確定出障礙物四個頂點,即 M1(xM1,yM1)、M2(xM2,yM2)、N1(xN1,yN1)、N2(xN2,yN2), 然 后 通 過 line 函 數(shù) 畫出矩形框,并對機器人質(zhì)點S的前方用line繪制一條直線并與障礙物相交。由于line函數(shù)屬于直線繪制,故射線與矩形框相交為A、B、C、D四個交點。當設置合理障礙物區(qū)域,即當交點橫坐標不屬于[xM1,xM2]范圍或者交點縱坐標不屬于[yN1,yM1]范圍時,系統(tǒng)定義該交點為無效點。因此,系統(tǒng)可排除C、D兩點。最后,運用兩點距離公式求出SA、SB的距離dSA、dSB,然后取兩者最小值即可得出機器人前方障礙物的距離信息d0,即d0=min(dSA,dSB)。利用相同方法也可得出機器人左45°和右45°的障礙物距離信息d1和d2。系統(tǒng)將三個距離信息值用一個向量 D 表示,即 D=[d0,d1,d2]。
圖5 機器人測距原理圖
Matlab提供了強大的模糊推理系統(tǒng)編輯器(Fuzzy),通過選擇、編輯界面中的選項和文本,即可生成移動機器人模糊控制系統(tǒng)[6]。將距離向量D和機器人車身方向與目標點的夾角Δθ作為輸入,將機器人轉(zhuǎn)向裝置控制量θj作為輸出,建立MISO模糊控制系統(tǒng)。
系統(tǒng)設置輸入隸屬函數(shù):
(1)將 d0、d1、d2分 為 N(近 )、M(中 )、L(遠 )三 個 模 糊集,隸屬函數(shù)形狀為梯形。
(2)車身與目標點的夾角 Δθ取 NZ、FZ,分別表示目標點位于小車左側(cè)和右側(cè),從而建立隸屬函數(shù):當Δθ≥0時,隸屬度為 FZ;當 Δθ<0時,隸屬度為 NZ。 其中 Δθ的范圍為[-180°,180°]。
轉(zhuǎn)向裝置控制量 θj的模糊集合?。篖L(左大轉(zhuǎn)彎)、LM(左 中 轉(zhuǎn) 彎)、LS(左 小 轉(zhuǎn) 彎)、Z(保 持)、RS(右 小 轉(zhuǎn) 彎)、RM(右中轉(zhuǎn)彎)和RL(右大轉(zhuǎn)彎)七檔,隸屬函數(shù)取三角形。
系統(tǒng)根據(jù)汽車駕駛經(jīng)驗制定了54條基于IF-THEN形式的模糊控制規(guī)則,并設置重心法為去模糊方式。當設定輸入 D=[37.9,47.7,135],Δθ=22.2°時,模糊系統(tǒng)首先觸發(fā)控制規(guī)則庫中的有效規(guī)則,并通過分析決策,推理出轉(zhuǎn)彎量3.29°。由于控制規(guī)則很多,這里只給出該情況下輸入、觸發(fā)的規(guī)則以及最后去模糊結(jié)果,如圖6所示。
本設計平臺對移動機器人的本身和行駛環(huán)境作如下假設:(1)車輪只能在地面上正常滾動,不發(fā)生側(cè)向滑動;(2)機器人在二維平面內(nèi)運動,運動表面平整。
對于隨機的未知環(huán)境,系統(tǒng)設置:X軸和Y軸的坐標顯示范圍為[-100,1000]。 起點 A(0,0),終點 B(900,900);機器人初始行駛角度為0;Δs為0.5。通過鼠標隨機繪制障礙物。點擊“運行”后,代替車體的半徑為8的圓點開始實現(xiàn)以目標點為向?qū)У谋苷闲袨椋@示出行為軌跡,結(jié)果如圖7所示。
圖8所示為機器人車身角度變化示意圖,對照圖7,移動機器人在行駛過程中車身角度隨障礙物的隨機分布而變化。為了程序計算方便,角度一律取弧度值。
本設計介紹了移動機器人的基本結(jié)構(gòu)和運動原理,并在此基礎上實現(xiàn)了基于Matlab GUI的移動機器人控制仿真平臺。將基于行為的模糊控制應用于機器人進行實時控制。仿真結(jié)果表明,移動機器人響應速度快,適應環(huán)境能力強,成功實現(xiàn)從起點到目標點的路徑規(guī)劃。
[1]QIN Guo Ping,YAO Wei,ZHANG Wei.Design of nonlinear optimization PID controller for BLDCM based on neurofuzzy identified model[C].Proceedings of the Eiqhth International conference.2005,2(27~29):1524-1527.
[2]張洪宇,徐昕,張鵬程,等.雙輪驅(qū)動移動機器人的學習控制器設計方法[J].計算機應用研究,2009,26(6):2310-2313.
[3]高揚,孫樹棟,黃偉峰.一種未知環(huán)境下的快速路徑規(guī)劃方法[J].計算機應用研究,2009,26(7):2623-2626.
[4]梁毓明,徐立鴻.移動機器人多傳感器測距系統(tǒng)研究與設計[J].計算機應用,2008,6(28):340-343.
[5]劉保龍,何波,王永清,等.移動機器人未知環(huán)境地圖構(gòu)建仿真平臺[J].系統(tǒng)仿真學報,2007,19(13):2940-2943.
[6]吳曉莉,林哲輝.Matlab輔助模糊系統(tǒng)設計[M].西安:西安電子科技大學出版社,2002.