赞
踩
tf2的全称是transform2,在ROS(Robot Operating System)中,它是专门用于处理和变换不同坐标系间位置和方向的库。这个名字来源于“transform”这个词,表示坐标变换,而“2”则代表了这是该库的第二版,即改进和优化过的版本。
ROS2(Robot Operating System 2)中的**
tf2是一个用于处理机器人各部件之间相对位置关系的库
**。它主要用于追踪多个坐标系之间的相对位置和方向,并在这些坐标系之间实现无缝转换。tf2是ROS2中一个重要的组件,因为在机器人的许多应用中,正确理解各个部件如何相对于彼此移动是至关重要的。
tf2库提供以下几个关键功能:
运行turtlesim 演示,并在使用turtlesim 的多机器人示例中了解tf2 的一些强大功能
让我们从安装演示包及其依赖项开始。
sudo apt-get install ros-humble-rviz2 ros-humble-turtle-tf2-py ros-humble-tf2-ros ros-humble-tf2-tools ros-humble-turtlesim
现在我们已经安装了turtle_tf2_py教程包,让我们运行演示。首先,打开一个新终端并获取 ROS 2 安装的源代码,以便ros2命令能够运行。然后运行以下命令:
ros2 launch turtle_tf2_py turtle_tf2_demo.launch.py
您将看到海龟模拟从两只海龟开始
在第二个终端窗口中键入以下命令:
ros2 run turtlesim turtle_teleop_key
一旦turtlesim启动,您可以使用键盘箭头键在turtlesim中驱动中央乌龟,选择第二个终端窗口,以便捕获您的击键来驱动乌龟。
您可以看到一只乌龟不断移动以跟随您驾驶的乌龟。
该演示使用 tf2 库创建三个坐标系:一个world坐标系、一个turtle1坐标系和一个turtle2坐标系。本教程使用tf2 广播器来发布海龟坐标系,并使用tf2 侦听器来计算海龟坐标系中的差异并移动一只海龟以跟随另一只海龟。
view_frames创建 tf2 通过 ROS 广播的帧的图表。请注意,该实用程序仅适用于 Linux;如果您使用的是 Windows,请跳至下面的“使用 tf2_echo”。
ros2 run tf2_tools view_frames
你会看见:
Listening to tf data during 5 seconds...
Generating graph in frames.pdf file...
这里,tf2 侦听器正在侦听通过 ROS 广播的帧,并绘制帧连接方式的树。要查看树,请frames.pdf使用您喜欢的 PDF 查看器打开结果。
这里我们可以看到 tf2 广播的三个帧:world、turtle1和turtle2。该框架是和框架world的父级。 还报告一些有关何时接收最旧和最新帧转换以及将 tf2 帧发布到 tf2 以便进行调试的诊断信息。turtle1turtle2view_frames
tf2_echo
报告通过 ROS 广播的任意两个帧之间的转换。
用法 :ros2 run tf2_ros tf2_echo [source_frame] [target_frame]
turtle2让我们看看框架相对于框架的变换turtle1,它相当于:
ros2 run tf2_ros tf2_echo turtle2 turtle1
tf2_echo当侦听器接收通过 ROS 2 广播的帧时,您将看到显示的转换。
At time 1622031731.625364060
- Translation: [2.796, 1.039, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.202, 0.979]
At time 1622031732.614745114
- Translation: [1.608, 0.250, 0.000]
- Rotation: in Quaternion [0.000, 0.000, 0.032, 0.999]
当您驾驶乌龟四处走动时,您会看到两只乌龟相对移动时变换发生变化。
rviz2是一个可视化工具,对于检查 tf2 帧很有用。让我们rviz2通过使用以下选项通过配置文件启动它来查看我们的海龟框架
ros2 run rviz2 rviz2 -d $(ros2 pkg prefix --share turtle_tf2_py)/rviz/turtle_rviz.rviz
在侧栏中,您将看到 tf2 广播的帧。当您驾驶乌龟四处走动时,您会看到框架在 rviz 中移动,tu
图中的两个坐标就会重合到一起
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。