ROS1快速入门学习笔记 - 12ROS中的坐标管理系统

目录

一、机器人作中的坐标变换

二、海龟案例


一、机器人作中的坐标变换

TF功能包能干什么?

  • 五秒钟之前,机器人头部坐标系相对于全局坐标系的关系是什么样子的?
  • 机器人夹取的物体i相对于机器人中心坐标系的位置在哪里?
  • 机器人中心坐标系相对于全局坐标系的位置在哪里? 
  • 具有时间属性,默认可以记录十秒钟之内机器人所有的坐标系之间的位置关系。

TF坐标转换如何实现?

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

例如移动机器人的本体坐标系与雷达坐标系

 

二、海龟案例

 1. 下载工具包(对应20.04版本的Noetic)

sudo apt-get install ros-noetic-tf

2. 运行launch文件

roslaunch turtle_tf turtle_tf_demo.launch 

(在这里可能会出现一段红色警告,我们通过下面指令可以消除)

sudo apt install python-is-python3

接下来再重新运行即可。

3. 运行海龟的键盘控制节点

rosrun turtlesim turtle_teleop_key

然后我们运行海龟,发现后面的海龟会一直跟着我们移动的海龟

4. 运行tf工具(第一个工具)

rosrun tf view_frames

可能会出现生成的pdf崩溃,报以下错误

Listening to /tf for 5.0 seconds
Done Listening
b'dot - graphviz version 2.43.0 (0)\n'
Traceback (most recent call last):
  File "/opt/ros/noetic/lib/tf/view_frames", line 119, in <module>
    generate(dot_graph)
  File "/opt/ros/noetic/lib/tf/view_frames", line 89, in generate
    m = r.search(vstr)
TypeError: cannot use a string pattern on a bytes-like object

这时我们运行以下指令:

sudo gedit /opt/ros/noetic/lib/tf/view_frames

然后搜索 m = r.search(vstr)(89行),在这行前面添加 vstr=str(vstr)即可。 

修改后再重新尝试就不会报错。

再次运行会在当前目录下生成PDF文件

当前系统中共有3个坐标系:

  1. 第一个是world坐标系,world是全局坐标系,表示的是以仿真器的左下角为零点的x轴和y轴的坐标系。
  2. turtle1和turtle2分别代表两只海龟(坐标系) 

还可以通过另一个指令查看两个坐标系之间的关系

例如我们想要查看turtle1和turtle2两个坐标系之间的关系(第二个工具)

rosrun tf tf_echo turtle1 turtle2

 

上面的数据包括两个部分:

  1. Translation表示的是平移
  2. Rotation表示的是旋转 

还可以通过Rviz查看两个坐标系之间的关系

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

显示结果如下所示:

 

中心点是world坐标点, 移动海龟时,相应的坐标系也会发生变化。

坐标系之间的位置关系也可以用下列公式来表示:

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一道秘制的小菜

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值