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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文洞悉Python必備50種算法

新機(jī)器視覺 ? 來源:新機(jī)器視覺 ? 2023-05-05 14:36 ? 次閱讀

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

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

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

目錄

一、環(huán)境需求

二、怎樣使用

三、本地化

3.1擴(kuò)展卡爾曼濾波本地化

3.2無損卡爾曼濾波本地化

3.3粒子濾波本地化

3.4直方圖濾波本地化

四、映射

4.1高斯網(wǎng)格映射

4.2光線投射網(wǎng)格映射

4.3k均值物體聚類

4.4圓形擬合物體形狀識別

五、SLAM

5.1迭代最近點(diǎn)匹配

5.2EKF SLAM

5.3FastSLAM 1.0

5.4FastSLAM 2.0

5.5基于圖的SLAM

六、路徑規(guī)劃

6.1動態(tài)窗口方式

6.2基于網(wǎng)格的搜索

迪杰斯特拉算法

A*算法

勢場算法

6.3模型預(yù)測路徑生成

路徑優(yōu)化示例

查找表生成示例

6.4狀態(tài)晶格規(guī)劃

均勻極性采樣(Uniform polar sampling)

偏差極性采樣(Biased polar sampling)

路線采樣(Lane sampling)

6.5隨機(jī)路徑圖(PRM)規(guī)劃

6.6Voronoi路徑圖規(guī)劃

6.7快速搜索隨機(jī)樹(RRT)

基本RRT

RRT*

基于Dubins路徑的RRT

基于Dubins路徑的RRT*

基于reeds-shepp路徑的RRT*

Informed RRT*

批量Informed RRT*

閉合回路RRT*

LQR-RRT*

6.8三次樣條規(guī)劃

6.9B樣條規(guī)劃

6.10Eta^3樣條路徑規(guī)劃

6.11貝濟(jì)埃路徑規(guī)劃

6.12五次多項式規(guī)劃

6.13Dubins路徑規(guī)劃

6.14Reeds Shepp路徑規(guī)劃

6.15基于LQR的路徑規(guī)劃

6.16Frenet Frame中的最優(yōu)路徑

七、路徑跟蹤

7.1姿勢控制跟蹤

7.2純追跡跟蹤

7.3史坦利控制

7.4后輪反饋控制

7.5線性二次regulator(LQR)轉(zhuǎn)向控制

7.6線性二次regulator(LQR)轉(zhuǎn)向和速度控制

7.7模型預(yù)測速度和轉(zhuǎn)向控制

八、項目支持

一、環(huán)境需求

Python 3.6.x

numpy

scipy

matplotlib

pandas

cvxpy 0.4.x

二、怎樣使用

安裝必要的庫;

克隆本代碼倉庫;

執(zhí)行每個目錄下的python腳本;

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

三、本地化

3.1 擴(kuò)展卡爾曼濾波本地化

502ab458-eb0c-11ed-90ce-dac502259ad0.jpg

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

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

紅色橢圓為EKF估算的協(xié)方差。

相關(guān)閱讀:

概率機(jī)器人學(xué)

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

3.2 無損卡爾曼濾波本地化

503bcea0-eb0c-11ed-90ce-dac502259ad0.png

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

線和點(diǎn)的含義與EKF模擬的例子相同。

相關(guān)閱讀:

利用無差別訓(xùn)練過的無損卡爾曼濾波進(jìn)行機(jī)器人移動本地化

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

3.3 粒子濾波本地化

50425b8a-eb0c-11ed-90ce-dac502259ad0.png

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

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

該算法假設(shè)機(jī)器人能夠測量與地標(biāo)(RFID)之間的距離。

PF本地化會用到該測量結(jié)果。

相關(guān)閱讀:

概率機(jī)器人學(xué)

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

3.4 直方圖濾波本地化

5048592c-eb0c-11ed-90ce-dac502259ad0.png

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

紅十字是實際位置,黑點(diǎn)是RFID的位置。

藍(lán)色格子是直方圖濾波器的概率位置。

在該模擬中,x,y是未知數(shù),yaw已知。

濾波器整合了速度輸入和從RFID獲得距離觀測數(shù)據(jù)進(jìn)行本地化。

不需要初始位置。

相關(guān)閱讀:

概率機(jī)器人學(xué)

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

四、映射

4.1 高斯網(wǎng)格映射

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

504f5b5a-eb0c-11ed-90ce-dac502259ad0.gif

4.2 光線投射網(wǎng)格映射

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

50589440-eb0c-11ed-90ce-dac502259ad0.gif

4.3 k均值物體聚類

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

5062133a-eb0c-11ed-90ce-dac502259ad0.gif

4.4 圓形擬合物體形狀識別

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

5069ad34-eb0c-11ed-90ce-dac502259ad0.gif

藍(lán)圈是實際的物體形狀。

紅叉是通過距離傳感器觀測到的點(diǎn)。

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

五、SLAM

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

5.1 迭代最近點(diǎn)匹配

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

它能計算從一些點(diǎn)到另一些點(diǎn)的旋轉(zhuǎn)矩陣和平移矩陣。

5072f75e-eb0c-11ed-90ce-dac502259ad0.gif

相關(guān)閱讀:

機(jī)器人運(yùn)動介紹:迭代最近點(diǎn)算法

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

5.2 EKF SLAM

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

藍(lán)線是真實路徑,黑線是導(dǎo)航推測路徑,紅線是EKF SLAM估計的路徑。

綠叉是估計的地標(biāo)。

507a2ab0-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

概率機(jī)器人學(xué)

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

5.3 FastSLAM 1.0

這是用FastSLAM 1.0進(jìn)行基于特征的SLAM的示例。

藍(lán)線是實際路徑,黑線是導(dǎo)航推測,紅線是FastSLAM的推測路徑。

紅點(diǎn)是FastSLAM中的粒子。

黑點(diǎn)是地標(biāo),藍(lán)叉是FastLSAM估算的地標(biāo)位置。

50818d82-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

概率機(jī)器人學(xué)

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

5.4 FastSLAM 2.0

這是用FastSLAM 2.0進(jìn)行基于特征的SLAM的示例。

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

508c9222-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

概率機(jī)器人學(xué)

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

Tim Bailey的SLAM模擬

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

5.5 基于圖的SLAM

這是基于圖的SLAM的示例。

藍(lán)線是實際路徑。

黑線是導(dǎo)航推測路徑。

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

黑星是地標(biāo),用于生成圖的邊。

50986b1a-eb0c-11ed-90ce-dac502259ad0.gif

相關(guān)閱讀:

基于圖的SLAM入門

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

六、路徑規(guī)劃

6.1 動態(tài)窗口方式

這是使用動態(tài)窗口方式(Dynamic Window Approach)進(jìn)行二維導(dǎo)航的示例代碼。

50a3a2e6-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

用動態(tài)窗口方式避免碰撞

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

6.2 基于網(wǎng)格的搜索

迪杰斯特拉算法

這是利用迪杰斯特拉(Dijkstra)算法實現(xiàn)的基于二維網(wǎng)格的最短路徑規(guī)劃。

50b1ba2a-eb0c-11ed-90ce-dac502259ad0.jpg

動畫中青色點(diǎn)為搜索過的節(jié)點(diǎn)。

A*算法

下面是使用A星算法進(jìn)行基于二維網(wǎng)格的最短路徑規(guī)劃。

50b82f36-eb0c-11ed-90ce-dac502259ad0.png

動畫中青色點(diǎn)為搜索過的節(jié)點(diǎn)。

啟發(fā)算法為二維歐幾里得距離。

勢場算法

下面是使用勢場算法進(jìn)行基于二維網(wǎng)格的路徑規(guī)劃。

50c34268-eb0c-11ed-90ce-dac502259ad0.jpg

動畫中藍(lán)色的熱區(qū)圖顯示了每個格子的勢能。

相關(guān)閱讀:

機(jī)器人運(yùn)動規(guī)劃:勢能函數(shù)

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

6.3 模型預(yù)測路徑生成

下面是模型預(yù)測路徑生成的路徑優(yōu)化示例。

算法用于狀態(tài)晶格規(guī)劃(state lattice planning)。

路徑優(yōu)化示例

50cc5056-eb0c-11ed-90ce-dac502259ad0.gif

查找表生成示例

50d8de16-eb0c-11ed-90ce-dac502259ad0.jpg

相關(guān)閱讀:

用于帶輪子的機(jī)器人的最優(yōu)不平整地形路徑生成

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

6.4 狀態(tài)晶格規(guī)劃

這個腳本使用了狀態(tài)晶格規(guī)劃(state lattice planning)實現(xiàn)路徑規(guī)劃。

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

相關(guān)閱讀:

用于帶輪子的機(jī)器人的最優(yōu)不平整地形路徑生成

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

用于復(fù)雜環(huán)境下的高性能運(yùn)動機(jī)器人導(dǎo)航的可行運(yùn)動的狀態(tài)空間采樣

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

均勻極性采樣(Uniform polar sampling)

50e11ac2-eb0c-11ed-90ce-dac502259ad0.gif

偏差極性采樣(Biased polar sampling)

50f08a52-eb0c-11ed-90ce-dac502259ad0.gif

路線采樣(Lane sampling)

510172fe-eb0c-11ed-90ce-dac502259ad0.gif

6.5 隨機(jī)路徑圖(PRM)規(guī)劃

510efe4c-eb0c-11ed-90ce-dac502259ad0.jpg

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

動畫中的藍(lán)點(diǎn)為采樣點(diǎn)。

青色叉為迪杰斯特拉方法搜索過的點(diǎn)。

紅線為PRM的最終路徑。

相關(guān)閱讀:

隨機(jī)路徑圖

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

6.6 Voronoi路徑圖規(guī)劃

51142aac-eb0c-11ed-90ce-dac502259ad0.png

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

動畫中的藍(lán)點(diǎn)為Voronoi點(diǎn)。

青色叉為迪杰斯特拉方法搜索過的點(diǎn)。

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

相關(guān)閱讀:

機(jī)器人運(yùn)動規(guī)劃

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

6.7 快速搜索隨機(jī)樹(RRT)

基本RRT

511ba69c-eb0c-11ed-90ce-dac502259ad0.png

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

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

RRT*

5122d00c-eb0c-11ed-90ce-dac502259ad0.png

這是使用RRT*的路徑規(guī)劃代碼。

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

相關(guān)閱讀:

最優(yōu)運(yùn)動規(guī)劃的基于增量采樣的算法

https://arxiv.org/abs/1005.0416

最優(yōu)運(yùn)動規(guī)劃的基于采樣的算法

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

基于Dubins路徑的RRT

51307c48-eb0c-11ed-90ce-dac502259ad0.jpg

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

基于Dubins路徑的RRT*

5136fc3a-eb0c-11ed-90ce-dac502259ad0.jpg

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

基于reeds-shepp路徑的RRT*

513cf4dc-eb0c-11ed-90ce-dac502259ad0.jpg

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

Informed RRT*

51432df2-eb0c-11ed-90ce-dac502259ad0.jpg

這是使用Informed RRT*的路徑規(guī)劃代碼。

青色橢圓為Informed RRT*的啟發(fā)采樣域。

相關(guān)閱讀:

Informed RRT*:通過對可接受的橢球啟發(fā)的直接采樣實現(xiàn)最優(yōu)的基于采樣的路徑規(guī)劃

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

批量Informed RRT*

514f387c-eb0c-11ed-90ce-dac502259ad0.gif

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

相關(guān)閱讀:

批量Informed樹(BIT*):通過對隱含隨機(jī)幾何圖形進(jìn)行啟發(fā)式搜索實現(xiàn)基于采樣的最優(yōu)規(guī)劃

https://arxiv.org/abs/1405.5848

閉合回路RRT*

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

5160d6a4-eb0c-11ed-90ce-dac502259ad0.jpg

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

速度控制采用了PID。

相關(guān)閱讀:

使用閉合回路預(yù)測在復(fù)雜環(huán)境內(nèi)實現(xiàn)運(yùn)動規(guī)劃

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

應(yīng)用于自動城市駕駛的實時運(yùn)動規(guī)劃

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

[1601.06326]采用閉合回路預(yù)測實現(xiàn)最優(yōu)運(yùn)動規(guī)劃的基于采樣的算法

https://arxiv.org/abs/1601.06326

LQR-RRT*

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

LQR局部規(guī)劃采用了雙重積分運(yùn)動模型。

5171025e-eb0c-11ed-90ce-dac502259ad0.gif

相關(guān)閱讀:

LQR-RRT*:使用自動推導(dǎo)擴(kuò)展啟發(fā)實現(xiàn)最優(yōu)基于采樣的運(yùn)動規(guī)劃

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

MahanFathi/LQR-RRTstar:LQR-RRT*方法用于單擺相位中的隨機(jī)運(yùn)動規(guī)劃

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

6.8 三次樣條規(guī)劃

這是段三次路徑規(guī)劃的示例代碼。

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

每個點(diǎn)的指向角度也可以用解析的方式計算。

5189eb48-eb0c-11ed-90ce-dac502259ad0.png

519609c8-eb0c-11ed-90ce-dac502259ad0.png

51a2ac00-eb0c-11ed-90ce-dac502259ad0.png

6.9 B樣條規(guī)劃

51ae5000-eb0c-11ed-90ce-dac502259ad0.png

這是段使用B樣條曲線進(jìn)行規(guī)劃的例子。

輸入路點(diǎn),它會利用B樣條生成光滑的路徑。

第一個和最后一個路點(diǎn)位于最后的路徑上。

相關(guān)閱讀:

B樣條

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

6.10 Eta^3樣條路徑規(guī)劃

51b5ca2e-eb0c-11ed-90ce-dac502259ad0.gif

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

相關(guān)閱讀:

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

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

6.11 貝濟(jì)埃路徑規(guī)劃

貝濟(jì)埃路徑規(guī)劃的示例代碼。

根據(jù)四個控制點(diǎn)生成貝濟(jì)埃路徑。

51bedd62-eb0c-11ed-90ce-dac502259ad0.png

改變起點(diǎn)和終點(diǎn)的偏移距離,可以生成不同的貝濟(jì)埃路徑:

51c7b004-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

根據(jù)貝濟(jì)埃曲線為自動駕駛汽車生成曲率連續(xù)的路徑

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

6.12 五次多項式規(guī)劃

利用五次多項式進(jìn)行路徑規(guī)劃。

51cf7492-eb0c-11ed-90ce-dac502259ad0.png

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

相關(guān)閱讀:

用于Agv In定位的局部路徑規(guī)劃和運(yùn)動控制

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

6.13 Dubins路徑規(guī)劃

Dubins路徑規(guī)劃的示例代碼。

51d4564c-eb0c-11ed-90ce-dac502259ad0.gif

相關(guān)閱讀:

Dubins路徑

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

6.14 Reeds Shepp路徑規(guī)劃

Reeds Shepp路徑規(guī)劃的示例代碼。

51e3ac8c-eb0c-11ed-90ce-dac502259ad0.gif

相關(guān)閱讀:

15.3.2 Reeds-Shepp曲線

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

用于能前進(jìn)和后退的汽車的最優(yōu)路徑

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

ghliu/pyReedsShepp:實現(xiàn)Reeds Shepp曲線

https://github.com/ghliu/pyReedsShepp

6.15 基于LQR的路徑規(guī)劃

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

51e92068-eb0c-11ed-90ce-dac502259ad0.gif

6.16 Frenet Frame中的最優(yōu)路徑

51f78374-eb0c-11ed-90ce-dac502259ad0.gif

這段代碼在Frenet Frame中生成最優(yōu)路徑。

青色線為目標(biāo)路徑,黑色叉為障礙物。

紅色線為預(yù)測的路徑。

相關(guān)閱讀:

Frenet Frame中的動態(tài)接到場景中的最優(yōu)路徑生成

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

Frenet Frame中的動態(tài)接到場景中的最優(yōu)路徑生成

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

七、路徑跟蹤

7.1 姿勢控制跟蹤

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

520aa4d6-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

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

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

7.2 純追跡跟蹤

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

521399c4-eb0c-11ed-90ce-dac502259ad0.png

紅線為目標(biāo)路線,綠叉為純追跡控制的目標(biāo)點(diǎn),藍(lán)線為跟蹤路線。

相關(guān)閱讀:

城市中的自動駕駛汽車的運(yùn)動規(guī)劃和控制技術(shù)的調(diào)查

https://arxiv.org/abs/1604.07446

7.3 史坦利控制

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

521be462-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

史坦利:贏得DARPA大獎賽的機(jī)器人

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

用于自動駕駛機(jī)動車路徑跟蹤的自動轉(zhuǎn)向方法

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

7.4 后輪反饋控制

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

52232074-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

城市中的自動駕駛汽車的運(yùn)動規(guī)劃和控制技術(shù)的調(diào)查

https://arxiv.org/abs/1604.07446

7.5 線性二次regulator(LQR)轉(zhuǎn)向控制

使用LQR轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬。

5229e72e-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

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

https://github.com/ApolloAuto/apollo

7.6 線性二次regulator(LQR)轉(zhuǎn)向和速度控制

使用LQR轉(zhuǎn)向和速度控制的路徑跟蹤模擬。

5230a4d8-eb0c-11ed-90ce-dac502259ad0.png

相關(guān)閱讀:

完全自動駕駛:系統(tǒng)和算法 - IEEE會議出版物

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

7.7 模型預(yù)測速度和轉(zhuǎn)向控制

使用迭代線性模型預(yù)測轉(zhuǎn)向和速度控制的路徑跟蹤模擬。

52411b2e-eb0c-11ed-90ce-dac502259ad0.jpg

這段代碼使用了cxvxpy作為最優(yōu)建模工具。

相關(guān)閱讀:

車輛動態(tài)和控制 | Rajesh Rajamani | Springer

http://www.springer.com/us/book/9781461414322

MPC課程資料 - MPC Lab @ UC-Berkeley

http://www.mpc.berkeley.edu/mpc-course-material

八、項目支持

可以通過Patreon(https://www.patreon.com/myenigma)對該項目進(jìn)行經(jīng)濟(jì)支持。

如果你在Patreon上支持該項目,則可以得到關(guān)于本項目代碼的郵件技術(shù)支持。

本文作者包括有Atsushi Sakai (@Atsushi_twi),Daniel Ingram,Joe Dinius,Karan Chawla,Antonin RAFFIN,Alexis Paques。

審核編輯 :李倩

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

    關(guān)注

    161

    文章

    7853

    瀏覽量

    178504
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4623

    瀏覽量

    93104
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4801

    瀏覽量

    84860

原文標(biāo)題:一文洞悉Python必備50種算法

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    分享50條經(jīng)典的Python行代碼

    今天浩道跟大家分享python學(xué)習(xí)過程中非常經(jīng)典的50行代碼,讓大家體驗它簡潔而功能強(qiáng)大的特點(diǎn)。同時給大家分享號主收集到的所有關(guān)于python的電子書籍,所有電子書以網(wǎng)盤打包,免費(fèi)
    發(fā)表于 08-16 15:00 ?1064次閱讀

    Python的Apriori算法和FP-Growth算法是什么

    [源碼和文檔分享]基于Python實現(xiàn)的Apriori算法和FP-Growth算法的頻繁項集挖掘的研究與實現(xiàn)
    發(fā)表于 06-04 12:49

    蟻群算法python編程實現(xiàn)

    本文主要介紹了Python編程實現(xiàn)蟻群算法詳解,涉及螞蟻算法的簡介,主要原理及公式,以及Python中的實現(xiàn)代碼,具有定參考價值。
    發(fā)表于 02-02 10:36 ?7482次閱讀
    蟻群<b class='flag-5'>算法</b><b class='flag-5'>python</b>編程實現(xiàn)

    組合29個簡單Python代碼塊,自動發(fā)現(xiàn)新算法

    本文提出了一種基于演化算法的搜索策略,將其AAD中實現(xiàn)。AAD可以基于Python的子集作為語法結(jié)構(gòu),組合成復(fù)雜度相對較高的程序(循環(huán),嵌套塊,嵌套函數(shù)調(diào)用等),并生成可執(zhí)行的Python
    的頭像 發(fā)表于 04-19 13:47 ?3553次閱讀

    Python實現(xiàn)所有算法-基本牛頓法

    Python實現(xiàn)所有算法-二分法 Python實現(xiàn)所有算法-力系統(tǒng)是否靜態(tài)平衡 Python實現(xiàn)所有算法
    的頭像 發(fā)表于 07-13 10:40 ?1666次閱讀

    圖染色局部搜索算法python

    個簡單的局部搜索算法解決圖染色問題,python版本太少了,寫了
    發(fā)表于 01-03 14:31 ?1次下載

    10頂流聚類算法Python實現(xiàn)(附完整代碼)

    分享篇關(guān)于聚類的文章:10聚類算法Python代碼。
    的頭像 發(fā)表于 01-07 09:33 ?1612次閱讀

    10聚類算法Python代碼1

    分享篇關(guān)于聚類的文章: **10聚類算法Python代碼** 。文末提供`jupyter notebook`的完整代碼獲取方式。 聚類或聚類分析是
    的頭像 發(fā)表于 02-20 13:57 ?874次閱讀
    10<b class='flag-5'>種</b>聚類<b class='flag-5'>算法</b>和<b class='flag-5'>Python</b>代碼1

    10聚類算法Python代碼2

    分享篇關(guān)于聚類的文章: **10聚類算法Python代碼** 。文末提供`jupyter notebook`的完整代碼獲取方式。 聚類或聚類分析是
    的頭像 發(fā)表于 02-20 13:57 ?1021次閱讀
    10<b class='flag-5'>種</b>聚類<b class='flag-5'>算法</b>和<b class='flag-5'>Python</b>代碼2

    10聚類算法Python代碼3

    分享篇關(guān)于聚類的文章: **10聚類算法Python代碼** 。文末提供`jupyter notebook`的完整代碼獲取方式。 聚類或聚類分析是
    的頭像 發(fā)表于 02-20 13:57 ?1166次閱讀
    10<b class='flag-5'>種</b>聚類<b class='flag-5'>算法</b>和<b class='flag-5'>Python</b>代碼3

    10聚類算法Python代碼4

    分享篇關(guān)于聚類的文章: **10聚類算法Python代碼** 。文末提供`jupyter notebook`的完整代碼獲取方式。 聚類或聚類分析是
    的頭像 發(fā)表于 02-20 13:57 ?1320次閱讀
    10<b class='flag-5'>種</b>聚類<b class='flag-5'>算法</b>和<b class='flag-5'>Python</b>代碼4

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發(fā)表于 06-06 17:50 ?0次下載

    基于Python實現(xiàn)隨機(jī)森林算法

    機(jī)器學(xué)習(xí)算法是數(shù)據(jù)挖掘、數(shù)據(jù)能力分析和數(shù)學(xué)建模必不可少的部分,而隨機(jī)森林算法和決策樹算法是其中較為常用的兩
    的頭像 發(fā)表于 09-21 11:17 ?1227次閱讀
    基于<b class='flag-5'>Python</b>實現(xiàn)隨機(jī)森林<b class='flag-5'>算法</b>

    Python開發(fā)者必備工具集

    這篇文章會提供些優(yōu)化代碼的工具。會讓代碼變得更簡潔,或者更迅速。 當(dāng)然這些并不能代替算法設(shè)計,但是還是能讓 Python 加速很多倍。 其實前面講算法的文章,也有提到過。比如適用于雙
    的頭像 發(fā)表于 10-16 11:14 ?490次閱讀

    Python建模算法與應(yīng)用

    Python作為一種功能強(qiáng)大、免費(fèi)、開源且面向?qū)ο蟮木幊陶Z言,在科學(xué)計算、數(shù)學(xué)建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡潔的語法、對動態(tài)輸入的支持以及解釋性語言的本質(zhì),使得Python在多個平臺
    的頭像 發(fā)表于 07-24 10:41 ?604次閱讀