简述小海龟仿真器基础使用

电子说

1.2w人已加入

描述

小海龟(Turtlesim)是ROS2中一个非常重要的入门级例程,通过海龟仿真,我们可以了解到很多ROS2的底层原理,涉及节点、话题、服务等核心概念。

安装海龟仿真器

Linux:

sudo apt update
sudo apt install ros-foxy-turtlesim

Windows:

默认已经安装好

仿真器

如果你不确定是否安装成功,可以使用该命令检查:

ros2 pkg executables turtlesim

看到如下内容说明安装成功:

仿真器

启动海龟仿真器

终端中输入如下命令启动海龟仿真器:

ros2 run turtlesim turtlesim_node

很快可以看到一个打开的仿真器界面,里边会随机使用一个ROS2的logo作为显示海龟的位置:

仿真器

终端中可以看到海龟的名字和在仿真器坐标系下的位置:

仿真器

接下来让海龟动起来,打开一个新的终端,输入如下命令:ros2 run turtlesim turtle_teleop_key 然后根据终端中的提示点击键盘按键,即可控制小海龟运动啦,注意一定要让键盘控制节点在激活状态:

仿真器

我们可以使用如下命令看看小海龟后台到底运行了哪些功能:

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

仿真器

安装rqt工具

Linux:

sudo apt update
sudo apt install ~nros-foxy-rqt*

Windows:

默认已经安装 安装完成后使用如下命令运行:rqt 第一次打开的界面是空的,选择Plugins > Services > Service Caller 这个插件是用来发布服务请求的,点击刷新按键之后,可以看到系统当前的所有服务。

仿真器

选择/spawn服务,双击下边的数据项,填写新产生海龟的名字和位置,然后点击“Call”,即可发送服务请求。注意名字一定不能和已有的海龟名字一样,不然会有报错。

仿真器

很快就可以在海龟仿真器当中看到另外一只海龟啦!

仿真器

产生的不仅是一只新的海龟,还会有“turtle2”对应的话题、服务,可以说和turtle1是功能完全一样的两只海龟。

还可以尝试另外一个服务/set_pen,通过设置画笔,调整海龟轨迹的颜色。如下图所示,设置画笔的rgb值和宽度,点击“Call”之后,再运动海龟就可以看到全新的轨迹效果啦。

仿真器

大家一定会有一个问题,第二只海龟如何运动呢?仿真器默认的键盘控制节点只能发布turtle1的话题,但是通过ROS的重映射(remapping)机制,可以实现对话题的重新命名。

在一个新的终端中输入如下指令:

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

这里就把turtle1/cmd_vel这个话题名更改为了turtle2/cmd_vel,现在该节点就可以控制turtle2啦,不信在该终端中点击键盘试一下。

仿真器

参考链接:

https://index.ros.org/doc/ros2/Tutorials/Turtlesim/Introducing-Turtlesim/

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分