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