01
传感器数据录制概述
什么是传感器数据录制、应用场景(自动驾驶、工业监测)、课程目标与学习路径。
概念入门
02
常见传感器类型与数据格式
摄像头(图像/视频)、激光雷达(点云)、毫米波雷达、IMU、GPS。
传感器格式
03
数据录制硬件环境搭建
传感器选型、同步时钟(GPS/PTP)、工控机与存储设备选型。
硬件搭建
04
数据录制软件环境搭建
Ubuntu系统配置、ROS/ROS2安装、依赖库(Eigen, PCL, OpenCV)安装。
软件ROS
05
ROS基础与Bag包概念
ROS节点与话题机制、消息类型、rosbag工具介绍。
ROSBag
06
使用rosbag录制传感器数据
rosbag record命令详解、录制多话题、录制时长控制。
录制命令
07
rosbag信息查看与回放
rosbag info、rosbag play、回放速度控制、循环播放。
回放调试
08
自定义ROS消息类型
msg文件定义、编译与使用、适用于非标准传感器数据。
自定义msg
09
Python脚本录制数据
rospy初始化、创建Publisher、写入自定义Bag文件。
Python脚本
10
C++脚本录制数据
roscpp初始化、创建Publisher、高效写入Bag文件。
C++性能
11
数据录制实战:多传感器联合录制
Camera + LiDAR + IMU 联合录制与同步。
实战多传感器
12
数据同步问题与解决方案
时间戳对齐、硬件同步(GPS触发)、软件同步(最近邻插值)。
同步时间戳
13
数据录制质量检查
丢帧检测、时间戳异常检测、数据完整性校验。
质量校验
14
数据格式转换概述
为什么需要格式转换、常见转换场景(ROS Bag → KITTI, NuScenes)。
转换概述
15
ROS Bag转图片/视频
提取图像话题、使用cv_bridge、保存为JPEG/PNG/MP4。
图像视频
16
ROS Bag转点云数据
提取PointCloud2话题、保存为PCD/PLY/LAS格式。
点云PCD
17
ROS Bag转IMU数据
提取IMU话题、解析为CSV/TXT文件。
IMUCSV
18
ROS Bag转GPS数据
提取GPS话题、解析为NMEA/GPX格式。
GPSNMEA
19
Python批量格式转换
os模块遍历Bag文件、多线程加速转换。
批量多线程
20
KITTI数据集格式详解
目录结构、标定文件、标签文件、转换脚本编写。
KITTI格式
21
NuScenes数据集格式详解
目录结构、JSON元数据、数据库表、转换脚本编写。
NuScenesJSON
22
Waymo Open Dataset格式详解
TFRecord结构、Frame与Labels、转换脚本编写。
WaymoTFRecord
23
数据标注格式转换
从ROS Bag标注话题转COCO JSON、转YOLO TXT。
标注COCO
24
数据压缩与存储优化
有损/无损压缩、H.264/H.265编码、点云体素滤波后存储。
压缩存储
25
数据版本管理
DVC(Data Version Control)入门、数据集版本回退、远程存储。
DVC版本
26
数据可视化验证
使用rviz回放转换后的数据、使用matplotlib绘制传感器轨迹。
可视化rviz
27
数据录制与转换自动化
Shell脚本一键录制、Crontab定时任务、Docker环境封装。
自动化Docker
28
常见问题与调试技巧
Bag文件损坏修复、内存溢出处理、磁盘IO瓶颈分析。
调试故障
29
项目实战:自动驾驶数据流水线
搭建一个完整的自动驾驶数据采集与转换流水线。
项目流水线
30
课程总结与进阶方向
开源数据集介绍、仿真数据生成(CARLA/Gazebo)、云端数据处理。
总结进阶