Ubuntu Linux系统ROS平台的数据可视化(不完整后面补充)
1 ROS平台
1.1无人驾驶系统是由多种技术集成,包括了驾驶环境感知、路径规划和车辆控制。机器人操作系统(ROS)是一个强大而灵活的机器人编程框架,是一种基于消息传递通信的分布式多进程框架,有很多知名的机器人开源函数库,quaternion的坐标转换、3D点云处理驱动、定位算法SLAM等都是开源贡献者基于ROS开 发的。无人车的规划、控制算法通常运行在Linux系统上,各个模块通常使用ROS进行连接。
ROS最重要的特点就是:分布式、可移植和丰富的工具。支持分布式计算
2 数据集
数据集相关的工作流如下:
1) 采集设备的联合调试,如摄像头和激光雷达等多传感器的时间同步和联合标定等
2) 数据采集工作开展,业务场景下的数据量要足够
3) 采集到的照片、点云数据都需要进行标注。
3 数据可视化
3.1使用KITTI中的点云及图像数据作为输入传感器数据,同时使用 ROS作为基础软件平台。因此,首先要在ROS中使用KITTI的数据,将KITTI中传感器数据转换成ROS消息并通过话题发布出去,同时使用可视化工具RVIZ进行直观的显示,方便调试。
3.2这里我们通过下载KITTI中的原始数据(raw_data),这些数据包括有左右相机的黑白图像、彩色图像、激光雷达点云、GPS与IMU数据。这些数据都有着对应时间顺序的编号,由于相机与激光雷达设置了相同的采样频率(10Hz),因此相同编号的图片与点云代表着同一帧的场景。其中每帧图片格式为 PNG 格式、对应的点云格式为 bin 文件(包含 x, y,z,r 四个信息,前三者代表空间坐标,后者代表激光雷达反射率)。
3.3通过使用 kitti2bag 工具箱,将这些文件夹内的传感器数据,转换成ROS下可以播放的 rosbag类型。在ROS中通过rosbag play命令播放传感器信息。按照传感器的时间戳,将各个传感器的数据对应起来。原始数据中的相机、激光雷达、GPS 与 IMU 传感器数据变成 ROS 话题在 ROS 网络中广播。
4 准备工作都就绪,下面是ROS相关的具体的操作步骤
4.1启动ros
测试ROS
打开第一个终端窗口,运行roscore
打开第二个终端窗口,输入:rosrun turtlesim turtlesim_node
打开第三个终端窗口,输入:rosrun turtlesim turtle_teleop_key
没问题往下接着操作
4.2 启动rviz
打开一个新终端输入:rviz -d display_bag.rviz(图像有问题后面再修改,暂时按链接文章参考来)
4.3 播放bag
cd到kitti数据的bag所在文件夹下,打开一个新终端输入,
输入:rosbag play kitti_2011_10_03_drive_0027_synced.bag
4.4 rviz的设置
在rviz的Fixed Frame中选择base_link;
点击Add->By topic,选择其中的PointCloud2添加雷达图像,点击ok;同样操作再选择其中的Image添加左侧、右侧的彩色相机图像。
原文链接:https://blog.csdn.net/weixin_38135620/article/details/124213923