周自維 周冰 趙雪
摘 要:人工勢(shì)場(chǎng)法應(yīng)用到多自主體編隊(duì)路徑規(guī)劃中,會(huì)出現(xiàn)局部最優(yōu),無(wú)法繼續(xù)向目標(biāo)前進(jìn),目標(biāo)不可達(dá)的情況;針對(duì)這一問(wèn)題文章提出了“基于隊(duì)形變換的沿墻導(dǎo)航法”。當(dāng)機(jī)器人遇到障礙陷入局部最優(yōu)時(shí),通過(guò)將機(jī)器人隊(duì)形變形,并使用沿墻法讓機(jī)器人繞過(guò)障礙物,之后通過(guò)人工勢(shì)場(chǎng)法使機(jī)器人到達(dá)目標(biāo)位置,從而解決了局部最優(yōu)的問(wèn)題。仿真結(jié)果表明提出方法的可行性和有效性。
關(guān)鍵詞:多移動(dòng)機(jī)器人;隊(duì)形控制;人工勢(shì)場(chǎng)法;淘汰算法
1 概述
近年來(lái),多自主體編隊(duì)已經(jīng)成為多機(jī)器人系統(tǒng)研究領(lǐng)域中最重要的問(wèn)題之一[1]。人工勢(shì)場(chǎng)法應(yīng)用到多自主體編隊(duì)路徑規(guī)劃存在明顯的缺陷,例如算法容易陷入局部最優(yōu),無(wú)法繼續(xù)向目標(biāo)前進(jìn),目標(biāo)不可達(dá);已經(jīng)有一些方法來(lái)解決勢(shì)場(chǎng)法的這個(gè)缺陷。對(duì)于形狀不規(guī)則的障礙物形,我們可以把它看成凸多邊形。但是,該方法在實(shí)際使用的過(guò)程中需要對(duì)障礙物的形狀進(jìn)行有效的估計(jì)和矯正,存在較大難度,并且多自主體編隊(duì)在遇到障礙物時(shí),特別是容易陷入局部最優(yōu)障礙物的時(shí)候,繼續(xù)保持編隊(duì)的隊(duì)形已經(jīng)不是當(dāng)前最主要的問(wèn)題。所以我們提出“基于隊(duì)形變換的沿墻導(dǎo)航法”來(lái)解決局部存在最優(yōu)的問(wèn)題。當(dāng)機(jī)器人和障礙物之間的距離比較小的時(shí)候,隊(duì)形將變回一字型。實(shí)驗(yàn)結(jié)果表明,該方法用來(lái)解決多機(jī)器人隊(duì)形形成問(wèn)題的有效性。
2 系統(tǒng)實(shí)現(xiàn)
2.1 淘汰法
2.2 人工勢(shì)場(chǎng)的設(shè)計(jì)
人工勢(shì)場(chǎng)算法中,多自主體的運(yùn)動(dòng)是在虛擬勢(shì)場(chǎng)產(chǎn)生的力的作用下被從起點(diǎn)牽引到終點(diǎn),產(chǎn)生這種力的勢(shì)場(chǎng)稱為的引力場(chǎng)。在自主體運(yùn)動(dòng)環(huán)境中,會(huì)存在著一些障礙物,這些所存在的障礙物被疊加一種可以使得多自主體朝著背離障礙物方向運(yùn)動(dòng)相反的勢(shì)場(chǎng)力,這樣就可以實(shí)現(xiàn)避障。
在多自主體的運(yùn)動(dòng)中,不僅需要考慮機(jī)器人的避障,而且還需要考慮機(jī)器人的避碰問(wèn)題。將機(jī)器人之間的作用力表示為Uij。
Uij應(yīng)當(dāng)滿足以下幾個(gè)條件:(1)當(dāng)dij→0時(shí),Uij(‖dij‖→∞);(2)當(dāng)個(gè)體i和j之間的距離達(dá)到所期望值時(shí),Uij最小,則系統(tǒng)勢(shì)能最??;(3)Uij在接近rij=R附近遞增。由Uij應(yīng)當(dāng)滿足的幾點(diǎn)條件,可以選擇一個(gè)在rij=d處的分段函數(shù)。當(dāng)個(gè)體間的最小距離超過(guò)d時(shí)侯,就不存在相互作用,Uij的表達(dá)式如下所示。
在多自主體群集中,應(yīng)當(dāng)包含上述三種基本的勢(shì)場(chǎng)。目標(biāo)點(diǎn)的引力場(chǎng)為Ua(q),障礙物的斥力場(chǎng)為Uij(q)以及個(gè)體之間相互的作用場(chǎng)Ur(q)。其中q表示多自主體的當(dāng)前位置。在進(jìn)行勢(shì)場(chǎng)疊加后可得:
2.3 隊(duì)形變換方法
各機(jī)器人到達(dá)目標(biāo)位置后形成三角形,并以三角形隊(duì)形前進(jìn)。當(dāng)編隊(duì)遇到障礙物時(shí),無(wú)法直接穿過(guò)障礙物,然后進(jìn)行隊(duì)形變換,將隊(duì)形變成易于繞過(guò)障礙物的一字型隊(duì)形,以R1作為領(lǐng)導(dǎo)者。
離障礙物已經(jīng)比較近了。此時(shí)進(jìn)行第(2)步判斷。否則,如果r≥r1,那么這就說(shuō)明當(dāng)前編隊(duì)已經(jīng)遠(yuǎn)離其中任何一個(gè)障礙物,現(xiàn)在編隊(duì)就可以按照正常編隊(duì)的隊(duì)形在勢(shì)場(chǎng)力的作用下繼續(xù)向目標(biāo)運(yùn)動(dòng);(2)然后再判斷編隊(duì)中的個(gè)體與最近障礙物之間的最小距離ρ與預(yù)先設(shè)定閥值的距離二:r2的關(guān)系,當(dāng)滿足r2
3 仿真實(shí)驗(yàn)
為了驗(yàn)證算法,文章用 Matlab 進(jìn)行了理論驗(yàn)證。首先設(shè)置無(wú)障仿真環(huán)境下,隨機(jī)產(chǎn)生三個(gè)機(jī)器人的位置,并給出目標(biāo)三角形位置,使用淘汰法經(jīng)過(guò)計(jì)算,各機(jī)器人合理的目標(biāo)點(diǎn)為:R1→T2,R2→T3,R3→T1。其次,假定三個(gè)多自主體編隊(duì),通過(guò)9個(gè)障礙物通道。其中斥力場(chǎng)的有效作用中半徑選擇為1m,設(shè)定閥值的距離一:d1=2.5m。閥值的距離二:d2=2m。系統(tǒng)首先在目標(biāo)點(diǎn)所在的引力場(chǎng)和障礙物的斥力場(chǎng)的共同作用下,以三角形編隊(duì)向著目標(biāo)點(diǎn)運(yùn)動(dòng);此時(shí)由于接近障礙物,經(jīng)過(guò)準(zhǔn)確判斷,調(diào)整編隊(duì)的隊(duì)形為一字型,一字型編隊(duì)繼續(xù)在勢(shì)場(chǎng)力的作用下向著目標(biāo)運(yùn)動(dòng),并且輕易的繞過(guò)簡(jiǎn)單的障礙物;當(dāng)編隊(duì)與所有的障礙物之間距離較遠(yuǎn)時(shí),則重新啟動(dòng)三角形編隊(duì)。通過(guò)仿真發(fā)現(xiàn),使用傳統(tǒng)的人工勢(shì)場(chǎng)法進(jìn)行機(jī)器人編隊(duì)規(guī)劃,結(jié)果機(jī)器人陷入了局部最優(yōu)的困境,達(dá)到了一種穩(wěn)定狀態(tài)。然而改進(jìn)的人工勢(shì)場(chǎng)法則事先考慮到了局部最優(yōu)的問(wèn)題,及時(shí)的調(diào)整編隊(duì)的隊(duì)形,并且適時(shí)的啟動(dòng)沿墻導(dǎo)航,所以就順利的通過(guò)障礙物到達(dá)目標(biāo)位置。
4 結(jié)束語(yǔ)
人工勢(shì)場(chǎng)法應(yīng)用到多自主體編隊(duì)路徑規(guī)劃存在明顯的缺陷,例如算法容易陷入局部最優(yōu),則無(wú)法繼續(xù)向目標(biāo)前進(jìn),這就目標(biāo)不可達(dá);針對(duì)這一問(wèn)題文章提出了“基于隊(duì)形變換的沿墻導(dǎo)航法”來(lái)解決該問(wèn)題。當(dāng)機(jī)器人遇到障礙陷入局部最優(yōu)點(diǎn)時(shí),通過(guò)將機(jī)器人隊(duì)形由三角形變?yōu)橐蛔中停缓笫褂醚貕Ψㄗ寵C(jī)器人繼續(xù)向目標(biāo)點(diǎn)運(yùn)動(dòng),當(dāng)編隊(duì)機(jī)器人距離所有障礙物較遠(yuǎn)時(shí),恢復(fù)三角形編隊(duì),從而解決了局部最優(yōu)的問(wèn)題。
參考文獻(xiàn)
[1]胡瑋韜,李團(tuán)結(jié).多機(jī)器人編隊(duì)及運(yùn)動(dòng)控制研究[M].西安電子科技大學(xué),2010:24-30.
[2]鄧彥松,秦開(kāi)宇.多自主體編隊(duì)及協(xié)調(diào)控制研究[J].電子科技大學(xué),2013:76-89.