复制
收藏
提问
简洁
Cartographer 3D建图如何跑自己的数据集
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>
- 终端指令:
将bag_filename后面的路径替换为个人数据集存放的路径+文件名。roslaunch cartographer_ros my_demo_offline.launch bag_filename:=/home/jin/laser_dataset_own/2022-01-14-outdoor.bag
保存地图
- 保存指令:
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格式的地图单向转换。
你觉得结果怎么样?