复制
收藏
提问
简洁

Cartographer 3D建图如何跑自己的数据集

d5c5b5cb8
2周前
全网
文档
学术
百科
知识库
时间不限
自动
回答简洁模式
深入研究一些
  • Cartographer 3D建图使用个人数据集的步骤如下。

实验平台介绍

  • 移动平台:使用WHEELTEC四驱车高配版独立悬挂越野室外小车。
  • 传感器:配备QUANERGY的M8系列激光和WHEELTEC的N100型IMU。
  • 数据录制:录制话题名称为/points2的激光数据和/imu的IMU数据,形成数据集。

建立launch文件进行离线建图

  • 创建文件:建立名为my_demo_offline.launch的文件。
  • 文件内容
    <launch>
      <param name="/use_sim_time" value="true" />
      <node name="cartographer_node" pkg="cartographer_ros" type="cartographer_node" output="screen" respawn="true" />
      <node name="cartographer_start_trajectory" pkg="cartographer_ros" type="cartographer_start_trajectory" output="screen" respawn="true" />
      <node name="cartographer_occupancy_grid_node" pkg="cartographer_ros" type="cartographer_occupancy_grid_node" args="-resolution 0.05 -publish_period_sec 10.0" respawn="true"/>
      <node name="playbag" pkg="rosbag" type="play" args="--clock $(arg bag_filename)" />
    </launch>
    
  • 终端指令
    roslaunch cartographer_ros my_demo_offline.launch bag_filename:=/home/jin/laser_dataset_own/2022-01-14-outdoor.bag
    
    将bag_filename后面的路径替换为个人数据集存放的路径+文件名。

保存地图

  • 保存指令
    rosservice call /finish_trajectory "trajectory_id: 0"
    rosservice call /write_state "filename: '2022-01-14-outdoor.bag.pbstream' include_unfinished_submaps: false"
    
  • 文件命名:建议规范化命名方式,如日期+主题的形式,便于后续管理。

点云可视化

  • 转换格式:利用pcl_ply2pcd将ply格式转换为pcd格式进行查看。
  • 查看工具:可以使用sdl_viewer进行查看,具体配置可参考相关博客。

其他注意事项

  • Cartographer基于submap子图构建全局地图,能有效避免环境中移动物体的干扰。
  • Cartographer支持多传感器数据,如odometry、IMU等。
  • Cartographer目前只支持基于.pbstream格式地图的pure localization,.pbstream格式只能向.pgm、yaml格式的地图单向转换。
你觉得结果怎么样?
如何选择合适的SLAM算法?
SLAM技术在自动驾驶中的应用有哪些?
如何优化激光雷达数据的处理?
如何配置Cartographer的launch文件?
如何使用Cartographer进行离线建图?
如何将Cartographer的pbstream文件转换为点云文件?

以上内容由AI搜集生成,仅供参考

在线客服