'這應該是全網最全的 Python 算法集!(附415集全套教程分享)'

"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

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

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

4.1 均勻極性採樣(Uniform polar sampling)


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

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

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

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

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

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

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

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

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

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

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

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

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

動畫中的藍點為採樣點。

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

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

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

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

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

動畫中的藍點為採樣點。

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

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

動畫中的藍點為Voronoi點。

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

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

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

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

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

不需要初始位置。

04 映射

1. 高斯網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

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

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

05 SLAM

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

1. 迭代最近點匹配

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

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

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

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

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

紅點是FastSLAM中的粒子。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

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

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

2.2 A*算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

2.3 勢場算法

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


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

3. 模型預測路徑生成

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

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

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

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

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

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

動畫中的藍點為採樣點。

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

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

動畫中的藍點為Voronoi點。

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

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

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

7.2 RRT*


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

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

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

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

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


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

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

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

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


紅線為目標路線,綠叉為純追跡控制的目標點,藍線為跟蹤路線。

3. 史坦利控制

使用史坦利(Stanley)轉向控制和PID速度控制的路徑跟蹤模擬。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


紅線為目標路線,綠叉為純追跡控制的目標點,藍線為跟蹤路線。

3. 史坦利控制

使用史坦利(Stanley)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 後輪反饋控制

利用後輪反饋轉向控制和PID速度控制的路徑跟蹤模擬。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


紅線為目標路線,綠叉為純追跡控制的目標點,藍線為跟蹤路線。

3. 史坦利控制

使用史坦利(Stanley)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 後輪反饋控制

利用後輪反饋轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 線性二次regulator(LQR)轉向控制

使用LQR轉向控制和PID速度控制的路徑跟蹤模擬。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


紅線為目標路線,綠叉為純追跡控制的目標點,藍線為跟蹤路線。

3. 史坦利控制

使用史坦利(Stanley)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 後輪反饋控制

利用後輪反饋轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 線性二次regulator(LQR)轉向控制

使用LQR轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


6. 線性二次regulator(LQR)轉向和速度控制

使用LQR轉向和速度控制的路徑跟蹤模擬。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


紅線為目標路線,綠叉為純追跡控制的目標點,藍線為跟蹤路線。

3. 史坦利控制

使用史坦利(Stanley)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 後輪反饋控制

利用後輪反饋轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 線性二次regulator(LQR)轉向控制

使用LQR轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


6. 線性二次regulator(LQR)轉向和速度控制

使用LQR轉向和速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


7. 模型預測速度和轉向控制

使用迭代線性模型預測轉向和速度控制的路徑跟蹤模擬。


"

本文較長,建議大家仔細閱讀!

2019年最新python教程

如果你處於想學python或者正在學習python,那麼你的python教程應該不少了吧,但是是最新的嗎?

說不定你學的可能是兩年前人家就學過的內容,在這小編分享一波2019最新的python全套教程最後小編為大家準備了6月份新出的python自學視頻教程,共計415集,免費分享給大家!

2019Python自學教程全新升級為《Python+數據分析+機器學習》,九大階段能力逐級提升,打造技能更全面的全棧工程師。

請大家轉發本文+關注並私信小編:“資料”即可免費領取哦!

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

這應該是全網最全的 Python 算法集!(附415集全套教程分享)

正文開始!

導讀:本文是一些機器人算法(特別是自動導航算法)的Python代碼合集。

其主要特點有以下三點:

  • 選擇了在實踐中廣泛應用的算法;
  • 依賴最少;
  • 容易閱讀,容易理解每個算法的基本思想。

私信小編001 獲取github地址!

希望閱讀本文後能對你有所幫助。

前排友情提示,文章較長,建議收藏後再看。

00 目錄

環境需求

怎樣使用

本地化

  • 擴展卡爾曼濾波本地化
  • 無損卡爾曼濾波本地化
  • 粒子濾波本地化
  • 直方圖濾波本地化

映射

  • 高斯網格映射
  • 光線投射網格映射
  • 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)轉向和速度控制

項目支持

01 環境需求

  • Python 3.6.x
  • numpy
  • scipy
  • matplotlib
  • pandas
  • cvxpy 0.4.x

02 怎樣使用

  1. 安裝必要的庫;
  2. 克隆本代碼倉庫;
  3. 執行每個目錄下的python腳本;
  4. 如果你喜歡,則收藏本代碼庫:)

03 本地化

1. 擴展卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用擴展卡爾曼濾波器(Extended Kalman Filter, EKF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為EKF估算的路徑。

紅色橢圓為EKF估算的協方差。

2. 無損卡爾曼濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用無損卡爾曼濾波器(Unscented Kalman Filter, UKF)實現傳感器混合本地化。

線和點的含義與EKF模擬的例子相同。

3. 粒子濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法利用粒子濾波器(Particle Filter, PF)實現傳感器混合本地化。

藍線為真實路徑,黑線為導航推測路徑(dead reckoning trajectory),綠點為位置觀測(如GPS),紅線為PF估算的路徑。

該算法假設機器人能夠測量與地標(RFID)之間的距離。

PF本地化會用到該測量結果。

4. 直方圖濾波本地化


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


該算法是利用直方圖濾波器(Histogram filter)實現二維本地化的例子。

紅十字是實際位置,黑點是RFID的位置。

藍色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數,yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數據進行本地化。

不需要初始位置。

04 映射

1. 高斯網格映射

本算法是二維高斯網格映射(Gaussian grid mapping)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 光線投射網格映射

本算法是二維光線投射網格映射(Ray casting grid map)的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. k均值物體聚類

本算法是使用k均值算法進行二維物體聚類的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 圓形擬合物體形狀識別

本算法是使用圓形擬合進行物體形狀識別的例子。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


藍圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點。

紅圈是使用圓形擬合估計的物體形狀。

05 SLAM

同時本地化和映射(Simultaneous Localization and Mapping,SLAM)的例子。

1. 迭代最近點匹配

本算法是使用單值解構進行二維迭代最近點(Iterative Closest Point,ICP)匹配的例子。

它能計算從一些點到另一些點的旋轉矩陣和平移矩陣。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. EKF SLAM

這是基於擴展卡爾曼濾波的SLAM示例。

藍線是真實路徑,黑線是導航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3. FastSLAM 1.0

這是用FastSLAM 1.0進行基於特徵的SLAM的示例。

藍線是實際路徑,黑線是導航推測,紅線是FastSLAM的推測路徑。

紅點是FastSLAM中的粒子。

黑點是地標,藍叉是FastLSAM估算的地標位置。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. FastSLAM 2.0

這是用FastSLAM 2.0進行基於特徵的SLAM的示例。

動畫的含義與FastSLAM 1.0的情況相同。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 基於圖的SLAM

這是基於圖的SLAM的示例。

藍線是實際路徑。

黑線是導航推測路徑。

紅線是基於圖的SLAM估算的路徑。

黑星是地標,用於生成圖的邊。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


06 路徑規劃

1. 動態窗口方式

這是使用動態窗口方式(Dynamic Window Approach)進行二維導航的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 基於網格的搜索

2.1 迪傑斯特拉算法

這是利用迪傑斯特拉(Dijkstra)算法實現的基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

2.2 A*算法

下面是使用A星算法進行基於二維網格的最短路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中青色點為搜索過的節點。

啟發算法為二維歐幾里得距離。

2.3 勢場算法

下面是使用勢場算法進行基於二維網格的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


動畫中藍色的熱區圖顯示了每個格子的勢能。

3. 模型預測路徑生成

下面是模型預測路徑生成的路徑優化示例。

算法用於狀態晶格規劃(state lattice planning)。

3.1 路徑優化示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


3.2 查找表生成示例


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 狀態晶格規劃

這個腳本使用了狀態晶格規劃(state lattice planning)實現路徑規劃。

這段代碼通過模型預測路徑生成來解決邊界問題。

4.1 均勻極性採樣(Uniform polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.2 偏差極性採樣(Biased polar sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4.3 路線採樣(Lane sampling)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 隨機路徑圖(PRM)規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個隨機路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為採樣點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為PRM的最終路徑。

6. Voronoi路徑圖規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這個Voronoi路徑圖(Probabilistic Road-Map,PRM)規劃算法在圖搜索上採用了迪傑斯特拉方法。

動畫中的藍點為Voronoi點。

青色叉為迪傑斯特拉方法搜索過的點。

紅線為Voronoi路徑圖的最終路徑。

7. 快速搜索隨機樹(RRT)

7.1 基本RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是個使用快速搜索隨機樹(Rapidly-Exploring Random Trees,RRT)的簡單路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.2 RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用RRT*的路徑規劃代碼。

黑色圓為障礙物,綠線為搜索樹,紅叉為開始位置和目標位置。

7.3 基於Dubins路徑的RRT


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT和dubins路徑規劃的路徑規劃算法。

7.4 基於Dubins路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和dubins路徑規劃的路徑規劃算法。

7.5 基於reeds-shepp路徑的RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


為汽車形機器人提供的使用RRT*和reeds shepp路徑規劃的路徑規劃算法。

7.6 Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Informed RRT*的路徑規劃代碼。

青色橢圓為Informed RRT*的啟發採樣域。

7.7 批量Informed RRT*


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用批量Informed RRT*的路徑規劃代碼。

7.8 閉合迴路RRT*

使用閉合迴路RRT*(Closed loop RRT*)實現的基於車輛模型的路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼裡,轉向控制用的是純追跡算法(pure-pursuit algorithm)。

速度控制採用了PID。

7.9 LQR-RRT*

這是個使用LQR-RRT*的路徑規劃模擬。

LQR局部規劃採用了雙重積分運動模型。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


8. 三次樣條規劃

這是段三次路徑規劃的示例代碼。

這段代碼根據x-y的路點,利用三次樣條生成一段曲率連續的路徑。

每個點的指向角度也可以用解析的方式計算。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


9. B樣條規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是段使用B樣條曲線進行規劃的例子。

輸入路點,它會利用B樣條生成光滑的路徑。

第一個和最後一個路點位於最後的路徑上。

相關閱讀:

B樣條

https://en.wikipedia.org/wiki/B-spline

10. Eta^3樣條路徑規劃


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這是使用Eta ^ 3樣條曲線的路徑規劃。

11. 貝濟埃路徑規劃

貝濟埃路徑規劃的示例代碼。

根據四個控制點生成貝濟埃路徑。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


改變起點和終點的偏移距離,可以生成不同的貝濟埃路徑:


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


12. 五次多項式規劃

利用五次多項式進行路徑規劃。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


它能根據五次多項式計算二維路徑、速度和加速度。

相關閱讀:

用於Agv In定位的局部路徑規劃和運動控制

http://ieeexplore.ieee.org/document/637936/

13. Dubins路徑規劃

Dubins路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


14. Reeds Shepp路徑規劃

Reeds Shepp路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


15. 基於LQR的路徑規劃

為雙重積分模型使用基於LQR的路徑規劃的示例代碼。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


16. Frenet Frame中的最優路徑


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼在Frenet Frame中生成最優路徑。

青色線為目標路徑,黑色叉為障礙物。

紅色線為預測的路徑。

07 路徑跟蹤

1. 姿勢控制跟蹤

這是姿勢控制跟蹤的模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


2. 純追跡跟蹤

使用純追跡(pure pursuit)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


紅線為目標路線,綠叉為純追跡控制的目標點,藍線為跟蹤路線。

3. 史坦利控制

使用史坦利(Stanley)轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


4. 後輪反饋控制

利用後輪反饋轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


5. 線性二次regulator(LQR)轉向控制

使用LQR轉向控制和PID速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


6. 線性二次regulator(LQR)轉向和速度控制

使用LQR轉向和速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


7. 模型預測速度和轉向控制

使用迭代線性模型預測轉向和速度控制的路徑跟蹤模擬。


這應該是全網最全的 Python 算法集!(附415集全套教程分享)


這段代碼使用了cxvxpy作為最優建模工具。

"

相關推薦

推薦中...