企业网站建设技,网站升级建设费用吗,农安县建设局官方网站,建网站是自己做还是用CMS目标#xff1a;安装并使用 turtlesim 包和 rqt 工具为即将到来的教程做准备。
教程级别#xff1a;初学者
时间#xff1a; 15分钟 内容 背景 先决条件 任务 1 安装turtlesim 2 启动turtlesim 3 使用turtlesim 4 安装rqt 5 使用 rqt 6 重新映射 7 关闭turtlesim …目标安装并使用 turtlesim 包和 rqt 工具为即将到来的教程做准备。
教程级别初学者
时间 15分钟 内容 背景 先决条件 任务 1 安装turtlesim 2 启动turtlesim 3 使用turtlesim 4 安装rqt 5 使用 rqt 6 重新映射 7 关闭turtlesim 概括 下一步 相关内容 背景 Turtlesim 是一个用于学习 ROS 2 的轻量级模拟器。它说明了 ROS 2 在最基本的层面上做了什么让你了解你以后将用真实的机器人或机器人模拟做什么。 rqt 是 ROS 2 的 GUI 工具。在 rqt 中所做的一切都可以在命令行上完成但它提供了一种更简单、更用户友好的方式来操作 ROS 2 元素。 本教程涉及核心 ROS 2 概念例如节点、主题和服务的分离。所有这些概念将在后面的教程中详细说明现在您只需设置工具并感受一下。 先决条件 之前的教程配置您的 ROS 2 环境将向您展示如何设置您的环境。 任务 1 安装turtlesim 与往常一样首先在新终端中获取设置文件如上一教程中所述。 为您的 ROS 2 发行版安装 turtlesim 包 sudo apt updatesudo apt install ros-dashing-turtlesim检查包是否安装 ros2 pkg executables turtlesim上面的命令应该返回 turtlesim 的可执行文件列表 turtlesim draw_square
turtlesim mimic
turtlesim turtle_teleop_key
turtlesim turtlesim_node2 启动turtlesim
要启动 turtlesim请在终端中输入以下命令 ros2 run turtlesim turtlesim_node模拟器窗口应该会出现中间有一只随机的乌龟。 在命令下的终端中您将看到来自节点的消息 [INFO] [turtlesim]: Starting turtlesim with node name /turtlesim [INFO] [turtlesim]: Spawning turtle [turtle1] at x[5.544445], y[5.544445], theta[0.000000] 在这里您可以看到您的默认海龟名称是turtle1以及它生成的默认坐标。 3 使用turtlesim 打开一个新终端现在您将运行一个新节点来控制第一个节点中的海龟 ros2 run turtlesim turtle_teleop_key此时您应该打开三个窗口一个正在运行的终端turtlesim_node、一个正在运行的终端turtle_teleop_key和 turtlesim 窗口。排列这些窗口以便您可以看到 turtlesim 窗口但也可以激活终端运行turtle_teleop_key以便您可以在 turtlesim 中控制海龟。
使用键盘上的箭头键来控制乌龟。它会在屏幕上移动使用它附带的“笔”画出它到目前为止所走的路径。 PS按箭头键只会使乌龟移动一小段距离然后停止。这是因为实际上如果操作员与机器人失去连接您不希望机器人继续执行指令。 您可以使用以下命令查看节点及其关联的服务、主题和操作list ros2 node list
ros2 topic list
ros2 service list
ros2 action list您将在接下来的教程中了解有关这些概念的更多信息。由于本教程的目标只是获得 turtlesim 的一般概述我们将使用 rqtROS 2 的图形用户界面更仔细地查看服务。 4 安装rqt 打开一个新的终端来安装rqt及其插件 sudo apt updatesudo apt install ros-dashing-rqt*运行 rqt rqt5 使用 rqt
第一次运行 rqt 后窗口将是空白的。不用担心只需从顶部的菜单栏中选择Plugins Services Service Caller 。 PSrqt 可能需要一些时间才能找到所有插件本身。如果您点击Plugins但没有看到Services或任何其他选项您应该关闭 rqt在您的终端中输入命令rqt --force-discover 使用服务下拉列表左侧的刷新按钮确保您的 turtlesim 节点的所有服务都可用。
单击“服务”下拉列表以查看 turtlesim 的服务然后选择 /spawn 服务。 5.1 尝试spawn服务 让我们使用 rqt 来调用该/spawn服务。你可以从它的名字猜到它/spawn会在 turtlesim 窗口中创建另一个海龟。 给新海龟起一个唯一的名字比如双击Expression列中的空单引号。可以看到这个表达式对应的是name值类型是string。 输入海龟产卵的新坐标例如x 1.0 y 1.0 PS如果你尝试生成一个与现有海龟同名的新海龟就像你的默认海龟一样turtle1你将在运行的终端中收到一条错误消息turtlesim_node [ERROR] [turtlesim]: A turtle named [turtle1] already exists要生成 turtle2您必须通过单击rqt 窗口右上角的“调用”按钮来调用该服务。 您将看到在您为x和y输入的坐标处生成一只新海龟同样采用随机设计。 如果你刷新rqt中的服务列表你还会看到现在除了有新海龟相关的服务/turtle2/… 还有/turtle1/… 5.2 试用set_pen服务 现在让我们使用/set_pen服务给 turtle1 一个独特的笔 r、g和b的值在 0 到 255 之间将设置 turtle1 绘制时使用的笔的颜色而width设置线条的粗细。 要让 turtle1 绘制一条明显的红线请将r的值更改为 255并将width的值更改为 5。不要忘记在更新值后调用服务。 如果你回到正在运行的终端turtle_teleop_node并按下箭头键你会看到 turtle1 的笔已经改变了。 您可能已经注意到无法移动 turtle2。您可以通过将 turtle1 的cmd_vel主题重新映射到 turtle2 来完成此操作。 6 重新映射 在新终端中运行 ros2 run turtlesim turtle_teleop_key turtle1/cmd_vel:turtle2/cmd_vel现在您可以在该终端处于活动状态时移动 turtle2在运行 的另一个终端turtle_teleop_key处于活动状态时移动 turtle1。 7 关闭turtlesim 要停止模拟您可以在终端和teleop 终端中输入 Ctrl C 概括 使用 turtlesim 和 rqt 是学习 ROS 2 核心概念的好方法。 下一步 现在您已经启动并运行了 turtlesim 和 rqt并且了解了它们的工作原理让我们在下一个教程“了解 ROS 2节点”中深入了解第一个核心 ROS 2 概念。