ROS入门21讲笔记(十)

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>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容