首页 技术 正文
技术 2022年11月20日
0 收藏 979 点赞 2,623 浏览 1675 个字

roslaunch命令从launch文件中启动一个节点,它的使用方法如下:

roslaunch [package] [filename.launch]

首先切换到beginner_tutorials文件下:

roscd beginner_tutorials
提示:
If roscd says similar to roscd: No such package/stack 'beginner_tutorials'.
you will need to source the environment setup file like you did at the end of the create_a_workspace tutorial:$ cd ~/catkin_ws
$ source devel/setup.bash
$ roscd beginner_tutorials

创建launch文件夹,切换到该文件夹下:

mkdir launch
cd launch

注意:launch文件是在相应的包文件里面的.

然后在这个文件夹下新建一个launch文件,命名为turtlemimic.launch,并把下面的内容复制进去.

新建文件,输入:

gedit turtlemimic.launch

复制的文件内容:

<launch>  <group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group> <group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group> <node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node></launch>

保存退出就可以了。

现在使用如下命令载入:

roslaunch beginner_tutorials turtlemimic.launch

这时就能看到两只小乌龟,但是这时用rosnode list查询,能看到新增三个节点。/mimic,/turtlesim1/sim,/turtlesim2/sim.

在一个新打开的终端中输入:

rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r  -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

就可以看到两只乌龟都在转圈。

下面来解释一下原因,分析一下刚才的那个launch文件:

<lanuch>标签用来识别这是一个launch文件。

<group ns="turtlesim1">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group> <group ns="turtlesim2">
<node pkg="turtlesim" name="sim" type="turtlesim_node"/>
</group>

上面的代码表示我们启动了两个乌龟节点,他们的名字都是sim,但是他们在不同的命名空间中,所以不会有相同名字的冲突。

<node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>

上面的这些代码中我们启动了mimic节点,同时把这个节点的input和output话题重命名为turtle1和turtle2。

这时通过rosrun rqt_graph rqt_graph显示的信息是:

ROS理解roslaunch命令

上面的这些内容使turtlesim2模仿turtlesim1。所以虽然我们只向turtlesim1发布了话题,turtlesim2也做出了反应。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,965
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,486
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,331
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,114
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,747
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,782