您当前的位置: 首页 >  qt
  • 0浏览

    0关注

    483博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ROS2进阶:turtlesim与rqt

高精度计算机视觉 发布时间:2022-03-26 22:45:27 ,浏览量:0

基于windows的ROS2。

参考:Introducing turtlesim and rqt — ROS 2 Documentation: Galactic documentation

turtlesim是最经典的起始教程,我们从这里开始,运行下面的指令,

ros2 pkg executables turtlesim

会输出下面的信息,

turtlesim draw_square
turtlesim mimic
turtlesim turtle_teleop_key
turtlesim turtlesim_node

如果你打开安装目录的话,能在文件夹(C:\dev\ros2_galactic\Lib\turtlesim)下面找到这4个可执行文件。这样我们也不难理解,ros2 run这个指令后面,其实就是一个可执行的项目,后面跟着的就是这个项目下面的可执行文件,整体结构是这个样子的,

ros2 run  
(1)turtlesim

接下来我们启动一下这个小乌龟,记住每个窗口都要运行call C:\dev\ros2_galactic\local_setup.bat,以启动ROS2环境,我这里假设所有窗口都已经运行了这个启动指令。

打开一个控制台窗口,输入

ros2 run turtlesim turtlesim_node

这里小乌龟窗口会弹出来,

打开另一个窗口,输入,

ros2 run turtlesim turtle_teleop_key

这时,在该窗口保持激活的情况下按方向键,你会看到动起的小乌龟。

然后,你可以用一些ROS2的指令来查看状态或进行某项操作,这些指令包括

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

例如,我再打开一个cmd窗口,输入ros2 topic list,就能看到下面的信息, 

> ros2 topic list
/parameter_events
/rosout
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose

整体如下图所示,

 (2)rqt

通常情况下,我们按官网的安装方法安装的ROS2是已经有rqt的,我们可以直接运行。在保持上面前两个窗口不关闭的情况下,我们再打开一个窗口,输入指令“rqt”(带强制查找service的指令是:rqt --force-discover),即可启动图形界面,然后再选择菜单Plugins > Services > Service Caller

就能出现下面的界面(记住,前面启动的turtlesim窗口不能关闭)

这里spawn是培育的意思,所以如果我们再call一下这个service,就会创建另一个小乌龟。

注意这里名字不能写成turtle1,因为这个名字已经被前面创建的那只小乌龟占有了。 

此时,turtlesim_node的窗口输出如下,

 生成的小乌龟在左下角

 再选择菜单Plugins > Topics > Topic Monitor,就可以同时看到turtle1和turtle2这两个node了。

 和官网不同,我这里很多node没有在rqt-> service node中出现,目前还不知道是什么BUG。

关注
打赏
1661664439
查看更多评论
立即登录/注册

微信扫码登录

0.0440s