美文网首页
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讲笔记(十)

    Launch启动文件的使用方法 Launch文件 通过XML文件实现多节点的配置和启动(可自动启动ROS Mast...

  • ROS入门21讲笔记(九)

    ROS中的坐标系管理系统 机器人中的坐标变换:实际上就是变换矩阵,分为旋转和平移两部分 TF功能包 tf的作用是便...

  • ROS入门21讲笔记(七)

    服务数据的定义与使用 自定义服务数据 首先创建script文件夹,定义srv文件建立.srv文件,文件中数据分成两...

  • ROS入门21讲笔记(五)

    话题消息的定义与使用 自定义话题消息 在功能包中创建一个msg文件夹在msg中创建Person.msg文件,数据接...

  • ROS入门21讲笔记(六)

    客户端Client的编程实现 这一节实现一个请求创建海龟的服务 创建功能包 在catkin_ws/src中创建功能...

  • ROS入门21讲笔记(十一)

    常用可视化工具的使用 rqt rqt_console 日志输出工具:输出错误,警告等 rqt_graph 计算图可...

  • ROS入门21讲笔记(八)

    参数的使用与编程方法 创建功能包 catkin_create_pkg learning_parameter ros...

  • ROS入门21讲笔记(二)

    命令行 roscore -启动ROS Masterrosrun -启动一个节点(打开一个新的终端) rosrun+...

  • ROS入门21讲笔记(一)

    节点与节点管理器 节点(Node)——执行单元执行具体任务的进程,独立运行可执行文件;不同节点可使用不同编程语言,...

  • ROS入门21讲笔记(三)

    命令行 命令都是以ros开头的 roscore -启动ROS Master rosrun -启动一个节点(打开一个...

网友评论

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

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