机器人中的坐标变换
TF功能包:坐标变换
TF功能包能干什么
- 五秒钟之前,机器人头部坐标系相对于全局坐标系的关系是怎么样的?
- 机器人夹取的物体相对于机器人中心坐标系的位置在哪里?
- 机器人中心坐标系相对于全局坐标系的位置在哪里?
TF坐标变换如何实现?
- 广播TF变换
- 监听TF变换
海龟案例
通过坐标变换实现控制一个海龟移动,而另一个海龟紧紧跟随这只海龟的移动 1.安装必要包
sudo apt-get install ros-melodic-turtle-tf
2.启动launch文件
<span style="font-size: 16px;"><code class="prism language-c has-numbering">roslaunch turtle_tf turtle_tf_demo<span class="token punctuation">.</span>launch </code></span>
3.再在一个新的终端下打开海龟键盘控制器
<span style="font-size: 16px;"><code class="prism language-c has-numbering">rosrun turtlesim turtle_teleop_key </code></span>
通过海龟控制器发现,当你移动一只海龟,另外一只海龟就会朝着这只海龟移动 红线代表海龟键盘控制器下海龟的移动路线,黑线代表跟随海龟的移动路线 系统之间两只海龟的坐标关系查看
<span style="font-size: 16px;"><code class="prism language-c has-numbering">rosrun tf view_frame </code></span>
查看任意两个坐标系的位置关系(命令行工具)
<span style="font-size: 16px;"><code class="prism language-c has-numbering">tf tf_echo turtle1 turtle2 </code></span>
Translation:分别在xyz轴上的相对坐标 Rotation:坐标系通过什么样的旋转来变成一样的姿态 查看任意两个坐标系的位置关系(可视化工具)
<span style="font-size: 16px;"><code class="prism language-c has-numbering">rosrun rviz rviz <span class="token operator">-</span>d `rospack find turtle_tf`<span class="token operator">/</span>rviz<span class="token operator">/</span>turtle_rviz<span class="token punctuation">.</span>rviz </code></span>