精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于過Python+matplotlib數(shù)據(jù)可視化路徑規(guī)劃算法實現(xiàn)

新機器視覺 ? 來源:新機器視覺 ? 2023-11-09 15:03 ? 次閱讀

這里我們通過Python編程+matplotlib數(shù)據(jù)可視化來實現(xiàn)路徑規(guī)劃算法,這里我們主要實現(xiàn)A Star算法、D Star算法、Dijkstra算法、RRT算法在2D空間下3D空間下的實現(xiàn)。

A Star算法的設計與實現(xiàn)

Astar潛在地搜索圖中一個很大的區(qū)域。和Dijkstra一樣,Astar能用于搜索最短路徑。和BFS一樣,Astar能用啟發(fā)式函數(shù)引導它自己。在簡單的情況中,它和BFS一樣快。

程序入口部分我們指定起始點和目標點,通過調用定義的Astar類來進行路徑錄規(guī)劃,最后通過plot進行可視化繪制顯示,如圖所示。

393bee1e-7eab-11ee-939d-92fbcf53809c.png

類的初始化內容如下,主要是傳入參數(shù)以plot點坐標和算法類型。這里以dict的方式存儲,plot通過關鍵字進行索引找尋數(shù)據(jù),如圖所示。

39543352-7eab-11ee-939d-92fbcf53809c.png

通過A Star算法搜索路徑點并加入顯示,如圖所示。

396fabd2-7eab-11ee-939d-92fbcf53809c.png

最終路徑求解如下,如圖所示。

3988787e-7eab-11ee-939d-92fbcf53809c.png

在A Star算法的3D空間路徑搜索部分,我們添加全部所有的方位點Direction,這里對所有的求解方位,如圖所示。

399dbbb2-7eab-11ee-939d-92fbcf53809c.png

其余部分內容和2D A Star求解一樣,這是增加了求解實現(xiàn)描述顯示,求解效果如下,如圖所示。

39b95f02-7eab-11ee-939d-92fbcf53809c.png

39d1175a-7eab-11ee-939d-92fbcf53809c.png

D Star算法的設計與實現(xiàn)

D Star算法對在移動環(huán)境中的尋路也比較高效,向當前節(jié)點遷移時,可以只考察最近路線上的結點以及相鄰節(jié)點的變化狀況,包括機器人尋路等結果。

這里我們依舊是指定起始點和目標點,通過調用DStar類的方式實現(xiàn)算法的驗證和分析,如圖所示。

39eec016-7eab-11ee-939d-92fbcf53809c.png

類的構造函數(shù)部分,調用Plotting類實現(xiàn)圖表的圖表的初始化構造,并聲明相關閾值變量存儲區(qū),如圖所示。

3a0285ec-7eab-11ee-939d-92fbcf53809c.png

這部分是算法的實現(xiàn)核心,主要是“貪心策略”迭代找尋更優(yōu)的求解。如果發(fā)現(xiàn)比當前更短的路徑,則進行迭代,這里可能向前迭代,也可能向后迭代。D Star算法核心實現(xiàn)如圖所示

3a166a80-7eab-11ee-939d-92fbcf53809c.png

Dstar算法對2D空間的求解如圖所示:

3a2e5172-7eab-11ee-939d-92fbcf53809c.png

D Star算法對3D空間的求解如如圖所示:

3a49b714-7eab-11ee-939d-92fbcf53809c.png

Dijkstra算法的設計與實現(xiàn)

Dijkstra算法也可以算是用貪心思路進行的,首先把從起點到每個節(jié)點之間的一段距離都保存留下來并尋找一個到v的,之后松弛一下再重新尋找到v的,所謂的放松方式就是,先遍歷一下把剛才發(fā)現(xiàn)的相距比較近的一點作為中轉站會不會更近,如果還更近就再調節(jié)一段距離,這樣當把所有的節(jié)點都找遍了以后,就保存并留下了從起點到其他每個節(jié)點之間的最短距離。

和前兩個一樣,在指定起始點和目標點之后,調用定義的Dijkstra類實現(xiàn)路徑的搜索規(guī)劃,最終通過plot類進行可視化顯示。圖可函數(shù)如圖所示。

3a66fb6c-7eab-11ee-939d-92fbcf53809c.png

Dijkstra算法較為較為簡單,這是依據(jù)數(shù)據(jù)結構的基本構造進行實現(xiàn),核心代碼如如圖所示。

3a7b315e-7eab-11ee-939d-92fbcf53809c.png

Dijkstra算法2D路徑規(guī)劃如如圖所示。

3a968026-7eab-11ee-939d-92fbcf53809c.png

Dijkstra算法3D路徑規(guī)劃效果如圖所示:

3aae988c-7eab-11ee-939d-92fbcf53809c.png

RRT算法的設計與實現(xiàn)

RRT(快速尋找隨機樹)是一個很普通的辦法,無所謂任何機器人種類、無所謂自由度是多少、也無所謂約束有多繁復,都可以使用。

并且它的基本原理非常簡潔,這是其在機器人應用領域受歡迎的主要因素之一。但是它的缺陷也非常突出,它得到的路通常質量都不會非常好,例如可能具有棱角,不平滑,通常也遠離最優(yōu)路線。

RRT算法是基于抽樣路徑規(guī)劃,它在3D空間下的路徑規(guī)劃效果較好。核心功能函數(shù)如圖所示。

3ac1f148-7eab-11ee-939d-92fbcf53809c.png

RRT算法在3D空間下規(guī)劃效果如圖所示。

3ae1a204-7eab-11ee-939d-92fbcf53809c.png

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 路徑規(guī)劃

    關注

    0

    文章

    78

    瀏覽量

    15314
  • python
    +關注

    關注

    56

    文章

    4783

    瀏覽量

    84473

原文標題:路徑規(guī)劃算法實現(xiàn)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數(shù)據(jù)可視化Python-matplotlib概述

    數(shù)據(jù)可視化(二):Python-matplotlib
    發(fā)表于 07-22 14:58

    python數(shù)據(jù)可視化的方法和代碼

    Python數(shù)據(jù)可視化匯總
    發(fā)表于 10-14 14:59

    Python數(shù)據(jù)可視化專家的七個秘密

    分享 Python數(shù)據(jù)可視化專家的七個秘密
    發(fā)表于 05-15 06:43

    python數(shù)據(jù)可視化之畫折線圖

    python數(shù)據(jù)可視化之畫折線圖,散點圖
    發(fā)表于 05-27 08:09

    Python數(shù)據(jù)可視化

    Python數(shù)據(jù)可視化:網(wǎng)易云音樂歌單
    發(fā)表于 07-19 08:30

    基于路徑跟蹤方法的路徑規(guī)劃算法

    為解決拖掛式移動機器人系統(tǒng)路徑規(guī)劃算法精準性低、穩(wěn)定性差和無法考慮系統(tǒng)間安全性等的問題,提出一種基于路徑跟蹤方法的路徑規(guī)劃算法。該
    發(fā)表于 12-04 14:18 ?6次下載
    基于<b class='flag-5'>路徑</b>跟蹤方法的<b class='flag-5'>路徑</b><b class='flag-5'>規(guī)劃算法</b>

    Python拉勾網(wǎng)數(shù)據(jù)采集與可視化

    本文是先采集拉勾網(wǎng)上面的數(shù)據(jù),采集的是Python崗位的數(shù)據(jù),然后用Python進行可視化。主要涉及的是爬蟲&
    的頭像 發(fā)表于 03-13 14:18 ?3233次閱讀
    <b class='flag-5'>Python</b>拉勾網(wǎng)<b class='flag-5'>數(shù)據(jù)</b>采集與<b class='flag-5'>可視化</b>

    相比Matplotlib 可視化神器Altair登場

    語言的開發(fā)者使用最多的是 matplotlib,一個很強大的可視化庫,不過它的局限也非常嚴重,制作交互式圖表也是一件難事。
    的頭像 發(fā)表于 05-23 14:49 ?2894次閱讀
    相比<b class='flag-5'>Matplotlib</b> <b class='flag-5'>可視化</b>神器Altair登場

    水下航行器自主巡航的路徑規(guī)劃算法實現(xiàn)

    路徑規(guī)劃算法是自主水下航行器(AUV)完成水下自主巡航的核心算法之一。分別綜述了基于環(huán)境建模和路徑搜索兩類AUⅣ路徑
    發(fā)表于 04-09 16:01 ?8次下載
    水下航行器自主巡航的<b class='flag-5'>路徑</b><b class='flag-5'>規(guī)劃算法</b><b class='flag-5'>實現(xiàn)</b>

    Python數(shù)據(jù)可視化編程實戰(zhàn)

    Python數(shù)據(jù)可視化編程實戰(zhàn)資料免費下載。
    發(fā)表于 06-01 14:37 ?29次下載

    嵌入式GIS中最優(yōu)路徑規(guī)劃算法研究與實現(xiàn)

    嵌入式GIS中最優(yōu)路徑規(guī)劃算法研究與實現(xiàn)(嵌入式開發(fā)項目經(jīng)理)-嵌入式GIS中最優(yōu)路徑規(guī)劃算法研究與實現(xiàn)
    發(fā)表于 07-30 12:49 ?4次下載
    嵌入式GIS中最優(yōu)<b class='flag-5'>路徑</b><b class='flag-5'>規(guī)劃算法</b>研究與<b class='flag-5'>實現(xiàn)</b>

    A星路徑規(guī)劃算法完整代碼資料匯總

    A星路徑規(guī)劃算法完整代碼資料匯總
    發(fā)表于 12-03 17:16 ?11次下載

    使用Python來收集、處理和可視化人口數(shù)據(jù)

    如何使用Python這一流行的編程語言來收集、處理和可視化印度和中國的人口數(shù)據(jù)呢?本文將向你介紹一些基本的步驟和技巧,幫助你掌握Python進行可視
    的頭像 發(fā)表于 06-21 17:08 ?1342次閱讀
    使用<b class='flag-5'>Python</b>來收集、處理和<b class='flag-5'>可視化</b>人口<b class='flag-5'>數(shù)據(jù)</b>

    分享10個適用于多個學科的Python數(shù)據(jù)可視化

    matplotlibPython可視化程序庫的泰斗。經(jīng)過十幾年它任然是Python使用者最常用的畫圖庫。它的設計和在1980年代被設計的商業(yè)
    的頭像 發(fā)表于 08-14 10:40 ?776次閱讀
    分享10個適用于多個學科的<b class='flag-5'>Python</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>庫

    Python 可視化如何配色

    我們在利用Python進行數(shù)據(jù)可視化時,有著大量的高質量庫可以用,比如: Matplotlib 、 seaborn 、 Plotly 、 Bokeh 、 ggplot 等等。但圖表好不
    的頭像 發(fā)表于 10-30 15:43 ?500次閱讀
    <b class='flag-5'>Python</b> <b class='flag-5'>可視化</b>如何配色