亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種面向AGV路徑規(guī)劃的改進A*算法

        2022-02-17 11:58:42湯家軍王忠
        電子制作 2022年3期
        關(guān)鍵詞:結(jié)點障礙物小車

        湯家軍,王忠

        (火箭軍工程大學,陜西西安,710025)

        0 引言

        隨著現(xiàn)代科學技術(shù)的發(fā)展,智能化逐漸進入大眾的視野,車輛的智能化已經(jīng)受到越來越多的科研人員的關(guān)注。全局路徑規(guī)劃是車輛在室外安全行駛的關(guān)鍵技術(shù)之一,面對復雜多變的室外環(huán)境,通過算法提高車輛的路徑規(guī)劃的有效性、平滑性等就成為了路徑規(guī)劃的主要研究內(nèi)容之一[1]。

        本文針對智能車的路徑規(guī)劃問題,采用了一種改進的A*算法,提高了算法的效率,在智能車大賽中讓智能車能夠較好的跑完整個地圖,跑出的路徑也比較平滑。

        1 問題描述

        1.1 A*算法原理

        A*算法作為啟發(fā)式搜索算法的一種,它是一種尋找圖平面上有多個節(jié)點的路徑的最低通過代價的算法,是1968年的文獻[2]提出來的,其核心思想是一個啟發(fā)函數(shù):

        公式(1)中f(n)是節(jié)點n的估價函數(shù),它由組成:g(n)表示從起始結(jié)點到搜索結(jié)點的實際代價;h(n)表示當前結(jié)點到目標結(jié)點的估計值。使用這個函數(shù)不需要對每個節(jié)點都進行搜索,而是針對各個節(jié)點的代價進行搜索,從優(yōu)先隊列中選取f(n)值最小的節(jié)點作為下一個要搜索的節(jié)點。

        其算法流程圖如圖1所示。

        圖1 A*算法流程圖

        其具體步驟為:

        首先將起始結(jié)點S放入OPEN表,CLOSE表置空,OPEN表記錄下所有被考慮來尋找最短路徑的節(jié)點,CLOSE表記錄下不會再被遍歷的節(jié)點。

        算法開始時:

        (1)如果OPEN表不為空,從表頭取一個結(jié)點n,將n放入CLOSE表中,如果為空算法失敗。

        (2)n是目標解嗎?是,找到一條路徑。

        (3)將n的所有擴展結(jié)點展開,即n直接關(guān)聯(lián)的結(jié)點,如果不在CLOSE表中,就將它們放入OPEN表,同時計算每一個后繼結(jié)點的估價值f(n),將OPEN表按f(n)排序,最小的放在表頭,重復算法,回到1。

        雖然A*算法可以有效的找出較優(yōu)的路徑,但是其還存在著一定的缺陷。A*算法通過比較當前節(jié)點周圍的八個節(jié)點的f(n)的值來確定下一個要進行遍歷的節(jié)點,但是當多個點的f(n)的值相同的時候,A*算法并不能準確找出最優(yōu)的路徑,可能會因此陷入局部最優(yōu)解。

        1.2 A*算法缺陷

        傳統(tǒng)的A*算法中,尋找出來的路徑只能按照直角去走,在時間上的耗費太大,如圖2中虛線箭頭所示,這種尋路的方法看起來是很不自然的;如果起點到終點中間沒有障礙物的阻擋,如圖2中實線箭頭所示,也只能沿著45°的方向去尋路,這樣使算法的效率變低。

        圖2 傳統(tǒng)A*算法尋路路徑

        2 算法改進

        文獻[3]提出了一種基于A*算法的改進,在生成路徑之后,檢測路徑上隔開的兩個點之間是否有l(wèi)ine of sight,通俗所說即為視線,有的話便可以把中間的點刪除,讓小車直接穿過。這種方法稱之為A* with post-smoothed paths。依據(jù)如何選取這兩個點,最終優(yōu)化的效果不同,本文選取的是最近的兩個可以到達的點。如圖3的虛線箭頭,在兩個方格之間沒有障礙物的阻擋,可以實現(xiàn)兩個點的直接穿插。

        圖3 改進A*算法尋路路徑

        其提出的改進后的算法如圖4所示。

        圖4 改進后的A*算法

        通過與A*算法的比較可以發(fā)現(xiàn),除了判別是否有和父節(jié)點的視線外,其他的內(nèi)容和A*算法是一樣的,A*算法計算新的點的新的g,如果比原來的更好,則將原來的parent和g換成新的。而此篇論文提出的算法,在計算前先去計算新的節(jié)點和原來的節(jié)點的parent是否直接可達。如果直接可達,則把新的節(jié)點的parent和g以原來的parent為parent進行更新。否則跟A*算法做出同樣的處理。

        3 應用驗證

        3.1 任務要求

        本次實驗的任務是將小車放在初始等待區(qū),讓小車自動導航到裝貨區(qū),手動放上物品,導航通過減速帶,到達卸貨區(qū),手動拿下物品,通過障礙物,通過S彎到達初始等待區(qū)。實驗場景如圖5所示。

        圖5 實驗場景

        本文主要針對路徑規(guī)劃任務做出詳細的介紹,利用A*算法,得知起始點與終止點,經(jīng)過裝貨區(qū),卸貨區(qū),在眾多的行駛路徑中規(guī)劃處一條最合適的、最平滑的路徑,使小車的效率最高。

        3.2 關(guān)鍵技術(shù)分析

        3.2.1 A*算法應用

        根據(jù)改進的A*算法,本文采用Python語言去實現(xiàn)相關(guān)的任務。

        其中設(shè)置了以下幾個模塊:

        Getmap():將掃描出來的地圖數(shù)據(jù)化。

        A_star():利用改進的A*算法尋找路徑,并將坐標返回。

        Obstacle():動態(tài)避障功能。

        3.2.2 動態(tài)避障技術(shù)

        復雜環(huán)境下的路徑規(guī)劃是智能車安全有效運行的關(guān)鍵,動態(tài)避障技術(shù)能夠使智能車有效地避開障礙物,順利地到達終點。文獻[4]提出一種基于改進蟻群與A*雙層規(guī)劃算法,用以解決AGV動態(tài)避障問題,在AGV的局部滾動預測規(guī)劃中,采用相應的避碰策略選擇局部最優(yōu)子目標點,并用改進的A*算法進行局部路徑規(guī)劃,實現(xiàn)動態(tài)避障的有效性和實時性。

        本文采用的是ROS中的dwa算法,即動態(tài)窗口法。其主要思想是在速度空間中采樣多組速度,模擬AGV在這些速度下一定時間內(nèi)的軌跡,然后選取最優(yōu)的軌跡去驅(qū)動AGV的運動。

        參考論文[5]做出的如下推斷:

        如圖6所示,t+1時刻相對于t時刻的位移:

        圖6 動態(tài)避障

        在ROS中對于x和y軸的運動距離推算:

        此時的軌跡推算即為:

        對軌跡的評價函數(shù):

        按照此方法可以有效實現(xiàn)AGV的動態(tài)避障。

        3.2.3 SLAM建圖

        本次比賽采用激光SLAM建圖,將圖5所示的地圖通過激光雷達掃描出來,建立二維柵格地圖,將地圖數(shù)據(jù)化并傳入算法中,使得其可以在地圖上進行路徑規(guī)劃,其建圖結(jié)果如圖7所示。

        圖7 建圖結(jié)果

        通過在地圖中標記等待區(qū),裝貨區(qū),卸貨區(qū),實現(xiàn)小車在兩個區(qū)之間的路徑規(guī)劃。

        3.3 參數(shù)調(diào)節(jié)

        通過以上改進的A*算法,可以調(diào)節(jié)ROS中小車的路徑規(guī)劃參數(shù)。用以下命令啟動參數(shù)調(diào)節(jié)器:

        rosrun rqt_reconfigure rqt_reconfigure

        以下列出調(diào)整參數(shù)過程中比較重要的一些參數(shù),如表1所示。

        表1

        ·dt_ref:將此參數(shù)設(shè)置為與車輛長度差不多大的數(shù)值時可以保證更高的精度;

        ·global_plan_viapoint_sep:默認設(shè)置下為Disable,即只沿全局規(guī)劃向前尋找,找到的離開局部規(guī)劃器規(guī)劃范圍前的最后一個點作為局部目標。若全局規(guī)劃特殊,在無障礙空間仍不走直線,則需要將此值設(shè)置為設(shè)置為一個小的正數(shù);

        ·min_turning_radius:通過測量,此小車的最小轉(zhuǎn)彎半徑為0.75;

        ·min_obstacle_dist:將此參數(shù)設(shè)置過大會使智能車轉(zhuǎn)彎速度變慢,轉(zhuǎn)彎半徑變大,設(shè)置過小會使智能車碰撞到障礙物。

        3.4 實驗結(jié)果

        通過在虛擬地圖中調(diào)整參數(shù),將參數(shù)應用于實際的場景,圖9是小車在地圖中規(guī)劃的路線。

        圖8 具體場景

        圖9 路徑規(guī)劃結(jié)果

        如圖9黑色的線條即為小車規(guī)劃出的路徑,可以看到小車可以比較完美的通過障礙物,最終達到終點。

        4 總結(jié)

        本文利用一種改進的A*算法,首先建立二維柵格地圖,通過這種算法去調(diào)整小車中路徑規(guī)劃的參數(shù),使小車能夠在這種地圖中跑完整個路徑,實現(xiàn)裝貨與卸貨。此方法也可以應用于別的場景中,具體的實現(xiàn)讀者可以通過具體的實驗去實現(xiàn)。

        猜你喜歡
        結(jié)點障礙物小車
        大車拉小車
        快樂語文(2020年36期)2021-01-14 01:10:32
        自制小車來比賽
        科學大眾(2020年17期)2020-10-27 02:49:02
        高低翻越
        SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計和處理
        劉老師想開小車
        文苑(2018年22期)2018-11-19 02:54:18
        兩輪自平衡小車的設(shè)計與實現(xiàn)
        電子制作(2018年8期)2018-06-26 06:43:02
        Ladyzhenskaya流體力學方程組的確定模與確定結(jié)點個數(shù)估計
        基于Raspberry PI為結(jié)點的天氣云測量網(wǎng)絡(luò)實現(xiàn)
        土釘墻在近障礙物的地下車行通道工程中的應用
        基于DHT全分布式P2P-SIP網(wǎng)絡(luò)電話穩(wěn)定性研究與設(shè)計
        亚洲一区二区三区最新视频| 欧洲-级毛片内射| 在线观看视频亚洲| 国产一区二区三区免费小视频 | 亚洲av无码一区二区三区人| 亚洲白白色无码在线观看| 亚洲日韩国产精品不卡一区在线| 亚洲一区二区综合精品| 三年片免费观看影视大全视频| 久久精品国产亚洲av高清漫画| 国产女厕偷窥系列在线视频| xxxx国产视频| 免费美女黄网站久久久| 久久久中文字幕日韩精品| 亚洲中文字幕无码一久久区| 一本一本久久a久久精品 | 久久免费精品日本久久中文字幕 | 一本一本久久a久久精品| 黑人一区二区三区啪啪网站| 国产在线一区二区三区四区不卡| 九色九九九老阿姨| 国产成人精品三级麻豆| 啪啪网站免费观看| 久久久亚洲成年中文字幕| 无套内谢老熟女| 波多野结衣中文字幕久久 | 97影院在线午夜| 日本老年人精品久久中文字幕| 亚洲av日韩专区在线观看| 少妇内射兰兰久久| 亚洲国产一区在线二区三区| 一区二区三区手机看片日本韩国| 夜夜高潮夜夜爽夜夜爱爱一区| 亚洲av无码一区二区三区四区| 9丨精品国产高清自在线看| 久久国产亚洲精品一区二区三区| 99久久精品午夜一区二区| 午夜成人理论无码电影在线播放| 色婷婷av一区二区三区不卡| 在线麻豆精东9制片厂av影现网| 成年无码av片完整版|