梁爽,曹其新,王雯珊,鄒風山
(1.上海交通大學 機器人研究所,上海 200240; 2.新松機器人有限公司 中央研究院,遼寧 沈陽110000)
?
基于強化學習的多定位組件自動選擇方法
梁爽1,曹其新1,王雯珊1,鄒風山2
(1.上海交通大學 機器人研究所,上海 200240; 2.新松機器人有限公司 中央研究院,遼寧 沈陽110000)
摘要:在一個大規模的動態環境中,針對機器人各種定位傳感器的局限性,提出了一種基于強化學習的定位組件自動選擇方法。系統采用分布式架構,將機器人不同的定位傳感器與定位方法封裝為不同的組件。采用強化學習的方法,尋找最優策略,實現多定位組件的實時切換。仿真結果表明,該方法可以解決大型環境中,單一定位方法不能適用于整個環境的問題,能夠依靠多定位組件提供可靠的機器人定位信息;環境發生改變時,通過學習的方法不需要重新配置組件,且與直接遍歷組件后切換組件的方法相比,極大地減小了延時。
關鍵詞:移動機器人;定位;強化學習;中間件:Monte Carlo方法;多傳感器;模塊化;分布式系統
中文引用格式:梁爽,曹其新,王雯珊,等. 基于強化學習的多定位組件自動選擇方法[J]. 智能系統學報, 2016, 11(2): 149-154.
英文引用格式:LIANG Shuang, CAO Qixin, WANG Wenshan, et al. An automatic switching method for multiple location components based on reinforcement learning[J]. CAAI transactions on intelligent systems, 2016, 11(2): 149-154.
定位是移動機器人最重要的功能之一,其目的在于確定機器人在環境中的位置。定位是指利用先驗環境地圖信息、機器人位姿的當前估計與傳感器獲取的觀測值,經過一系列的處理和轉換,產生更加準確的對機器人當前位姿的估計[1]。機器人的定位方式與機器人使用的傳感器有關。目前, 在移動機器人上使用較多的傳感器有里程計、攝像頭、激光雷達、超聲波等。不同的傳感器有不同的優缺點,如視覺傳感器信息量大、感應時間短,但獲得的數據噪聲大、信息處理時間長,且定位目標容易受背景與光照條件的影響[2];激光傳感器在測距范圍和方向上具有較高的精度,但價格昂貴;超聲波傳感器處理信息簡單、成本低、速度快,但角度分辨力較低。各定位方法一般都有特定的工作環境要求,單一的定位方法很難適用于大規模動態環境。為了提高機器人的定位精度,常常采用多個傳感器結合的方式。本文提出一種模塊化開發的架構,將幾個不同的定位系統模塊化,采用強化學習方法,通過對系統的試錯-獎勵尋找最優策略,從而在動態環境中自動選擇可靠的定位模塊,不同的定位模塊之間可以動態地切換、自由組合,以彌補各自的不足。
1組件化系統架構
本文采用RT中間件技術,將機器人各個功能模塊及相應的算法封裝成不同的RT組件。RT中間件通過將不同的機器人組件連接起來,從而構建組件分布式的系統以增強機器人系統的靈活性與軟件的重用性[3]。RT中間件根據生命周期來定義RT組件的動作,如圖1所示,RT組件在被創建、未激活、激活、錯誤幾個狀態間切換,通過執行不同的狀態對應的功能函數,來實現組件的功能。系統的每個組件都有輸入與輸出端口,用以和其他組件進行數據傳輸。

圖1 RT組件的結構Fig.1 RT-Component Architecture
本文創建7個組件:室內攝像頭定位組件、走廊攝像頭定位組件、室外攝像頭定位組件、激光傳感器定位組件、定位選擇組件、電機驅動組件與機器人導航組件,各組件之間通過組件接口進行數據傳輸。分布式的機器人系統如圖2所示,機器人本體安裝有一個激光傳感器,環境中分布安裝有個環境攝像頭,每個傳感器模塊及算法都采用中間件技術進行封裝,保證各個傳感器組件之間無影響,定位選擇組件的輸入接口可以連接到不同定位組件輸出接口,從而選擇相應的定位組件。

圖2 模塊化的機器人系統Fig.2 Modular robotic system
1.1基于激光測距儀的定位方法
激光測距儀是一種高精度、高解析度外部傳感器[5]。本文使用激光測距儀感知機器人所處的環境信息,采用MCL (Monte Carlo localization)定位方法,并使用ROS( robot operating system) 中的AMCL包完成基于激光測距儀的定位[6]。
MCL方法是一種基于貝葉斯濾波的概率估計自定位方法。它使用一系列帶有權值的粒子來表示機器人在運行環境中的可能位置。權值越大意味著粒子代表的位置與機器人實際位置的匹配程度越高。MCL算法首先根據機器人當前的運動狀態,對代表機器人位置的粒子進行移動,由里程計運動信息ut-1和前一時刻的機器人位姿lt-1=(xt-1,yt-1,θt-1)估計次粒子的位置;之后根據當前位置傳感器得到的測量信息zt計算粒子權值;接著更新粒子分布,根據粒子權值的大小來復制粒子,權值較小的粒子即被篩除。最后根據粒子的權值及其分布情況來計算機器人的位置,在粒子最集中的地方,選取權值最大的粒子作為機器人的位置估計[7]。從而得到當前位置的估計值(x,y,z)與相應的協方差矩陣C:

(1)
二維平面中cov(x,x)、cov(y,y)分別代表x與y方向上的方差。
1.2基于環境攝像頭的定位方法
機器人在攝像頭視野內運動時,可由攝像頭得到機器人的位置信息,本文采用顏色跟蹤的方法,用CamShift算法實現機器人跟蹤定位。CamShift跟蹤算法是以顏色直方圖為目標模式的目標跟蹤算法,它具有較高的運算效率[8]。它的基本思想是首先建立起被跟蹤目標位置的顏色概率模型。選擇出示搜索窗口的大小和位置后,統計出該區域內每個像素點的直方圖,再將此直方圖作為概率查找表。在目標跟蹤的過程中,針對攝像頭所得圖像的每一個像素,查找生成的概率查找表,從而將視頻圖像轉化為目標顏色概率分布圖,同時用當前幀定位的結果來預測下一幀圖像中目標的中心和大小。
對得到的結果進行卡爾曼濾波,同樣得到當前位置的估計值(x,y,z)與相應的協方差矩陣C。
2基于MonteCarlo的強化學習算法
強化學習是一種基于試錯機制的學習方法。所謂強化學習就是智能系統從環境到行為映射的學習,以使動作累積得到的獎勵信號值最大,從而尋找到一個最優策略。強化學習并不直接告訴強化學習系統該如何產生正確或最優的動作,而是依靠自身的經歷學習,通過學習,在行動的環境中獲得知識,改進行動方案以適應環境[9]。


圖3 強化學習的結構Fig.3 The structure of reinforcement learning
MonteCarlo方法是通過估計值函數來學習的一種常用的強化學習算法,與其他方法相比,它不需要環境的完整模型,只需要與環境在線或者仿真下交互得到的狀態、動作和獎勵的采樣序列。MonteCarlo的具體算法如下[11]:
2)初始化移動機器人的狀態;
3)根據狀態信息與π(s),生成一個動作;
4)執行動作使機器人到達一個新的位置,同時獲得相應的獎勵值,并添加到Returns(s,a);
7)重復3)~6)。
3基于強化學習的定位組件選擇方法
由于不同環境下不同定位組件的定位效果不同,需要在不同的定位方法間動態地切換、自由組合,來彌補各自的不足。例如走廊上由于幾何特征不豐富,因此激光定位效果不佳,需要切換為走廊環境攝像頭定位。
現有的方法采用簡單直觀的貪心思想,即總是選擇可靠度最高的那個組件[12]。由于在線切換需要遍歷所有定位組件,效率低下。網絡可能存在較大延遲,每連接一個組件需要幾百毫秒甚至兩三秒的時間。在大規模環境中在線切換算法會造成很大的延遲。同時離線配置每個組件的定位范圍,工作量大,不能適應動態情況。離線配置需要各組件在不同區域的定位精度有一個可靠的估計,在定位組件眾多、環境復雜的情況下很難配置。因此當環境改變,例如移動家具,光線條件變化等,組件定位效果會發生變化,造成離線設定的失敗。
為了更加縮短組件間的切換時間,同時實現機器人的智能化,本文提出了一種基于強化學習的定位組件自動選擇方法,不用手動設定各組件的定位范圍,而是讓機器人在環境中運動一段時間,自己找出最優的定位方案。
3.1機器人狀態與動作空間的描述

3.2強化信號的確定
協方差矩陣可以用來判斷定位信息是否可靠,本文通過設定閾值的方法來判斷定位是否有效。定位方差過大,此時組件定位無效,令獎懲函數R(s,a)表示在狀態s下執行動作a后獲得的獎懲值,此時R(s,a)返回-5。若定位方差較小,說明切換到有效的定位組件,則R(s,a)返回0。
期望函數Q(s,a)=E(∑R(si,ai))表示在狀態s下執行動作a的獎懲值的期望。策略πa(s)表示采取的一系列動作的集合,在強化學習收斂以后,最優策略π*(s)就是針對每一個狀態s,選擇一個使Q函數值最大的動作a。
在選擇定位組件問題中,初始時可以使用一個隨機選擇的策略。機器人在環境中按照當前策略運行,運行一段時間后即根據獎勵和懲罰,修改選擇策略,使得獎勵值的期望值最大化,策略將收斂到最優策略。
4仿真與實驗結果
為了驗證本方案,在MATLAB平臺上進行了仿真實驗。仿真環境中選用了兩種傳感器:激光傳感器和攝像頭傳感器,其中激光傳感器在特征點較多的房間內定位精度較高,而在特征點較為相似的走廊中定位精度很差;由于攝像頭定位能力局限于其安裝位置,因此3個攝像頭有3個不同的有效定位區域:室內攝像頭區域、走廊攝像頭區域、室外攝像頭區域。圖4中的4幅圖代表了不同傳感器的有效定位區域,黑色部分代表本傳感器的無效定位區域。
實驗中,設置機器人的起始位置后,系統隨機選擇房間中的一點作為機器人的目標點,機器人通過強化學習算法判斷所經過的區域內選擇何種傳感器可以保證最優策略。實驗測試了選取不同迭代次數時本算法所得到的結果。
圖5所示為不同迭代次數下,本算法對于定位組件的選擇,橫坐標與縱坐標分別代表機器人所處位置的橫坐標與縱坐標,不同灰度的方塊代表當前位置本算法所選擇的定位組件。可以看到,迭代次數越大,定位方法的選擇越符合最優策略,當迭代次數為50 000時,與圖4對比可看出,不同組件所在的位置都處于組件的有效定位區域內,此時系統可以自動地切換到有效的定位組件。

圖4 環境內各傳感器的有效定位區域Fig.4 Effective area of each sensor in the environment

圖5 迭代次數分別為1、10、100、1 000、10 000、50 000時本算法對定位區域的選擇Fig.5 The choice of localization components when the iterations is 1, 10, 100, 1 000, 10 000, 50 000
為了測試系統的魯棒性,將室內環境進行了小范圍改變,使得激光有效定位區域發生了改變,此時各傳感器的有效區域如圖6所示。不同迭代次數時,本算法對于定位組件的選擇如圖7所示。

圖6 環境改變后各傳感器的有效定位區域Fig.6 Effective area of each sensor when the environment is changed

圖7 迭代次數分別為1、10、100、1 000、10 000、50 000時本算法對定位區域的選擇Fig.7 The choice of localization components when the iterations is 1, 10, 100, 1 000, 10 000, 50 000
與圖6對比可以看到,在環境特征發生改變的區域內(左上角部分),機器人可以通過學習,將定位組件更改為有效的室內攝像頭,提高了系統的魯棒性。
將仿真中收斂后的結果在機器人上進行了測試,測試結果如圖8所示,當機器人位于室內(室內攝像頭視野外和室內攝像頭視野內)、室外、走廊中時,機器人定位選擇組件可以正確地切換到相應的定位組件。

圖8 實際環境中不同位置機器人定位組件的選擇Fig.8 The selection of localization component in different positions
5結束語
本文提出了一種基于強化學習的大規模動態環境中多定位組件自動選擇方法,實驗結果表明移動機器人到達未知環境時,在環境中運行一段時間后,可以成功地根據所處的環境切換到較為可靠的傳感器。通過強化學習的方法,機器人在選擇定位組件的時候,直接查找Q函數值最大的組件,而不是再遍歷所有的組件,耗時從O(n)減小到O(1),大大減少了切換的延遲。組件化的結構可以極大地提高系統的擴展性。
實驗表明多次迭代后,系統可以收斂,今后的工作將著重放在進一步優化獎懲函數,以減少所需的迭代次數上。
參考文獻:
[1]李群明, 熊蓉, 褚健. 室內自主移動機器人定位方法研究綜述[J]. 機器人, 2003, 25(6): 560-567, 573.
LIQunming,XIONGRong,CHUJian.Localizationapproachesforindoorautonomousmobilerobots:Areview[J].Robot, 2003, 25(6): 560-567, 573.
[2]張雪華, 劉華平, 孫富春, 等. 采用Kinect的移動機器人目標跟蹤[J]. 智能系統學報, 2014, 9(1): 34-39.
ZHANGXuehua,LIUHuaping,SUNFuchun,etal.TargettrackingofmobilerobotusingKinect[J].CAAItransactionsonintelligentsystems, 2014, 9(1): 34-39.
[3]ANDON,SUEHIROT,KITAGAKIK,etal.RT-middleware:distributedcomponentmiddlewareforRT(robottechnology)[C]//Proceedingsof2005IEEE/RSJInternationalConferenceonIntelligentRobotsandSystems, 2005. (IROS2005).Edmonton,Alta.,Canada:IEEE, 2005: 3933-3938.
[4]ANDON,SUEHIROT,KOTOKUT.AsoftwareplatformforcomponentbasedRT-systemdevelopment:OpenRTM-aist[M]//CARPINS,NODAI,PAGELLOE,etal.Simulation,Modeling,andProgrammingforAutonomousRobots.BerlinHeidelberg:Springer, 2008: 87-98.
[5]莊嚴, 王偉, 王珂, 等. 移動機器人基于激光測距和單目視覺的室內同時定位和地圖構建[J]. 自動化學報, 2005, 31(6): 925-933.
ZHUANGYan,WANGWei,WANGKe,etal.Mobilerobotindoorsimultaneouslocalizationandmappingusinglaserrangefinderandmonocularvision[J].Actaautomaticasinica, 2005, 31(6): 925-933.
[6]GERKEYBP.AMCL[EB/OL].http://www.ros.org/wiki/amcl, 2011.
[7]劉洞波, 劉國榮, 胡慧, 等. 基于激光測距的溫室移動機器人全局定位方法[J]. 農業機械學報, 2010, 41(5): 158-163.
LIUDongbo,LIUGuorong,HUHui,etal.Methodofmobilerobotgloballocalizationbasedonlaserrangefinderingreenhouse[J].TransactionsoftheChinesesocietyforagriculturalmachinery, 2010, 41(5): 158-163.
[8]李振偉, 陳翀, 趙有. 基于OpenCV的運動目標跟蹤及其實現[J]. 現代電子技術, 2008, 31(20): 128-130, 138.
LIZhenwei,CHENChong,ZHAOYou.MovingobjecttrackingmethodandimplementbasedonOpenCV[J].Modernelectronicstechnique, 2008, 31(20): 128-130, 138.
[9]張汝波, 顧國昌, 劉照德, 等. 強化學習理論、算法及應用[J]. 控制理論與應用, 2000, 17(5): 637-642.
ZHANGRubo,GUGuochang,LIUZhaode,etal.Reinforcementlearningtheory,algorithmsanditsapplication[J].ControlTheory&Applications, 2000, 17(5): 637-642.
[10]黃炳強, 曹廣益, 王占全. 強化學習原理、算法及應用[J]. 河北工業大學學報, 2007, 35(6): 34-38.
HUANGBingqiang,CAOGuangyi,WANGZhanquan.Reinforcementlearningtheory,algorithmsandapplication[J].JournalofHebeiUniversityofTechnology, 2007, 35(6): 34-38.
[11]SUTTONRS,BARTOAG.Reinforcementlearning:anIntroduction[M].Cambridge,Mass.:MITPress, 1998: 114-116.
[12]WANGWenshan,CAOQixin,ZHUXiaoxiao,etal.Anautomaticswitchingapproachofroboticcomponentsforimprovingrobotlocalizationreliabilityincomplicatedenvironment[J].Industrialrobot:aninternationaljournal, 2014, 41(2): 135-144.

梁爽,女,1993年生,碩士研究生,主要研究方向為移動機器人路徑規劃及模塊化機器人技術。

曹其新,男,1960年生,教授,博士生導師,主要研究方向為智能機器人與模塊化系統、機器視覺與模式識別、移動機器人、泛在機器人技術。被EI、SCI檢索論文90余篇,獲得發明和實用新型專利50余項。

王雯珊,女,1986年生,博士研究生,主要研究方向為泛在機器人、任務規劃。
An automatic switching method for multiple location components based on reinforcement learning
LIANG Shuang1, CAO Qixin1, WANG Wenshan1, ZOU Fengshan2
(1. Research Institute of Robotics, Shanghai Jiaotong University, Shanghai 200240, China; 2. SIASUN Robot and Automation CO., LTD, Shenyang 110000, China)
Abstract:To address the limitations of location sensors in large-scale dynamic environments, an automatic switching method for multiple robotic components based on reinforcement learning is proposed. This system uses distributed architecture and encapsulates different location sensors and methods into different middleware components. Reinforcement learning is employed to find the optimal strategy for deciding how to switch between components in real time. The simulation result shows that this method can solve problems that a single location method cannot in a large-scale environment and can provide reliable location information depending on multiple location components. This method can also effectively reduce the time delay compared with a method that first traverses all the components directly and then switches components.
Keywords:mobile robot; location; reinforcement learning; middleware; Monte Carlo; multi-sensor; modularization; distributed system
作者簡介:
中圖分類號:TP242.6
文獻標志碼:A
文章編號:1673-4785(2016)02-0149-07
通信作者:曹其新. E-mail:qxcao@sjtu.edu.cn.
基金項目:國家自然科學基金項目(61273331).
收稿日期:2015-10-29. 網絡出版日期:2016-03-15.
DOI:10.11992/tis.201510031
網絡出版地址:http://www.cnki.net/kcms/detail/23.1538.TP.20160315.1252.020.html