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

谷歌cartographer直接使用速腾聚创3d激光雷达三维数据进行2d建图



  • 谷歌cartographer_ros请参考这篇安装教程

    1. 数据包准备

    使用激光雷达进行2d建图,一般是使用2d雷达数据,3d雷达需要先转换成2d。cartographer_ros的2d建图直接支持三维点云输入,因此可以不需要转换。本文建图将使用里程计和三维点云数据。
    rosbag数据包的详细制作过程,请参考这篇教程: https://community.bwbot.org/topic/522/使用rosbag录制和回放3d激光雷达数据和小强ros开发平台的里程计imu数据
    下文教程将以蓝鲸机器人录制的bag包为例,演示如何建立2d地图。bag包百度云下载地址

    2. 配置cartographer_ros

    蓝鲸机器人github上的cartographer_ros已经配置好了所有文件,对于加装速腾聚创小强xq5开发平台采集的数据包,cartographer_ros需要使用的是下列文件,简略的说明在下文。cartographer_ros的详细文档可以参考官方wiki

    cartographer_ros/launch/demo_xiaoqiang_rslidar_2d.launch #建图时启动的launch文件,负责启动rviz,加载cartographer_ros主要的启动节点和参数文件,话题数据名字的remap也在这个文件设定。
    
    cartographer_ros/urdf/rslidar_2d.urd #模型文件,用来发布3d激光雷达、小车里程计、IMU、小车本体之间的tf关系
    
    cartographer_ros/configuration_files/xiaoqiang_rslidar_2d.lua #cartographer_ros算法参数配置文件,优化建图效果需要调整的参数就是这个文件。
    

    ros中坐标系的设置,请参考这篇教程,小强xq5平台的base_link原点设置在两个主动轮轴中间位置。

    # cartographer_ros/configuration_files/xiaoqiang_rslidar_2d.lua文件里面设置是否使用imu、odom数据的参数是这两个:
    use_odometry = true  #true使能里程计,false禁用里程计
    TRAJECTORY_BUILDER_2D.use_imu_data = false  #true使能里程计,false禁用里程计
    
    # cartographer_ros)/urdf/rslidar_2d.urd文件需要调整的参数是3d雷达相对base_link的安装位置,laserbase_link等价于base_link
    <joint name="horizontal_laser_link_joint" type="fixed">
        <parent link="laserbase_link" />
        <child link="rslidar" />
        <origin xyz="0 0 0.4" rpy="0 0 0" />
      </joint>
    

    3. 启动cartographer_ros,播放rosbag数据包,开始建图

    #先关闭小车的ros启动节点
    #在小车主机上新开一个命令终端
    sudo service startup stop
    roscore
    
    #启动cartographer
    #在小车主机上新开一个命令终端
    roslaunch cartographer_ros demo_xiaoqiang_rslidar_2d.launch 
    
    #播放bag数据
    #在小车主机上新开一个命令终端
    rosbag play  --clock  2018-08-11-13-20-34.bag
    

    0_1534131252839_2d_1.png
    0_1534131282229_Screenshot from 2018-08-13 11-32-47.png
    0_1534131505449_Screenshot from 2018-08-13 11-38-14.png

    4. bag播放完成后,用map_server保存地图

    rosrun map_server map_saver --occ 51 --free 49 -f work0
    

    保存成功后,会在home目录里面生成work0.yaml work0.pgm两个地图文件,这两个文件可以用来amcl导航。