摘 要:智能機(jī)器人只有具備自主移動能力才能實(shí)現(xiàn)應(yīng)用價值。路徑規(guī)劃用于決策機(jī)器人在環(huán)境中如何行走的問題,是實(shí)現(xiàn)機(jī)器人智能化的關(guān)鍵技術(shù)。為提高機(jī)器人路徑規(guī)劃,對未知環(huán)境的實(shí)時性、適應(yīng)性和優(yōu)化性要求越來越高。自主移動機(jī)器人是集環(huán)境感知、動態(tài)策略與規(guī)劃、行為控制與執(zhí)行等多功能于一體的綜合系統(tǒng)。近幾年,移動機(jī)器人技術(shù)在工業(yè)、農(nóng)業(yè)、醫(yī)學(xué)、航天航空等許多領(lǐng)域發(fā)揮了重要作用。其中智能避障更是研究領(lǐng)域的難點(diǎn)和熱點(diǎn),智能避障是能夠根據(jù)采集障礙物的狀體信息,按照一定的方法進(jìn)行有效的避障,最后到達(dá)終點(diǎn)。本文主要介紹了動態(tài)窗口和Bug2的避障算法和研究與仿真。實(shí)現(xiàn)這兩種避障算法主要基于Matlab等語言編程開發(fā),實(shí)現(xiàn)對移動機(jī)器人避障算法的仿真。Matlab功能強(qiáng)大、編程簡單、適用廣。
最后,驗(yàn)證基于Bug算法的幾種路徑規(guī)劃方法,將避障實(shí)時性,環(huán)境的適應(yīng)性、規(guī)劃路徑的優(yōu)化性作為算法性能指標(biāo),進(jìn)行仿真實(shí)驗(yàn)與對比實(shí)驗(yàn)分析。結(jié)果驗(yàn)證了算法的有效性。
關(guān)鍵詞:智能機(jī)器人;避障;MATLAB仿真;路徑規(guī)劃
1 緒論
智能機(jī)器人避障算法的研究對于推進(jìn)機(jī)器人領(lǐng)域的應(yīng)用和發(fā)展具有重要的意義。隨著計(jì)算機(jī)技術(shù)、傳感器技術(shù)、控制技術(shù)的發(fā)展,智能機(jī)器人的避障技術(shù)已經(jīng)取得了豐碩的研究成果,其應(yīng)用領(lǐng)域不斷的擴(kuò)大,應(yīng)用復(fù)雜程度也越來越高,因此對其關(guān)鍵技術(shù)提出了更高要求,相應(yīng)的方法也更加成熟。
本文通過查閱文獻(xiàn)資料,對目前智能機(jī)器人的發(fā)展動態(tài)有了一定了解。對現(xiàn)階段機(jī)器人避障的一些常用方法做了研究,然后設(shè)計(jì)了不同算法在未知環(huán)境下的避障仿真實(shí)驗(yàn)來驗(yàn)證本文所設(shè)計(jì)的算法的可行性。路徑規(guī)劃要求機(jī)器人能夠在較短的時間內(nèi),感知到范圍盡可能大的區(qū)域,從而找到最近的路徑使機(jī)器人能夠沿著最優(yōu)路徑運(yùn)動到終點(diǎn),并避開障礙物。
2 基于動態(tài)窗口的避障算法及仿真
2.1 概述
機(jī)器人局部路徑規(guī)劃的方法很多,動態(tài)窗口法就是其中的一種,其主要是在速度(v,w)空間中采樣多組速度,并模擬機(jī)器人在這些速度下一定時間內(nèi)的軌跡。在得到多組軌跡以后,對這些軌跡進(jìn)行評價,選取最優(yōu)軌跡所對應(yīng)的速度來驅(qū)動機(jī)器人運(yùn)動。該算法突出點(diǎn)在于動態(tài)窗口這個名詞,它的含義是依據(jù)移動機(jī)器人的及速度性能限定速度采樣空間在一個可行的動態(tài)圖范圍內(nèi)。
2.1.1 機(jī)器人的運(yùn)動模型
在動態(tài)窗口算法中,要模擬機(jī)器人的軌跡,需要知道機(jī)器人的運(yùn)動模型。它采用的是假設(shè)兩輪移動機(jī)器人的軌跡是一段一段的圓弧或者直線(選擇速度為0),一對(Vt,Wt)就代表一個圓弧的軌跡。具體推導(dǎo)如下:
在這里,假設(shè)不是全向運(yùn)動機(jī)器人,它做圓弧運(yùn)動的半徑為:
2.1.2 速度采樣
機(jī)器人的軌跡運(yùn)動模型有了,根據(jù)速度就可以推算出軌跡。因此只需采樣很多速度,推算軌跡,然后評價這些軌跡好不好就行了。
速度如何采樣是動態(tài)窗口的核心:在速度(v,w)的二維空間中,存在無窮多組速度。但是根據(jù)機(jī)器人本身的限制和環(huán)境限制可以將采用速度控制在一定范圍內(nèi):
移動機(jī)器人受自身最大速度最小速度的限制:
移動機(jī)器人受電機(jī)性能的影響:
由于電機(jī)力矩有限,存在最大的加速度限制,因此移動機(jī)器人軌跡前向模擬的周期內(nèi),存在一個動態(tài)窗口,在該窗口內(nèi)速度是機(jī)器人能夠?qū)嶋H達(dá)到的速度:
其中是機(jī)器人的當(dāng)前速度,其他標(biāo)志對應(yīng)最大加速度和最大減速度。
基于移動機(jī)器人安全的考慮:
為了能夠在碰到障礙物前停下來,因此在最大速度條件下,速度有一個范圍:
為了簡化每組速度對應(yīng)軌跡的計(jì)算,該算法假設(shè)機(jī)器人在往前模擬軌跡的這段時間內(nèi)速度不變,直到下一時刻采樣給新的速度命令。
2.2 評價函數(shù)
在采樣的速度組中,有若干組軌跡是可行的,因此采用評價函數(shù)的方式為每條軌跡進(jìn)行評價。采用的評價函數(shù)如下:
2.3 方位角評價函數(shù)
方位角評價函數(shù)是用來評價機(jī)器人在當(dāng)前設(shè)定的采樣速度下,達(dá)到模擬軌跡末端時的朝向和目標(biāo)之間的角度差距。
若采用的方式來評價,也就是越小,評價得分越高。
2.4 空隙
代表機(jī)器人在當(dāng)前軌跡上與最近的障礙物之間的距離。如果在這條軌跡上沒有障礙物,那就將其設(shè)定一個常數(shù)。
2.5 速度
Velocity(v,w)用來評價當(dāng)前軌跡的速度大小。總結(jié)起來三者構(gòu)成的評價函數(shù)的物理意義是:在局部導(dǎo)航過程中,使得機(jī)器人避開障礙,朝著目標(biāo)以較快速度行駛,缺一不可。
2.6 matlab仿真(圖1)
3 Bug2避障算法的研究與仿真
3.1 未知環(huán)境下基于Bug算法的移動機(jī)器人路徑規(guī)劃研究改進(jìn)
在未知環(huán)境下的移動機(jī)器人路徑規(guī)劃己經(jīng)有一些成熟實(shí)用的算法。這里介紹的爬行蟲Bug算法就是一例。本章在已有的Bug族算法基礎(chǔ)上,對傳統(tǒng)Bug算法進(jìn)行了改進(jìn),提高了Bug算法路徑規(guī)劃的優(yōu)化性和實(shí)時性。
3.2 Bug2算法原理
Bug2算法在Bugl算法基礎(chǔ)上進(jìn)行改進(jìn),引入了從起點(diǎn)到終點(diǎn)的直線M。具體思想如下:
3.2.1 沿著直線M向障礙物移動,直到發(fā)生以下兩種情況:
①到達(dá)終點(diǎn),結(jié)束算法;
②遇見障礙物,標(biāo)記為,轉(zhuǎn)到3.2.2。
3.2.2 沿著障礙物左邊移動,直到發(fā)生以下三種情況:
①到達(dá)終點(diǎn),結(jié)束算法;
②找到一個點(diǎn),滿足條件,且該點(diǎn)在M上,則轉(zhuǎn)到3.2.1;
③機(jī)器人回到相遇點(diǎn),則表示機(jī)器人繞行一周,終點(diǎn)不可到達(dá)。
可知Bug2算法在Bugl算法上對從Hl運(yùn)動到Hl的路徑循環(huán)進(jìn)行了改進(jìn),但是機(jī)器人的運(yùn)動方向是固定的初始值,即算法規(guī)定為沿障礙物左邊移動,那么在所有的沿障礙物移動的狀態(tài)中,機(jī)器人都是向障礙物左方移動。
3.3 算法設(shè)計(jì)
本文提出的路徑規(guī)劃算法可在線運(yùn)行,進(jìn)行實(shí)時運(yùn)動規(guī)劃,對未知環(huán)境下的
機(jī)器人路徑規(guī)劃,該算法具有很好的環(huán)境適應(yīng)性。
3.4 Bug2算法仿真(圖2)
4 總結(jié)與展望
本論文在許許多多機(jī)器人研究者的研究經(jīng)驗(yàn)與研究成果之基礎(chǔ)上,綜合相關(guān)的理論基礎(chǔ)知識,對智能機(jī)器人進(jìn)行了相關(guān)的研究。主要針對其避障控制算法及路徑規(guī)劃方案作了一定的研究和探討,提出了相對有效的模糊控制算法和田埂式路徑規(guī)劃方案,并經(jīng)過一系列的仿真實(shí)驗(yàn)來對本文中使用的算法和方案的穩(wěn)定性及可行性進(jìn)行驗(yàn)證。對于本研究課題,本人主要做了以下工作:
①綜述智能機(jī)器人國內(nèi)外研究及應(yīng)用現(xiàn)狀,了解到智能機(jī)器人在完成任務(wù)的過程中遇到障礙物或者落差區(qū)域時容易發(fā)生碰撞和跌落,而且其清潔路徑不能做到全覆蓋,重復(fù)率也較高。因此,本文將智能機(jī)器人的研究方向確定為避障和全覆蓋路徑規(guī)劃這兩個方面。
②簡要論述了模糊控制算法,而且將其應(yīng)用至智能機(jī)器人的避障控制之中,并且設(shè)定了模糊控制器以及模糊規(guī)則,使其適應(yīng)于本文中所研究的智能機(jī)器人,讓智能機(jī)器人在執(zhí)行任務(wù)過程中能夠避開障礙物并防止跌落,并且對本論文中提出的避障控制進(jìn)行算法有效性仿真實(shí)驗(yàn),證明了該算法是有效且可靠的。
③簡要介紹路徑規(guī)劃的原理及分類,并就比較經(jīng)典的算法作出了簡要描述。研究了基于柵格地圖法的田埂式路徑規(guī)劃方案,描述了該方案中的環(huán)境地圖構(gòu)建,運(yùn)行模式,死角解決方案,并針對該方案進(jìn)行了不同環(huán)境不同障礙物分布情況下的仿真實(shí)驗(yàn),分別對比了無障礙環(huán)境下,有障礙無死角環(huán)境下,有障礙及簡單死角環(huán)境下,有障礙及復(fù)雜死角環(huán)境下,有障礙及多種死角環(huán)境下的仿真實(shí)驗(yàn)結(jié)果,均驗(yàn)證了本論文所設(shè)計(jì)的路徑規(guī)劃方案能使智能機(jī)器人做到區(qū)域環(huán)境全覆蓋并己最短路徑跳出死角,提升了機(jī)器人清潔工作的完整性與高效性。
在本課題的研究過程中,一些不足之處也顯現(xiàn)出來。例如柵格大小的劃分是一個難點(diǎn),柵格太大容易使準(zhǔn)確率降低,影響機(jī)器人清潔效果,柵格太小會使算法復(fù)雜,導(dǎo)致運(yùn)行速度過慢,也會對智能機(jī)器人的清潔效果有影響。另外,本文中所研究的都是靜態(tài)障礙物,忽略了動態(tài)障礙物的研究,生活中的小動物和可動型玩具等也是機(jī)器人清潔工作中極易遇到的障礙物,因此,動態(tài)障礙的研究是很有必要的。這些問題都將是以后的研究工作中需要繼續(xù)解決的。
在未來,智能機(jī)器人以及其他家用型機(jī)器人將會愈來愈頻繁的進(jìn)入到人類的生活和工作中,所以對于它們的研究很有必要性,且在很長一段時間內(nèi)都將是一個熱點(diǎn)。避障控制與路徑規(guī)劃更將是研究工作中的重中之重,未來的研究成果必將會在這兩個方向突飛猛進(jìn),同時提高智能機(jī)器人的工作效率,避障運(yùn)行的靈活性都將是研究熱點(diǎn)。
作者簡介:張永妮(1982-),畢業(yè)于西北工業(yè)大學(xué),現(xiàn)主要從事北斗PVT解算及智能機(jī)器人路徑規(guī)劃等方面的研究。