ROS2-Beginner:2-turtlesim ros2 ,rqt

发布时间 2023-06-01 15:13:39作者: gary_123

目标:安装和使用turtlesim包以及rqt工具用于后续的教程;

背景:Turtlesim是一个轻量级的用于学习ROS2的仿真器。其说明了ROS2在最基本的层面上所做的事情,让你知道以后你将如何处理真实的机器人或机器人模拟。

ROS2工具是用户如何管理、调试以及与ROS系统交互的。它支持针对系统及其操作的不同方面的多个命令。可以使用它来启动节点、设置参数、监听话题等等。ros2工具是ROS2安装的核心之一。

rqt是ROS2中的一个图形用户接口工具,像节点,话题以及服务这样的概念。所有这些概念在之后的教程中进行解释;目前你只需简单地设置工具并对他们有一个感觉。

前提条件:安装上一篇教程,配置了环境。

任务

1、安装turtlesim

sudo apt update

sudo apt install ros-humble-turtlesim

检查包是否已经安装

ros2 pkg executables turtlesim

上面的命令会返回

2、开始turtlesim

执行下面终端

ros2 run turtlesim turtlesim_node

将出现如下仿真环境,在仿真环境中心随机出现一只turtle

可以从上面的窗口中看到turtle的名字和在仿真环境中的位置

3、使用turtlesim

打开一个新的窗口,source ROS2;

现在运行一个新的节点来控制turtle

ros2 run turtlesim turtle_teleop_key

使用方向键来控制turtle;发送控制命令只会移动一小段距离。然后停止,以防比如在真实机器人中,当通信失败时,避免一直按某个速度运行。

使用如下命令来查看节点列表,话题列表,服务列表以及action列表

ros2 node list
ros2 topic list
ros2 service list
ros2 action list

下面将使用rqt来调用turtlesim服务并与turtlesim_node节点进行交互

4、安装rqt

sudo apt update

sudo apt install ~nros-humble-rqt*

运行rqt

rqt

5、使用rqt

第一次运行rqt时,窗口将为空白。不用担心;只需从顶部的菜单栏中选择插件>服务>服务呼叫者。

rqt --force-discover 如果使用rqt没有效果时

5.1 尝试spawn服务

用于在turtlesim窗口中生成另外的turtle。

可以设置出现的位姿以及名字

5.2 尝试set_pen服务

6、名字映射

为了控制turtle2,需要重映射cmd_vel话题。在一个新的窗口中source ROS2,然后运行

ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel

7、关闭turtlesim

为了关闭仿真,直接ctrl+c或者q。

总结

使用turtlesim以及rqt是学习ROS2核心概念的很好方法。

下一步

理解节点的概念