熊長煒 陳彥勤 梅陽寒
摘 要:本文通過使用多傳感器采集機器人周圍環境信息并進行對信息進行了融合處理,確定了控制系統的輸入輸出,根據模糊推理將信息模糊化處理,設計了模糊控制器,以已達到對機器人的合理避障控制。通過Matlab軟件進行了仿真,得到連續平滑且穩定的機器人運動路徑,表明了設計的可行性。
關鍵詞:機器人;避障;信息融合;模糊控制
DOI:10.16640/j.cnki.37-1222/t.2019.07.121
1 引言
機器人是通過各種傳感器獲取周圍環境信息以及自身的狀態,然后對各種環境狀態數據進行分析、判斷和做出相應的決策,設計出相應的自身運動參數,控制機器人向目的地自主運動。機器人獲得周圍環境的信息很多,需要將大量信息進行融合,減少計算量,提高運動控制時效性。近些年來,卡爾曼濾波、貝葉斯理論、人工神經網絡和模糊集合理論等人工智能方法都應用于多傳感器信息融合技術[1]。本文中機器人通過超聲波傳感器獲得信息,采用模糊控制進行信息融合算法,經過模糊推理控制機器人在位置環境下避開障礙物,經MATLAB仿真實驗,驗證了算法的合理性和時效性。
2 信息融合算法設計
為使機器人在移動中能夠快速和準確地避開障礙物,需要機器人獲得障礙物的距離、位置和形狀信息。機器人上安裝超聲波傳感器和CCD攝像機,并利用超聲波傳感器探測的距離信息[2]和CCD云臺攝像機獲得的視覺信息能夠獲得機器人移動中所需的外部環境信息。本文采用的移動機器人避障控制模型如圖1所示。
機器人在行走過程中能夠根據外部超聲波傳感器的信息和其自身的運動狀態來修正運動位姿,并進行運動參數或狀態的改變進而改變運動的速度和角度,完成避障的功能。
2.1 輸入與輸出量
在模糊神經網絡控制器的設計當中,重要的是控制算法的設計。基于控制要求,本項目設計的模糊神經網絡控制器有5個輸入和2個輸出。控制器設定的5個輸入量為dl、dc、dr、emin和Φ,(dl、dc、dr和emin的意義見傳感器的數據分組與預處理)。2個輸出為左輪的速度L-V和右輪的速度R-V;Φ表示機器人的目標角度,當機器人轉向為右時,定義為正;當機器人轉向為左時,則定義為負。
2.2 傳感器的數據分組與預處理
采用多傳感器來可以更多地獲取機器人環境信息,將大量信息融合技術具有許多優點。但是,采用多傳感器信息融合技術時,如果不進行一定的限制,將會大大增加機器人的計算工作量,降低了移動機器人運動控制的實時性。為減少數據的計算量,在具體問題中,往往不是對所有的傳感器信息進行融合,而是采用傳感器分組的方法,這樣可以減少融合過程中的計算量。為了有效地融合來源于多傳感器的信息,本文采用不同的方法對來源于超聲波傳感器和CCD攝像機的原始信息進行預處理。對超聲波傳感器的信息,采取對傳感器數據進行分組的方法;根據超聲波傳感器的測量數據,可以得到5個探測數據,將這5個數據分為三組,令dl(d1,d2)為左側超聲波傳感器,dr(d4,d5)為右側超聲波傳感器,dc(d2)中軸線如圖2所示中間前方超聲波傳感器。
對CCD攝像機采集的視覺信息進行如下處理:用圖像灰度化、平滑、二值化等圖像預處理以及基于梯形域的自底向上的檢測方法得到物體的左右邊緣在圖像坐標系中成像對應的坐標信息el、er;然后將el、er中距離圖像水平方向上中軸線更近的量的值賦給emin,再根據計算機圖像坐標系與車體坐標系之間的轉換公式,求出emin所對應的車體坐標系下X軸的坐標值,這樣就可以得到障礙物的左右邊緣在車體坐標系中距離車體中軸線最近的邊緣所對應的X軸坐標.相應的,可得到障礙物左、右邊緣距離移動機器人中軸線最近邊緣的距離emin,如圖3所示。
2.3 模糊控制規則
根據模糊控制原理,將超聲波傳感器和CCD傳感器的采集到信息作為模糊控制器的輸入,由于傳感器數量較多,輸入信息的維數增加,模糊控制規則也會成倍地增加,運算時間就會變長,影響了控制器的實時性。因此對輸入的傳感器信息進行分組處理,獲得數量較少而且最有效的信息作為輸入信息。此模糊控制器是多輸入多輸出系統,機器人前方180°范圍內的左前方、右前方、正前方超聲波傳感器獲得障礙物距離和障礙物到機器人中軸線最近距離及目的地的方位角作為輸入信息,機器人的左右輪的速度作為控制器的輸出。
我們在Matlab的里面設定了機器人的開始位置、目標位置和隨機設置的障礙物,通過以機器人與目標位置為目標角度,計算獲得障礙物的角度;當障礙物角度>目標角度時,定義為障礙物在機器人的右方;當障礙物角度<目標角度時,定義為障礙物在機器人的左方;當障礙物在目標點左側較遠時,機器人不轉變運動方向;當障礙物在目標點右側較遠時,機器人不轉變運動方向;當障礙物在目標點左側較較近時,機器人向右轉變方向;當障礙物在目標點右側較遠時,機器人向左轉變方向;當障礙物在目標點前方較近時,分析障礙物左右側距離機器人的邊緣信息,參照目標角度,控制器決策機器人轉動方向;當障礙物距離機器人較遠時,機器人以快速行駛;反之,機器人以中速和慢速行駛。機器人的轉向是通過左右輪速度的改變控制的,同時速度的變化能夠控制機器人運動的時效性。
2.4 輸入輸出語言描述
根據模糊控制原理,使用連續論域對輸入輸出量進行模糊化處理。
中間正前方的距離CD(Center distance)的模糊語言變量為{VB,B,M,S,VS}={Very Big, Big, Middle, Small, Very Small},論域為[0,3],表示0~3m。定義機器人的安全距離為1 m。
左前方的距離LD(Left distance)的模糊語言變量為{LVB,LB,LM,LS,LVS}={L Very Big, L Big, L Middle, L Small, L Very Small},論域為[0,2],表示0~2m。定義機器人運動的左側安全距離為0.6m。
右前方的距離RD(Right distance)的模糊語言變量為{RVB,RB,RM,RS,RVS}={R Very Big, R Big, R Middle, R Small, R Very Small},論域為[0,2],表示0~2m。定義機器人運動的右安全距離為0.6m。
機器人的障礙物角度Φ的模糊語言變量為{N,Z,P}={Negative, Zero, Positive},論域為[-60,+60],表示左右60°角。當轉動障礙物角度Φ在左方的-30°與右方的+30°之間時為Z(正前方),當障礙物角度Φ大于右方+30°且小于+60°時為P(右),當障礙物角度Φ大于右方-60°且小于-30°時為N(左)。
障礙物左、右邊緣距離機器人中軸線最近邊緣的距離E的模糊語言變量為{EB,EM,ERS}={E Big, E Middle, E Small},論域為[0,1],表示0~1m。定義機器人運動的右安全距離為0.4m。
機器人的左輪速度L-V的模糊語言變量為{F,M,L}={Fast, Middle, Slow},論域為[0,0.3],表示0~0.3m/s。機器人的右輪速度R-V的模糊語言變量為{F,M,L}={Fast, Middle, Slow},論域為[0,0.3],表示0~0.3m/s。
各個輸入輸出變量隸屬函數如圖4所示。
根據人類獲取環境信息和駕駛經驗,采用了Mamdani型模糊推理制定出模糊控制規則;采用了IF-THEN條件語言,結合本文中設計共有1125條規則。
3 仿真實驗及結論
本文在Matlab軟件中的FuzzyLogic工具箱中建立模糊控制系統,利用Simulink建立仿真模型,利用GUIDE設計機器人仿真界面。設置了環境信息、運動區域及其障礙物信息,然后進行仿真實驗。本文設置不同形狀的障礙物,擺放位置松散凌亂,可以更好地檢驗模糊控制的合理性和有效性。
從圖5仿真結果中可以得出,機器人避障的路線連續一致性好而且平滑穩定。
本文對通過多信息傳感器融合處理對機器人的避障運動路線設計研究,采用了模糊控制算法對機器人進行有效的運動控制,使其在復雜環境下能夠安全運行。
參考文獻:
[1]馬平,呂鋒,杜海蓮.多傳感器信息融合基本原理及應用[J].控制工程,2006,13(09):48-51.
[2] 陳紹茹,陳奕梅.基于多傳感器信息融合的移動機器人避障[D].傳感器與微系統,2014,33(05):35-38.
基金項目:2017年東莞市社會科技發展項目,項目名稱:基于多傳感器信息融合的微型機器人關鍵技術研究;項目編號:2017507156400。
作者簡介:熊長煒(1982-),男,河南信陽人,碩士研究生,教師,研究方向:產品數字化設計與制造、機器視覺技術和機電控制技術。
*為通訊作者