Launch启动文件的使用方法
Launch文件
通过XML文件实现多节点的配置和启动(可自动启动ROS Master,不需要在Launch中写)
启动语法:
roslaunch+功能包名+launch文件名
Launch文件语法
<launch>
<node pkg="turtlesim" name="sim1" type="turtlesim_node"/>
<node pkg="turtlesim" name="sim2" type="turtlesim_node"/>
</launch>
- <launch> 文件中的根元素采用<launch>标签定义
- <node>
启动节点<node pkg="package-name" type="executable-name" name="node-name"/>- pkg:节点所在的功能包名
- type:节点的可执行文件名
- name:节点运行时的名称
- 可选:output、respawn、required、ns、args
- <param>/设置ROS系统运行中的参数,存储在参数服务器中(在ROS master中)
<param name="output_frame"value="odom"/>- name:参数名
- value:参数值
- <rosparam>加载参数文件中的多个参数
<rosparam file="params.yaml"command="load" ns="params"/> - <arg> launch文件内部的局部变量,仅限于launch文件使用
<arg name="arg-name" default="arg-value"/>-
name:参数名
-
value:参数值
-
调用:
<param name="foo" value="$(arg arg-name)"/><node name="node" pkg="package" type="type" args="$arg arg-name)"/>
-
- <remap> 重映射ROS计算图资源的命名,比如想改变控制turtle速度的话题名,就要用remap
<remap from="/turtlebot/tmd_vel" to="/cmd_vel"/>- from:原命名
- to:映射后的命名
- <include>包含其他launch文件,类似C语言中的头文件包含
<include file="$(dirname)/other.launch"/>- file:包含的其他launch文件路径
Launch文件实例
topic实例
<launch>
<node pkg="learning_topic" type="person_subscriber" name="talker" output="screen" />
<node pkg="learning_topic" type="person_publisher" name="listener" output="screen" />
</launch>
海龟跟随实例
<launch>
<!-- Turtlesim Node-->
<node pkg="turtlesim" type="turtlesim_node" name="sim"/>
<node pkg="turtlesim" type="turtle_teleop_key" name="teleop" output="screen"/>
<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle1" name="turtle1_tf_broadcaster" />
<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle2" name="turtle2_tf_broadcaster" />
<node pkg="learning_tf" type="turtle_tf_listener" name="listener" />
</launch>
网友评论