原文:https://atsushisakai.github.io/PythonRobotics/#what-is-this
作者說(shuō)明:
- AtsushiSakai竞帽,日本機(jī)器人工程師,從事自動(dòng)駕駛技術(shù)開(kāi)發(fā)理疙,精通C++莺治、ROS、MATLAB、Python抬伺、Vim和Robotics。
文章說(shuō)明:
- 本文是一些機(jī)器人算法(特別是自動(dòng)導(dǎo)航算法)的Python代碼合集灾梦。
特點(diǎn):
- 選擇了在實(shí)踐中廣泛應(yīng)用的算法峡钓;
- 依賴最少;
- 容易閱讀若河,容易理解每個(gè)算法的基本思想
目錄:
- 一椒楣、環(huán)境需求
- 二、怎樣使用
- 三牡肉、本地化
- 3.1 擴(kuò)展卡爾曼濾波本地化
- 3.2 無(wú)損卡爾曼濾波本地化
- 3.3 粒子濾波本地化
- 3.4 直方圖濾波本地化
- 四、映射
- 4.1 高斯網(wǎng)格映射
- 4.2 光線投射網(wǎng)格映射
- 4.3 k均值物體聚類(lèi)
- 4.4 圓形擬合物體形狀識(shí)別
- 五淆九、SLAM
- 5.1 迭代最近點(diǎn)匹配
- 5.2 EKF SLAM
- 5.3 FastSLAM 1.0
- 5.4 FastSLAM 2.0
- 5.5 基于圖的SLAM
- 六统锤、路徑規(guī)劃
- 6.1 動(dòng)態(tài)窗口方式
- 6.2 基于網(wǎng)格的搜索
- 迪杰斯特拉算法
- A*算法
- 勢(shì)場(chǎng)算法
- 6.3 模型預(yù)測(cè)路徑生成
- 路徑優(yōu)化示例
- 查找表生成示例
- 6.4 狀態(tài)晶格規(guī)劃
- 均勻極性采樣(Uniform polar sampling)
- 偏差極性采樣(Biased polar sampling)
- 路線采樣(Lane sampling)
- 6.5 隨機(jī)路徑圖(PRM)規(guī)劃
- 6.6 Voronoi路徑圖規(guī)劃
- 6.7 快速搜索隨機(jī)樹(shù)(RRT)
- 基本RRT
- RRT*
- 基于Dubins路徑的RRT
- 基于Dubins路徑的RRT*
- 基于reeds-shepp路徑的RRT*
- Informed RRT*
- 批量Informed RRT*
- 閉合回路RRT*
- LQR-RRT*
- 6.8 三次樣條規(guī)劃
- 6.9 B樣條規(guī)劃
- 6.10 Eta^3樣條路徑規(guī)劃
- 6.11 貝濟(jì)埃路徑規(guī)劃
- 6.12 五次多項(xiàng)式規(guī)劃
- 6.13 Dubins路徑規(guī)劃
- 6.14 Reeds Shepp路徑規(guī)劃
- 6.15 基于LQR的路徑規(guī)劃
- 6.16 Frenet Frame中的最優(yōu)路徑
- 七、路徑跟蹤
- 7.1 姿勢(shì)控制跟蹤
- 7.2 純追跡跟蹤
- 7.3 史坦利控制
- 7.4 后輪反饋控制
- 7.5 線性二次regulator(LQR)轉(zhuǎn)向控制
- 7.6 線性二次regulator(LQR)轉(zhuǎn)向和速度控制
- 7.7 模型預(yù)測(cè)速度和轉(zhuǎn)向控制
- 八炭庙、項(xiàng)目支持
一饲窿、環(huán)境需求:
- Python 3.8.x
- numpy
- scipy
- matplotlib
- pandas
- cvxpy
二、怎樣使用
克隆以下倉(cāng)庫(kù):
https://github.com/AtsushiSakai/PythonRobotics.git-
安裝必要的庫(kù)焕蹄;
conda env create -f environment.yml using pip :- pip install -r requirements.txt
執(zhí)行每個(gè)目錄下的python腳本逾雄;
三、本地化
3.1 擴(kuò)展卡爾曼濾波本地化
圖解:【動(dòng)圖太大,無(wú)法上傳】
https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/Localization/extended_kalman_filter/animation.gif-
算法說(shuō)明:
- 該算法利用擴(kuò)展卡爾曼濾波器(Extended Kalman Filter, EKF)實(shí)現(xiàn)傳感器混合本地化鸦泳。
- 藍(lán)線為真實(shí)路徑银锻,黑線為導(dǎo)航推測(cè)路徑(dead reckoning trajectory),綠點(diǎn)為位置觀測(cè)(如GPS)做鹰,紅線為EKF估算的路徑击纬。
- 紅色橢圓為EKF估算的協(xié)方差。
推薦相關(guān)閱讀:http://www.probabilistic-robotics.org/
3.2 無(wú)損卡爾曼濾波本地化
-
圖解:
-
算法說(shuō)明:
- 該算法利用無(wú)損卡爾曼濾波器(Unscented Kalman Filter, UKF)實(shí)現(xiàn)傳感器混合本地化钾麸。
- 線和點(diǎn)的含義與EKF模擬的例子相同更振。
推薦相關(guān)閱讀:利用無(wú)差別訓(xùn)練過(guò)的無(wú)損卡爾曼濾波進(jìn)行機(jī)器人移動(dòng)本地化:https://www.researchgate.net/publication/267963417_Discriminatively_Trained_Unscented_Kalman_Filter_for_Mobile_Robot_Localization
3.3 粒子濾波本地化
-
圖解:
-
算法說(shuō)明:
- 該算法利用粒子濾波器(Particle Filter, PF)實(shí)現(xiàn)傳感器混合本地化。
- 藍(lán)線為真實(shí)路徑饭尝,黑線為導(dǎo)航推測(cè)路徑(dead reckoning trajectory)肯腕,綠點(diǎn)為位置觀測(cè)(如GPS),紅線為PF估算的路徑钥平。
- 該算法假設(shè)機(jī)器人能夠測(cè)量與地標(biāo)(RFID)之間的距離实撒。
- PF本地化會(huì)用到該測(cè)量結(jié)果。帖池、
推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/
3.4 直方圖濾波本地化
-
圖解:
-
算法說(shuō)明:
- 該算法是利用直方圖濾波器(Histogram filter)實(shí)現(xiàn)二維本地化的例子奈惑。
- 紅十字是實(shí)際位置,黑點(diǎn)是RFID的位置睡汹。
- 藍(lán)色格子是直方圖濾波器的概率位置肴甸。
- 在該模擬中,x囚巴,y是未知數(shù)原在,yaw已知。
- 濾波器整合了速度輸入和從RFID獲得距離觀測(cè)數(shù)據(jù)進(jìn)行本地化彤叉。
- 不需要初始位置庶柿。
推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/
四、映射
4.1 高斯網(wǎng)格映射
-
圖解:
- 算法說(shuō)明:本算法是二維高斯網(wǎng)格映射(Gaussian grid mapping)的例子秽浇。
4.2 光線投射網(wǎng)格映射
-
圖解:
- 算法說(shuō)明:本算法是二維光線投射網(wǎng)格映射(Ray casting grid map)的例子浮庐。
4.3 k均值物體聚類(lèi)
-
圖解:
算法說(shuō)明:本算法是使用k均值算法進(jìn)行二維物體聚類(lèi)的例子。
4.4 圓形擬合物體形狀識(shí)別
-
圖解:
-
圖形說(shuō)明:
藍(lán)圈是實(shí)際的物體形狀柬焕。
紅叉是通過(guò)距離傳感器觀測(cè)到的點(diǎn)审残。
紅圈是使用圓形擬合估計(jì)的物體形狀。
算法說(shuō)明:本算法是使用圓形擬合進(jìn)行物體形狀識(shí)別的例子斑举。
五搅轿、SLAM
5.1 迭代最近點(diǎn)匹配
-
圖解:
-
算法說(shuō)明:
- 本算法是使用單值解構(gòu)進(jìn)行二維迭代最近點(diǎn)(Iterative Closest Point,ICP)匹配的例子富玷。
- 它能計(jì)算從一些點(diǎn)到另一些點(diǎn)的旋轉(zhuǎn)矩陣和平移矩陣璧坟。
推薦相關(guān)閱讀:機(jī)器人運(yùn)動(dòng)介紹:迭代最近點(diǎn)算法
https://cs.gmu.edu/~kosecka/cs685/cs685-icp.pdf
5.2 EKF SLAM
-
圖解:
-
算法說(shuō)明:
- 這是基于擴(kuò)展卡爾曼濾波的SLAM示例既穆。
- 藍(lán)線是真實(shí)路徑,黑線是導(dǎo)航推測(cè)路徑雀鹃,紅線是EKF SLAM估計(jì)的路徑幻工。
- 綠叉是估計(jì)的地標(biāo)。
推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/
5.3 FastSLAM 1.0
-
圖解:
-
算法說(shuō)明:
- 這是用FastSLAM 1.0進(jìn)行基于特征的SLAM的示例褐澎。
- 藍(lán)線是實(shí)際路徑会钝,黑線是導(dǎo)航推測(cè),紅線是FastSLAM的推測(cè)路徑工三。
- 紅點(diǎn)是FastSLAM中的粒子迁酸。
- 黑點(diǎn)是地標(biāo),藍(lán)叉是FastLSAM估算的地標(biāo)位置俭正。
推薦相關(guān)閱讀:概率機(jī)器人學(xué):http://www.probabilistic-robotics.org/
5.4 FastSLAM 2.0
-
圖解:
-
算法說(shuō)明:
- 這是用FastSLAM 2.0進(jìn)行基于特征的SLAM的示例奸鬓。
- 動(dòng)畫(huà)的含義與FastSLAM 1.0的情況相同。
-
推薦相關(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
-
圖解:
-
算法說(shuō)明:
- 這是基于圖的SLAM的示例掸读。
- 藍(lán)線是實(shí)際路徑串远。
- 黑線是導(dǎo)航推測(cè)路徑。
- 紅線是基于圖的SLAM估算的路徑儿惫。
- 黑星是地標(biāo)澡罚,用于生成圖的邊。
推薦相關(guān)閱讀:基于圖的SLAM入門(mén):http://www2.informatik.uni-freiburg.de/~stachnis/pdf/grisetti10titsmag.pdf
六肾请、路徑規(guī)劃
6.1 動(dòng)態(tài)窗口方式
-
圖解:
算法說(shuō)明:這是使用動(dòng)態(tài)窗口方式(Dynamic Window Approach)進(jìn)行二維導(dǎo)航的示例代碼留搔。
推薦相關(guān)閱讀:用動(dòng)態(tài)窗口方式避免碰撞:https://www.ri.cmu.edu/pub_files/pub1/fox_dieter_1997_1/fox_dieter_1997_1.pdf
6.2 基于網(wǎng)格的搜索
-
迪杰斯特拉算法
-
圖解:
算法說(shuō)明:
這是利用迪杰斯特拉(Dijkstra)算法實(shí)現(xiàn)的基于二維網(wǎng)格的最短路徑規(guī)劃。
動(dòng)畫(huà)中青色點(diǎn)為搜索過(guò)的節(jié)點(diǎn)铛铁。
-
-
A*算法
-
圖解:
-
算法說(shuō)明:
- 使用A星算法進(jìn)行基于二維網(wǎng)格的最短路徑規(guī)劃隔显。
- 動(dòng)畫(huà)中青色點(diǎn)為搜索過(guò)的節(jié)點(diǎn)。
- 啟發(fā)算法為二維歐幾里得距離饵逐。
-
-
勢(shì)場(chǎng)算法
-
圖解:
-
算法說(shuō)明:
- 使用勢(shì)場(chǎng)算法進(jìn)行基于二維網(wǎng)格的路徑規(guī)劃括眠。
- 動(dòng)畫(huà)中藍(lán)色的熱區(qū)圖顯示了每個(gè)格子的勢(shì)能。
推薦相關(guān)閱讀:機(jī)器人運(yùn)動(dòng)規(guī)劃:勢(shì)能函數(shù):https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf
-
6.3 模型預(yù)測(cè)路徑生成
- 路徑優(yōu)化示例
-
圖解:
-
算法說(shuō)明:算法用于狀態(tài)晶格規(guī)劃(state lattice planning)
-
查找表生成示例
-
圖解:
推薦相關(guān)閱讀:用于帶輪子的機(jī)器人的最優(yōu)不平整地形路徑生成:http://journals.sagepub.com/doi/pdf/10.1177/0278364906075328
-
6.4 狀態(tài)晶格規(guī)劃
-
均勻極性采樣(Uniform polar sampling)
-
圖解:
-
-
偏差極性采樣(Biased polar sampling)
-
圖解:
-
-
路線采樣(Lane sampling)
-
圖解:
-
6.5 隨機(jī)路徑圖(PRM)規(guī)劃
-
圖解:
-
算法說(shuō)明:
- 這個(gè)隨機(jī)路徑圖(Probabilistic Road-Map倍权,PRM)規(guī)劃算法在圖搜索上采用了迪杰斯特拉方法掷豺。
- 動(dòng)畫(huà)中的藍(lán)點(diǎn)為采樣點(diǎn)。
- 青色叉為迪杰斯特拉方法搜索過(guò)的點(diǎn)薄声。
- 紅線為PRM的最終路徑当船。
推薦相關(guān)閱讀:隨機(jī)路徑圖:https://en.wikipedia.org/wiki/Probabilistic_roadmap
6.6 Voronoi路徑圖規(guī)劃
-
圖解:
-
算法說(shuō)明:
- 這個(gè)Voronoi路徑圖(Probabilistic Road-Map,PRM)規(guī)劃算法在圖搜索上采用了迪杰斯特拉方法奸柬。
- 動(dòng)畫(huà)中的藍(lán)點(diǎn)為Voronoi點(diǎn)。
- 青色叉為迪杰斯特拉方法搜索過(guò)的點(diǎn)婴程。
- 紅線為Voronoi路徑圖的最終路徑廓奕。
推薦相關(guān)閱讀:機(jī)器人運(yùn)動(dòng)規(guī)劃:https://www.cs.cmu.edu/~motionplanning/lecture/Chap5-RoadMap-Methods_howie.pdf
6.7 快速搜索隨機(jī)樹(shù)(RRT)
-
基本RRT
-
圖解:
-
算法說(shuō)明:
- 這是個(gè)使用快速搜索隨機(jī)樹(shù)(Rapidly-Exploring Random Trees,RRT)的簡(jiǎn)單路徑規(guī)劃代碼。
- 黑色圓為障礙物桌粉,綠線為搜索樹(shù)蒸绩,紅叉為開(kāi)始位置和目標(biāo)位置。
-
-
RRT*
圖解:
https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/RRTstar/animation.gif-
算法說(shuō)明:
- 這是使用RRT*的路徑規(guī)劃代碼铃肯。
- 黑色圓為障礙物患亿,綠線為搜索樹(shù),紅叉為開(kāi)始位置和目標(biāo)位置押逼。
-
推薦相關(guān)閱讀:
- 最優(yōu)運(yùn)動(dòng)規(guī)劃的基于增量采樣的算法
https://arxiv.org/abs/1005.0416 - 最優(yōu)運(yùn)動(dòng)規(guī)劃的基于采樣的算法
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.419.5503&rep=rep1&type=pdf
- 最優(yōu)運(yùn)動(dòng)規(guī)劃的基于增量采樣的算法
-
基于Dubins路徑的RRT
-
圖解:
算法說(shuō)明:為汽車(chē)形機(jī)器人提供的使用RRT和dubins路徑規(guī)劃的路徑規(guī)劃算法步藕。
-
-
基于Dubins路徑的RRT*
-
圖解:
算法說(shuō)明:為汽車(chē)形機(jī)器人提供的使用RRT*和dubins路徑規(guī)劃的路徑規(guī)劃算法。
-
-
基于reeds-shepp路徑的RRT*
- 圖解:
https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/RRTStarReedsShepp/animation.gif - 算法說(shuō)明:為汽車(chē)形機(jī)器人提供的使用RRT*和reeds shepp路徑規(guī)劃的路徑規(guī)劃算法挑格。
- 圖解:
-
Informed RRT*
-
圖解:
-
算法說(shuō)明:
- 這是使用Informed RRT*的路徑規(guī)劃代碼咙冗。
- 青色橢圓為Informed RRT*的啟發(fā)采樣域。
-
推薦相關(guān)閱讀:
- Informed RRT*:通過(guò)對(duì)可接受的橢球啟發(fā)的直接采樣實(shí)現(xiàn)最優(yōu)的基于采樣的路徑規(guī)劃
https://arxiv.org/pdf/1404.2334.pdf
- Informed RRT*:通過(guò)對(duì)可接受的橢球啟發(fā)的直接采樣實(shí)現(xiàn)最優(yōu)的基于采樣的路徑規(guī)劃
-
-
批量Informed RRT*
-
圖解:
算法說(shuō)明:這是使用批量Informed RRT*的路徑規(guī)劃代碼漂彤。
-
推薦相關(guān)閱讀:
- 批量Informed樹(shù)(BIT*):通過(guò)對(duì)隱含隨機(jī)幾何圖形進(jìn)行啟發(fā)式搜索實(shí)現(xiàn)基于采樣的最優(yōu)規(guī)劃
https://arxiv.org/abs/1405.5848
- 批量Informed樹(shù)(BIT*):通過(guò)對(duì)隱含隨機(jī)幾何圖形進(jìn)行啟發(fā)式搜索實(shí)現(xiàn)基于采樣的最優(yōu)規(guī)劃
-
-
閉合回路RRT*
-
圖解:
-
算法說(shuō)明:
- 這段代碼里雾消,轉(zhuǎn)向控制用的是純追跡算法(pure-pursuit algorithm)。
- 速度控制采用了PID挫望。
-
推薦相關(guān)閱讀:
- 使用閉合回路預(yù)測(cè)在復(fù)雜環(huán)境內(nèi)實(shí)現(xiàn)運(yùn)動(dòng)規(guī)劃
http://acl.mit.edu/papers/KuwataGNC08.pdf) - 應(yīng)用于自動(dòng)城市駕駛的實(shí)時(shí)運(yùn)動(dòng)規(guī)劃
http://acl.mit.edu/papers/KuwataTCST09.pdf - [1601.06326]采用閉合回路預(yù)測(cè)實(shí)現(xiàn)最優(yōu)運(yùn)動(dòng)規(guī)劃的基于采樣的算法
https://arxiv.org/abs/1601.06326
- 使用閉合回路預(yù)測(cè)在復(fù)雜環(huán)境內(nèi)實(shí)現(xiàn)運(yùn)動(dòng)規(guī)劃
-
-
LQR-RRT*
-
圖解:
-
算法說(shuō)明:
- 這是個(gè)使用LQR-RRT*的路徑規(guī)劃模擬立润。
- LQR局部規(guī)劃采用了雙重積分運(yùn)動(dòng)模型。
-
推薦相關(guān)閱讀:
- LQR-RRT*:使用自動(dòng)推導(dǎo)擴(kuò)展啟發(fā)實(shí)現(xiàn)最優(yōu)基于采樣的運(yùn)動(dòng)規(guī)劃
http://lis.csail.mit.edu/pubs/perez-icra12.pdf - MahanFathi/LQR-RRTstar:LQR-RRT*方法用于單擺相位中的隨機(jī)運(yùn)動(dòng)規(guī)劃
https://github.com/MahanFathi/LQR-RRTstar
- LQR-RRT*:使用自動(dòng)推導(dǎo)擴(kuò)展啟發(fā)實(shí)現(xiàn)最優(yōu)基于采樣的運(yùn)動(dòng)規(guī)劃
-
6.8 三次樣條規(guī)劃
-
圖解:
- 算法說(shuō)明:
- 這是段三次路徑規(guī)劃的示例代碼媳板。
- 這段代碼根據(jù)x-y的路點(diǎn)桑腮,利用三次樣條生成一段曲率連續(xù)的路徑。
- 每個(gè)點(diǎn)的指向角度也可以用解析的方式計(jì)算拷肌。
- 推薦相關(guān)閱讀:
6.9 B樣條規(guī)劃
-
圖解:
-
算法說(shuō)明:
- 這是段使用B樣條曲線進(jìn)行規(guī)劃的例子到旦。
- 輸入路點(diǎn),它會(huì)利用B樣條生成光滑的路徑巨缘。
- 第一個(gè)和最后一個(gè)路點(diǎn)位于最后的路徑上添忘。
推薦相關(guān)閱讀:B樣條
https://en.wikipedia.org/wiki/B-spline
6.10 Eta^3樣條路徑規(guī)劃
-
圖解:
算法說(shuō)明:這是使用Eta ^ 3樣條曲線的路徑規(guī)劃。
-
推薦相關(guān)閱讀:
- eta^3-Splines for the Smooth Path Generation of Wheeled Mobile Robots
https://ieeexplore.ieee.org/document/4339545/
- eta^3-Splines for the Smooth Path Generation of Wheeled Mobile Robots
6.11 貝濟(jì)埃路徑規(guī)劃
-
圖解:
- 算法說(shuō)明:
- 貝濟(jì)埃路徑規(guī)劃的示例代碼若锁。
- 根據(jù)四個(gè)控制點(diǎn)生成貝濟(jì)埃路徑搁骑。
- 改變起點(diǎn)和終點(diǎn)的偏移距離,可以生成不同的貝濟(jì)埃路徑【第二階段】
- 推薦相關(guān)閱讀:
- 根據(jù)貝濟(jì)埃曲線為自動(dòng)駕駛汽車(chē)生成曲率連續(xù)的路徑
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.294.6438&rep=rep1&type=pdf
- 根據(jù)貝濟(jì)埃曲線為自動(dòng)駕駛汽車(chē)生成曲率連續(xù)的路徑
6.12 五次多項(xiàng)式規(guī)劃
-
圖解:
算法說(shuō)明:它能根據(jù)五次多項(xiàng)式計(jì)算二維路徑又固、速度和加速度仲器。
- 推薦相關(guān)閱讀:
- 用于Agv In定位的局部路徑規(guī)劃和運(yùn)動(dòng)控制
http://ieeexplore.ieee.org/document/637936/
- 用于Agv In定位的局部路徑規(guī)劃和運(yùn)動(dòng)控制
6.13 Dubins路徑規(guī)劃
-
圖解:
-
推薦相關(guān)閱讀:
6.14 Reeds Shepp路徑規(guī)劃
-
圖解:
-
推薦相關(guān)閱讀:
- 15.3.2 Reeds-Shepp曲線
http://planning.cs.uiuc.edu/node822.html - 用于能前進(jìn)和后退的汽車(chē)的最優(yōu)路徑
https://pdfs.semanticscholar.org/932e/c495b1d0018fd59dee12a0bf74434fac7af4.pdf - ghliu/pyReedsShepp:實(shí)現(xiàn)Reeds Shepp曲線
https://github.com/ghliu/pyReedsShepp
- 15.3.2 Reeds-Shepp曲線
6.15 基于LQR的路徑規(guī)劃
-
圖解:
算法說(shuō)明:為雙重積分模型使用基于LQR的路徑規(guī)劃的示例代碼。
6.16 Frenet Frame中的最優(yōu)路徑
-
圖解:
-
算法說(shuō)明:
- 這段代碼在Frenet Frame中生成最優(yōu)路徑仰冠。
- 青色線為目標(biāo)路徑乏冀,黑色叉為障礙物。
- 紅色線為預(yù)測(cè)的路徑洋只。
-
推薦相關(guān)閱讀:
- Frenet Frame中的動(dòng)態(tài)接到場(chǎng)景中的最優(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中的動(dòng)態(tài)接到場(chǎng)景中的最優(yōu)路徑生成
https://www.youtube.com/watch?v=Cj6tAQe7UCY
- Frenet Frame中的動(dòng)態(tài)接到場(chǎng)景中的最優(yōu)路徑生成
七辆沦、路徑跟蹤
7.1 姿勢(shì)控制跟蹤
-
圖解:
算法說(shuō)明:這是姿勢(shì)控制跟蹤的模擬昼捍。
-
推薦相關(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
- Robotics, Vision and Control - Fundamental Algorithms In MATLAB? Second, Completely Revised, Extended And Updated Edition | Peter Corke | Springer
7.2 純追跡跟蹤
-
圖解:
- 算法說(shuō)明:
- 使用純追跡(pure pursuit)轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬。
- 紅線為目標(biāo)路線肢扯,綠叉為純追跡控制的目標(biāo)點(diǎn)妒茬,藍(lán)線為跟蹤路線。
- 推薦相關(guān)閱讀:
- 城市中的自動(dòng)駕駛汽車(chē)的運(yùn)動(dòng)規(guī)劃和控制技術(shù)的調(diào)查
https://arxiv.org/abs/1604.07446
- 城市中的自動(dòng)駕駛汽車(chē)的運(yùn)動(dòng)規(guī)劃和控制技術(shù)的調(diào)查
7.3 史坦利控制
-
圖解:
算法說(shuō)明:使用史坦利(Stanley)轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬蔚晨。
-
推薦相關(guān)閱讀:
- 史坦利:贏得DARPA大獎(jiǎng)賽的機(jī)器人
http://robots.stanford.edu/papers/thrun.stanley05.pdf - 用于自動(dòng)駕駛機(jī)動(dòng)車(chē)路徑跟蹤的自動(dòng)轉(zhuǎn)向方法
https://www.ri.cmu.edu/pub_files/2009/2/Automatic_Steering_Methods_for_Autonomous_Automobile_Path_Tracking.pdf
- 史坦利:贏得DARPA大獎(jiǎng)賽的機(jī)器人
7.4 后輪反饋控制
-
圖解:
算法說(shuō)明:利用后輪反饋轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬乍钻。
-
推薦相關(guān)閱讀:
- 城市中的自動(dòng)駕駛汽車(chē)的運(yùn)動(dòng)規(guī)劃和控制技術(shù)的調(diào)查
https://arxiv.org/abs/1604.07446
- 城市中的自動(dòng)駕駛汽車(chē)的運(yùn)動(dòng)規(guī)劃和控制技術(shù)的調(diào)查
7.5 線性二次regulator(LQR)轉(zhuǎn)向控制
-
圖解:
算法說(shuō)明:使用LQR轉(zhuǎn)向控制和PID速度控制的路徑跟蹤模擬。
-
推薦相關(guān)閱讀:
- ApolloAuto/apollo:開(kāi)源自動(dòng)駕駛平臺(tái)
https://github.com/ApolloAuto/apollo
- ApolloAuto/apollo:開(kāi)源自動(dòng)駕駛平臺(tái)
7.6 線性二次regulator(LQR)轉(zhuǎn)向和速度控制
-
圖解:
算法說(shuō)明:使用LQR轉(zhuǎn)向和速度控制的路徑跟蹤模擬铭腕。
-
推薦相關(guān)閱讀:
- 完全自動(dòng)駕駛:系統(tǒng)和算法 - IEEE會(huì)議出版物
http://ieeexplore.ieee.org/document/5940562/
- 完全自動(dòng)駕駛:系統(tǒng)和算法 - IEEE會(huì)議出版物
7.7 模型預(yù)測(cè)速度和轉(zhuǎn)向控制
算法說(shuō)明:使用迭代線性模型預(yù)測(cè)轉(zhuǎn)向和速度控制的路徑跟蹤模擬银择。
-
推薦相關(guān)閱讀:
- 車(chē)輛動(dòng)態(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
- 車(chē)輛動(dòng)態(tài)和控制 | Rajesh Rajamani | Springer
八、項(xiàng)目支持
項(xiàng)目地址:https://github.com/AtsushiSakai/PythonRobotics
打賞:通過(guò)Patreon(https://www.patreon.com/myenigma)對(duì)該項(xiàng)目進(jìn)行經(jīng)濟(jì)支持