文章目录
一、roslaunch命令
roslaunch [package] [filename.launch]
二、创建.launch文件
包my_package
下创launch
文件夹,launch
文件夹内创turtlemimic.launch
文件
1.创建过程
# 进入工作空间
cd ~/catkin_ws
# 设置环境变量
source devel/setup.bash
# 进入包中
roscd my_package
# 创建launch文件夹
mkdir launch
# 创建并编译turtlemimic.launch文件
gedit turtlemimic.launch
2.内容
<launch>
<group ns="turtlesim1">
<node pkg="turtlesim" name="turtlesim1_node" type="turtlesim_node"/>
</group>
<group ns="turtlesim2">
<node pkg="turtlesim" name="turtlesim2_node" 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>
3.含义
计算图为:
创建名为turtlesim1
和turtlesim2
的组,方框。
- 组
turtlesim1
中有个名为turtlesim1_node
节点,类型是turtlesim
包中的turtlesim_node
,相当于rosrun turtlesim turtlesim_node
。 - 组
turtlesim2
中有个名为turtlesim2_node
节点,类型是turtlesim
包中的turtlesim_node
,相当于rosrun turtlesim turtlesim_node
。
创建名为mimic
的节点,类型是turtlesim
包中的mimic
,相当于rosrun turtlesim mimic
。并调整映射关系,输入为turtlesim1/turtle1
,输出为turtlesim2/turtle1
,即为图中节点mimic
连接到的节点。
turtlesim
包中的mimic
的作用是模仿,所以节点mimic
使turtlesim2模仿turtlesim1。
三、launch文件分析
1.launch文件开头结尾标签
(1)属性
<launch>
</launch>
(2)条目
其内条目可以添加
- 组group
- 节点node
2.组group
将节点放在一起而已
(1)属性:
<group ns="turtlesim1">
</group>
ns
:命名空间namespace的名字。用来区分组group
(2)条目
组内可以添加的条目
- 节点node
3.节点node
(1)属性
意思是使用某个包中的某种节点,当成一种类型来初始化一个name的节点。
pkg
:使用的包name
:要起的节点的名字type
:使用的包中的节点类型
(2)条目
节点内的条目:
扫描二维码关注公众号,回复:
9018827 查看本文章
remap
:映射关系,调整输入输出
4.映射remap
就是调整计算图中节点的连接关系,该节点连向谁。
(1)属性
将from映射为to,即将to作为from
from
:节点的什么,其可以为input
输入,output
输出to
:映射到什么节点
四、启动
# 进入工作空间
cd ~/catkin_ws
# 设置环境变量
source devel/setup.bash
# roslaunch启动
roslaunch my_package turtlemimic.launch
rostopic pub -r 10 /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: -1.0"
可以看到turtlesim2
模仿turtlesim1