美文网首页
ROS入门21讲笔记(十)

ROS入门21讲笔记(十)

作者: liampayne_66d0 | 来源:发表于2019-08-20 16:30 被阅读0次

    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>
    

    相关文章

      网友评论

          本文标题:ROS入门21讲笔记(十)

          本文链接:https://www.haomeiwen.com/subject/qqupsctx.html