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

基于可視圖與A*算法的路徑規(guī)劃

2014-06-02 07:48:54朱軍燕
計算機工程 2014年3期
關鍵詞:規(guī)劃

黎 萍,朱軍燕,彭 芳,楊 亮

?

基于可視圖與A*算法的路徑規(guī)劃

黎 萍1,朱軍燕2,彭 芳1,楊 亮1

(1. 電子科技大學中山學院,廣東 中山 528402;2. 中山出入境檢驗檢疫局技術中心,廣東 中山 528403)

結合可視圖的骨架構造方法和A*圖搜索方法,采用矩形包絡障礙物,在障礙物頂點外延生成路徑點。在此基礎上,提出一種新的路徑規(guī)劃算法Lambda*,與A*算法類似,搜索過程需要2張表,但CLOSED表保存從起始節(jié)點開始的路徑節(jié)點,OPEN表保存CLOSED表中擴展節(jié)點的后續(xù)節(jié)點,可減少在OPEN表中保存的節(jié)點數(shù)量,減少計算量和耗時,并通過增加SMOOTH過程以提高路徑的平滑度。將算法應用于二維空間環(huán)境進行機器人路徑規(guī)劃仿真實驗,結果表明,與A*算法相比,Lambda*算法能夠以增加較少路徑長度為前提,大幅降低路徑規(guī)劃的耗時。

路徑規(guī)劃;可視圖;A*算法;Lambda*算法;路徑平滑

1 概述

路徑規(guī)劃作為很多領域的關鍵技術已經(jīng)成為當前的研究熱點之一[1],它是一個帶約束的復雜優(yōu)化問題,其任務是在具有障礙物的環(huán)境內按照一定的評價標準尋找一條從起始狀態(tài)到達目標狀態(tài)的無碰路徑。

基于自由空間構造的規(guī)劃方法是一類重要的機器人路徑規(guī)劃方法,它們的工作原理基本上都是先通過幾何方法構造自由空間的骨架圖,然后利用圖搜索算法搜索一條可行的最短路徑[2]。常用的適合低維狀態(tài)空間的骨架圖有可視圖[3]、Voronoi圖[4]、柵格圖分解[5]以及切線圖[6]等,這些骨架圖不適用于高姿態(tài)空間,但具有較好的完備性[1]。常用的圖搜索方法包括深度優(yōu)先和廣度優(yōu)先、Dijkstra算法[7]、A*算法[7]和D*算法[8]。

經(jīng)典啟發(fā)式搜索式算法——A*算法是20世紀60年代提出的,在相關領域得到了廣泛的應用。但該算法只能用在格子環(huán)境中,在一定程度上限制了其進一步的推廣,算法復雜度和發(fā)現(xiàn)路徑的能力受柵格細化程度的影響,且環(huán)境信息存儲量大。文獻[9]提出了一種A*算法的變種—— Theta*算法,突破了格子的限制,允許以任意角度改變路徑的方向,但依然采用柵格地圖描述環(huán)境。

本文結合可視圖的骨架構造方法和A*圖搜索方法,采用矩形包絡障礙物的碰撞檢測方法,為簡化路徑優(yōu)化,在障礙物頂點外延生成路徑點。在此基礎上,提出一種新的路徑規(guī)劃算法Lambda*,并將算法應用于二維環(huán)境空間進行機器人路徑優(yōu)化。

2 算法描述

2.1 碰撞檢測

為了解決機器人與障礙物之間的碰撞檢測問題,本文采用一種矩形包絡碰撞檢測方法。障礙物一般具有不規(guī)則幾何形狀[10],采用矩形對二維空間的障礙物包絡進行簡化,如圖1所示。這種建模方法雖然在一定程度上擴大了障礙域,但使得障礙域大大簡化,提高了規(guī)劃的效率,使得避碰路徑更具安全性[11]。

圖1 障礙物的矩形包絡幾何模型

在簡化障礙物的基礎上,障礙物與機器人之間的碰撞檢測就轉化為機器人路徑(表現(xiàn)為線)與障礙物(表現(xiàn)為矩形)的位置關系問題,當線與矩形的任意一條邊線段相交則發(fā)生碰撞,反之不發(fā)生碰撞。在檢測碰撞時,僅需分別計算路徑點之間連線與障礙物矩形4條邊之間的位置關系,就可以判斷機器人是否與障礙物發(fā)生碰撞。

2.2 路徑點的生成

可視圖法視移動機器人為一點,將機器人、目標點和障礙物的各頂點進行組合連接,并保證這些直線均不與障礙物相交,這就形成了一張圖,稱為可視圖[1-3]。由于任意兩直線的頂點都是可見的,從起點沿著這些直線到達目標點的所有路徑均是運動物體的無碰路徑。搜索最優(yōu)路徑的問題就轉化為從起點經(jīng)過這些可視直線到目標點的最短距離問題。

在可視圖中,機器人以所有障礙物的頂點為中間路徑點。本文采用矩形代替任意形狀的多邊形包絡障礙物,為保證路徑的安全性,在矩形包絡的對角線上外延一定的距離產(chǎn)生路徑點,如圖2所示,若將外延距離設為0,則退化為一般可視圖。

圖2 路徑點

2.3 Lambda*算法

Lambda*算法與A*算法類似,在搜索過程中需設置 2張表:OPEN表和CLOSED表。在A*算法中,OPEN表保存所有已生成而未考察的節(jié)點,CLOSED表中記錄已訪問過的節(jié)點;而在Lambda*算法中,CLOSED表保存獲取的從起始節(jié)點開始的路徑節(jié)點,OPEN表保存CLOSED表中擴展節(jié)點的后續(xù)節(jié)點。假設是起點、終點和所有插入的路徑點的集合,從幾何路徑點構造雙向鏈表的節(jié)點單元,節(jié)點的數(shù)據(jù)結構為:

classdef Node

point //幾何路徑點

value //節(jié)點的值

Prev //該節(jié)點的前驅節(jié)點

end

end

其中,表示從起點到節(jié)點的路徑長度;start表示起始節(jié)點;goal表示終點;所有節(jié)點創(chuàng)建時僅有point特性,其value特性值設為0。Lambda*算法的估價函數(shù)為:(P)=(P)+(P),與A*算法估價函數(shù)的選取一致,(P)表示從起始節(jié)點start到節(jié)點P的路徑長度;(P)為啟發(fā)函數(shù),Lambda*算法的(P)采用從節(jié)點P到終點goal之間的直線距離,節(jié)點P距離goal越近,(P)越小,以此引導搜索的方向,使得機器人逐步靠近目標。Lambda*算法如圖3所示。

圖3 Lambda*算法流程

首先創(chuàng)建2張空的雙向鏈表OPEN和CLOSED,將起始節(jié)點start插入CLOSED鏈表,若終點不在CLOSED鏈表中,則清空OPEN鏈表,從CLOSED中選取節(jié)點進行擴展,將擴展節(jié)點的后續(xù)節(jié)點加入OPEN鏈表。計算OPEN表中所有節(jié)點的估價值,搜索具有最小估價值的節(jié)點,將其插入CLOSED鏈表,并修改插入節(jié)點的value值;若終點在OPEN表中,則直接將其插入CLOSED,省去計算估價值和比較估價值的步驟,節(jié)省路徑規(guī)劃時間。擴展OPEN鏈表時,遍歷中幾何點構造的所有節(jié)點,若節(jié)點P不在CLOSED表中且與CLOSED表的擴展節(jié)點close可視(之間沒有障礙物),則將其作為一個后續(xù)節(jié)點。

Lambda*算法與A*算法的主要區(qū)別是在Lambda*算法中,OPEN表僅保存當前擴展節(jié)點的后續(xù)節(jié)點,不保存已擴展節(jié)點的其他后續(xù)節(jié)點,這大大減少了OPEN表保存的節(jié)點數(shù)量,減少了計算量和時耗。

CLOSED中保存的是一條從起點到終點的無碰路徑,受啟發(fā)函數(shù)的限制,獲取的路徑不保證為最短路徑,如圖4所示。對圖4(a)采用SMOOTH過程后,能進一步優(yōu)化路 徑,獲得如圖4(b)所示的最優(yōu)路徑,增加路徑的光滑度,從而提高達到目標點的效率。因此,在獲得這樣一條路徑后,Lambda*算法通過SMOOTH過程對CLOSED鏈表表示的路徑進行平滑[12],SMOOTH過程的流程如圖5所示。

圖4 路徑平滑前后效果對比

圖5 SMOOTH過程流程

3 仿真實驗及結果分析

為了測試Lambda*的性能,將Lambda*和A*算法[13]應用于有障礙物的2D環(huán)境中進行路徑規(guī)劃實驗,在100×100的二維環(huán)境下,起點為(0,0),終點為(100,100),隨機生成障礙物,障礙物比例分別設為0%、5%、10%、20%、30%、40%,2種算法均在Matlab 2012a上實現(xiàn),實驗用計算機CPU型號為Intel(R)Core(TM)2 Duo T6500,主頻均為2.1 GHz,RAM為1.86 GB。本文并未對算法的實現(xiàn)進行優(yōu)化,因此,實驗結果可能還能進一步改進。

統(tǒng)計每種情況下用2種算法分別進行100次路徑規(guī)劃的平均路徑長度、耗時、總節(jié)點數(shù)、擴展節(jié)點數(shù)和OPEN中容納的節(jié)點總數(shù),結果如表1所示。隨機障礙物比例越大,總節(jié)點數(shù)增多,路徑規(guī)劃也越來越復雜,所得路徑長度和耗時、擴展節(jié)點數(shù)以及OPEN表中的節(jié)點數(shù)都呈增加趨勢,若改變環(huán)境大小,則相同比例下障礙物數(shù)量不同,總節(jié)點數(shù)也隨之改變,本文未對2D環(huán)境不同環(huán)境大小時的路徑規(guī)劃進行實驗,但隨著節(jié)點數(shù)增多,路徑規(guī)劃越復雜。在有障礙物的2D環(huán)境下,障礙物比例為0%~5%的情況下,路徑規(guī)劃較簡單,總節(jié)點比較少,A*和Lambda*所獲得路徑質量相當,90%以上的情況2種算法所獲路徑相同。隨著障礙物比例增大,Lambda*算法所獲路徑質量略低于A*算法,同時Lambda*算法耗時大幅減少。

表1 2D有障礙物環(huán)境下的實驗結果

此外,還統(tǒng)計了采用2種方法所獲路徑的方向變化次數(shù),采用Lambda*算法獲得的路徑方向平均變化2次,而A*算法獲得的路徑方向平均變化3.143次。實驗結果表明,障礙物越多,路徑越長,算法耗時越多。在相同情況下,Lambda*需擴展的節(jié)點數(shù)和OPEN表中節(jié)點總數(shù)都顯著小于A*的對應值,路徑長度略有增長,所獲路徑質量稍遜于A*算法所得但耗時大幅減少。

4 結束語

本文結合可視圖和A*算法,提出了一種新的路徑規(guī)劃算法Lambda*,采用矩形包絡二維空間的障礙物,為保證路徑的安全性,在障礙物頂點外延生成路徑點。Lambda*算法采用鏈表的數(shù)據(jù)結構來描述路徑,在路徑搜索時,CLOSED表保存獲取的從起始節(jié)點開始的路徑節(jié)點,OPEN表保存CLOSED表中擴展節(jié)點的后續(xù)節(jié)點,對獲取的路徑進行平滑處理,并進一步優(yōu)化,提高路徑的平滑度。

仿真實驗表明,Lambda*算法能夠在增加較少路徑長度的前提下,大大降低路徑規(guī)劃的耗時。然而驗證實驗在二維空間進行,下一步研究需要將算法拓展到三維空間,且進一步探究如何能快速地獲得高質量的路徑。

[1] 朱大奇, 顏明重. 移動機器人路徑規(guī)劃技術綜述[J]. 控制與決策, 2010, 25(7): 961-967.

[2] 成偉明, 唐振民, 趙春霞, 等. 移動機器人路徑規(guī)劃中的圖方法應用綜述[J]. 工程圖學學報, 2008, 29(4): 12-20.

[3] Oommen B, Iyengar S, Rao N S V, et al. Robot Navigation in Unknown Terrains Using Learned Visibility Graphs[J]. IEEE Journal of Robotics and Automation, 1987, 3(6): 672-681.

[4] Choset H, Burdick J. Sensor Based Planning, Part I: The Generalized Voronoi Graph[C]//Proc. of IEEE International Conference on Robotics and Automation. [S. l.]: IEEE Press, 1995: 1643-1648.

[5] Parsons D, Canny J F. A Motion Planner for Multiple Mobile Robots[C]//Proc. of IEEE International Conference on Robotics and Automation. [S. l.]: IEEE Press, 1990: 8-13.

[6] Liu Yunhui, Arimoto S. Computation of the Tangent Graph of Polygonal Obstacles by Moving-line Processing[J]. IEEE Transactions on Robotics and Automation, 1994, 10(6): 823-830.

[7] Papadatos A. Research on Motion Planning of Autonomous Mobile Robot[D]. Monterey, USA: Naval Postgraduate School, 1996.

[8] Stentz A. The Focussed D* Algorithm for Real-time Re- planning[C]//Proc. of the 14th International Joint Conference on Artificial Intelligence. San Francisco, USA: ACM Press, 1995: 1652-1659.

[9] Daniel K, Nash A, Koenig S, et al. Theta*: Any-angle Path Planning on Grids[J]. Journal of Artificial Intelligence Research, 2010, 39(1): 533-579.

[10] 汪首坤, 邸 智, 王軍政, 等. 基于A*改進算法的機械臂避障路徑規(guī)劃[J]. 北京理工大學學報, 2011, 31(11): 1302- 1306.

[11] 賈慶軒, 陳 鋼, 孫漢旭, 等. 基于A*算法的空間機械臂避障路徑規(guī)劃[J]. 機械工程學報, 2010, 46(13): 109-115.

[12] Botea A, Müller M, Schaeffer J. Near Optimal Hierarchical Path-finding[J]. Journal of Game Development, 2004, 1(1): 7-28.

[13]Lozano P T, Wesley M A. An Algorithm for Planning Collision-free Paths Among Polyhedral Obstacles[J]. Communications of the ACM, 1979, 22(10): 560-570.

編輯 顧逸斐

Path Planning Based on Visibility Graph and A*Algorithm

LI Ping1, ZHU Jun-yan2, PENG Fang1, YANG Liang1

(1. Zhongshan Institute, University of Electronic Science and Technology of China, Zhongshan 528402, China; 2. Technical Center, Zhongshan Entry-Exit Inspection and Quarantine, Zhongshan 528403, China)

Inspired by skeleton construction method visibility graph and graph search methods A*, obstacles are enveloped by rectangles, path points are generated as obstacle vertices’ extension, and a new path planning algorithm Lambda* is presented, which needs two lists. But differently, CLOSED list in Lambda* is used to store the path nodes from starting node sequentially, and OPEN list is used to save subsequence nodes for the extending node in CLOSED list. What’s more, SMOOTH process is added to smooth the path saved in CLOSED. For validation verification, Lambda* is used in 2D simulation environment. The simulation results show that Lambda* algorithm’s time consuming is decreased substantially with little increase of path length compared with A* algorithm.

path planning; visibility graph; A* algorithm; Lambda* algorithm; path smoothing

1000-3428(2014)03-0193-03

A

TP24

國家科技型中小企業(yè)技術創(chuàng)新基金資助項目(12C26214405188);廣東省教育部產(chǎn)學研基金資助項目(2011B090400371); 電子科技大學中山學院博士啟動基金資助項目(410YKQ01)。

黎 萍(1981-),女,講師、博士,主研方向:人工智能;朱軍燕,工程師、碩士;彭 芳,副教授、碩士;楊 亮, 講師、碩士。

2013-08-29

2013-10-29 E-mail:lipingjxau@163.com

10.3969/j.issn.1000-3428.2014.03.040

猜你喜歡
規(guī)劃
我們的規(guī)劃與設計,正從新出發(fā)!
“十四五”規(guī)劃開門紅
“十四五”規(guī)劃建議解讀
發(fā)揮人大在五年規(guī)劃編制中的積極作用
規(guī)劃計劃
規(guī)劃引領把握未來
快遞業(yè)十三五規(guī)劃發(fā)布
商周刊(2017年5期)2017-08-22 03:35:26
基于蟻群算法的3D打印批次規(guī)劃
多管齊下落實規(guī)劃
十三五規(guī)劃
華東科技(2016年10期)2016-11-11 06:17:41
主站蜘蛛池模板: 国产成人精品午夜视频'| 亚洲精品中文字幕无乱码| 色综合中文字幕| 国产无码高清视频不卡| 久久黄色视频影| 区国产精品搜索视频| 国产日韩精品欧美一区喷| 亚洲视屏在线观看| 日韩一区二区三免费高清| 制服丝袜在线视频香蕉| 久久久精品国产亚洲AV日韩| 亚洲av无码成人专区| 夜夜操狠狠操| 2020亚洲精品无码| 亚洲AV无码一二区三区在线播放| 国产精品99r8在线观看| 国产福利一区视频| 美女免费精品高清毛片在线视| 欧美中出一区二区| 五月天丁香婷婷综合久久| 久久综合伊人77777| 久久综合丝袜日本网| 亚洲永久精品ww47国产| 亚洲欧美日韩综合二区三区| 国产午夜福利片在线观看| 午夜国产精品视频黄| 国产成人精品一区二区不卡| 四虎国产精品永久一区| 亚洲品质国产精品无码| 91无码人妻精品一区| 中文字幕在线视频免费| 亚洲系列无码专区偷窥无码| 四虎亚洲精品| 日本少妇又色又爽又高潮| 一级毛片免费播放视频| 久久久91人妻无码精品蜜桃HD| 永久在线播放| 亚洲专区一区二区在线观看| 色网站在线视频| 国产熟女一级毛片| 免费一级全黄少妇性色生活片| 亚洲欧洲AV一区二区三区| 久久免费精品琪琪| 国产成人调教在线视频| a国产精品| 亚洲精品国产综合99| 国产91精品久久| 亚洲综合一区国产精品| a网站在线观看| 欧美丝袜高跟鞋一区二区| 成人午夜亚洲影视在线观看| 国产成人精品视频一区视频二区| 男女性色大片免费网站| 亚洲精品第1页| 国内精品久久久久鸭| 色爽网免费视频| 在线播放真实国产乱子伦| 欧美怡红院视频一区二区三区| 国产精品视频导航| 精品国产成人国产在线| 亚洲男人天堂2020| 不卡的在线视频免费观看| 一本一道波多野结衣一区二区| 亚洲日本韩在线观看| 亚洲码在线中文在线观看| 四虎影视国产精品| 亚洲日韩精品欧美中文字幕 | 九九热免费在线视频| jizz在线观看| 亚洲成人一区二区三区| 第一页亚洲| 777国产精品永久免费观看| 精品无码一区二区三区在线视频| 国产超碰一区二区三区| 精品在线免费播放| 久久99精品久久久久纯品| 国产第一色| 国产日韩欧美一区二区三区在线| 在线精品自拍| 三级视频中文字幕| 乱人伦视频中文字幕在线| 亚洲高清在线播放|