首先终端运行
$ roslaunch turtle_tf turtle_tf_demo.launch
报错了,
/usr/bin/env: “python”: 没有那个文件或目录
根据这个方法可以改正
ROS noetic [turtle1_tf_broadcaster-4] process has died_tanmx219的博客-CSDN博客
再次运行
会出现两个小海龟,用方向键控制一个海龟的运动,另一只会跟着运动
.launch文件是一个脚本,可以把很多节点的启动写进去,一次性启动多个节点。
用tf的小工具可以看到tf关系,这个小工具会在根目录下生成pdf文件,显示tf关系
$ rosrun tf view_frames
报错了,而且根目录下没有pdf文件。显示是与数据类型有关的错误,用下面的方法可以解决。
view_frames中错误: cannot use a string pattern on a bytes-like object_Daminate的博客-CSDN博客
重新运行会出现pdf文件
world是全局坐标系,两个海龟可以抽象为两个坐标系turtle1和turlte2,一只海龟追逐另一只海龟的原理就是让两个坐标系重叠。
除了view_frames这个工具,还有两个工具可以看到坐标系之间的关系。
命令行工具
jw@Z8:~$ rosrun tf tf_echo turtle1 turtle2
At time 1646446170.740
- Translation: [-0.052, -0.172, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.597, 0.802]
in RPY (radian) [0.000, -0.000, 1.280]
in RPY (degree) [0.000, -0.000, 73.316]
At time 1646446171.476
- Translation: [-0.035, -0.118, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.597, 0.802]
in RPY (radian) [0.000, -0.000, 1.280]
in RPY (degree) [0.000, -0.000, 73.316]
另一个是rviz可视化工具
终端输入
$ rosrun rviz rviz -d 'rospack find turtle_tf' /rviz/turtle_rviz.rviz
图中两个坐标系代表了两只海龟。