Ubuntu的快乐学习3——ros的launch用法
学习前言
为了联盟!
launch是什么
roslaunch是ros中的一个指令。
launch用于在ros中批量启动节点。
launch的使用方法
一、简单使用
<launch>
<node pkg="package" type="pub_test"
name="pub" output="screen"/>
<node pkg="package" type="sub_test"
name="sub" output="screen"/>
</launch>
其中pkg为包名,type为文件名,name为节点名。
二、常用标签
1、launch标签
launch文件的所有内容都包含在<launch> </launch>
之间。
<launch>
……
</launch>
2、node标签
node标签可以说是launch文件里最常见的标签了,每个node标签里包括了ROS图中节点的名称属性name、该节点所在的包名pkg以及节点的类型type。
1、name=“NODE_NAME”,用于指定节点名称node_name。
2、pkg=“PACKAGE_NAME”,节点所在的包名。
3、type=“FILE_NAME”,执行文件的名称如果是用Python编写的就填写xxx.py,如果是cpp就写编译生成的可执行文件名。
4、output=“screen”:终端输出转储在当前的控制台上,而不是在日志文件中,如果output="log"则输出在日志文件中。
5、respawn=“true” 当roslaunch启动完所有该启动的节点之后,会监测每一个节点,保证它们正常的运行状态。对于任意节点,当它终止时,roslaunch 会将该节点重启
6、required=“true” 如果节点死亡,杀死整个roslaunch。
7、args =“arg1 arg2 arg3” 表示输入参数
<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle1" name="turtle1_tf_broadcaster" />
3、include标签
可用于导入另一个launch文件
file="$(find learning_launch)/launch/simple.launch"用于指明我们想要包含进来的文件。
<include file="$(find learning_launch)/launch/simple.launch" />
4、remap标签
remap标签用于opic的重映射,remap标签里包含一个original-name和一个new-name。
如果你现在的节点订阅了"/remap_test"这个topic,然而另一个节点发布的是"/demo/remap_test"这个topic
<remap from="remap_test" to="demo/remap_test"/>
这样就可以直接把/remap_test重映射到/demo/remap_test。
如果这个remap标签写在与node元素的同一级,而且在launch 元素内的最顶层。那么这个重映射将会作用于launch文件中所有的节点。
5、param标签
param标签的作用相当于命令行中的rosparam set
<param name="test_param" type="int" value="123456"/>
6、rosparam标签
rosparam标签允许从YAML文件中一次性导入大量参数。
使用起来就像这样:
<rosparam file="$(find learning_launch)/config/param.yaml" command="load"/>