比如:我们切换到 beginner_tutorials文件下:
注:如果提示找不到文件或文件夹,就参照前面把环境变量设置一下。执行:
和
在beginner_tutorials文件夹下, 创建launch文件夹,切换到该文件夹下:
和
输入:
用ubuntu默认的编辑器gedit创建一个launch文件。
然后在打开的的launch文件中复制入下面的内容:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
<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>
|
保存退出就可以了。
现在使用如下命令载入刚才创建的launch文件:
roslaunch beginner_tutorials turtlemimic.launch
就可以看到新打开两个乌龟节点。
新打开一个终端,输入命令
rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'
使乌龟运动起来。就可以看到两只乌龟都在运动。
输入命令:
就可以看到启动了两个节点 /turtlesim1/sim和 /turtlesim2/sim。如图:
下面来解析一下launch文件的标签的意思:
<lanuch>
<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>
上面的内容表示我们启动了两只乌龟。分别名为turtlesim1和turtlesim2.
<node pkg="turtlesim" name="mimic" type="mimic">
<remap from="input" to="turtlesim1/turtle1"/>
<remap from="output" to="turtlesim2/turtle1"/>
</node>
上面的内容使turtlesim2模仿turtlesim1。所以虽然我们只向turtlesim1发布了话题,turtlesim2也做出了反应。
本帖最后由 对折之内 于 2015-2-16 20:32 编辑 rosparam命令允许用户在ROS的参数服务器上操作和存储数据,参数服务器可以存储整数,浮点数,布尔类型,字典,列表。ROS使用YAML标记语言作为语法,在简单的情况下,YAML看起来是非常自然的:1是整数,1.0是浮点数,one是字符串,true是布尔类型,[1,2,3]是一个列表,{a:b,c:d}是一个字典。我们使用rosparam list 命令可以查看参数服务器上的内容,运行: 返回结果:
[C]
纯文本查看
复制代码
可以看到turtlesim_node节点在参数服务器上存储的所有参数,其中有三个表示背景颜色的参数。 使用rosparam set可以改变参数服务器上的参数,而rosparam get可以获取参数服务器上参数的值,它的使用方法如下:
我们来改变背景颜色,如下: 表示把turtlesim_node节点的background_r参数的值改为150. 命令执行完成后,再执行: clear命令刷新一下,就可以看见turtlesim_node节点乌龟的背景颜色已经发生了改变。 使用命令: 就可以获得background_r参数的值。 使用命令: 可以一次性获得所有参数的值。
[C] 纯文本查看 复制代码
例如: 就将参数服务器的内容写到了params.yaml的文件中。 |