999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于A* 算法的機(jī)器人路徑規(guī)劃研究

2019-03-27 14:01:30
福建質(zhì)量管理 2019年13期
關(guān)鍵詞:規(guī)劃方法

(沈陽(yáng)理工大學(xué) 遼寧 沈陽(yáng) 110159)

一、引言

路徑規(guī)劃問(wèn)題成為機(jī)器人領(lǐng)域中一個(gè)重要的研究課題。研究者提出了多種算法,如Dijkstra 算法,蟻群算法,模擬退火算法、粒子群算法等。這些算法沒(méi)有將實(shí)際工作中的機(jī)器人與算法緊密的結(jié)合起來(lái)。

二、路徑規(guī)劃問(wèn)題描述

機(jī)器人路徑規(guī)劃問(wèn)題是指在工作區(qū)域中,機(jī)器人通過(guò)已知的環(huán)境信息或者對(duì)周圍環(huán)境進(jìn)行感知,按照預(yù)先設(shè)計(jì)的代價(jià)函數(shù),通過(guò)一系列的算法,從起點(diǎn)開始找到一條代價(jià)最小的到終點(diǎn)的運(yùn)動(dòng)路徑,該路徑能避開工作空間中的障礙物。

根據(jù)機(jī)器人對(duì)環(huán)境信息的掌握程度可以分為全局規(guī)劃方法,局部規(guī)劃方法以及混合規(guī)劃方法三種。

(1)全局規(guī)劃方法必須知道整個(gè)環(huán)境地圖中障礙物分布的大體情況。該方法可以找到最佳路徑,但是考慮全局信息導(dǎo)致計(jì)算量大,效率低,不適用于未知環(huán)境或動(dòng)態(tài)環(huán)境。

(2)局部規(guī)劃方法中依靠機(jī)器人當(dāng)前得到的局部環(huán)境信息,根據(jù)制定的規(guī)則來(lái)實(shí)現(xiàn)避障導(dǎo)航,該方法可以滿足實(shí)時(shí)性要求,缺點(diǎn)是易陷入局部極值點(diǎn),機(jī)器人可能在中途停止,無(wú)法到達(dá)目標(biāo)點(diǎn)。

(3)混合型方法結(jié)合了全局規(guī)劃和局部規(guī)劃,具有良好的實(shí)用性。

三、基于改進(jìn)的A*算法的路徑規(guī)劃

(一)A*算法原理

A*算法基于啟發(fā)式搜索結(jié)構(gòu),它是 Dijkstra 算法的擴(kuò)展,通過(guò)評(píng)估擴(kuò)展節(jié)點(diǎn)的代價(jià)值,并比較其大小加以選擇,使得在起點(diǎn)與終點(diǎn)之間尋找到一條代價(jià)最小的路徑。廣度優(yōu)先(BFS)和深度優(yōu)先(DFS)是簡(jiǎn)單的狀態(tài)空間搜索策略。BFS方法的原理是從初始節(jié)點(diǎn)逐層向下查找,將當(dāng)前節(jié)點(diǎn)按照可拓展的策略一層一層展開,直到找到目標(biāo)節(jié)點(diǎn)。該方法能找到最優(yōu)路徑,但節(jié)點(diǎn)展開的數(shù)量是和距離成級(jí)數(shù)增加的,不適用于大規(guī)模復(fù)雜的環(huán)境,效率低。DFS方法的原理是按照一定的順序先查找完一個(gè)分支,再查找另一個(gè)分支,直到找到目標(biāo)節(jié)點(diǎn)。

A*算法與BFS和DFS不同,就在于選擇下一步節(jié)點(diǎn)時(shí),通過(guò)估值函數(shù)對(duì)節(jié)點(diǎn)進(jìn)行評(píng)估,通過(guò)排序并選擇代價(jià)最小的節(jié)點(diǎn)作為下一步搜索節(jié)點(diǎn)進(jìn)行拓展,如果存在一個(gè)以上代價(jià)最小的節(jié)點(diǎn),選擇距離當(dāng)前節(jié)點(diǎn)最近的一個(gè)節(jié)點(diǎn),該方法避免了搜索的盲目性,提高了算法的搜索效率。估值函數(shù)如公式(1)所示。

f(n)=g(n)+h(n)

(1)

其中,f(n)為節(jié)點(diǎn)n的估值函數(shù),g(n)表示從初始節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)n的實(shí)際代價(jià),h(n)表示從節(jié)點(diǎn)n行進(jìn)到目標(biāo)節(jié)點(diǎn)的估算代價(jià)。

估價(jià)函數(shù)h(n)的選取決定了是否能找到最優(yōu)路徑,如果估價(jià)值h(n)的小于或等于當(dāng)前節(jié)點(diǎn) n 到目標(biāo)節(jié)點(diǎn)的真實(shí)代價(jià),將導(dǎo)致搜索范圍大,算法效率低,但能得到最優(yōu)路徑。如果估價(jià)值大于實(shí)際代價(jià),算法的搜索范圍小,效率高,但不一定能找到最優(yōu)路徑。

A*算法 與廣度優(yōu)先和深度優(yōu)先的聯(lián)系在于,當(dāng)g(n)=0時(shí),改算法雷石榆DFS,當(dāng)h(n)=0時(shí),該算法類似于BFS;如果實(shí)際代價(jià)函數(shù) g(n)遠(yuǎn)大于估算代價(jià)函數(shù) h(n),則啟發(fā)式函數(shù) h(n)沒(méi)有作用,A*算法退化成了 Dijkstra 算法。

本文中,將起始節(jié)點(diǎn)與當(dāng)前節(jié)點(diǎn)之間的距離作為實(shí)際代價(jià)函數(shù),估計(jì)代價(jià)函數(shù) h(n)的采用曼哈頓方法。估計(jì)代價(jià)函數(shù)如公式(2)所示。

h(n)=|nx-px|+|ny-py|

(2)

其中,nx、ny為當(dāng)前節(jié)點(diǎn)的橫、縱坐標(biāo),px、py為目標(biāo)節(jié)點(diǎn)橫、縱坐標(biāo)。

(二)改進(jìn)的A*算法

在 A*算法中,若搜索方向?yàn)?8 方向搜索,則路徑中存在的轉(zhuǎn)彎方向角只有 45°。因?yàn)檗D(zhuǎn)向存在時(shí)間,機(jī)器人路徑規(guī)劃整個(gè)系統(tǒng)中的最短路徑不僅僅式路徑的長(zhǎng)度。改進(jìn)的策略是在原有的 A*算法評(píng)價(jià)函數(shù)上加一項(xiàng)t(n)表示轉(zhuǎn)向過(guò)程所需要的時(shí)間,根據(jù)新的評(píng)價(jià)函數(shù)判斷路徑中的單位柵格代價(jià)。改進(jìn) A*算法的評(píng)價(jià)函數(shù)如式(3)所示。

f(n)=g(n)+h(n)+t(n)

(3)

改進(jìn) A*算法的評(píng)價(jià)函數(shù)之后,在原有的評(píng)價(jià)函數(shù)中增加了新的約束條件,即機(jī)器人自身特性所限制的運(yùn)動(dòng)轉(zhuǎn)向時(shí)間。整個(gè)路徑的評(píng)價(jià)因素不再僅是距離的長(zhǎng)短,而是整個(gè)系統(tǒng)運(yùn)行的時(shí)間。

得到規(guī)劃后初始路徑為F,遍歷F內(nèi)的所有節(jié)點(diǎn),當(dāng)兩個(gè)節(jié)點(diǎn)之間的連線中沒(méi)有障礙物節(jié)點(diǎn)時(shí),將連線中的節(jié)點(diǎn)設(shè)置為空結(jié)點(diǎn),最終刪除集合 F內(nèi)的所有空節(jié)點(diǎn),將非空節(jié)點(diǎn)依次連接得到最終的路徑。

(三)改進(jìn)的A*算法流程

A*算法需要維護(hù)開表和閉表。開表存放拓展節(jié)點(diǎn)的可通行的相鄰節(jié)點(diǎn),閉表存放已訪問(wèn)過(guò)的節(jié)點(diǎn)。選擇開表中總代價(jià) f 最小的那個(gè)節(jié)點(diǎn)作為拓展節(jié)點(diǎn),不斷的向周圍拓展。算法的具體流程如下:

(1)初始化開表和閉表,將起始節(jié)點(diǎn)添加到開表中。

(2)將開表中f 最小的節(jié)點(diǎn)作為拓展節(jié)點(diǎn)。

(3)按照如下方式處理該節(jié)點(diǎn)相鄰的8個(gè)方向的每個(gè)節(jié)點(diǎn)。①若該鄰節(jié)點(diǎn)為障礙物,或者在閉表中存在,則不進(jìn)行任何操作。②若開表中沒(méi)有該鄰節(jié)點(diǎn),就將其加入到開表中,并計(jì)算出該節(jié)點(diǎn)的實(shí)際代價(jià) g 和估計(jì)代價(jià) h。③若開表中已經(jīng)有了該相鄰節(jié)點(diǎn),則比較當(dāng)前節(jié)點(diǎn)到達(dá)該相鄰節(jié)點(diǎn)的估計(jì)代價(jià) h 與原來(lái)的估計(jì)代價(jià) h 之間的大小。如果當(dāng)前節(jié)點(diǎn)的估計(jì)代價(jià) h 小的話,那么設(shè)置當(dāng)前節(jié)點(diǎn)為該相鄰節(jié)點(diǎn)的父節(jié)點(diǎn);否則,不進(jìn)行任何操作。

(4)將當(dāng)前節(jié)點(diǎn)從開表中刪除,加入到閉表中。

(5)判斷開表是否為空以及閉表中是否包含有目標(biāo)結(jié)點(diǎn)。如果開表不為空并且閉表中不包含目標(biāo)結(jié)點(diǎn),則返回到步驟(2);如果開表不為空且閉表中包含有目標(biāo)結(jié)點(diǎn),執(zhí)行步驟(6);如果開表為空,停止搜索。

(6)從目標(biāo)結(jié)點(diǎn)沿著父節(jié)點(diǎn)遍歷到起始節(jié)點(diǎn),得到初始規(guī)劃路徑F。

(7)遍歷初始路徑F內(nèi)的所有節(jié)點(diǎn),若某個(gè)兩個(gè)節(jié)點(diǎn)之間沒(méi)有障礙物節(jié)點(diǎn)時(shí),將中間節(jié)點(diǎn)置為空結(jié)點(diǎn)。

(8)將 F 中的所有空節(jié)點(diǎn)刪除,依次連接剩余節(jié)點(diǎn),得到最終的路徑 Q。

四、實(shí)驗(yàn)結(jié)果及分析

本文提出的改進(jìn)的 A*算法,對(duì)A*算法的評(píng)價(jià)函數(shù)改進(jìn),考慮了轉(zhuǎn)向時(shí)間對(duì)整體路徑規(guī)劃的影響,并對(duì)規(guī)劃后的路徑進(jìn)行了平滑處理,與傳統(tǒng) A*算法相比,采用改進(jìn)的 A*算法規(guī)劃出的路徑長(zhǎng)度和路徑的轉(zhuǎn)折角度有所減小,使得規(guī)劃出的路徑更優(yōu)。

猜你喜歡
規(guī)劃方法
發(fā)揮人大在五年規(guī)劃編制中的積極作用
學(xué)習(xí)方法
規(guī)劃引領(lǐng)把握未來(lái)
快遞業(yè)十三五規(guī)劃發(fā)布
商周刊(2017年5期)2017-08-22 03:35:26
多管齊下落實(shí)規(guī)劃
十三五規(guī)劃
華東科技(2016年10期)2016-11-11 06:17:41
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
迎接“十三五”規(guī)劃
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 美女无遮挡免费网站| 一级毛片免费不卡在线| 国产一级二级三级毛片| 日韩欧美国产区| 亚洲国产中文精品va在线播放| 精品亚洲欧美中文字幕在线看 | 久久精品人妻中文视频| 国产精品七七在线播放| a毛片基地免费大全| 五月天天天色| 天天躁狠狠躁| 亚洲一欧洲中文字幕在线| 国产真实二区一区在线亚洲| 一区二区三区成人| 国产玖玖视频| 成人va亚洲va欧美天堂| 欧美在线精品一区二区三区| 精品久久久久久成人AV| 三级视频中文字幕| av一区二区无码在线| 手机精品福利在线观看| 九色91在线视频| 毛片免费试看| 国内精品久久久久鸭| 免费观看男人免费桶女人视频| 在线播放91| 欧美午夜视频在线| 亚洲aaa视频| 蝴蝶伊人久久中文娱乐网| 久久久久亚洲av成人网人人软件| 亚洲视频四区| 91九色国产porny| 国产swag在线观看| 午夜毛片免费观看视频 | 久久精品国产电影| 日本人又色又爽的视频| 精品人妻系列无码专区久久| 一区二区三区四区在线| 日本高清成本人视频一区| 亚洲一区毛片| 欧美97欧美综合色伦图| 美女内射视频WWW网站午夜 | 亚洲香蕉在线| 国产情侣一区| 九色91在线视频| 一本大道AV人久久综合| 国产在线观看人成激情视频| WWW丫丫国产成人精品| 日韩精品欧美国产在线| 91亚瑟视频| 亚洲天堂成人在线观看| 亚洲成年人片| 欧美在线综合视频| 91久久偷偷做嫩草影院| 欧美一区二区丝袜高跟鞋| 五月天久久综合| 欧美精品v日韩精品v国产精品| 日韩成人在线一区二区| av无码一区二区三区在线| 国产网友愉拍精品| 免费一级无码在线网站| 无码日韩人妻精品久久蜜桃| 中文字幕乱码中文乱码51精品| 国产AV毛片| 中文字幕乱妇无码AV在线| 日韩欧美91| 国产h视频免费观看| 666精品国产精品亚洲| 国产又色又爽又黄| 色综合综合网| 高潮毛片无遮挡高清视频播放| 精品黑人一区二区三区| 久久久国产精品免费视频| 国产在线日本| 欧美在线导航| 国产精品一区二区国产主播| 久久美女精品国产精品亚洲| 国产一区二区三区日韩精品 | 亚洲午夜国产精品无卡| 国产欧美日韩91| 91色国产在线| 国产极品嫩模在线观看91|