本书详细讲解了基于Python语言实现自动驾驶路径规划与决策算法的知识,并通过具体实例展示了这些算法的使用方法。
本书共10章,依次讲解了Dijkstra算法、A*算法、Bellman-Ford算法、Floyd-Warshall算法、D*算法、D* Lite算法、RRT算法、其他路径规划算法、智能行为决策算法、基于SLAM的自主路径导航系统。书中详细介绍了各种经典路径规划与决策算法的背景、原理、实现步骤及实际应用,通过丰富的案例分析和综合实战项目,给出了详细的编程实现和优化技巧,是路径规划和人工智能领域的研究人员及相关专业学生学习和实践路径规划算法的理想之书。
本书适用于已经了解了Python基础开发的读者,以及想进一步学习自动驾驶、路径规划和汽车导航的读者,也可以作为大专院校相关专业的师生用书和培训学校的专业性教材。
张良康
----------------------------
张良康,山东工业大学计算机博士,机械工程专家。作者熟悉计算机图形学,理论知识扎实身后,精通计算几何相关理论,熟悉常用的GIS分析算法及原理,精通路径规划的相关算法。目前就职于南京领行科技,主导T3出行项目的研发工作,负责地图数据处理开发、地理信息数据分析与挖掘、导航路径规划、路径还原服务的研发及优化工作,参与了面向出行网约车场景的导航路径规划引擎系统(路线规划、导航引导、定位、交通路况等)的研发工作。
目录
第1章 Dijkstra算法
1.1 Dijkstra算法简介
1.1.1 背景与历史
1.1.2 应用领域与典型场景
1.2 Dijkstra算法的核心思想
1.2.1 Dijkstra算法的实现步骤
1.2.2 Dijkstra算法的图表示方法
1.3 Dijkstra算法的应用案例
1.3.1 交通网络中的最短路径规划
1.3.2 Dijkstra算法在机器人导航系统中的应用
1.4 Dijkstra算法的局限性与改进方法
1.4.1 负权边问题
1.4.2 大规模图的计算效率
1.5 综合实战:校园地图路径规划系统
1.5.1 项目介绍
1.5.2 Dijkstra路径规划
1.5.3 路线导览
1.5.4 主程序
1.6 综合实战:寻找地图中的最短导航路线
1.6.1 项目介绍
1.6.2 具体实现
第2章 A*算法
2.1 A*算法简介
2.1.1 A*算法的背景与历史
2.1.2 应用领域与典型场景
2.2 A*算法的核心思想
2.2.1 A*算法的原理和实现步骤
2.2.2 选择启发式函数(估算函数)
2.3 A*算法的优化
2.3.1 基本的优化措施
2.3.2 Hybrid A*算法优化
2.4 综合实战:基于A*算法的汽车导航路径规划系统
2.4.1 项目介绍
2.4.2 具体实现
第3章 Bellman-Ford算法
3.1 Bellman-Ford算法介绍
3.1.1 背景与历史
3.1.2 应用领域与典型场景
3.1.3 Bellman-Ford算法与其他路径规划算法的对比
3.2 Bellman-Ford算法的核心思想
3.2.1 图的表示方法
3.2.2 Bellman-Ford算法的原理
3.2.3 Bellman-Ford算法的实现步骤
3.3 Bellman-Ford算法的应用案例
3.3.1 负权边的最短路径问题
3.3.2 自动驾驶应用
3.4 Bellman-Ford算法的局限性与改进方法
3.4.1 负权回路的处理
3.4.2 大规模图的计算效率
3.5 综合实战:寻找地图中建筑物的最短距离
3.5.1 项目介绍
3.5.2 具体实现
3.6 综合实战:路径算法性能分析与可视化
3.6.1 项目介绍
3.6.2 具体实现
3.7 综合实战:基于Flask Web的路径规划可视化
3.7.1 项目介绍
3.7.2 路径规划
3.7.3 Flask可视化
3.7.4 模板文件
3.7.5 脚本文件
第4章 Floyd-Warshall算法
4.1 Floyd-Warshall算法简介
4.1.1 背景与历史
4.1.2 应用领域与典型场景
4.2 Floyd-Warshall算法的核心思想
4.2.1 基本思想
4.2.2 图的表示方法
4.2.3 Floyd-Warshall算法的实现步骤
4.2.4 Floyd-Warshall算法的推导过程
4.2.5 Floyd-Warshall算法与其他路径规划算法的对比
4.3 Floyd-Warshall算法的应用案例
4.3.1 自驾线路规划
4.3.2 城市交通规划应用
4.4 Floyd-Warshall算法的局限性与改进方法
4.4.1 算法复杂度与大规模图的挑战
4.4.2 负权回路的处理策略
4.4.3 并行Floyd-Warshall
4.5 综合实战:高速公路路线查询系统
4.5.1 背景介绍
4.5.2 交通路网数据
4.5.3 寻找最短路径
第5章 D*算法
5.1 动态路径规划算法简介
5.1.1 静态路径规划算法和动态路径规划算法
5.1.2 动态路径规划算法的诞生背景
5.1.3 动态路径规划算法的应用领域与场景
5.1.4 常用的动态路径规划算法
5.2 D*算法介绍
5.2.1 D*算法的发展历程
5.2.2 D*算法的原理和实现步骤
5.3 综合实战:自动驾驶中的动态障碍物处理
5.3.1 实例介绍
5.3.2 具体实现
5.4 综合实战:基于D*算法的自动驾驶路径导航系统
5.4.1 背景介绍
5.4.2 具体实现
第6章 D* Lite 算法
6.1 D* Lite算法简介
6.1.1 D* Lite算法的诞生背景和发展历程
6.1.2 D* Lite算法的应用领域与场景
6.2 D* Lite算法的核心思想
6.2.1 基本思想
6.2.2 D* Lite算法的实现步骤
6.2.3 D* Lite算法的基本概念
6.3 综合实战:基于D* Lite的路径规划器
6.3.1 项目介绍
6.3.2 实现路径规划算法
6.4 综合实战:D* Lite路径规划器
6.4.1 项目介绍
6.4.2 实现路径规划算法
6.4.3 路径规划可视化
第7章 RRT算法
7.1 RRT算法介绍
7.1.1 机器人运动规划介绍
7.1.2 改进的RRT 算法
7.1.3 与 RRT 算法相关的概念
7.2 RRT算法的定义与实现
7.2.1 RRT算法的实现步骤
7.2.2 原始的RRT算法
7.3 综合实战:基于Pygame的RRT路径规划系统
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 综合实战:基于Gazebo仿真的路径规划系统
7.4.1 项目介绍
7.4.2 实现RRT、RRT*和RRT*-FN算法
第8章 其他路径规划算法
8.1 PRM算法
8.1.1 PRM算法介绍
8.1.2 PRM算法实战
8.2 LQR算法
8.2.1 LQR算法介绍
8.2.2 LQR算法实战
8.3 DWA算法
8.3.1 DWA算法介绍
8.3.2 DWA算法实战
8.4 Best-First Search算法
8.4.1 Best-First Search算法的基本思想
8.4.2 Best-First Search算法的实现步骤
8.4.3 寻找两个城市之间的最短路径
第9章 智能行为决策算法
9.1 智能行为决策算法简介
9.1.1 智能行为决策算法的诞生背景与发展历程
9.1.2 智能行为决策算法在自动驾驶中的应用
9.2 常用的智能行为决策算法
9.2.1 马尔科夫决策过程
9.2.2 强化学习
9.2.3 规则引擎与决策树
9.2.4 模型预测控制
9.3 综合实战:基于自动驾驶大模型的车辆轨迹预测系统
9.3.1 项目介绍
9.3.2 准备工作
9.3.3 EDA数据探索
9.3.4 PyTorch训练
9.3.5 推理
9.3.6 训练参数探索
9.3.7 数据增强
第10章 基于SLAM的自主路径导航系统
10.1 背景介绍
10.2 项目介绍
10.3 公用文件
10.3.1 数学运算
10.3.2 伪随机数生成器
10.4 障碍物和边界检测
10.4.1 检测全局障碍物和边界
10.4.2 检测本地障碍物和边界
10.5 路径规划
10.5.1 跟墙壁行驶
10.5.2 A*算法路径规划
10.5.3 RRT算法