自动驾驶编程原理与应用 / 普通高等教育新工科汽车类系列教材(智能汽车·新能源汽车方向)
定价:¥59.00
作者: 黄炜
出版时间:2026-05-25
出版社:机械工业出版社
- 机械工业出版社
- 9787111808626
- 1-1
- 2026-05-25
- 340
内容简介
本书系统讲解了自动驾驶编程的核心技术与应用方法,以开源自动驾驶框架Autoware为实践平台,全面覆盖了自动驾驶系统的各功能模块。全书共9章,按照自动驾驶系统的技术架构层层递进。本书首先介绍了自动驾驶系统的三层技术架构——感知定位层、决策规划层与执行控制层,并对开发所需的软硬件环境进行了说明;然后聚焦开源框架Autoware,详细介绍了源码安装流程、常用终端命令以及坐标变换、数据可视化等核心组件的使用方法;为夯实编程基础,本书简要介绍了从C++语法精要到ROS编程实践;随后按照自动驾驶功能模块逐一展开:高精地图创建与加载、车辆定位、环境感知、决策规划和运动控制等;另外,本书还介绍了基于Carla模拟器的仿真测试方法,提供了从仿真环境部署到算法验证的完整方案;最后,课程设计实验部分设置了两个综合性实践项目,帮助读者巩固所学知识,提升工程应用能力。本书可作为普通高等教育车辆工程专业在新工科背景下“新四化”课程体系建设配套教材,同时也可供自动驾驶相关领域的工程技术人员阅读参考。
目录
前言
第1章绪论1
1.1自动驾驶系统技术架构1
1.1.1感知定位层1
1.1.2决策规划层2
1.1.3执行控制层3
1.2自动驾驶系统开发环境3
1.2.1硬件要求3
1.2.2操作系统要求4
1.2.3软件要求4
习题4
第2章开源自动驾驶框架Autoware5
2.1基本介绍5
2.2源码安装6
2.2.1终端常用命令6
2.2.2ROS安装7
2.2.3系统依赖7
2.2.4Autoware安装7
2.2.5Autoware运行8
2.3常用功能组件说明9
2.3.1启动文件9
2.3.2坐标变换库9
2.3.3数据可视化工具10
2.3.4数据记录与回放工具12
习题13
第3章Autoware编程基础14
3.1C++编程基础14
3.1.1IO库14
3.1.2复合类型变量15
3.1.3迭代语句16
3.1.4条件语句17
3.1.5类19
3.1.6模板20
3.2ROS编程基础21
3.2.1文件系统与通信机制22
3.2.2常用命令行工具25
3.2.3工作空间编译27
3.2.4话题发布与订阅编程28
3.2.5话题消息定义与使用32
3.2.6服务请求与应答编程38
3.2.7服务数据定义与使用42
习题48
第4章高精地图创建与加载49
4.1地图创建与加载方法概述49
4.1.1常见建图方法简介49
4.1.2Autoware地图创建基本步骤51
4.1.3Autoware地图加载基本步骤55
4.2点云地图构建功能包56
4.2.1NDT点云匹配地图构建方法57
4.2.2节点ndt_mapping与源码解析59
4.3地图加载功能包73
4.3.1节点points_map_loader与源码解析74
4.3.2节点vector_map_loader与源码解析78
习题81
第5章车辆定位82
5.1车辆定位方法概述82
5.1.1常见车辆定位方法简介82
5.1.2Autoware车辆定位基本步骤85
5.2激光点云定位功能包86
5.2.1激光点云定位方法87
5.2.2节点ndt_matching与源码解析88
5.3卫星辅助定位功能包104
5.3.1卫星辅助定位方法106
5.3.2节点nmea2tfpose与源码解析106
习题111
第6章环境感知112
6.1环境感知方法概述112
6.1.1常见环境感知方法简介112
6.1.2Autoware环境感知基本步骤114
6.2点云聚类功能包116
6.2.1点云欧式聚类方法118
6.2.2节点lidar_euclidean_clustering与源码解析120
6.3信号灯颜色识别功能包131
6.3.1颜色模型与转换方法132
6.3.2节点region_tlr与源码解析134
习题143
第7章决策规划144
7.1决策规划方法概述144
7.1.1常见决策规划方法简介144
7.1.2Autoware决策规划基本步骤146
7.2全局规划功能包148
7.2.1Rule-based速度规划方法149
7.2.2节点lane_rule与源码解析150
7.3局部规划功能包167
7.3.1A-Star路径规划方法169
7.3.2节点astar_avoid与源码解析171
习题183
第8章运动控制185
8.1运动控制方法概述185
8.1.1常见运动控制方法简介185
8.1.2Autoware运动控制基本步骤186
8.2运动控制功能包187
8.2.1纯跟踪控制方法188
8.2.2节点pure_pursuit与源码解析190
习题204
第9章仿真测试206
9.1Carla仿真平台206
9.1.1Carla安装206
9.1.2Carla运行206
9.1.3中间件部署209
9.2Autoware仿真测试209
习题210
课程设计实验211
实验一自动驾驶影子模式测试211
实验二基于欧式聚类的车辆分割211
参考文献212
第1章绪论1
1.1自动驾驶系统技术架构1
1.1.1感知定位层1
1.1.2决策规划层2
1.1.3执行控制层3
1.2自动驾驶系统开发环境3
1.2.1硬件要求3
1.2.2操作系统要求4
1.2.3软件要求4
习题4
第2章开源自动驾驶框架Autoware5
2.1基本介绍5
2.2源码安装6
2.2.1终端常用命令6
2.2.2ROS安装7
2.2.3系统依赖7
2.2.4Autoware安装7
2.2.5Autoware运行8
2.3常用功能组件说明9
2.3.1启动文件9
2.3.2坐标变换库9
2.3.3数据可视化工具10
2.3.4数据记录与回放工具12
习题13
第3章Autoware编程基础14
3.1C++编程基础14
3.1.1IO库14
3.1.2复合类型变量15
3.1.3迭代语句16
3.1.4条件语句17
3.1.5类19
3.1.6模板20
3.2ROS编程基础21
3.2.1文件系统与通信机制22
3.2.2常用命令行工具25
3.2.3工作空间编译27
3.2.4话题发布与订阅编程28
3.2.5话题消息定义与使用32
3.2.6服务请求与应答编程38
3.2.7服务数据定义与使用42
习题48
第4章高精地图创建与加载49
4.1地图创建与加载方法概述49
4.1.1常见建图方法简介49
4.1.2Autoware地图创建基本步骤51
4.1.3Autoware地图加载基本步骤55
4.2点云地图构建功能包56
4.2.1NDT点云匹配地图构建方法57
4.2.2节点ndt_mapping与源码解析59
4.3地图加载功能包73
4.3.1节点points_map_loader与源码解析74
4.3.2节点vector_map_loader与源码解析78
习题81
第5章车辆定位82
5.1车辆定位方法概述82
5.1.1常见车辆定位方法简介82
5.1.2Autoware车辆定位基本步骤85
5.2激光点云定位功能包86
5.2.1激光点云定位方法87
5.2.2节点ndt_matching与源码解析88
5.3卫星辅助定位功能包104
5.3.1卫星辅助定位方法106
5.3.2节点nmea2tfpose与源码解析106
习题111
第6章环境感知112
6.1环境感知方法概述112
6.1.1常见环境感知方法简介112
6.1.2Autoware环境感知基本步骤114
6.2点云聚类功能包116
6.2.1点云欧式聚类方法118
6.2.2节点lidar_euclidean_clustering与源码解析120
6.3信号灯颜色识别功能包131
6.3.1颜色模型与转换方法132
6.3.2节点region_tlr与源码解析134
习题143
第7章决策规划144
7.1决策规划方法概述144
7.1.1常见决策规划方法简介144
7.1.2Autoware决策规划基本步骤146
7.2全局规划功能包148
7.2.1Rule-based速度规划方法149
7.2.2节点lane_rule与源码解析150
7.3局部规划功能包167
7.3.1A-Star路径规划方法169
7.3.2节点astar_avoid与源码解析171
习题183
第8章运动控制185
8.1运动控制方法概述185
8.1.1常见运动控制方法简介185
8.1.2Autoware运动控制基本步骤186
8.2运动控制功能包187
8.2.1纯跟踪控制方法188
8.2.2节点pure_pursuit与源码解析190
习题204
第9章仿真测试206
9.1Carla仿真平台206
9.1.1Carla安装206
9.1.2Carla运行206
9.1.3中间件部署209
9.2Autoware仿真测试209
习题210
课程设计实验211
实验一自动驾驶影子模式测试211
实验二基于欧式聚类的车辆分割211
参考文献212












