第1 章 ADAS/AD 测试与验证技术 1
1.1 ADAS 研究现状 1
1.1.1 ADAS 概述 1
1.1.2 ADAS 技术研究与应用现状 2
1.2 自动驾驶研究现状 4
1.2.1 发展自动驾驶汽车的必要性 4
1.2.2 国外自动驾驶汽车研究现状 6
1.2.3 国内自动驾驶汽车研究现状 7
1.3 ADAS 和自动驾驶仿真测试技术 7
第2 章 虚拟测试平台MOMU 架构 11
2.1 现有虚拟测试平台 11
2.1.1 基于PreScan 的AEB 纵向碰撞算法仿真平台 12
2.1.2 基于Eclipse 的车轮自适应巡航控制仿真平台 13
2.1.3 基于NIPXI 的车道偏离警告仿真平台 13
2.1.4 现有仿真测试平台的优缺点分析 14
2.2 Matlab-OpenModelica-Unity (MOMU)虚拟测试平台 15
2.3 适用于ADAS 的MOMU 平台数据流 18
2.4 适用于自动驾驶的MOMU 平台数据流 19
第3 章 基于OpenModelica 的车辆动力学模型 20
3.1 车辆动力学建模方法研究现状 20
3.2 Modelica 在车辆动力学建模中的应用 21
3.3 多领域统一建模语言Modelica 22
3.3.1 Modelica 建模的基本步骤 22
3.3.2 基于Modelica 语言的建模 24
3.3.3 标准模型库和仿真工具 27
3.4 电动汽车动力系统的建模机制 29
3.5 电动汽车动力模块建模 30
3.5.1 车用电动机分类及特点 31
3.5.2 电动机的工作原理及建模 32
3.6 电动汽车传动模块建模 35
3.6.1 机械组件库及机械接口 35
3.6.2 动力传动建模 35
3.6.3 动力学建模 36
3.6.4 车身建模 38
3.6.5 制动系统建模 39
3.6.6 悬架建模 40
3.6.7 轮胎建模 40
3.6.8 电动汽车整车模型 41
3.7 电动汽车仿真与计算 42
3.7.1 电机模型仿真 42
3.7.2 轮胎模型仿真 43
3.7.3 速度阶跃输入仿真 44
3.7.4 典型工况仿真 46
第4 章 基于Unity 的仿真环境搭建 50
4.1 Unity 软件介绍及安装 50
4.1.1 Unity 背景简介 50
4.1.2 Unity 下载安装 51
4.2 Unity 入门 52
4.2.1 开始面板 52
4.2.2 关键功能 53
4.2.3 游戏物体控制脚本编写 54
4.3 Roll-a-Ball 游戏创建示例 56
4.3.1 设置游戏 56
4.3.2 物体移动控制 59
4.3.3 视角跟随设置 62
4.3.4 添加可收集物体 62
4.3.5 新建UI 显示计数 65
4.3.6 生成游戏 67
第5 章 基于Matlab/Simulink 的软件控制策略 68
5.1 自动紧急制动系统结构 68
5.1.1 AEB 系统整体方案 69
5.1.2 自动紧急制动系统舒适性指标 70
5.2 电动汽车逆纵向动力学建模 71
5.2.1 整车逆纵向动力学模型 71
5.2.2 电动机驱动控制和制动系统控制切换 72
5.2.3 逆电动机模型 73
5.2.4 逆制动系统模型 73
5.3 行车安全距离 74
5.3.1 行车安全距离的基本要求 74
5.3.2 已有安全距离模型 75
5.3.3 AEB 系统安全距离模型 77
5.4 下位控制器设计 81
5.4.1 系统辨识法求取下位控制对象的数学模型 82
5.4.2 基于H∞控制理论的鲁棒下位控制器 83
5.5 上位控制器设计 86
5.5.1 定速巡航上位控制器设计 86
5.5.2 自适应巡航上位控制器设计 87
5.6 控制策略Simulink 模型 90
5.6.1 定速巡航模型 90
5.6.2 自适应巡航模型 90
5.6.3 紧急制动模型 91
第6 章 ADAS 虚拟仿真测试案例 93
6.1 用户数据报协议概述 93
6.1.1 远程过程调用 94
6.1.2 阻塞式套接字 95
6.2 OpenModelica 和Simulink 的UDP 通信实现 96
6.2.1 OpenModelica 中的UDP 通信模块 96
6.2.2 Simulink 中的UDP 通信模块 98
6.2.3 OpenModelica 和Simulink 之间的通信传输试验 99
6.3 Unity 的UDP 通信实现 100
6.3.1 Unity 内编写UDP 脚本 100
6.3.2 Unity 与OpenModelica 的传输试验 103
6.3.3 Unity 与Simulink 的传输试验 105
6.4 仿真测试结果 105
6.4.1 联合仿真 105
6.4.2 定速巡航仿真测试 105
6.4.3 自动紧急制动仿真测试 110
6.4.4 自适应巡航仿真测试 115
第7 章 基于Unity 的机器学习训练技术 118
7.1 ML-Agents 插件简介 118
7.2 ML-Agents 插件下载安装 119
7.3 官方示例运行:3D Balance Ball 125
7.3.1 Unity 训练环境简介 126
7.3.2 训练环境设置 128
7.3.3 使用强化学习训练 Brain 130
7.3.4 训练结果功能测试 132
7.4 目标追踪训练环境创建示例 132
7.4.1 概述 132
7.4.2 设置 Unity 项目 133
7.4.3 创建环境 133
7.4.4 最终 Editor 设置 141
7.4.5 测试环境 142
第8 章 自动驾驶虚拟仿真案例 144
8.1 训练与测试框图 144
8.2 场景介绍 145
8.3 训练模型的建立 147
8.4 训练过程 150
8.4.1 Observation 测试 150
8.4.2 训练统计数据 151
8.4.3 训练过程参数调试 152
8.5 仿真测试结果验证 153
参考文献 156