目录
第1章 绪论 1
1.1 无人驾驶国内外现状 1
1.1.1 国内研究现状 1
1.1.2 国外研究现状 4
1.2 感知智能研究现状 6
1.2.1 软件层面 6
1.2.2 硬件层面 7
1.3 感知智能系统的组成 12
1.3.1 介绍 12
1.3.2 意义 12
1.3.3 感知对象 14
1.4 面临的困难和挑战 14
1.5 基于ROS的无人驾驶技术 16
第2章 ROS基础 19
2.1 ROS的工程结构 19
2.1.1 工作空间(catkin workspace) 20
2.1.2 功能包(package) 20
2.1.3 文件类型 21
2.2 ROS通信原理 22
2.2.1 话题通信模型 23
2.2.2 服务通信模型 24
2.2.3 动作通信模型 24
2.2.4 ROS通信总结 25
2.3 实验操作 25
2.3.1 实验一 工作空间与功能包创建 25
2.3.2 实验二 ROS通信原理实验 28
第3章 ArtTable框架 37
3.1 ArtTable框架介绍 37
3.2 ArtTable框架使用 39
3.2.1 Simulation(仿真模拟)功能 39
3.2.2 LEDControl(LED状态控制)功能 40
3.2.3 MoveControl(运动学控制)功能 42
3.2.4 Gmapping(地图构建)功能 43
第4章 超声波传感器 46
4.1 超声波传感器分类 46
4.2 常用超声波传感器HC-SR04 47
4.2.1 参数特征 47
4.2.2 工作原理 47
4.2.3 使用方法 48
4.3 超声波传感器ROS驱动 54
4.4 超声波传感器ROS通信数据分析 57
4.4.1 启动超声波传感器ROS程序 57
4.4.2 查看超声波传感器ROS节点数据 57
第5章 编码器传感器 61
5.1 编码器分类 61
5.1.1 增量型 61
5.1.2 值型 63
5.1.3 混合型 63
5.2 常用编码器E6B2-CWZ6C 64
5.2.1 参数特征 64
5.2.2 工作原理 65
5.2.3 使用方法 66
5.3 编码器ROS驱动 69
5.4 编码器ROS通信数据分析 79
5.4.1 启动编码器ROS节点程序 79
5.4.2 查看传感器节点数据 79
第6章 惯性传感器 85
6.1 惯性传感器分类 85
6.1.1 角速度陀螺仪 86
6.1.2 线加速度计 86
6.2 常用惯性传感器9DoF Razor IMU 88
6.2.1 参数特征 90
6.2.2 工作原理 91
6.2.3 使用方法 91
6.3 惯性传感器ROS驱动 116
6.4 惯性传感器ROS通信数据分析 117
6.4.1 rotopic查看ROS驱动发布话题 118
6.4.2 分析话题数据imu_data 119
第7章 视觉传感器 121
7.1 视觉传感器分类 121
7.2 常用视觉传感器 122
7.2.1 参数特征 122
7.2.2 工作原理 123
7.2.3 使用方法 123
7.3 视觉传感器ROS通信驱动 134
第8章 雷达 144
8.1 雷达种类 144
8.1.1 激光雷达概述 144
8.1.2 激光雷达分类 147
8.2 常用激光雷达 152
8.2.1 参数特征 152
8.2.2 工作原理 153
8.2.3 使用方法 154
8.3 激光雷达ROS通信驱动 158
8.4 激光雷达ROS通信数据分析 195
第9章 基于ROS的卡尔曼滤波 198
9.1 robot_pose_ekf简介 198
9.2 如何使用扩展卡尔曼滤波器 198
9.2.1 配置 198
9.2.2 编译并运行包 199
9.3 节点解析 199
9.4 扩展卡尔曼滤波器如何工作 200
第10章 基于ROS的状态估计 202
10.1 robot_localization介绍 202
10.2 robot_localization特征 203
10.3 robot_localization状态估计节点 203
10.3.1 ekf_localization_node 203
10.3.2 ukf_localization_node 203
10.3.3 参数 203
10.4 准备数据 210
10.4.1 RO数据标准 210
10.4.2 坐标系和转换传感器数据 210
10.4.3 处理tf_prefix 211
10.4.4 每种传感器消息类型的注意事项 211
10.4.5 常见错误 212
10.5 robot_localization配置 213
10.5.1 传感器配置 213
10.5.2 以2D运行 213
10.5.3 融合不可测变量 214
10.5.4 微分和相对参数 215