catographer记录

使用cartographer的问题记录

 问题1

修改目录src/下的相关cartographer的launch和lua文件,不会立即生效,

如:~/carto_ws/src/cartographer_ros/cartographer_ros/launch/demo_backpack_2d.launch  、~/carto_ws/src/cartographer_ros/cartographer_ros/configuration_files/backpack_2d.lua

 原因分析:

这是由于cartographer的编译采用了catkin_make_isolated --install --use-ninja,与普通的catkin_make编译不同。在安装cartographer时,有重复的文件名,这就导致了使用catkin_make编译会出错。

实际使用的launch文件是install_isolated/shared/cartographer_ros/ configuration_files/.lua文件和install_isolated/shared/cartographer_ros/ launch/.launch文件。

解决方案:

为了避免每次修改launch、lua文件都重新编译,可以直接修改目录install_isolated/shared/cartographer_ros/下的相关的launch和lua文件。

同时,由于编译方式的不同,最好将cartographer的工作空间和普通功能包的工作空间分开。



问题2

在终端播放bag数据集,再另起终端cartographer进行建图,且launch中没添加rosbag节点。现象cartographer无报错,但是没有出现地图。

原因分析:

在终端播放bag命令不正确,没有加上--clock,其中clock的意思是指整个ros里的时间使用bag里的时间保持一致,一旦使用bag里的时间就意味着现在的时间是假的,使用的是模拟的时间,所以在launch中可以看到  <param name="/use_sim_time" value="true" />

解决方案:

在终端播放bag一定要加上--clock,统一时间。

rosbag play --clock bag_name.bag



 问题3

不使用数据集,使3D雷达、IMU进行实时建图,相关话题名、TF参数都配置好了,终端没有报错,但是依旧不出图。

原因分析:

参数没有调好

解决方案:TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 1,该值太高了,改为1。

问题4

速腾聚创的激光雷达ros驱动ros_rslidar的编译报错

原因分析,其中有.cfg文件需要给到权限。

ros_rslidar/rslidar_drvier

chmod 777 cfg/*

ros_rslidar/rslidar_pointcloud

chmod 777 cfg/*

问题5

机器人开启cartographer定位和movebase导航,发现机器人走起来一顿一顿的,经过检查发现是手柄节点发布了速度0,关闭手柄节点就好了。

问题6

使用imu时,且激光雷达为单线雷达,错误使用了参数TRAJECTORY_BUILDER_2D.min_z = 0.2,

造成cartographer无法匹配定位,终端提示:

 local_trajectory_builder_2d.cc:300] Dropped empty horizontal range data.
解决办法:单线激光雷达不使用参数TRAJECTORY_BUILDER_2D.min_z

更新中...

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值