ros跑包运行开源SLAM算法,出现点云不显示的情况
ros跑包运行开源SLAM算法,出现点云不显示的情况
·
问题:在跑开源slam算法,如loam等算法,用自己的录制的雷达点云包(速腾)。配置好输入话题后,发现rviz不显示点云的问题。
检查: rosrun tf_tree 检查发现tf树连接正常,rostopic echo输出slam算法定位数据也正常,rqt_graph 检查各个节点的话题输出、连接等情况也正常。
纠结了会儿,发现 /use_sim_time = false,且在 rosbag play 时没有加--clock参数。按道理来说,这样配置是没有问题的。但是rviz就是没有点云显示。
解决:改成 /use_sim_time = true,且使用rosbag play --clock 参数,点云就显示出来了,且话题输出也是正常的。
原因:可能是ros内部采用的两套时间计算模式导致,如下
ROS::Time():表示的是ROS网络中的时间,可以被加速、减速、暂停,可以从由bag中/clock获取。
ROS::WallTime():墙上时间,表示绝对流动的时间,不可以被改变。
参考博客:时间相关:ROS::Time()、ROS::WallTime()、use_sim_time、clock、r
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)