本书立足于国家智能网联汽车重大战略发展方向,以智能驾驶汽车规划控制算法作为研究对象,从算法原理、伪代码分析、理论推导、仿真案例等多个方面详细阐述34种规划控制算法,有助于推动我国智能汽车产业及行业人才事业的蓬勃发展。
更多科学出版社服务,请扫码获取。
1.获得重庆市科技进步一等奖一项
2.中国兵器装备集团科学技术奖科技进步特等奖一项
目录
第一部分 基础知识篇
第1章 绪论 3
1.1 智能驾驶汽车概述 3
1.1.1 智能驾驶汽车的发展 3
1.1.2 智能驾驶汽车分级 4
1.1.3 智能驾驶汽车关键技术 4
1.2 规划决策系统概述 6
1.2.1 术语概念 6
1.2.2 全局路径规划 9
1.2.3 局部路径规划 11
1.2.4 速度规划 13
1.3 控制执行系统概述 13
1.3.1 横向控制与纵向控制 13
1.3.2 路径跟踪控制与轨迹跟踪控制 14
1.3.3 分层控制 14
1.3.4 反馈控制 14
第2章 MATLAB基础操作指南 16
2.1 MATLAB编程技巧 16
2.1.1 数据类型的选择 16
2.1.2 矩阵操作技巧 18
2.1.3 MATLAB常用库函数 19
2.2 MATLAB自动驾驶工具箱 20
2.2.1 驾驶场景设计器 21
2.2.2 自动驾驶函数库 22
2.2.3 自动驾驶场景案例 23
第二部分 全局路径规划算法篇
第3章 基于拓扑图的全局路径规划算法 29
3.1 术语概念 29
3.1.1 算法的复杂度 29
3.1.2 拓扑图简介 30
3.1.3 广度优先搜索和深度优先搜索 31
3.2 Dijkstra算法 34
3.2.1 Dijkstra算法简介 34
3.2.2 伪代码及分析 35
3.2.3 案例精讲 36
3.2.4 MATLAB仿真 37
3.3 Floyd算法 39
3.3.1 Floyd算法简介 39
3.3.2 伪代码及分析 40
3.3.3 案例精讲 41
3.3.4 MATLAB仿真 43
3.4 基于拓扑图的路径规划实战案例 44
3.4.1 路段行程时间的周期相似性 44
3.4.2 传统路径规划思想的缺陷 45
3.4.3 路网建模仿真及数据库建立 47
3.4.4 动态路网的全局最优路径规划思想 49
3.4.5 全局最优路径规划思想的仿真试验验证 51
第4章 基于栅格图的全局路径规划算法 54
4.1 术语概念 54
4.1.1 栅格图简介 54
4.1.2 启发式搜索和增量式搜索 56
4.2 A*算法 56
4.2.1 A*算法简介 56
4.2.2 伪代码及分析 56
4.2.3 案例精讲 58
4.2.4 MATLAB仿真 60
4.3 D*算法 65
4.3.1 D*算法简介 65
4.3.2 伪代码及分析 65
4.3.3 案例精讲 68
4.3.4 MATLAB仿真 69
4.4 LPA*算法 71
4.4.1 LPA*算法简介 71
4.4.2 伪代码及分析 72
4.4.3 案例精讲 74
4.4.4 MATLAB仿真 76
4.5 D*Lite算法 78
4.5.1 D*Lite算法简介 78
4.5.2 伪代码及分析 79
4.5.3 案例精讲 82
4.5.4 MATLAB仿真 84
4.6 四种栅格图路径规划算法对比分析 86
第5章 基于采样的全局路径规划算法 88
5.1 术语概念 88
5.1.1 采样算法 88
5.1.2 算法的完备性与最优性 88
5.1.3 路径与障碍物的碰撞检测方法 89
5.2 PRM算法 92
5.2.1 PRM算法简介 92
5.2.2 伪代码及分析 92
5.2.3 案例精讲 93
5.2.4 MATLAB仿真 94
5.3 RRT算法 100
5.3.1 算法简介 100
5.3.2 伪代码及分析 100
5.3.3 案例精讲 101
5.3.4 MATLAB仿真 102
5.4 基于RRT的几种改进算法 105
5.4.1 RRT-Connect算法 105
5.4.2 RRT*算法 109
5.4.3 Informed RRT*算法 113
第三部分 局部路径规划算法篇
第6章 基于参数曲线的局部路径规划算法 119
6.1 术语概念 119
6.1.1 车辆运动学约束的基本概念 119
6.1.2 控制点、型值点和插值点 120
6.1.3 曲率的三种计算方式 120
6.1.4 基于三点求外接圆曲率与基于参数方程求曲率方法的对比 125
6.2 五次多项式曲线 126
6.2.1 算法简介 126
6.2.2 五次多项式曲线路径 127
6.2.3 五次多项式曲线轨迹 130
6.2.4 五次多项式螺旋曲线路径 132
6.3 Dubins曲线 134
6.3.1 算法简介 134
6.3.2 Dubins曲线分类 135
6.3.3 Dubins曲线切点计算 136
6.3.4 CSC类型和CCC类型的Dubins曲线计算 137
6.3.5 MATLAB仿真 138
6.4 贝塞尔曲线 140
6.4.1 算法简介 140
6.4.2 贝塞尔曲线的数学推导 141
6.4.3 贝塞尔曲线的性质 144
6.4.4 案例精讲与MATLAB仿真 145
6.5 B样条曲线 147
6.5.1 算法简介 147
6.5.2 B样条曲线理论介绍 147
6.5.3 B样条曲线分类 149
6.5.4 B样条曲线的性质 150
6.5.5 基于控制点的B样条曲线路径规划 151
6.5.6 基于型值点的B样条曲线路径规划 154
6.6 三次样条曲线 156
6.6.1 龙格现象及样条插值 156
6.6.2 分段三次样条插值推导 157
6.6.3 案例精讲与MATLAB仿真 159
第7章 基于数学优化的局部路径规划算法 161
7.1 术语概念 161
7.1.1 数学优化与智能优化 161
7.1.2 横纵向解耦规划 162
7.1.3 笛卡儿坐标系与Frenet坐标系 163
7.1.4 二次型、正定矩阵、雅可比矩阵和海塞矩阵 164
7.2 动态规划算法 166
7.2.1 算法简介 166
7.2.2 伪代码及分析 167
7.2.3 案例精讲 168
7.3 二次规划算法 171
7.3.1 算法简介 171
7.3.2 算法理论介绍 171
7.4 动态规划算法和B样条曲线法在路径规划中的应用 174
7.4.1 构建自动驾驶场景 174
7.4.2 撒点采样 174
7.4.3 利用动态规划算法初步规划路径 177
7.4.4 利用B样条曲线法平滑路径 180
7.5 动态规划算法和二次规划算法在速度规划中的应用 181
7.5.1 生成ST图 182
7.5.2 撒点采样 184
7.5.3 利用动态规划算法初步规划速度曲线 185
7.5.4 利用二次规划算法平滑速度曲线 186
第8章 基于智能优化的局部路径规划算法 194
8.1 术语概念 194
8.1.1 群智能算法概述 194
8.1.2 全局最优与局部最优 195
8.1.3 参数与超参数 195
8.2 遗传算法 196
8.2.1 算法简介 196
8.2.2 遗传算法的建模思想 197
8.2.3 案例精讲 199
8.2.4 MATLAB仿真 201
8.3 粒子群算法 206
8.3.1 算法简介 206
8.3.2 粒子群算法的建模思想 207
8.3.3 案例精讲 210
8.3.4 MATLAB仿真 211
8.4 蚁群算法 213
8.4.1 算法简介 213
8.4.2 蚁群算法的建模思想 214
8.4.3 在拓扑地图中的应用 216
8.4.4 在旅行商问题中的应用 220
8.5 其他群智能优化算法 222
8.5.1 人工鱼群算法 222
8.5.2 人工蜂群算法 225
8.5.3 狼群算法 228
第9章 其他常用路径规划算法 231
9.1 Q学习算法 231
9.1.1 机器学习、强化学习与深度学习的概念 231
9.1.2 Q学习算法原理介绍 232
9.1.3 MATLAB仿真 232
9.2 人工势场法 236
9.2.1 人工势场法简介 236
9.2.2 算法推导 236
9.2.3 算法缺陷分析及改进 240
9.2.4 MATLAB仿真 242
9.3 动态窗口法 245
9.3.1 算法简介 245
9.3.2 运动学模型及速度采样 245
9.3.3 构造评价函数筛选最优轨迹 247
9.3.4 MATLAB仿真 247
第四部分 控制算法篇
第10章 轨迹跟踪控制的基本概念 253
10.1 轨迹跟踪控制的横向误差 253
10.2 车辆运动学模型 255
10.2.1 阿克曼转向原理 256
10.2.2 二自由度车辆运动学模型 257
10.2.3 基于跟踪误差的运动学模型离散状态空间方程 258
10.3 车辆动力学模型 260
10.3.1 航向角、质心侧偏角与横摆角 260
10.3.2 车辆二自由度动力学模型 261
10.3.3 基于跟踪误差的动力学模型离散状态空间方程 263
10.4 李雅普诺夫稳定性理论 265
第11章 基于车辆运动模型的轨迹跟踪控制算法 268
11.1 PID控制算法 268
11.1.1 算法简介 268
11.1.2 PID控制算法理论 268
11.1.3 MATLAB仿真 270
11.1.4 PID参数整定 272
11.2 纯跟踪控制算法 275
11.2.1 算法简介 275
11.2.2 算法理论介绍 276
11.2.3 MATLAB仿真 277
11.3 前轮反馈控制算法(Stanley算法) 279
11.3.1 算法简介 279
11.3.2 算法理论介绍 279
11.3.3 MATLAB仿真 281
11.4 后轮反馈控制算法 282
11.4.1 算法简介 282
11.4.2 算法理论介绍 283
11.4.3 MATLAB仿真 284
11.5 模糊控制算法 286
11.5.1 算法简介 286
11.5.2 基于李雅普诺夫反演法的控制律推导 286
11.5.3 模糊控制器设计 289
11.5.4 MATLAB仿真 293
第12章 基于状态空间方程的轨迹跟踪控制算法 296
12.1 线性二次型调节器(LQR)算法 296
12.1.1 算法简介 296
12.1.2 LQR理论介绍 296
12.1.3 基于运动学模型的MATLAB仿真 299
12.1.4 基于动力学模型的MATLAB仿真 302
12.2 模型预测控制(MPC)算法 304
12.2.1 算法简介 304
12.2.2 MPC算法理论介绍 305
12.2.3 基于运动学模型的MATLAB仿真 310
12.2.4 基于动力学模型的MATLAB仿真 315
12.3 MPC算法与LQR算法的异同 317
参考文献 319
彩色图版 322