楊小菊, 張 偉, 高宏偉, 米海山
(1.中國科學(xué)院 沈陽自動(dòng)化研究所 機(jī)器人學(xué)國家重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽 110016;2. 沈陽理工大學(xué) 自動(dòng)化與電氣工程學(xué)院,遼寧 沈陽 110168)
基于模糊控制的移動(dòng)機(jī)器人避障研究*
楊小菊1,2, 張 偉1, 高宏偉2, 米海山2
(1.中國科學(xué)院 沈陽自動(dòng)化研究所 機(jī)器人學(xué)國家重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽 110016;2. 沈陽理工大學(xué) 自動(dòng)化與電氣工程學(xué)院,遼寧 沈陽 110168)
針對(duì)移動(dòng)機(jī)器人在未知環(huán)境中的不確定性,利用Matlab構(gòu)建了多傳感器仿真試驗(yàn)移動(dòng)平臺(tái),在Simulink中搭建移動(dòng)機(jī)器人運(yùn)動(dòng)學(xué)模型,利用多傳感器采集環(huán)境中的障礙物信息與目標(biāo)物的方位角,設(shè)計(jì)了具有避障功能的模糊控制算法。通過模糊控制器控制移動(dòng)機(jī)器人的左右輪速度實(shí)現(xiàn)機(jī)器人的轉(zhuǎn)彎以及直走,根據(jù)機(jī)器人實(shí)時(shí)的角度反饋信息不斷修正機(jī)器人的位姿以精確避障。仿真實(shí)驗(yàn)驗(yàn)證了該方法的可行性及有效性。
移動(dòng)機(jī)器人; 多傳感器; 模糊控制; 避障
移動(dòng)機(jī)器人通過傳感器感知環(huán)境和自身狀態(tài),對(duì)復(fù)雜環(huán)境進(jìn)行自主分析、判斷和決策,實(shí)現(xiàn)面向目標(biāo)的自主運(yùn)動(dòng),從而完成一定作業(yè)功能的機(jī)器人系統(tǒng)[1]。傳感器采集的信息是移動(dòng)機(jī)器人感知的唯一來源,也是機(jī)器人理解環(huán)境從而執(zhí)行決策的依據(jù)。然而,環(huán)境信息往往是未知的。傳統(tǒng)的系統(tǒng)是靠單一傳感器完成信號(hào)采集,即使使用多種(多個(gè))傳感器也只能提供局部的孤立信息。多傳感器的出現(xiàn)使機(jī)器人從多層面,多角度、多方位充分理解環(huán)境信息,為機(jī)器人實(shí)時(shí)做出準(zhǔn)確的判斷和決策提供了有力的技術(shù)支撐。多傳感器信息融合充分利用傳感器信息的冗余、互補(bǔ)性以提高機(jī)器人的感知能力與智能水平。
移動(dòng)機(jī)器人最基本的智能行為就是避障[2],是機(jī)器人進(jìn)行決策規(guī)劃和運(yùn)動(dòng)控制等高級(jí)智能行為的基礎(chǔ),是在復(fù)雜環(huán)境或者未知環(huán)境中的完成各種任務(wù)的重要保障。因此,研究實(shí)時(shí)準(zhǔn)確避障也是當(dāng)前移動(dòng)機(jī)器人技術(shù)的難點(diǎn)與熱點(diǎn)。國內(nèi)外多傳感器信息融合的避障常用方法包括Bug算法[3]、人工勢(shì)場法[4]、矢量直方圖法[5]、遺傳算法[6]、模糊控制法[7]等。Bugz算法中沒有考慮機(jī)器人的動(dòng)力學(xué)。人工勢(shì)場法結(jié)構(gòu)簡單,便于低層的實(shí)時(shí)控制,但是存在局部最優(yōu)解的問題,因而可能使機(jī)器人在到達(dá)目標(biāo)點(diǎn)之前就停留在局部最優(yōu)點(diǎn),即死鎖現(xiàn)象。遺傳算法運(yùn)算速度不快,進(jìn)化要占據(jù)較大的運(yùn)算時(shí)間和存儲(chǔ)空間。車體移動(dòng)時(shí),周圍的環(huán)境動(dòng)態(tài)變化,移動(dòng)機(jī)器人作為時(shí)變的非線性復(fù)雜系統(tǒng),很難建立精確的數(shù)學(xué)模型,采用模糊控制方法能夠很好地解決這類問題[8]。
本文將模糊控制算法應(yīng)用于移動(dòng)機(jī)器人避障中,以模糊控制器控制機(jī)器人的速度,通過Matlab仿真驗(yàn)證了此方法的有效性。
1.1 移動(dòng)機(jī)器人的系統(tǒng)結(jié)構(gòu)
移動(dòng)機(jī)器人采用差速轉(zhuǎn)向式,利用兩后輪的差速驅(qū)動(dòng)實(shí)現(xiàn)軌跡的控制和姿態(tài)的調(diào)節(jié),系統(tǒng)結(jié)構(gòu)如圖1所示,移動(dòng)機(jī)器人的控制結(jié)構(gòu)分為三層結(jié)構(gòu)[9,10]:上層為傳感器層(超聲波、紅外與電子羅盤),完成環(huán)境信息的采集;中間為決策控制層,實(shí)現(xiàn)機(jī)器人系統(tǒng)的運(yùn)動(dòng)控制決策;下層為運(yùn)動(dòng)執(zhí)行層,由驅(qū)動(dòng)單元組成,完成機(jī)器人的轉(zhuǎn)彎和直走等操作。
圖1 移動(dòng)機(jī)器人的系統(tǒng)結(jié)構(gòu)圖
針對(duì)機(jī)器人在復(fù)雜環(huán)境中執(zhí)行避障任務(wù),在移動(dòng)機(jī)器人本體的左、前、右三個(gè)方向分別安裝兩超聲波傳感器獲取未知環(huán)境的障礙物距離信息,紅外傳感器來彌補(bǔ)超聲波測距的缺陷,用于緊急避障,電子羅盤實(shí)時(shí)獲取機(jī)器人與目標(biāo)物的方位角。傳感器的整體布局如圖2所示,1~6數(shù)字表示機(jī)器人本體上的6個(gè)超聲波編號(hào),1#與2#超聲波組成機(jī)器人左方障礙物的測距組,3#與4#為前方的測距組,5#與6#組成右方的測距組。
圖2 傳感器的布局系統(tǒng)圖
1.2 移動(dòng)機(jī)器人的運(yùn)動(dòng)學(xué)模型
由移動(dòng)機(jī)器人的運(yùn)動(dòng)學(xué)模型[11]可知,移動(dòng)機(jī)器人在任意時(shí)刻都是繞車體轉(zhuǎn)動(dòng)。假設(shè)移動(dòng)機(jī)器人只作純滾動(dòng)而不滑動(dòng)。圖3為移動(dòng)機(jī)器人的運(yùn)動(dòng)模型,其中XOY為移動(dòng)機(jī)器人的全局坐標(biāo)系。
圖3 移動(dòng)機(jī)器人的運(yùn)動(dòng)模型
移動(dòng)機(jī)器人位姿可以表示為
P=(x,y,θ)T
(1)
式中x,y為機(jī)器人在XOY平面的位置坐標(biāo),θ為移動(dòng)機(jī)器人的轉(zhuǎn)向角,即移動(dòng)機(jī)器人的航向與全局坐標(biāo)系X軸之間的夾角。移動(dòng)機(jī)器人所受的純滾動(dòng)和無滑動(dòng)約束條件可以表示為
(2)
運(yùn)動(dòng)學(xué)模型
(3)
式中 v為移動(dòng)機(jī)器人質(zhì)心的線速度,ω為其角速度,L是兩輪中心之間的距離。vL,vR分別為移動(dòng)機(jī)器人左、右輪線速度,則
(4)
由公式分析可知:當(dāng)vL=vR時(shí),ω為零,機(jī)器人做直線運(yùn)動(dòng);當(dāng)vL>vR時(shí)機(jī)器人右轉(zhuǎn)彎;當(dāng)vL
(5)
式中 x(k),y(k)與v(k)為k時(shí)刻的坐標(biāo)與速度。
2.1 移動(dòng)機(jī)器人避障控制模型
在未知環(huán)境中,障礙物大多分布雜亂無章。機(jī)器人很難快速充分地理解環(huán)境信息。因此需要對(duì)機(jī)器人周圍的障礙物進(jìn)行分類處理,以加快機(jī)器人做出避障決策。障礙物的環(huán)境分類如圖4所示,其中小球表示障礙物,機(jī)器人周圍的虛線表示傳感器測距范圍。
圖4 障礙物的環(huán)境分類
根據(jù)障礙物的分布,可以將機(jī)器人與障礙物的相對(duì)位置信息分為圖4所示8種情況。若左方傳感器采集的距離信息在設(shè)定測距范圍,而其他方向的傳感器采集數(shù)值在測距范圍外,則認(rèn)為機(jī)器人左方有障礙物,機(jī)器人就向右轉(zhuǎn)一個(gè)角度。若前方與側(cè)面的測量距離都在避障范圍內(nèi),就要綜合考慮各個(gè)傳感器的信息做出更合理的避障決策。
移動(dòng)機(jī)器人避障的決策取決于障礙物的分布,在Matlab仿真環(huán)境中,需要模擬機(jī)器人的傳感器分布,因此,將機(jī)器人前方視線范圍劃分為左、前與右方三個(gè)區(qū)域,以判斷障礙物的具體位置。圖5為目標(biāo)方向分區(qū)圖。
圖5 目標(biāo)方向
為了使移動(dòng)機(jī)器人靈活、精確避障,順利到達(dá)目標(biāo)位置。首先將超聲波與紅外傳感器采集的信息進(jìn)行分組預(yù)處理,距離信息和電子羅盤獲取的目標(biāo)角度信息送入模糊控制器,模糊算法融合出環(huán)境障礙物;然后根據(jù)控制規(guī)則發(fā)出執(zhí)行命令,由運(yùn)動(dòng)執(zhí)行層實(shí)現(xiàn)機(jī)器人的位置調(diào)整;最后將機(jī)器人的角度實(shí)時(shí)反饋給控制器以精確地完成避障動(dòng)作。移動(dòng)機(jī)器人避障控制結(jié)構(gòu)如圖6所示。
圖6 移動(dòng)機(jī)器人避障的模糊控制結(jié)構(gòu)
2.2 模糊控制器的設(shè)計(jì)
此前,許多學(xué)者已對(duì)模糊控制進(jìn)行深入研究,將多傳感器采集的信息直接作為模糊控制器的輸入,隨著傳感器維數(shù)的增加,分割數(shù)越多,控制規(guī)則就成倍增加,從而影響機(jī)器人的實(shí)時(shí)性。因此對(duì)傳感器信息分組處理,提取最有效的特征作為模糊控制的輸入。
模糊控制器設(shè)計(jì)為多輸入/多輸出系統(tǒng)(4輸入/2輸出),將移動(dòng)機(jī)器人前方180°范圍的左方、前方和右方的超聲波和紅外傳感器采集的障礙物距離(LD,FD,RD)以及電子羅盤獲取的目標(biāo)方位角(angle)作為模糊控制器的輸入,移動(dòng)機(jī)器人的左右輪速度(left_V,right_V)作為控制器的輸出。為了減少系統(tǒng)過多的輸入而增加復(fù)雜性,取LD為機(jī)器人左方測量的障礙物最近距離,即LD=min(1,2)。同理FD為前方的障礙物最近距離,F(xiàn)D=min(3,4),RD=min(5,6)。
由于模糊分割數(shù)與模糊控制規(guī)則緊密相關(guān),模糊分割數(shù)太多或太少都將影響機(jī)器人的避障性能??紤]到實(shí)驗(yàn)環(huán)境和超聲波測距性能,將輸入變量LD,FD,RD的模糊語言變量定義為{“近”,“中”,“遠(yuǎn)”}={“N”,“M”,“F”},障礙物論域[0~4.5]m。前、左、右任意方向的超聲波出現(xiàn)測量盲區(qū)時(shí),障礙物的距離以該方向的紅外傳感器信息作為輸入。Angle的模糊語言變量為{“左”,“前”,“右”}={“Z”,“Q”,“Y”},論域?yàn)閇0,180°]。輸出變量left_V與right_V的值為{-200,-100,0,100,200}={“NB”,“NS”,“Z”,“ZS”,“ZB”}。由于高斯型隸屬度函數(shù)曲線較為平滑,使系統(tǒng)有較好的準(zhǔn)確性和簡潔性,所以本文的隸屬度函數(shù)采用高斯型。圖7(a)為左方LD距離的隸屬度函數(shù)曲線。同理前方和右方有同樣的隸屬度曲線。目標(biāo)角度的隸屬度函數(shù)曲線和左右輪速度隸屬度曲線如圖7(b)和(c)所示。
圖7 障礙物距離、目標(biāo)角度和速度隸屬度
為了形象直觀地觀察控制效果,可以查看模糊控制規(guī)則的三維觀測圖,如8所示,其中(a)為輸入前方距離RD與左方距離LD,輸出left_V的曲面圖,圖(b)為輸入LD與Angle,輸出right_V的曲面圖。
圖8 模糊控制的三維觀測圖
本文的模糊推理采用Mamdani的max-min合成法,反模糊化采用面積中心法[12]。模糊規(guī)則是模糊控制的核心,采用IF-THEN條件語言,組成N=3×3×3×5=135條模糊控制規(guī)則。以機(jī)器人的右側(cè)具有障礙物為例,即圖4的第4類障礙物分布所示,可以建立如下6條模糊控制規(guī)則:1)IF RD=N AND Angle=Z THEN left_V=NB AND right_V=PB;2)IF RD=N AND Angle=Q THEN left_V=PB AND right_V=PB;3)IF RD=N AND Angle=Y THEN left_V=PB AND right_V=NB;4)IF RD=M AND Angle=Z THEN left_V=Z AND right_V=PB;5)IF RD=M AND Angle=Q THEN left_V=PB AND right_V=PB;6)IF RD=M AND Angle=Y THEN left_V=PS AND right_V=PS;
首先在Matlab的m文件中設(shè)定機(jī)器人的起始位置、目標(biāo)位置和隨機(jī)分布的障礙物。先計(jì)算機(jī)器人與目標(biāo)物的角度Angle,在設(shè)定測距范圍內(nèi),計(jì)算障礙物與機(jī)器人的角度并逐一與目標(biāo)角度比較,當(dāng)障礙物角度大于Angle時(shí),則認(rèn)為障礙物在機(jī)器人的左方,等于Angle則可以確定障礙物在機(jī)器人的前方,小于Angle就認(rèn)為障礙物在機(jī)器人的右方。然后分別在左方、前方與右方區(qū)域計(jì)算離機(jī)器人最近的距離作為左、前和右方的障礙距離。鑒于Simulink具有直觀、方便高效等特點(diǎn),利用Simulink的模塊搭建移動(dòng)機(jī)器人運(yùn)動(dòng)模型并建立模糊控制器。將m文件中實(shí)時(shí)計(jì)算的障礙物距離和機(jī)器人與目標(biāo)物體的角度信息送入Simulink的模糊控制器,控制器輸出機(jī)器人的左右輪速度,基于機(jī)器人的運(yùn)動(dòng)學(xué)原理轉(zhuǎn)換成當(dāng)前的位置坐標(biāo)。即用sim函數(shù)將m文件與Simulink建立連接,并配置好仿真時(shí)間,使m文件與Simulink實(shí)時(shí)通信。Simulink的運(yùn)動(dòng)學(xué)模型圖9所示。
圖9 Simulink的運(yùn)動(dòng)學(xué)模型
經(jīng)過多次仿真,不斷調(diào)整各個(gè)模塊的參數(shù),最后將仿真數(shù)據(jù)整理并執(zhí)行畫圖功能,得到移動(dòng)機(jī)器人的避障仿真結(jié)果如圖10所示。
圖10 機(jī)器人避障仿真結(jié)果
本文基于模糊控制算法實(shí)現(xiàn)移動(dòng)機(jī)器人的避障任務(wù),仿真實(shí)驗(yàn)結(jié)果表明,模糊控制算法解決非線性系統(tǒng)的優(yōu)勢(shì)。在簡單的環(huán)境中,移動(dòng)機(jī)器人可以靈活、準(zhǔn)確避開障礙物,到達(dá)目標(biāo)點(diǎn),滿足機(jī)器人避障需求。但是,在障礙物形狀不規(guī)則且分布復(fù)雜時(shí),機(jī)器人容易靠近障礙物,造成避障失敗。因此,還需進(jìn)一步改進(jìn)避障算法,下一步將考慮將多種算法集成[13]使用并在移動(dòng)平臺(tái)上進(jìn)行實(shí)物驗(yàn)證,比如將神經(jīng)網(wǎng)絡(luò)與模糊控制結(jié)合,充分利用各自的優(yōu)點(diǎn),使機(jī)器人做出更靈活、更優(yōu)越的規(guī)劃。
[1] 倪小雷,卜佳俊.自主移動(dòng)機(jī)器人混合式體系結(jié)構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2006,14(11):1526-1528.
[2] Mahler R.Random sets:Unification and computation for information fusion—A retrospective assessment[C]∥The 7th International Conference on Information Fusion,Stockholm,Sweden:Swedish Defence Research Agency,2004:1-20.
[3] Lumelsky V,Skewis T.Incorporating range sensing in the robot navigation function[J].IEEE Transactions on Systems,Man,and Cybernetics,1990,20(5):1058-1068.
[4] Koren Y,Borenstein J.Potential field methods and their inherent limitations for mobile robot navigation[C]∥IEEE Conference on Robotics and Automation, California,1991:1398-1404.
[5] Borenstein J,Koren Y.The vector field histogram-fast obstacle avoidance for mobile robots[J].IEEE Transactions on Robotics and Automation,1991(7):278-288.
[6] 孫樹棟,林 茂.基于遺傳算法的多移動(dòng)機(jī)器人協(xié)調(diào)路徑規(guī)劃[J].自動(dòng)化學(xué)報(bào),2000,26(5):672-676.
[7] Malhotra R,Sarkar A.Development of a fuzzy logic based mobile robot for dynamic obstacle avoidance and goal acquisition in an unstructured environment[C]∥Proceedings of the 2005 IEEE/ASME International Conference on Advanced Intelligent Mechatronics Monterey,California,USA,2005:1198-1203.
[8] 趙曉光,戴 炬,趙經(jīng)綸.ROV模糊控制導(dǎo)航方法[J].信息與控制,2002(1):55-58.
[9] Araujo R,Almeida A T D.Learning sensor-based navigation of a real mobile robot in unknown worlds[J].IEEE Transactions on Systems Man and Cybernetics,Part B:Cybernetics A Publication of the IEEE Systems Man and Cybernetics Society,1999,29(2):164-178.
[10] 師 黎,陳鐵軍,李曉媛,等.智能控制理論及應(yīng)用[M].北京:清華大學(xué)出版社,2009:34-67.
[11] 席愛民.模糊控制技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.
[12] 黃漫國,樊尚春,鄭德智,等.多傳感器數(shù)據(jù)融合技術(shù)研究進(jìn)展[J].傳感器與微系統(tǒng),2010,29(3):5-8.
Study on obstacle avoidance of mobile robot based on fuzzy control*
YANG Xiao-ju1,2, ZHANG Wei1, GAO Hong-wei2, MI Hai-shan2
(1.State Key Laboratory of Robotics,Shenyang Institute of Automation,Chinese Academy of Sciences,Shenyang 110016,China; 2.College of Automation and Electrical Engineering,Shenyang Ligong University,Shenyang 110168,China)
Aimed at uncertainty of mobile robot in unknown environment,multi-sensor simulation test mobile platform is constructed with Matlab and the kinematics model for mobile robot is built in Simulink.The obstacle information of environment and azimuth angle of target object are collected by multi-sensor and the fuzzy control algorithm which has the function of obstacle avoidance is designed.Fuzzy controller controls wheel speed of mobile robot to turn around and go straight,according to the angle of real-time feedback information to modify the pose of the robot and then avoid obstacles precisely.The results of simulation experiment verify feasibility and effectiveness of this method.
mobile robot; multi-sensor; fuzzy control; obstacle avoidance
10.13873/J.1000—9787(2017)03—0051—04
2016—04—21
國家自然科學(xué)基金青年科學(xué)基金資助項(xiàng)目(51505470)
TP 273.4
A
1000—9787(2017)03—0051—04
楊小菊(1989-),女,碩士研究生,主要研究方向?yàn)橐苿?dòng)機(jī)器人的多傳感器信息融合方法。
張 偉(1979-),通訊作者,博士,副研究員,從事故障診斷、機(jī)器人等方面的研究工作,E-mail:zhangwei@sia.cn。