ROS2学习笔记介绍Turtlesim和RQT篇
对于ros1的老用户对Turtlesim和RQT已经比较熟悉了,ros2的官方入门教程还是这俩。
1.安装Turtlesim
安装很简单
sudo apt update
sudo apt install ros-eloquent-turtlesim
安装完成过后检查安装
ros2 pkg executables turtlesim
执行这个命令过后会返回turtlesim的可执行文件如下
turtlesim draw_square
turtlesim mimic
turtlesim turtle_teleop_key
turtlesim turtlesim_node
2.开始Turtlesim
ros2 run turtlesim turtlesim_node
然后就正常出现一只乌龟
3.使用Turtlesim
新开一个终端使用键盘方向键控制乌龟运动
ros2 run turtlesim turtle_teleop_key
和ros1一样可以通过下面的命令查看当前的node、topic、service、action情况,ros2命令的特点就是都是以ros2开头
ros2 node list
ros2 topic list
ros2 service list
ros2 action list
4.安装rqt
安装ros2的rqt
首先需要安装python3-rospkg
,但是安装python3-rospkg
会导致ros1被卸载,这个目前我也没有找到合适的解决方案。先暂时卸载吧忍痛割爱。
sudo apt update
sudo apt install python3-rospkg
sudo apt install ros-dashing-rqt-*
5.使用rqt
打开很简单直接运行
rqt
第一次打开是一片空白,终端还会弹一片红,别慌问题不大依次点击Plugins > Services > Service Caller
rqt需要一段时间加载Plugins(插件),如果打开rqt过后点击Plugins没有看到Services使用Ctrl + C关闭rqt后用
rqt --force-discover
命令重新运行rqt
在rqt上点击刷新确保在下拉菜单上显示出turtlesim有关的service,在下拉菜单中选择/spawn
5.1尝试使用Turtlesim的Service
/spawn
这个service会创建在屏幕中创建一个新的乌龟
双击Expression列的name给新乌龟取一个名字注意这是一个字符串类型单引号不能删,同时可以对新乌龟出现的x,y位置进行设置,设置完过后点击右上角的Call此时就会出现一只新的乌龟。
然后我们刷新一下服务会发现新建的turtle2
的相关service也出现在了下拉列表里面。
这个操作相比ros1感觉挺方便的
5.2 改变乌龟轨迹的颜色
通过/set_pen
可以改变乌龟轨迹移动的颜色。
我们选中turtle1
的/set_pen
将颜色设置为红色,线宽为5
这个时候找到键盘控制turtle1
的终端移动乌龟过后发现轨迹变为了红色
6.话题重映射
我们虽然新建了一个乌龟但是键盘控制对它并不起作用,我们需要将话题进行重映射控制turtle2
ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel
7.关闭 Turtlesim
直接关掉窗口或者Ctrl + C关掉
总结
对于接触ros2,可以继续玩一下rqt和Turtlesim