Ⅰ 有哪些應用於移動機器人路徑規劃的演算法
機器人家上了解到,在二維二值地圖(FREE or OCCUPIED)場景下進行路徑規劃的方法。我看之前有同學在回答的時候配上了這幅圖:
這幅圖上的演算法羅列的還是很全面的,體現了各個演算法的出生順序。但是並不能很好的對他們進行一個本質的分類。剛剛那位同學說的graph-based和sampling-based的分類方法我感覺有點概念重疊不能夠對規劃演算法進行這樣的分類,下面通過自己這一年多的研究和實踐對規劃演算法進行一個簡單的分類:
這幅圖上的演算法羅列的還是很全面的,體現了各個演算法的出生順序。但是並不能很好的對他們進行一個本質的分類。剛剛那位同學說的graph-based和sampling-based的分類方法我感覺有點概念重疊不能夠對規劃演算法進行這樣的分類,下面通過自己這一年多的研究和實踐對規劃演算法進行一個簡單的分類:
兩大類:
1. 完備的(complete)
2. 基於采樣的(sampling-based)又稱為概率完備的
一 完備的規劃演算法
A*演算法
所謂完備就是要達到一個systematic的標准,即:如果在起始點和目標點間有路徑解存在那麼一定可以得到解,如果得不到解那麼一定說明沒有解存在。
這一大類演算法在移動機器人領域通常直接在occupancy grid網格地圖上進行規劃(可以簡單理解成二值地圖的像素矩陣)以深度優先尋路演算法、廣度優先尋路演算法、Dijkstra(迪傑斯特拉)演算法為始祖,以A*演算法(Dijstra演算法上以減少計算量為目的加上了一個啟發式代價)最為常用,近期的Theta*演算法是在A*演算法的基礎上增加了line-of-sight優化使得規劃出來的路徑不完全依賴於單步的柵格形狀(答主以為這個演算法意義不大,不就是規劃了一條路徑再簡單平滑了一下么)。
完備的演算法的優勢在與它對於解的捕獲能力是完全的,但是由此產生的缺點就是演算法復雜度較大。這種缺點在二維小尺度柵格地圖上並不明顯,但是在大尺度,尤其是多維度規劃問題上,比如機械臂、蛇形機器人的規劃問題將帶來巨大的計算代價。這樣也直接促使了第二大類演算法的產生。
二 基於采樣的規劃演算法
RRT-connect演算法
這種演算法一般是不直接在grid地圖進行最小柵格解析度的規劃,它們採用在地圖上隨機撒一定密度的粒子來抽象實際地圖輔助規劃。如PRM演算法及其變種就是在原始地圖上進行撒點,抽取roadmap在這樣一個拓撲地圖上進行規劃;RRT以及其優秀的變種RRT-connect則是在地圖上每步隨機撒一個點,迭代生長樹的方式,連接起止點為目的,最後在連接的圖上進行規劃。這些基於采樣的演算法速度較快,但是生成的路徑代價(可理解為長度)較完備的演算法高,而且會產生「有解求不出」的情況(PRM的逢Narrow space卒的情況)。這樣的演算法一般在高維度的規劃問題中廣泛運用。
三 其他規劃演算法
除了這兩類之外還有間接的規劃演算法:Experience-based(Experience Graph經驗圖演算法)演算法:基於經驗的規劃演算法,這是一種存儲之前規劃路徑,建立知識庫,依賴之進行規劃的方法,題主有興趣可以閱讀相關文獻。這種方法犧牲了一定的空間代價達到了速度與完備兼得的優勢。此外還有基於廣義Voronoi圖的方法進行的Fast-marching規劃,類似dijkstra規劃和勢場的融合,該方法能夠完備地規劃出位於道路中央,遠離障礙物的路徑。答主最近也在研究此類演算法相關的工作。
APF(人工勢場)演算法
至於D* 、勢場法、DWA(動態窗口法)、SR-PRM屬於在動態環境下為躲避動態障礙物、考慮機器人動力學模型設計的規劃演算法。
Ⅱ 怎麼理解dwa動態窗口演算法實現避障
當然是可以這樣說的!
Ⅲ 想要金融類數據,應該如何收集
金融大數據平台的搭建和應用是兩個部分,對於金融大數據平台來說,這兩個部分都很重要。
所以以下的部分我們從大數據平台和銀行可以分析哪些指標這兩個角度來闡述。
一、大數據平台
大數據平台的整體架構可以由以下幾個部分組成:
1.一個客戶
客戶主題:客戶屬性(客戶編號、客戶類別)、指標(資產總額、持有產品、交易筆數、交易金額、RFM)、簽約(渠道簽約、業務簽約)組成寬表
2.做了一筆交易
交易主題:交易金融屬性、業務類別、支付通道組成寬表。
3.使用哪個賬戶
賬戶主題:賬戶屬性(所屬客戶、開戶日期、所屬分行、產品、利率、成本)組成寬表
4.通過什麼渠道
渠道主題:渠道屬性、維度、限額組成寬表
5.涉及哪類業務&產品
產品主題:產品屬性、維度、指標組成寬表
Ⅳ 基於激光雷達的SLAM和路徑規劃演算法研究與實現
本文僅供學習使用,並非商業用途,全文是針對哈爾濱工業大學劉文之的論文《移動機器人的路徑規劃與定位技術研究》進行提煉與學習。論文來源中國知網,引用格式如下:
[1]劉文之. 基於激光雷達的SLAM和路徑規劃演算法研究與實現[D].哈爾濱工業大學,2018.
相關坐標系轉換原理已經在前一篇文章寫完了,直接上轉換方程。
這里他的運動模型選擇的是基於里程計的運動模型,還有一種基於速度的運動模型,其實都差不多,整體思想都一樣。里程計是通過計算一定時間內光電編碼器輸出脈沖數來估計機器人運動位移的裝置,主要是使用光電碼盤。根據光電碼盤計算出此時輪子的速度,然後通過已知的輪子半徑來獲得單位時間 每個輪子 的位移增量。
高等數學可知單位時間位移增量就是速度,對速度在一定時間上進行積分就得到這一段時間所走過的路程。
根據上圖,我們可以求出來機器人航向角角速度、圓弧運動半徑和機器人角度變化量,由此可以解的機器人在當前時刻的位姿。
實際上也是有誤差,所以單獨依靠里程計會與實際結果產生較大誤差,所以必須引入其他的外部感測器對外部環境的觀測來修正這些誤差,從而提高定位精度。
首先肯定需要將激光雷達所測得的端點坐標從極坐標、機器人坐標中轉換到世界坐標中。
這張略過,暫時不需要看這個
路徑規劃演算法介紹:
因為該演算法會產生大量的無用臨時途徑,簡單說就是很慢,所以有了其他演算法。
了解兩種代價之後,對於每一個方塊我們採用預估代價與當前路徑代價相加的方法,這樣可以表示每一個路徑點距離終點的距離。在BFS搜索過程的基礎上,優先挑選總代價最低的那個路徑進行搜索,就可以少走不少彎路。(演算法講解 https://www.bilibili.com/video/BV1bv411y79P?from=search&seid=3623681329596549549 )
在局部路徑規劃演算法之中,我們選用DWA演算法(dynamic window approach),又叫動態窗口法。動態窗口法主要是在速度(v, w)空間中采樣多組速度,並模擬機器人在這些速度下一定時間內的軌跡。在得到多組軌跡後,對這些軌跡進行評價,選取最優的軌跡所對應的速度來驅動機器人運動。
state sampling就是按照之前給出的全局路徑規劃,無論是Dijkstra還是A* 都可以方便的得到state sampling,DWA演算法所需要提前建立的action sampling有兩種:
但是無論是什麼情況,上述所做的工作就是把機器人的位移轉化到世界坐標中來,而不是機器人坐標系。速度采樣結束之後,只需要對小車的軌跡進行評判,就可以得到最優解了。下面介紹速度采樣的辦法。
對速度進行采樣一般有以下三個限制:
當確定了速度范圍之後,就需要根據速度解析度來對小車速度離散化,在每一時刻將小車在不同直線速度角速度組合下所即將要行駛的距離都可視化出來。
其中每一條軌跡都是很多小直線連接起來的。
需要用評價函數來對上述軌跡進行選擇,選擇最適合的軌跡
最後為了讓三個參數在評價函數里所發揮的作用均等,我們使用歸一化處理來計算權重。
演算法流程整體如下: