本書詳細(xì)講解了基于Python語言實現(xiàn)自動駕駛路徑規(guī)劃與決策算法的知識,并通過具體實例展示了這些算法的使用方法。
本書共10章,依次講解了Dijkstra算法、A*算法、Bellman-Ford算法、Floyd-Warshall算法、D*算法、D* Lite算法、RRT算法、其他路徑規(guī)劃算法、智能行為決策算法、基于SLAM的自主路徑導(dǎo)航系統(tǒng)。書中詳細(xì)介紹了各種經(jīng)典路徑規(guī)劃與決策算法的背景、原理、實現(xiàn)步驟及實際應(yīng)用,通過豐富的案例分析和綜合實戰(zhàn)項目,給出了詳細(xì)的編程實現(xiàn)和優(yōu)化技巧,是路徑規(guī)劃和人工智能領(lǐng)域的研究人員及相關(guān)專業(yè)學(xué)生學(xué)習(xí)和實踐路徑規(guī)劃算法的理想之書。
本書適用于已經(jīng)了解了Python基礎(chǔ)開發(fā)的讀者,以及想進一步學(xué)習(xí)自動駕駛、路徑規(guī)劃和汽車導(dǎo)航的讀者,也可以作為大專院校相關(guān)專業(yè)的師生用書和培訓(xùn)學(xué)校的專業(yè)性教材。
張良康
----------------------------
張良康,山東工業(yè)大學(xué)計算機博士,機械工程專家。作者熟悉計算機圖形學(xué),理論知識扎實身后,精通計算幾何相關(guān)理論,熟悉常用的GIS分析算法及原理,精通路徑規(guī)劃的相關(guān)算法。目前就職于南京領(lǐng)行科技,主導(dǎo)T3出行項目的研發(fā)工作,負(fù)責(zé)地圖數(shù)據(jù)處理開發(fā)、地理信息數(shù)據(jù)分析與挖掘、導(dǎo)航路徑規(guī)劃、路徑還原服務(wù)的研發(fā)及優(yōu)化工作,參與了面向出行網(wǎng)約車場景的導(dǎo)航路徑規(guī)劃引擎系統(tǒng)(路線規(guī)劃、導(dǎo)航引導(dǎo)、定位、交通路況等)的研發(fā)工作。
目錄
第1章 Dijkstra算法
1.1 Dijkstra算法簡介
1.1.1 背景與歷史
1.1.2 應(yīng)用領(lǐng)域與典型場景
1.2 Dijkstra算法的核心思想
1.2.1 Dijkstra算法的實現(xiàn)步驟
1.2.2 Dijkstra算法的圖表示方法
1.3 Dijkstra算法的應(yīng)用案例
1.3.1 交通網(wǎng)絡(luò)中的最短路徑規(guī)劃
1.3.2 Dijkstra算法在機器人導(dǎo)航系統(tǒng)中的應(yīng)用
1.4 Dijkstra算法的局限性與改進方法
1.4.1 負(fù)權(quán)邊問題
1.4.2 大規(guī)模圖的計算效率
1.5 綜合實戰(zhàn):校園地圖路徑規(guī)劃系統(tǒng)
1.5.1 項目介紹
1.5.2 Dijkstra路徑規(guī)劃
1.5.3 路線導(dǎo)覽
1.5.4 主程序
1.6 綜合實戰(zhàn):尋找地圖中的最短導(dǎo)航路線
1.6.1 項目介紹
1.6.2 具體實現(xiàn)
第2章 A*算法
2.1 A*算法簡介
2.1.1 A*算法的背景與歷史
2.1.2 應(yīng)用領(lǐng)域與典型場景
2.2 A*算法的核心思想
2.2.1 A*算法的原理和實現(xiàn)步驟
2.2.2 選擇啟發(fā)式函數(shù)(估算函數(shù))
2.3 A*算法的優(yōu)化
2.3.1 基本的優(yōu)化措施
2.3.2 Hybrid A*算法優(yōu)化
2.4 綜合實戰(zhàn):基于A*算法的汽車導(dǎo)航路徑規(guī)劃系統(tǒng)
2.4.1 項目介紹
2.4.2 具體實現(xiàn)
第3章 Bellman-Ford算法
3.1 Bellman-Ford算法介紹
3.1.1 背景與歷史
3.1.2 應(yīng)用領(lǐng)域與典型場景
3.1.3 Bellman-Ford算法與其他路徑規(guī)劃算法的對比
3.2 Bellman-Ford算法的核心思想
3.2.1 圖的表示方法
3.2.2 Bellman-Ford算法的原理
3.2.3 Bellman-Ford算法的實現(xiàn)步驟
3.3 Bellman-Ford算法的應(yīng)用案例
3.3.1 負(fù)權(quán)邊的最短路徑問題
3.3.2 自動駕駛應(yīng)用
3.4 Bellman-Ford算法的局限性與改進方法
3.4.1 負(fù)權(quán)回路的處理
3.4.2 大規(guī)模圖的計算效率
3.5 綜合實戰(zhàn):尋找地圖中建筑物的最短距離
3.5.1 項目介紹
3.5.2 具體實現(xiàn)
3.6 綜合實戰(zhàn):路徑算法性能分析與可視化
3.6.1 項目介紹
3.6.2 具體實現(xiàn)
3.7 綜合實戰(zhàn):基于Flask Web的路徑規(guī)劃可視化
3.7.1 項目介紹
3.7.2 路徑規(guī)劃
3.7.3 Flask可視化
3.7.4 模板文件
3.7.5 腳本文件
第4章 Floyd-Warshall算法
4.1 Floyd-Warshall算法簡介
4.1.1 背景與歷史
4.1.2 應(yīng)用領(lǐng)域與典型場景
4.2 Floyd-Warshall算法的核心思想
4.2.1 基本思想
4.2.2 圖的表示方法
4.2.3 Floyd-Warshall算法的實現(xiàn)步驟
4.2.4 Floyd-Warshall算法的推導(dǎo)過程
4.2.5 Floyd-Warshall算法與其他路徑規(guī)劃算法的對比
4.3 Floyd-Warshall算法的應(yīng)用案例
4.3.1 自駕線路規(guī)劃
4.3.2 城市交通規(guī)劃應(yīng)用
4.4 Floyd-Warshall算法的局限性與改進方法
4.4.1 算法復(fù)雜度與大規(guī)模圖的挑戰(zhàn)
4.4.2 負(fù)權(quán)回路的處理策略
4.4.3 并行Floyd-Warshall
4.5 綜合實戰(zhàn):高速公路路線查詢系統(tǒng)
4.5.1 背景介紹
4.5.2 交通路網(wǎng)數(shù)據(jù)
4.5.3 尋找最短路徑
第5章 D*算法
5.1 動態(tài)路徑規(guī)劃算法簡介
5.1.1 靜態(tài)路徑規(guī)劃算法和動態(tài)路徑規(guī)劃算法
5.1.2 動態(tài)路徑規(guī)劃算法的誕生背景
5.1.3 動態(tài)路徑規(guī)劃算法的應(yīng)用領(lǐng)域與場景
5.1.4 常用的動態(tài)路徑規(guī)劃算法
5.2 D*算法介紹
5.2.1 D*算法的發(fā)展歷程
5.2.2 D*算法的原理和實現(xiàn)步驟
5.3 綜合實戰(zhàn):自動駕駛中的動態(tài)障礙物處理
5.3.1 實例介紹
5.3.2 具體實現(xiàn)
5.4 綜合實戰(zhàn):基于D*算法的自動駕駛路徑導(dǎo)航系統(tǒng)
5.4.1 背景介紹
5.4.2 具體實現(xiàn)
第6章 D* Lite 算法
6.1 D* Lite算法簡介
6.1.1 D* Lite算法的誕生背景和發(fā)展歷程
6.1.2 D* Lite算法的應(yīng)用領(lǐng)域與場景
6.2 D* Lite算法的核心思想
6.2.1 基本思想
6.2.2 D* Lite算法的實現(xiàn)步驟
6.2.3 D* Lite算法的基本概念
6.3 綜合實戰(zhàn):基于D* Lite的路徑規(guī)劃器
6.3.1 項目介紹
6.3.2 實現(xiàn)路徑規(guī)劃算法
6.4 綜合實戰(zhàn):D* Lite路徑規(guī)劃器
6.4.1 項目介紹
6.4.2 實現(xiàn)路徑規(guī)劃算法
6.4.3 路徑規(guī)劃可視化
第7章 RRT算法
7.1 RRT算法介紹
7.1.1 機器人運動規(guī)劃介紹
7.1.2 改進的RRT 算法
7.1.3 與 RRT 算法相關(guān)的概念
7.2 RRT算法的定義與實現(xiàn)
7.2.1 RRT算法的實現(xiàn)步驟
7.2.2 原始的RRT算法
7.3 綜合實戰(zhàn):基于Pygame的RRT路徑規(guī)劃系統(tǒng)
7.3.1 項目介紹
7.3.2 通用文件
7.3.3 事件處理
7.3.4 點處理
7.3.5 碰撞檢測
7.3.6 繪圖操作
7.3.7 RRT算法
7.3.8 主程序
7.4 綜合實戰(zhàn):基于Gazebo仿真的路徑規(guī)劃系統(tǒng)
7.4.1 項目介紹
7.4.2 實現(xiàn)RRT、RRT*和RRT*-FN算法
第8章 其他路徑規(guī)劃算法
8.1 PRM算法
8.1.1 PRM算法介紹
8.1.2 PRM算法實戰(zhàn)
8.2 LQR算法
8.2.1 LQR算法介紹
8.2.2 LQR算法實戰(zhàn)
8.3 DWA算法
8.3.1 DWA算法介紹
8.3.2 DWA算法實戰(zhàn)
8.4 Best-First Search算法
8.4.1 Best-First Search算法的基本思想
8.4.2 Best-First Search算法的實現(xiàn)步驟
8.4.3 尋找兩個城市之間的最短路徑
第9章 智能行為決策算法
9.1 智能行為決策算法簡介
9.1.1 智能行為決策算法的誕生背景與發(fā)展歷程
9.1.2 智能行為決策算法在自動駕駛中的應(yīng)用
9.2 常用的智能行為決策算法
9.2.1 馬爾科夫決策過程
9.2.2 強化學(xué)習(xí)
9.2.3 規(guī)則引擎與決策樹
9.2.4 模型預(yù)測控制
9.3 綜合實戰(zhàn):基于自動駕駛大模型的車輛軌跡預(yù)測系統(tǒng)
9.3.1 項目介紹
9.3.2 準(zhǔn)備工作
9.3.3 EDA數(shù)據(jù)探索
9.3.4 PyTorch訓(xùn)練
9.3.5 推理
9.3.6 訓(xùn)練參數(shù)探索
9.3.7 數(shù)據(jù)增強
第10章 基于SLAM的自主路徑導(dǎo)航系統(tǒng)
10.1 背景介紹
10.2 項目介紹
10.3 公用文件
10.3.1 數(shù)學(xué)運算
10.3.2 偽隨機數(shù)生成器
10.4 障礙物和邊界檢測
10.4.1 檢測全局障礙物和邊界
10.4.2 檢測本地障礙物和邊界
10.5 路徑規(guī)劃
10.5.1 跟墻壁行駛
10.5.2 A*算法路徑規(guī)劃
10.5.3 RRT算法