ROS交流群
ROS Group
产品服务
Product Service
开源代码库
Github
官网
Official website
技术交流
Technological exchanges
激光雷达
LIDAR
ROS教程
ROS Tourials
深度学习
Deep Learning
机器视觉
Computer Vision

使用rosbag录制和回放3d激光雷达数据和小强ROS开发平台的里程计IMU数据



  • 用激光雷达进行大范围建图时,为了方便调整建图算法的参数,可以先录制数据包,然后离线回放数据包方式建图。安装有速腾聚创3d激光雷达的小强xq5开发平台,能同时输出3d雷达点云、2d雷达点云、IMU、里程计、图像等数据,结合小车主机配置的高速、高容量固态硬盘,可以录制高质量的数据包,满足各种场景的3d、2d建图。

    1.安装无线路由,架设随车wifi网络

    小车底盘的“kinect供电”dc头,是通用的直流12v输出电源,可以用来给常用的9V、12V无线路由供电。在小车上固定一个无线路由,我们就可以架设一个随车移动的wifi网络。利用这个wifi网络,我们可以远程控制录制过程和遥控小车移动。

    2.在windows笔记本上安装小强开发平台的《伽利略导航客户端安装程序》和ssh客户端

    伽利略导航客户端用来方便的遥控小强开发平台,ssh客户端则用于ssh登录小车主机,ssh客户端可以用putty。

    3.启动3d激光雷达的ros驱动和pointcloud_to_laserscan包

    使用wifi网络,在windows笔记本电脑上ssh登录小车主机。小车的IMU、里程计、图像等数据默认是开机自动启动的。

    #新开一个ssh连接启动ros驱动
    ssh xiaoqiang@192.168.x.x #小车密码为xiaoqiang,请将192.168.x,x换成实际的ip地址
    #如果是小强xq5轮毂电机版本,请启动这个launch文件
    roslaunch rslidar_pointcloud xiaoqiang_lungu.launch
    #如果是小强xq4-pro普通电机版本,请启动这个launch文件
    roslaunch rslidar_pointcloud xiaoqiang_pro.launch
    
    #新开一个ssh连接启动pointcloud_to_laserscan包
    ssh xiaoqiang@192.168.x.x #小车密码为xiaoqiang,请将192.168.x,x换成实际的ip地址
    roslaunch pointcloud_to_laserscan xiaoqiang_rslidar.launch
    

    4.开始录制数据

    #新开一个ssh连接启动rosbag录制线程
    ssh xiaoqiang@192.168.x.x #小车密码为xiaoqiang,请将192.168.x,x换成实际的ip地址
    roslaunch pointcloud_to_laserscan xiaoqiang_rslidar.launch
    rosbag record /rslidar/scan /rslidar_points /xqserial_server/IMU /xqserial_server/Odom 
    
    rosbag的使用方法,[请参考wiki](http://wiki.ros.org/rosbag/Commandline)
    /rslidar/scan 对应雷达的2d数据
    /rslidar_points 对应雷达的3d数据
    /xqserial_server/IMU 对应小车的IMU数据
    /xqserial_server/Odom 小车的底盘里程计
    

    5.使用windows伽利略导航客户端,遥控小车对待建图场景进行扫描。完成后,手动关闭rosbag录制线程

    小车的遥控移动轨迹,最好要有多个闭合回路,因为现在的激光雷达slam算法通常都可以使用回环检测技术进一步消除误差。
    ctrl+c关闭rosbag录制线程后,在小车home目录会自动生成一个2018-xxx-xxx.bag文件,这个文件就是录制的数据包。
    0_1534121752218_rosbag.png

    6.用rosbag回放录制的数据包

    #先关闭小车上启动的所有的ros驱动节点,因为回放数据包发布的传感器数据会和小车当前数据冲突,因此需要关闭现有的ros驱动节点
    #在小车主机上新开一个命令终端
    sudo service startup stop
    roscore
    
    #用rosbag回放数据包
    #在小车主机上新开一个命令终端
    sudo service startup stop
    rosbag play   2018-08-11-13-20-34.bag #请将 2018-08-11-13-20-34.bag替换成实际bag包名字
    

    一切正常的话,数据包里录制的话题数据就已经在ros中发布了,可以使用rostopic工具查看,也可以用rviz订阅。
    还可以使用rqt_bag可视化工具打开bag数据包,rqt_bag可以方便的浏览、可视化bag包内容。