17-ROS tf包介绍

机器人中的坐标变化

线性代数部分基本知识
学习机器人导论相关基本原理

TF(transform)包

会记录10s范围内机器人所有坐标系之间的位置关系。
TF实现方式:

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

TF坐标变换:
在这里插入图片描述
海龟追逐示例:

# 安装必要包
sudo apt-get install ros-noetic-turtle-tf
# 启动海龟追逐仿真器  roslaunch可同时启动多节点
roslaunch turtle_tf turtle_tf_demo.launch
# 运行键盘控制节点
rosrun turtlesim turtle_teleop_key
# 
rosrun tf view_fames

在节点运行过后,在键盘控制节点控制turtle1运动会发现turtle2会追逐turtle1进行对应的运动
在这里插入图片描述

view_frames

rosrun tf view_frames 
Listening to /tf for 5.0 seconds
Done Listening
b'dot - graphviz version 2.40.1 (20161225.0304)\n'
Detected dot version 2.40
frames.pdf generated

view_frames监听5s中的数据,并输出pdf文件。
在这里插入图片描述

从这个图来看上述的示例中有3个坐标系,world坐标系以及turtle1和turtle2的坐标系,并且turtle1和turtle2的坐标系已经经过world坐标系建立起了对应的联系。

tf_echo

用法
tf_echo source_frame target_frame [echo_rate]

tf_echo会查询不同时间点 source_frame坐标系到target_frame坐标系之间的转换关系。

rosrun tf tf_echo turtle1 turtle2
At time 1663468743.495
- Translation: [0.000, 0.000, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.228, 0.974]
            in RPY (radian) [0.000, -0.000, 0.459]
            in RPY (degree) [0.000, -0.000, 26.306]
At time 1663468936.326
- Translation: [-2.542, 0.006, 0.000]
- Rotation: in Quaternion [0.000, 0.000, -0.001, 1.000]
            in RPY (radian) [0.000, 0.000, -0.003]
            in RPY (degree) [0.000, 0.000, -0.171]

Translation:表示平移关系[x,y,z]
rotation:表示旋转关系 [x,y,z]
Quaternion:以四元数的形式表示旋转关系
RPY(radian):以弧度的形式表述旋转关系[x,y,z]
RPY(degree):以度数的形式表述旋转关系[x,y,z]

四元数介绍

rviz

rviz是一个可视化的显示平台,运行命令如下

rviz

rviz运行后需要进行一系列配置

  1. 设置全局选项的固定帧为world
    在这里插入图片描述

  2. 添加tf
    在这里插入图片描述

  3. 手动控制节点,即可看到展示效果
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值