有关ROS中的TF坐标变换工具包的使用体会

基本上,在使用ROS遇到多个坐标系的时候,都不需要手工计算坐标变换关系,比如各种正弦余弦,四元数,变换矩阵等。只要坐标系之间相对位姿(pose)清楚,就都可以用TF发布坐标变换或坐标系的方法完成。这样甚至连Eigen库都用不着。

怎样判断各个坐标系之间的相对位姿都清楚呢?只要能徒手画出TF树就好,就像 使用 $ rosrun tf view_frames 命令生成的PDF里面展示的那样,所有坐标系能串起来而没有孤立坐标系,就可以了。因此画出完整的TF树也是ROS里面理清坐标变换关系/进行变换的第一步。

发布了所有需要的TF后,用到坐标变换时只要用 tf::TransformListener 获取相应的变换就好了。另外,对于有 stamp 的 消息类型,可以使用 tf::MessageFilter (http://wiki.ros.org/tf/Tutorials/Using%20Stamped%20datatypes%20with%20tf%3A%3AMessageFilter),使得程序更简单且健壮。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值