ROS(八)——ROS中的坐标系管理系统(TF坐标系管理系统 & view_frames & tf_echo & rviz)

机器人中的坐标变换

例如有A、B两个坐标系,两个坐标系之间的关系可以通过这样一个向量去做描述,这里面会包含一个平移的变换和一个旋转的变换,所以任意两个坐标系之间的变换可以通过一个4*4的矩阵去描述它的平移和旋转

 

ROS中的坐标系管理系统——TF

一个机器人系统中有很多坐标系,怎么来描述任意两个坐标系之间的关系就是一个比较麻烦的事情

TF功能包给我们提供的很重要的功能就是管理坐标系。用这个功能包就可以通过查询的方式告诉我们这两个坐标系之间的关系是什么样的,所有底层的数学计算都封装到里面帮我们完成了,我们就不需要自己去做一遍运算了

TF的意思就是transform坐标变换

 

TF坐标变换如何实现

  • 广播TF变换
  • 监听TF变换

 

只要启动ros master之后,启动TF之后,就会在后台维护一个TF树,所有坐标系都是通过树形结构保存在这个树当中的,想去查询任意两个坐标系之间的变换关系的话直接可以通过树去查询得到

 

举例

 

 

tf树维护坐标关系,tf其实是个topic

 

https://blog.csdn.net/qq_25678319/article/details/88090914

 

 

turtlesim小乌龟跟随实例

两个小海龟,两个海龟之间会一直保持位置一致。控制一只海龟移动,另一只会自动跟随,同步去做运动。

这就是通过坐标变换实现的

 

首先安装一个功能包

sudo apt-get install ros-melodic-turtle-tf 

 

roslaunch是用来启动一个在ROS当中的launch文件,launch文件大家可以认为是一个脚本,可以把很多节点的启动都写进去

roslaunch turtle_tf turtle_tf_demo.launch

第二只海龟产生之后,我们没有任何操作,他就已经在跟第一只海龟重叠到一起了

 

启动键盘控制节点

rosrun turtlesim turtle_teleop_key

我们控制海龟动,另一只海龟就会跟着动。他会抄近道

 

运行view_frames工具

rosrun tf view_frames

这是tf功能包里面给我们提供的工具,可以可视化的看到系统当中的所有tf的关系

他要稍微监听5s的时间,把5s之内所有坐标系之间的关系都给保存下来。然后生成一个pdf

world就是全局坐标系,表示整个海龟仿真器的坐标原点,就是左下角的零点

turtle1和turtle2就分别是位于两只海龟上面的坐标系

 

使用rqt_tf_tree

rosrun rqt_tf_tree rqt_tf_tree

这是一个实时工具,观察在ROS上被发布的坐标系树,可用刷新按钮来更新树的内容。

view_frames工具的区别在于:上一个工具连续采样5s获得的树的内容,并存成一个图片;这个工具可以连续的观察树的内容,使用起来更方便。

 

命令行工具 tf_echo

rosrun tf tf_echo turtle1 turtle2

直接帮助我们查询两个坐标系之间的位置关系。这里就是查询turtle1和turtle2之间的位置关系

可以看到数据包含translation和rotation两部分

 

可视化工具 rviz

是一个三维可视化的显示平台

rviz可以做建图,能visualize点云

rosrun rviz rviz -d `rospack find turtle_tf`/rviz/turtle_rviz.rviz

add添加一个TF

 

网格中间的点就是world,左下角就是turtle1和turtle2

现在用键盘控制乌龟动一下

可以看到坐标上的点就跟着不停动

 

 

turtle2和turtle1的位置关系可以通过两者相对于world之间的关系来得到

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值