首页 > 其他分享 >ROS学习记录之launch文件

ROS学习记录之launch文件

时间:2022-11-07 11:35:55浏览次数:42  
标签:ROS name 记录 标签 launch 参数 pkg foo 节点

Launch文件 中的根元素采用<launch>标签定义

<launch> <node> <machine> <include>

<remap>

<env> <param> <rosparam>
<group> <test> <arg>  

<node>

启动节点

<node pkg="package-name" type="executable-name" name="node-name" />

  pkg:节点所在的功能包名称

  type:节点的可执行文件名称

  name:节点运行时的名称

  output="screen/log" 用于将话题信息打印到屏幕/日志文件

  respawn="true" 如果此节点退出,则自动重新启动

  required="ture" 此节点为必要节点,这个节点出错,整个launch结束;不可与respawn="true"同时描述一个节点。

  ns="foo" 在"foo"名称空间中启动节点

 

<machine>

声明了可以运行ROS节点的计算机。本地计算用不到此标记

 

<include>

导入其他XML文件,类似C语言中的头文件包含

<include file="$(dirname)/other.launch" />

#引入即可直接运行

 

<remap>

重映射:用于改变节点订阅或发布的话题

把此标签放到 node标签的前面,这样后面所有使用这个话题的节点都可以更新

<remap from="/different_topic" to="/needed_topic"/>

将different_topic变为needed_topic

也可以将<remap>作为节点的子类包含在节点中,只更新该节点的订阅消息。

<node pkg="package-name" type="executable-name" name="node-name" />

  <remap from="/different_topic" to="/needed_topic"/>  </node>

 

<env>

该标签允许你启动的节点上设置环境变量

属性有

    name="environment-variable-name" 设置环境变量的名称

       value="environment-variable-value" 设置环境变量的值

 

<param>

该标签定义要在参数服务器上设置的参数。

标签属性有

  name="namespace/name" 参数名称,命名空间可以包含在参数名称中,但应避免使用全局指定的名称。

  value="value"(可选),定义参数的值,如果忽略此属性,则必须指定binfile,textfille或command。

  type="str|int|double|bool|yaml"(可选),指定参数类型,如果未指定,roslaunch将尝试自动确定类型

  textfile="$(find pkg-name)/path/file.txt"。文件的内容将被读取并存储为字符串。

  binfile="$(find pkg-name)/path/file"。文件的内容将作为一个base64编码的XML-RPC二进制对象读取和存储。

  command="$(find pkg-name)/exe '$(find pkg-name)/arg.txt'"命令的输出将被读取并存储为字符串。

 

<rosparam>

用来加载配置文件.yaml,可以用来修改成千上万的参数。

属性有

  command="load|dump|delete",默认为load

  file="$(find pkg-name)/path/foo.yaml" 文件名称

 

eg:<rosparam command="load" file="$(find ros_tutorials_service)/config/service.yaml">

 

<group>

具有ns属性 可以将节点放入单独的名称空间

 

<test>

该标签运行要测试的节点

 

<arg>

该标签允许在命令行、多个文件中传递参数

用法

  <arg name="foo"/> 声明foo变量。foo必须作为命令行参数

  <arg name="foo" default="1" /> 用默认值声明foo,可以通过命令行参数覆盖foo

  <arg name="foo" value="bar" /> 声明具有恒定值的foo,foo的值不能被覆盖

 

标签:ROS,name,记录,标签,launch,参数,pkg,foo,节点
From: https://www.cnblogs.com/YuMing-MH/p/16860563.html

相关文章

  • CF1750 记录
    下面是过了的题。IndirectSort可以发现\(1\)在\(a_1\)处,则其他位置可以自由交换;否则\(1\)的对应数不能变大,也不能换到\(a_1\)上。所以有一组合法操作的充要条件......
  • 【博学谷学习记录】超强总结,用心分享 | Redis 持久化
    redis提供了两种持久化的方式,分别是RDB(RedisDataBase)和AOF(AppendOnlyFile)。redis默认采用的是RDB方式。AOF将每条写命令追加至aof文件,当重启时会执行aof......
  • 记录一次远程升级实现IAP
    环境:使用华大单片机hc32l170,flash大小为128k,ram为16k。3个程序,bootload,程序1,程序2。在最开始的bootload中检测到并没有需要更新的程序,则直接进入程序1(APP_START_ADDRESS)......
  • spring boot零散记录 actuator
    actuator  mvncleaninstall-DskipTests 跳过单元测试java-jarxxx.jar--SOME_ENV=always给配置文件传参 ......
  • 微信 聊天记录转成文本
     一、进入你要导出聊天记录的对话框,选中你要导出的聊天记录,点击多选。或者,选择中已转发的微信聊天记录,如图: 点击收藏页面选中你要导出的聊天记录,页面底部选择收......
  • LeetCode刷题记录.Day7
    有效的字母异位词题目链接242.有效的字母异位词-力扣(LeetCode)classSolution{public:boolisAnagram(strings,stringt){intrecord[26]={0};......
  • Cesium提交记录
     提交记录1  每次release所做的修改记录  参考:https://github.com/CesiumGS/cesium......
  • 【博学谷学习记录】超强总结,用心分享|狂野架构kafka消费者分配策略
    消费者分配策略一个consumergroup中有多个consumer,一个topic有多个partition,所以必然会涉及到partition的分配问题,即确定哪个partition由哪个consumer来消费,Kafka提供了......
  • 【博学谷学习记录】超强总结,用心分享 。分布式缓存
    分布式缓存--基于Redis集群解决单机Redis存在的问题单机的Redis存在四大问题:1.数据丢失问题:实现Redis数据持久化2.并发能力问题:搭建主从集群,实现读写......
  • 使用vagrant安装虚拟机踩坑记录
    在安装完visualbox和vagrant并且下载配置好本地虚拟机(box)之后,然后init完初始环境之后在启动虚拟机时报了如下错误,没打开Hyper-V服务。然后打开了该服务,但是在重启之后在启......