国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

盤點史上最全的Python算法集

電子工程師 ? 來源:cc ? 2019-02-21 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:選擇了在實踐中廣泛應用的算法;依賴最少;容易閱讀,容易理解每個算法的基本思想。希望閱讀本文后能對你有所幫助。

前排友情提示,文章較長,建議收藏后再看。

目錄

環境需求

怎樣使用

本地化

擴展卡爾曼濾波本地化

無損卡爾曼濾波本地化

粒子濾波本地化

直方圖濾波本地化

映射

高斯網格映射

光線投射網格映射

k均值物體聚類

圓形擬合物體形狀識別

SLAM

迭代最近點匹配

EKF SLAM

FastSLAM 1.0

FastSLAM 2.0

基于圖的SLAM

路徑規劃

動態窗口方式

基于網格的搜索

迪杰斯特拉算法

A*算法

勢場算法

模型預測路徑生成

路徑優化示例

查找表生成示例

狀態晶格規劃

均勻極性采樣(Uniform polar sampling)

偏差極性采樣(Biased polar sampling)

路線采樣(Lane sampling)

隨機路徑圖(PRM)規劃

Voronoi路徑圖規劃

快速搜索隨機樹(RRT)

基本RRT

RRT*

基于Dubins路徑的RRT

基于Dubins路徑的RRT*

基于reeds-shepp路徑的RRT*

Informed RRT*

批量Informed RRT*

三次樣條規劃

B樣條規劃

貝濟埃路徑規劃

五次多項式規劃

Dubins路徑規劃

Reeds Shepp路徑規劃

基于LQR的路徑規劃

Frenet Frame中的最優路徑

路徑跟蹤

純追跡跟蹤

史坦利控制

后輪反饋控制

線性二次regulator(LQR)轉向控制

線性二次regulator(LQR)轉向和速度控制

項目支持

環境需求

Python 3.6.x

numpy

scipy

matplotlib

pandas

cvxpy 0.4.x

怎樣使用

安裝必要的庫;

克隆本代碼倉庫;

執行每個目錄下的python腳本;

如果你喜歡,則收藏本代碼庫:)

本地化

擴展卡爾曼濾波本地化

該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

相關閱讀:

概率機器人學

http://www.probabilistic-robotics.org/

無損卡爾曼濾波本地化

該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

相關閱讀:

利用無差別訓練過的無損卡爾曼濾波進行機器人移動本地化

https://www.researchgate.net/publication/267963417_Discriminatively_Trained_Unscented_Kalman_Filter_for_Mobile_Robot_Localization

粒子濾波本地化

該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

相關閱讀:

概率機器人學

http://www.probabilistic-robotics.org/

直方圖濾波本地化

該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

相關閱讀:

概率機器人學

http://www.probabilistic-robotics.org/

映射

高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。

光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。

k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。

圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。

藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。

相關閱讀:

機器人運動介紹:迭代最近點算法

https://cs.gmu.edu/~kosecka/cs685/cs685-icp.pdf

EKF SLAM

這是基于擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。

相關閱讀:

概率機器人學

http://www.probabilistic-robotics.org/

FastSLAM 1.0

這是用FastSLAM 1.0進行基于特征的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。

相關閱讀:

概率機器人學

http://www.probabilistic-robotics.org/

FastSLAM 2.0

這是用FastSLAM 2.0進行基于特征的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。

相關閱讀:

概率機器人學

http://www.probabilistic-robotics.org/

Tim Bailey的SLAM模擬

http://www-personal.acfr.usyd.edu.au/tbailey/software/slam_simulations.htm

基于圖的SLAM

這是基于圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基于圖的SLAM估算的路徑。

黑星是地標,用于生成圖的邊。

相關閱讀:

基于圖的SLAM入門

http://www2.informatik.uni-freiburg.de/~stachnis/pdf/grisetti10titsmag.pdf

路徑規劃

動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。

相關閱讀:

用動態窗口方式避免碰撞

https://www.ri.cmu.edu/pub_files/pub1/fox_dieter_1997_1/fox_dieter_1997_1.pdf

基于網格的搜索

迪杰斯特拉算法

這是利用迪杰斯特拉(Dijkstra)算法實現的基于二維網格的最短路徑規劃。

動畫中青色點為搜索過的節點。

A*算法

下面是使用A星算法進行基于二維網格的最短路徑規劃。

動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

勢場算法

下面是使用勢場算法進行基于二維網格的路徑規劃。

動畫中藍色的熱區圖顯示了每個格子的勢能。

相關閱讀:

機器人運動規劃:勢能函數

https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf

模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用于狀態晶格規劃(state lattice planning)。

路徑優化示例

查找表生成示例

相關閱讀:

用于帶輪子的機器人的最優不平整地形路徑生成

http://journals.sagepub.com/doi/pdf/10.1177/0278364906075328

狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

相關閱讀:

用于帶輪子的機器人的最優不平整地形路徑生成

http://journals.sagepub.com/doi/pdf/10.1177/0278364906075328

用于復雜環境下的高性能運動機器人導航的可行運動的狀態空間采樣

http://www.frc.ri.cmu.edu/~alonzo/pubs/papers/JFR_08_SS_Sampling.pdf

均勻極性采樣(Uniform polar sampling)

偏差極性采樣(Biased polar sampling)

路線采樣(Lane sampling)

隨機路徑圖(PRM)規劃

這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上采用了迪杰斯特拉方法。

動畫中的藍點為采樣點。

青色叉為迪杰斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

相關閱讀:

隨機路徑圖

https://en.wikipedia.org/wiki/Probabilistic_roadmap

Voronoi路徑圖規劃

這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上采用了迪杰斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪杰斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

相關閱讀:

機器人運動規劃

https://www.cs.cmu.edu/~motionplanning/lecture/Chap5-RoadMap-Methods_howie.pdf

快速搜索隨機樹(RRT)

基本RRT

這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

RRT*

這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

相關閱讀:

最優運動規劃的基于增量采樣的算法

https://arxiv.org/abs/1005.0416

最優運動規劃的基于采樣的算法

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.419.5503&rep=rep1&type=pdf

基于Dubins路徑的RRT

為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

基于Dubins路徑的RRT*

為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

基于reeds-shepp路徑的RRT*

為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

Informed RRT*

這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發采樣域。

相關閱讀:

Informed RRT*:通過對可接受的橢球啟發的直接采樣實現最優的基于采樣的路徑規劃

https://arxiv.org/pdf/1404.2334.pdf

批量Informed RRT*

這是使用批量Informed RRT*的路徑規劃代碼。

相關閱讀:

批量Informed樹(BIT*):通過對隱含隨機幾何圖形進行啟發式搜索實現基于采樣的最優規劃

https://arxiv.org/abs/1405.5848

閉合回路RRT*

使用閉合回路RRT*(Closed loop RRT*)實現的基于車輛模型的路徑規劃。

這段代碼里,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制采用了PID。

相關閱讀:

使用閉合回路預測在復雜環境內實現運動規劃

http://acl.mit.edu/papers/KuwataGNC08.pdf)

應用于自動城市駕駛的實時運動規劃

http://acl.mit.edu/papers/KuwataTCST09.pdf

[1601.06326]采用閉合回路預測實現最優運動規劃的基于采樣的算法

https://arxiv.org/abs/1601.06326

LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃采用了雙重積分運動模型。

相關閱讀:

LQR-RRT*:使用自動推導擴展啟發實現最優基于采樣的運動規劃

http://lis.csail.mit.edu/pubs/perez-icra12.pdf

MahanFathi/LQR-RRTstar:LQR-RRT*方法用于單擺相位中的隨機運動規劃

https://github.com/MahanFathi/LQR-RRTstar

三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。

B樣條規劃

這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最后一個路點位于最后的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

Eta^3樣條路徑規劃

這是使用Eta ^ 3樣條曲線的路徑規劃。

相關閱讀:

eta^3-Splines for the Smooth Path Generation of Wheeled Mobile Robots

https://ieeexplore.ieee.org/document/4339545/

貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。

改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:

相關閱讀:

根據貝濟埃曲線為自動駕駛汽車生成曲率連續的路徑

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.294.6438&rep=rep1&type=pdf

五次多項式規劃

利用五次多項式進行路徑規劃。

它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用于Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

Dubins路徑規劃

Dubins路徑規劃的示例代碼。

相關閱讀:

Dubins路徑

https://en.wikipedia.org/wiki/Dubins_path

Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。

相關閱讀:

15.3.2 Reeds-Shepp曲線

http://planning.cs.uiuc.edu/node822.html

用于能前進和后退的汽車的最優路徑

https://pdfs.semanticscholar.org/932e/c495b1d0018fd59dee12a0bf74434fac7af4.pdf

ghliu/pyReedsShepp:實現Reeds Shepp曲線

https://github.com/ghliu/pyReedsShepp

基于LQR的路徑規劃

為雙重積分模型使用基于LQR的路徑規劃的示例代碼。

Frenet Frame中的最優路徑

這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

相關閱讀:

Frenet Frame中的動態接到場景中的最優路徑生成

https://www.researchgate.net/profile/Moritz_Werling/publication/224156269_Optimal_Trajectory_Generation_for_Dynamic_Street_Scenarios_in_a_Frenet_Frame/links/54f749df0cf210398e9277af.pdf

Frenet Frame中的動態接到場景中的最優路徑生成

https://www.youtube.com/watch?v=Cj6tAQe7UCY

路徑跟蹤

姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。

相關閱讀:

Robotics, Vision and Control - Fundamental Algorithms In MATLAB? Second, Completely Revised, Extended And Updated Edition | Peter Corke | Springer

https://www.springer.com/us/book/9783319544120

純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。

紅線為目標路線,綠叉為純追跡控制的目標點,藍線為跟蹤路線。

相關閱讀:

城市中的自動駕駛汽車的運動規劃和控制技術的調查

https://arxiv.org/abs/1604.07446

史坦利控制

使用史坦利(Stanley)轉向控制和PID速度控制的路徑跟蹤模擬。

相關閱讀:

史坦利:贏得DARPA大獎賽的機器人

http://robots.stanford.edu/papers/thrun.stanley05.pdf

用于自動駕駛機動車路徑跟蹤的自動轉向方法

https://www.ri.cmu.edu/pub_files/2009/2/Automatic_Steering_Methods_for_Autonomous_Automobile_Path_Tracking.pdf

后輪反饋控制

利用后輪反饋轉向控制和PID速度控制的路徑跟蹤模擬。

相關閱讀:

城市中的自動駕駛汽車的運動規劃和控制技術的調查

https://arxiv.org/abs/1604.07446

線性二次regulator(LQR)轉向控制

使用LQR轉向控制和PID速度控制的路徑跟蹤模擬。

相關閱讀:

ApolloAuto/apollo:開源自動駕駛平臺

https://github.com/ApolloAuto/apollo

線性二次regulator(LQR)轉向和速度控制

使用LQR轉向和速度控制的路徑跟蹤模擬。

相關閱讀:

完全自動駕駛:系統和算法 - IEEE會議出版物

http://ieeexplore.ieee.org/document/5940562/

模型預測速度和轉向控制

使用迭代線性模型預測轉向和速度控制的路徑跟蹤模擬。

這段代碼使用了cxvxpy作為最優建模工具。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4784

    瀏覽量

    98042
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90025

原文標題:這可能是史上最全的Python算法集!

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RFID盤點vs傳統人工盤點:企業庫存盤不準?選對工具是關鍵!

    傳統庫存盤點耗時耗力還不準?RFID手持機帶你告別Excel人工對賬,無需對準、批量識別、隔箱讀取,4步完成倉庫盤點,效率提升10倍以上!本文詳解 RFID 手持機盤點流程、適用場景及核心優勢,助力企業實現庫存可視化管理,提升現
    的頭像 發表于 12-31 14:01 ?258次閱讀
    RFID<b class='flag-5'>盤點</b>vs傳統人工<b class='flag-5'>盤點</b>:企業庫存盤不準?選對工具是關鍵!

    沒有專利的opencv-python 版本

    所有 官方發布的 opencv-python 核心版本(無 contrib 擴展)都無專利風險——專利問題僅存在于 opencv-contrib-python 擴展模塊中的少數算法(如早期 SIFT
    發表于 12-13 12:37

    資產盤點 “跑斷腿”?RFID 無感盤點,1 天搞定全廠區

    資產盤點不是 “走過場”,而是摸清家底、降本增效的關鍵。RFID 無感盤點的價值,不止是 “1 天搞定全廠區” 的效率飛躍,更讓資產管理從 “事后核對” 變成 “實時可控”。
    的頭像 發表于 11-18 10:46 ?380次閱讀
    資產<b class='flag-5'>盤點</b> “跑斷腿”?RFID 無感<b class='flag-5'>盤點</b>,1 天搞定全廠區

    SimData:基于aiSim的高保真虛擬數據生成方案

    01前言在自動駕駛感知系統的研發過程中,模型的性能高度依賴于大規模、高質量的感知數據。目前業界常用的數據包括KITTI、nuScenes、WaymoOpenDataset等,它們為自動駕駛算法的發展奠定了重要基礎。然而,構建
    的頭像 發表于 11-07 17:35 ?5364次閱讀
    SimData:基于aiSim的高保真虛擬數據<b class='flag-5'>集</b>生成方案

    倉庫盤點誤差大總出錯,咋整?試試智能盤點解決方法

    倉庫盤點頻繁賬實不符?人工盤點誤差高、效率低,還吃掉利潤?RFID 智能盤點技術幫你解決!可以在2-25 米遠距離批量讀寫,庫存準確率飆升 99%+,盤點時間縮短一半,適配倉儲物流、制
    的頭像 發表于 11-05 11:56 ?390次閱讀
    倉庫<b class='flag-5'>盤點</b>誤差大總出錯,咋整?試試智能<b class='flag-5'>盤點</b>解決方法

    RISCV-K指令擴展分享

    RISC-V K擴展指的是RISC-V用于提升密碼學算法的速度、減小應用程序大小的一個擴展指令。主要包含了:AES加密算法的加速指令、SHA算法的加速指令,SM3、SM4
    發表于 10-23 06:12

    基于蜂鳥E203架構的指令K擴展

    ,加速神經網絡算法中的矩陣計算。 這些指令可以用于許多應用程序,例如數字信號處理、圖像處理、機器學習等。同時,這些指令也可以通過軟件編譯器進行自動向量化,從而提高程序性能。需要注意的是,添加K擴展指令
    發表于 10-21 09:38

    RFID標簽在庫存盤點中的應用

    RFID技術在庫存盤點中的應用正變得越來越廣泛,其通過無線電信號識別特定目標并讀取相關數據的能力,極大地提高了庫存管理的效率與準確性。以下是RFID標簽在庫存盤點中的一些具體應用和優勢:1.快速盤點
    的頭像 發表于 09-03 15:42 ?641次閱讀
    RFID標簽在庫存<b class='flag-5'>盤點</b>中的應用

    盤點嵌入式就業所需要的技能有哪些?

    ,把握未來的職業機遇。 1.智能汽車行業: - 熟悉嵌入式編程語言,如C/C++、Python等。 - 掌握嵌入式系統設計與開發流程,了解汽車電子控制系統的基本原理。 - 具備良好的數據結構和算法
    發表于 08-11 15:43

    python app不能運行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發表于 08-06 06:27

    精準盤點,無憂管理——RFID智能盤點終端解析

    RFID智能盤點終端高效、精準,利用RFID技術實現快速批量識別,實時更新數據,確保庫存信息準確無誤。其輕便易攜設計及簡潔操作界面使盤點工作輕松便捷。此外,該終端具有高可靠性,適用于各種環境,為企業帶來高效、精準的盤點體驗。
    的頭像 發表于 07-14 14:17 ?568次閱讀

    RS485線器選購指南:2025主流通信轉換設備品牌盤點與應用方案解析

    RS485線器選購指南:2025主流通信轉換設備品牌盤點與應用方案解析 隨著工業自動化和物聯網的快速發展,RS485線器作為一種可靠的串行通信設備,在各種工業場景中得到了廣泛應用。2025年
    的頭像 發表于 06-12 11:04 ?1229次閱讀

    FPC標簽在盤點中的應用

    RFID是一種通過無線電信號識別特定目標并讀取相關數據的技術。與傳統的條形碼技術相比,RFID技術具有顯著的優勢,如遠距離讀取、存儲更多信息以及更高的準確性和可靠性RFID在庫存盤點中的具體應用1.
    的頭像 發表于 05-09 15:21 ?558次閱讀
    FPC標簽在<b class='flag-5'>盤點</b>中的應用

    芯擎科技發布史上最全座艙和智駕解決方案,開啟“大生態”模式

    2025年3月27日,芯擎科技在南京舉辦“擎隨芯動,智融萬象”2025芯擎·生態科技日,隆重發布史上最全智能座艙、智能駕駛兩大系列解決方案,開啟“大生態”合作模式,與全球合作伙伴共建更開放的繁榮生態,為智駕平權、安全平權賦能。
    的頭像 發表于 03-28 15:43 ?2137次閱讀
    芯擎科技發布<b class='flag-5'>史上</b><b class='flag-5'>最全</b>座艙和智駕解決方案,開啟“大生態”模式

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一個簡單的Python程序。什么是Python程序?
    的頭像 發表于 03-25 09:27 ?2026次閱讀
    零基礎入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b>程序?