ROS运行bag文件及其坐标系转换

31 篇文章 4 订阅

参考

https://blog.csdn.net/adamshan/article/details/82901295(adamshan大神博客24期激光雷达的地面-非地面分割和pcl_ros实践)

https://blog.csdn.net/elsa211/article/details/88209247

https://blog.csdn.net/xu_fengyu/article/details/86562827

https://www.cnblogs.com/li-yao7758258/p/7672521.html

TF命令行工具

(1) tf_monitor工具的功能是打印tf树中的所有参考系信息,通过输入参数来查看指定参考系之间的信息  用法: rosrun tf tf_monitor

  tf_monitor <source_frame> <target_target>  监视一个特定的转换 For example, to monitor the transform from /base_footprint to /odom:

  (2) tf_echo工具的功能是查看指定参考系之间的变换关系。命令的格式: tf_echo <source_frame> <target_frame>

 (3)static_transform_publisher工具的功能是发布两个参考系之间的静态坐标变换,两个参考系一般不发生相对位置变化

(4)view_frames 是可视化的调试工具,可以生成pdf文件,来显示整棵tf树的信息。用法:rosrun tf view_frames 

坐标系问题及其解决

运行adamshan的bag时候打开rviz会有一个/map坐标系找不到的问题,这个时候就要考虑使用tf工具包发布一个静态tf变换,从激光雷达的坐标系到/map坐标系。但是激光雷达的坐标系我们不知道,只知道激光雷达的话题名称为/velodyne_points,如何通过这个这个话题的名称找到其所在的坐标系呢?可以使用以下命令:

   rostopic echo /velodyne_points | grep frame_id

可以得到该话题的所在坐标系是/velodyne。

得到坐标系之后,我们用一个从/map到/velodyne的tf变换,在launch文件中添加以下命令:

<node pkg="tf" type="static_transform_publisher" name="map_to_velodyne" args="0 0  0 0 0 0 /map /velodyne 100" />

 或者直接在命令行运行:

 rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map xxx 100 ;//将xxx映射为map

即可解决该问题

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tech沉思录

点赞加投币,感谢您的资瓷~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值