自動尋路是機器人導航的核心技術,其原理主要涉及機器人與環境之間的復雜信息交互與處理。在自動尋路過程中,機器人依靠先進的傳感器系統,如高清攝像頭、精密激光雷達和靈敏超聲波裝置,全方位感知周圍環境。這些傳感器能夠實時捕捉并分析環境中的障礙物、地形變化和關鍵路標,為機器人提供精確的導航數據。
自動尋路在多個領域發揮著關鍵作用,從圖撲的數據中心機房的自動化巡檢系統,到智能機器人的導航系統,再到智慧碼頭堆場的智能化管理,自動尋路技術無處不在。該功能不僅能規劃出最優路線,還能實時考慮障礙物避讓等復雜的實際因素,靈活調整路徑以確保安全和效率。
![wKgaoWcXIm2AH4SpAAjxFFqzQgw669.png](https://file1.elecfans.com//web1/M00/F3/69/wKgaoWcXIm2AH4SpAAjxFFqzQgw669.png)
乍聽之下,自動尋路功能略顯復雜,實現過程中也確實涉及了一些算法。在具體實施之前,我們需要先解決兩個關鍵問題:
1. 如何避開場景中的障礙物?
2. 如何計算最佳路徑?
針對這兩處問題,我們可以利用圖撲軟件自研 HT for Web 提供的 ht-astar.js 插件。該插件具備初始化網格和自動搜索路徑等功能,高效簡化了自動尋路的實現過程。
場景網格化
先將場景劃分成二維網格,障礙物分布于不同的網格單元上,部分較大的障礙物可能會占據多個網格單元。路徑計算實際上是分析網格的占用情況,當平臺監測到某個網格被占用時,系統會自動尋找擇優生成一條繞行路徑。
![wKgZoWcXIm6AJcqEAA1m8YpR3cc767.gif](https://file1.elecfans.com//web1/M00/F3/6A/wKgZoWcXIm6AJcqEAA1m8YpR3cc767.gif)
在開發時,首先需要去實例化 ht.Astar.Finder(view, params)。其中 view 可以是 ht.graph.GraphView 或者 ht.graph3d.Graph3dView。params 是一個包含基礎屬性設置的對象。以下列舉了一些 params 的常用參數:
?simplify:是否啟用路徑簡化。
?closest:是否啟用最近路徑優化。
?nodeRectExtend:擴展節點范圍。
?gridSizeY:網格在 Y 方向上的大小。
?gridSizeX:網格在 X 方向上的大小。
?diagonal:是否允許沿對角線方向移動。
?fastOverlap:是否啟用快速監測重疊算法。
?filter:過濾函數用于在路徑計算過程中過濾特定節點。
?turnPunish:轉彎懲罰系數,數值越高表示越傾向于直線路徑。
具體代碼實現:
![wKgaoWcXIm6AdRGVAAAi0Q9n3Yk688.png](https://file1.elecfans.com//web1/M00/F3/69/wKgaoWcXIm6AdRGVAAAi0Q9n3Yk688.png)
路徑計算
在路徑計算過程中,系統需要實時監測每個網格單元的占用狀態。若規劃的路徑遇到被障礙物占用的網格,系統會自動尋找繞行路徑,以動態避開障礙物。
![wKgZoWcXIm-Ac-riAAV--ORVzwA688.gif](https://file1.elecfans.com//web1/M00/F3/6A/wKgZoWcXIm-Ac-riAAV--ORVzwA688.gif)
在開發過程中,我們需要監聽場景背景的點擊事件,獲取點擊位置的坐標。然后,結合起點坐標,通過 astar.findPath(pFrom, pTo) 函數計算出具體路徑。計算得到的路徑是一組點位數據,可以利用這些數據在場景中繪制出一條路徑管道。具體代碼實現:
![wKgaoWcXIm-AePQYAABkhB-9OJ0131.png](https://file1.elecfans.com//web1/M00/F3/69/wKgaoWcXIm-AePQYAABkhB-9OJ0131.png)
路徑動畫
在場景中生成管道后,人物節點可沿此管道移動。人物節點沿管道運動的代碼如下:
![wKgZoWcXInCALqP_AAAn369d0rA708.png](https://file1.elecfans.com//web1/M00/F3/6A/wKgZoWcXInCALqP_AAAn369d0rA708.png)
![wKgaoWcXInGATkk8AFj1c8yaCSg113.gif](https://file1.elecfans.com//web1/M00/F3/69/wKgaoWcXInGATkk8AFj1c8yaCSg113.gif)
優化視覺效果
基于上述,我們已實現了基本的自動尋路功能。在實際項目中仍需提升一定的視覺效果,讓展示頁面足夠美觀,我們可以采取以下策略:
- 首先,將管道路徑隱藏(使用 polyline.s('transparent.mask', true));
- 隨后,利用 ht.Shape 節點并設置貼圖來呈現人物的運動軌跡。這樣不僅能實現功能,還能大幅增強視覺吸引力。
![wKgZoWcXInKAIKUbAJ6_TaQc0yw837.gif](https://file1.elecfans.com//web1/M00/F3/6A/wKgZoWcXInKAIKUbAJ6_TaQc0yw837.gif)
具體實現代碼如下:
![wKgaoWcXInOAbdBaAABPl2jcr2E449.png](https://file1.elecfans.com//web1/M00/F3/69/wKgaoWcXInOAbdBaAABPl2jcr2E449.png)
![wKgZoWcXInOAKvAIAABHSKKy0JA209.png](https://file1.elecfans.com//web1/M00/F3/6A/wKgZoWcXInOAKvAIAABHSKKy0JA209.png)
作為開發者的我們,將繼續探索和優化自動尋路技術,利用圖撲 HT 提供的插件工具,不斷提升算法效率和用戶體驗。通過合理的參數設置、精確的網格劃分和智能的路徑規劃,為各種應用場景提供更加出色的自動尋路解決方案。
作為國產化數字孿生技術,圖撲長期專注于 Web 可視化領域,自主研發 HT for Web 2D 和 3D 圖形渲染引擎、低代碼數字孿生組態平臺及相關工具。科技自主可控,不受外圍科技所威脅。目前產品已廣泛應用于工業組態、電力能源、孿生工廠、電信機房、智慧交通、智慧城市、園區樓宇、智慧水務、航天軍工等行業領域。
審核編輯 黃宇
-
機器人
+關注
關注
211文章
28418瀏覽量
207095 -
3D
+關注
關注
9文章
2878瀏覽量
107538 -
可視化
+關注
關注
1文章
1194瀏覽量
20942 -
數字孿生
+關注
關注
4文章
1325瀏覽量
12252
發布評論請先 登錄
相關推薦
3D變電站模型可視化發展趨勢分析
淺談工業3D可視化建模的特點
3D智慧城市三維可視化的特點
工廠3D可視化模型檢測技術管理助力工業綠色發展
3D可視化對深海采礦重要性的簡要說明
工廠3D可視化建模代做的好處
關于工廠車間3D可視化線上規劃管理平臺
變電站3D可視化管理平臺的優勢
智慧園區3D可視化大屏的主要優勢
智慧園區數據3D可視化是什么,它有什么功能及作用
3D虛擬數字工廠仿真可視化數字孿生系統
圖撲 3D 可視化國風設計 , 科技與文化碰撞炫酷”火花“
![<b class='flag-5'>圖</b><b class='flag-5'>撲</b> <b class='flag-5'>3D</b> <b class='flag-5'>可視化</b>國風設計 , 科技與文化碰撞炫酷”火花“](https://file.elecfans.com/web2/M00/56/7A/pYYBAGLfYSyAeKNbAA3v0FUa4Qc740.png)
評論