# 2.3 动手玩ROS2 ## 1.游戏1:你说我听 游戏内容:很简单,我们启动两个节点,一个节点负责发消息(说),一个节点负责收消息(听)。 > 就像上节课扩展阅读中的那样子,李四写《艳娘传奇》王二订阅《艳娘传奇》。 1. 启动一个终端Ctrl+Alt+T 2. 启动倾听者 ``` ros2 run demo_nodes_py listener ``` 3. 启动一个新终端Ctrl+Alt+T 4. 启动说话者 ``` ros2 run demo_nodes_cpp talker ``` 观察一下现象,talker节点每数一个输,倾听节点每一次都能听到一个,是不是很神奇。但为什么`listenr`听漏了两个数呢?这个我们放到视频教程里给大家说。 ![image-20210720114613697](2.4动手玩ROS2/imgs/image-20210720114613697.png) ## 2.游戏2:涂鸦乌龟 游戏内容:启动海龟模拟器,启动海龟遥控器,控制海龟在地图上画出任意轨迹即可。 > 本来是控制海龟画个五角星的,但经过手动多次尝试,发现太难了。大家有时间可以试试,有搞定的可以发个图在群里分享一下。 ### 2.1 启动海龟模拟器 打开终端Ctrl+Alt+T,输入下面的指令 ``` ros2 run turtlesim turtlesim_node ``` 就可以看到这样的界面 ![image-20210720123734477](2.4动手玩ROS2/imgs/image-20210720123734477.png) ### 2.2 启动海龟遥控器 点一下原来的终端输入Ctrl+Shift+T 打开一个新的标签页输入 ``` ros2 run turtlesim turtle_teleop_key ``` 你可以看到这样子的界面 ![image-20210720124022925](2.4动手玩ROS2/imgs/image-20210720124022925.png) 这个时候你就可以使用上下左右去遥控海龟了,快试一试吧。 ![image-20210720125026860](2.4动手玩ROS2/imgs/image-20210720125026860.png) ## 3 游戏3:照妖镜 游戏内容:打开一个USB摄像头,开始观察世界吧 所需道具:一台拥有摄像头的电脑 ## 3.1启动相机 Ctrl+Alt+T打开终端,输入下面的指令 ``` ros2 run image_tools cam2image ``` 你会看到如下界面 ![image-20210907134048243.png](2.4动手玩ROS2/imgs/image-20210907134048243.png) 可以看到名为cam2image的这个节点在疯狂的对外发布image,让我们怀揣着好奇心借助rqt工具暗中观察一下,到底发了些啥东东 ## 3.2 启动rqt Ctrl+Alt+T打开终端,输入下面的指令 ``` rqt ``` 我们会得到以下弹框 ![image-20210907124022925.png](2.4动手玩ROS2/imgs/image-20210907124022925.png) 我们选择Plugin/Visualization/Image View,窗口变成灰蒙蒙一团,并出现一些可选项 ![image-20210907114613697.png](2.4动手玩ROS2/imgs/image-20210907114613697.png) 接下来就是见证奇迹的时刻,我们将Image View下面的复选框选中/image ![image-20210907123734477.png](2.4动手玩ROS2/imgs/image-20210907123734477.png) 让小鱼看看有多少人受到了惊吓,没错,忽然出现的就是跟生活周旋已久的可爱的你 >突如其来的多愁善感鱼~ ## 4.总结 通过本节的小游戏,你应该对ROS2稍微熟悉了一丢丢,不过心中也会多出那么几个问题?比如: 为什么一个节点说,一个节点一定能听到? 为什么键盘可以控制小乌龟前进后退? 没关系,让我们继续往下,你会一点点的有了拨云见月的感觉。 ------ 欢迎大家加入ROS2的技术交流群,分享你的小乌龟。