丁 偉,李海波
(南陽(yáng)理工學(xué)院,南陽(yáng) 473004)
科技的進(jìn)步,推動(dòng)了機(jī)器人的普遍應(yīng)用。從前這只是用在比如航空航天、深海探測(cè)、醫(yī)療等高科技和人類無(wú)法進(jìn)入的危險(xiǎn)或者惡劣的環(huán)境中,如今它開始滲透進(jìn)我們的日常生活中,性能也在不斷增強(qiáng)。在機(jī)器人路徑規(guī)劃中避障控制問(wèn)題長(zhǎng)期以來(lái)都是一大難點(diǎn),通常根據(jù)機(jī)器人對(duì)環(huán)境信息的感知程度,將其分為兩類:全局路徑規(guī)劃對(duì)于環(huán)境完全知道和局部路徑規(guī)劃指未知或部分未知環(huán)境。
對(duì)于全局路徑規(guī)劃比較容易,但是在實(shí)際環(huán)境中經(jīng)常會(huì)遇到不可控的情況,使得機(jī)器人程序不能對(duì)實(shí)際環(huán)境做出判斷,而導(dǎo)致機(jī)器人出錯(cuò)甚至失控。本文采用了一種分布式的結(jié)構(gòu),設(shè)計(jì)了一種雙層模型的協(xié)作實(shí)現(xiàn)動(dòng)態(tài)環(huán)境中的導(dǎo)航。在底層中充分滿足系統(tǒng)對(duì)實(shí)時(shí)性的要求而采用反應(yīng)式避障算法;增加了在高層中對(duì)未知環(huán)境的建模分析,并指導(dǎo)底層采取相應(yīng)的避障策略來(lái)實(shí)現(xiàn)避開障礙物。這種改進(jìn)后的雙層模型能夠很好地解決未知環(huán)境下的建模和分析的復(fù)雜性和機(jī)器人要求避障所具有實(shí)時(shí)性的矛盾。并且該避障導(dǎo)航策略在移動(dòng)機(jī)器人MORCS21上進(jìn)行實(shí)驗(yàn)驗(yàn)證。
整個(gè)設(shè)計(jì)是一個(gè)分布式結(jié)構(gòu)如圖1所示,由兩臺(tái)工控機(jī)組成。環(huán)境建模、激光雷達(dá)、障礙物檢測(cè)和動(dòng)態(tài)避障等模塊在IPC1上運(yùn)行,該層包含了大量運(yùn)算和處理的信息,選擇高性能的工控機(jī)。在IPC2上負(fù)責(zé)后面的運(yùn)動(dòng)控制和反應(yīng)式避障模塊。工控機(jī)之間的通訊選用標(biāo)準(zhǔn)的RS232串口,監(jiān)控端和機(jī)器人之間通過(guò)無(wú)線網(wǎng)橋通訊。
機(jī)器人蔽障的情況通常分為兩種:底層的避障過(guò)程通過(guò)機(jī)器人就能完成,另一種,尤其是存在動(dòng)態(tài)障礙物時(shí),要通過(guò)高層的指導(dǎo)。本文是一個(gè)兩層結(jié)構(gòu):底層是反應(yīng)式避障模塊,在已知的靜態(tài)環(huán)境下只要用反應(yīng)式避障就能直接對(duì)靜態(tài)障礙物實(shí)現(xiàn)避障;當(dāng)遇到未知的或動(dòng)態(tài)的環(huán)境時(shí),就需要先通過(guò)高層對(duì)障礙物進(jìn)行建模分析,然后提前指導(dǎo)底層的反應(yīng)式避障模塊來(lái)避開動(dòng)態(tài)障礙。
圖1 雙層模型結(jié)構(gòu)圖
本次設(shè)計(jì)的環(huán)境感知傳感器選擇SICK公司的LMS291型激光雷達(dá)。解析度為0.5°,即每一周期將其前方180°以內(nèi)的返回361個(gè)數(shù)據(jù),一次線掃描的完成周期為26.67ms。因?yàn)闇y(cè)量的距離會(huì)嚴(yán)重影響到激光雷達(dá)所測(cè)數(shù)據(jù)的誤差,所以實(shí)驗(yàn)統(tǒng)計(jì)出不同距離的標(biāo)準(zhǔn)差值如表1所示。
表1 不同距離的標(biāo)準(zhǔn)差值
d為探測(cè)的距離范圍;D表示一個(gè)目標(biāo)幾次測(cè)量取平均值的標(biāo)準(zhǔn)差;sd表示異類物體測(cè)量距離時(shí)的誤差估計(jì)值,是D值的3倍。在這里可以認(rèn)為D是靜止物體的均值算值,sd看作是動(dòng)態(tài)環(huán)境一次測(cè)量的估計(jì)誤差值。
動(dòng)態(tài)環(huán)境下障礙物的測(cè)量誤差so由雷達(dá)的測(cè)量誤差sd和機(jī)器人在動(dòng)態(tài)環(huán)境下的運(yùn)動(dòng)誤差sm組成,表示為:
在本文中,機(jī)器人的前進(jìn)速度最大是20cm/s,如果障礙物移動(dòng)速度小于60cm/s,那么sm=4.0cm為最大值。
雷達(dá)探測(cè)環(huán)境的表示用二維笛卡兒矩形柵格地圖。柵格的大小直接影響到控制算法的具體精度,根據(jù)機(jī)器人的尺寸和激光雷達(dá)速度快、精度高的優(yōu)點(diǎn),選擇10×10cm 為一格。
機(jī)器人的世界坐標(biāo)系可以通過(guò)激光雷達(dá)測(cè)量的信息映射出來(lái):
通過(guò)公式將障礙點(diǎn)映射到柵格地圖上的相應(yīng)處。
其中,(xg,yg)表示在環(huán)境坐標(biāo)系中柵格的坐標(biāo),w表示寬度。
在本文中障礙物擴(kuò)張距離Wr選擇54cm,并且在正前方開一個(gè)半圓當(dāng)做檢測(cè)窗口,只對(duì)進(jìn)入該區(qū)域的障礙物檢測(cè)其動(dòng)靜態(tài),可以降低系統(tǒng)的數(shù)據(jù)計(jì)算量。
這里雷達(dá)的解析度為0.5°,在11.5m時(shí)掃描間隔達(dá)到10cm,在20m時(shí)達(dá)到17.5cm。在檢測(cè)窗口中由于最遠(yuǎn)距離是20m,掃描點(diǎn)的間距小于Wr,障礙物擴(kuò)張之后,柵格地圖中表示障礙塊的各柵格間相互連通。通過(guò)對(duì)柵格塊內(nèi)的搜索確定障礙塊的掃描點(diǎn)集合W,如果有n個(gè)掃描點(diǎn),根據(jù)下面公式求出該障礙塊的中心位置。
公式中X0i,Y0i分別為W中掃描點(diǎn)在環(huán)境坐標(biāo)中的位置;X,Y為障礙物的估計(jì)位置。因?yàn)槊看螔呙璨坏秸系K物的全部信息,所以公式只能得到大概位置。
激光雷達(dá)每次只能采集到局部周期的環(huán)境信息,所以檢測(cè)動(dòng)態(tài)環(huán)境時(shí)必須采樣多個(gè)周期,具體的分析步驟如下:
1)讀取探測(cè)到窗口的實(shí)時(shí)信息,建立和保存柵格地圖。擴(kuò)張障礙物,計(jì)算出估計(jì)外切圓半徑和坐標(biāo)位置,建立T周期的障礙物鏈表。
2)同第1步讀取下一周期檢測(cè)窗口信息,建立T+1周期鏈表。
3)搜索T+1周期鏈表和T周期鏈表配對(duì),若匹配即被看做是同一個(gè)障礙物。
4)將每對(duì)障礙物在T和T+1周期柵格地圖所在的局部柵格地圖匹配,計(jì)算出障礙物移動(dòng)的距離、速度和方向。
5)確定狀態(tài),通過(guò)移動(dòng)距離和域值d比較來(lái)判斷障礙物是靜態(tài)還是動(dòng)態(tài)。將結(jié)果記錄并插入鏈表中。
6)返回第2步。
通過(guò)激光雷達(dá)采集到的信息直接進(jìn)行方向評(píng)估,選擇最優(yōu)可行方向避障,適合靜態(tài)的或者速度相對(duì)較低的動(dòng)態(tài)障礙,它在IPC2上運(yùn)行。該模塊只需要做避障處理,可以將IPC1發(fā)送給IPC2的激光雷達(dá)信息壓縮,只取每5°為一個(gè)采樣周期,這樣每個(gè)周期的數(shù)據(jù)壓縮到37個(gè),分別用L0,L1,L2, !,L36, 表示37個(gè)候選方向。以機(jī)器人中心按活動(dòng)窗口遠(yuǎn)近可以分成7層,最內(nèi)層是保護(hù)層,障礙物一旦進(jìn)入該層,機(jī)器人立刻后退或者停止。其他為影響層,由機(jī)器人的機(jī)械結(jié)構(gòu)劃分。
移動(dòng)機(jī)器人的可選方向計(jì)算公式:
此外,還要通過(guò)對(duì)可選方向的評(píng)估來(lái)確定機(jī)器人下一時(shí)刻的最佳方向。評(píng)估的代價(jià)函數(shù)為:
其中,c為需要評(píng)估方向,D (c,kg)為目標(biāo)方向和c方向之間的夾角,D (c,kr)為機(jī)器人和c的夾角。m1越大表示機(jī)器人朝著目標(biāo)方向行進(jìn),m2表示機(jī)器人方向的變化程度。選取計(jì)算g(c)最小值作為機(jī)器人下一個(gè)時(shí)刻移動(dòng)的方向。
本文只分析動(dòng)態(tài)障礙物和機(jī)器人的速度差距不大,而且障礙物只進(jìn)行勻速直線運(yùn)動(dòng)。由于擴(kuò)張了障礙物,所以把機(jī)器人看作一個(gè)質(zhì)點(diǎn),障礙物用其外切圓進(jìn)行代替。它們的位置關(guān)系只有兩種情況。
1)機(jī)器人和動(dòng)態(tài)障礙物在同一直線上運(yùn)動(dòng)
若機(jī)器人和障礙物運(yùn)動(dòng)方向的夾角設(shè)為qRO。若qRO=180°,表示機(jī)器人和障礙物相向運(yùn)動(dòng),若qRO=0°且機(jī)器人比動(dòng)態(tài)障礙物的速度快也會(huì)相撞。
機(jī)器人用PR表示、動(dòng)態(tài)障礙物用Oi。機(jī)器人和障礙物的Q點(diǎn)的碰撞點(diǎn)用CQ表示,機(jī)器人和障礙物外切圓心O的碰撞點(diǎn)用CO表示。vR,vO分別表示機(jī)器人的速度和障礙物的移動(dòng)速度。PA,PB表示移動(dòng)機(jī)器人進(jìn)行動(dòng)態(tài)避障時(shí)的子目標(biāo)點(diǎn)。
若qROi=180°,PA,PB的坐標(biāo)公式為:
若qROi=0°并且vR>vO時(shí)
若機(jī)器人選擇了PA或PB以后,把點(diǎn)作為下一個(gè)子目標(biāo)點(diǎn),達(dá)到避開一條直線上的動(dòng)態(tài)障礙物。
2) 機(jī)器人與動(dòng)態(tài)障礙物的軌跡相交
當(dāng)qRO≠0°時(shí),移動(dòng)機(jī)器人和障礙物的運(yùn)動(dòng)呈角度相交,通過(guò)計(jì)算得到其有無(wú)可能相碰。我們通過(guò)調(diào)節(jié)速度使機(jī)器人避開障礙物。
圖2 機(jī)器人和障礙角度相交
當(dāng)機(jī)器人的速度ΓR范圍[vmin,vmax]時(shí),機(jī)器人和移動(dòng)障礙物可能會(huì)碰撞,通過(guò)下面的公式求出 ΓR。
如圖2所示是機(jī)器人和障礙物相交角圖, 若機(jī)器人在 [vmin,vmax]范圍內(nèi)的速度,表示機(jī)器人一定會(huì)和障礙物相撞,需要調(diào)整機(jī)器人的速度。
本文的方法是在MORCS21的移動(dòng)機(jī)器人上進(jìn)行。它有6個(gè)驅(qū)動(dòng)輪,有3臺(tái)通用工控機(jī),激光雷達(dá)采用LMS291作為環(huán)境傳感器,用ADT2850控制卡驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行控制。因?yàn)閿?shù)據(jù)量比較龐大,因此將環(huán)境建模、激光雷達(dá)和策略處理幾個(gè)模塊放在同一臺(tái)IPC1上。在IPC1和IPC2之間用串口RS2232實(shí)現(xiàn)快速通訊。
在試驗(yàn)中,激光雷達(dá)檢測(cè)范圍內(nèi)沒(méi)有障礙物時(shí)機(jī)器人就以20cm/s高速運(yùn)行,遇到避障的情況時(shí),機(jī)器人就以5cm/s低速運(yùn)行狀態(tài)。
圖3 動(dòng)態(tài)環(huán)境下機(jī)器人避障
如圖3 所示,在實(shí)驗(yàn)中首先擺放幾個(gè)靜態(tài)障礙物。機(jī)器人只調(diào)用了反應(yīng)式模塊就成功避開這些障礙物;并且探測(cè)到了一個(gè)動(dòng)態(tài)障礙物A,運(yùn)動(dòng)的速度比較慢,機(jī)器人改變成較快的速度后實(shí)現(xiàn)蔽障;然后又探測(cè)到另一個(gè)動(dòng)態(tài)障礙B,速度相對(duì)比較快,機(jī)器人通過(guò)減慢速度蔽障;最后是同時(shí)探測(cè)到了一個(gè)靜態(tài)障礙和一個(gè)動(dòng)態(tài)障礙物C。機(jī)器人通過(guò)選擇一個(gè)P子目標(biāo)點(diǎn),當(dāng)運(yùn)行到P點(diǎn)后成功地避開了這兩個(gè)障礙物,最終到達(dá)終點(diǎn)。實(shí)驗(yàn)證明該雙層模型的有效性。
本文設(shè)計(jì)了一個(gè)雙層模型的移動(dòng)機(jī)器人避障跟蹤技術(shù),底層是個(gè)反應(yīng)式避障模型,通過(guò)激光雷達(dá)檢測(cè)、環(huán)境檢測(cè)、動(dòng)態(tài)避障等模塊實(shí)現(xiàn),高層通過(guò)對(duì)障礙物的建模分析指導(dǎo)底層有效避障。文章從系統(tǒng)的整體結(jié)構(gòu)、建模分析、避障策略幾方面進(jìn)行分析,然后通過(guò)實(shí)驗(yàn)證明了該模型能有效避障。
[1] 王耀南. 機(jī)器人智能控制工程[M]. 科學(xué)出版社, 2004.
[2] Woonggie H. Seungmin B;Taeyong K Genetic Algorithm Based Path Planning and Dynamic Obstacle Avoidance of Mobile Robots, 1997.
[3] 于金霞, 蔡自興, 段琢華. 基于激光雷達(dá)的移動(dòng)機(jī)器人運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤[J]. 電子器件, 2007.
[4] 鄭敏捷, 蔡自興, 于金霞. 一種動(dòng)態(tài)環(huán)境下的移動(dòng)機(jī)器人避障策略[J]. 高技術(shù)通訊, 2006.