launch XML <arg> 官方文档 翻译

本文详细介绍了ROS(Robot Operating System)中&lt;arg&gt;标签的使用方法,包括声明参数、设置默认值、使用常量值及如何在包含的文件间传递参数。同时,文章还解释了参数属性的作用及通过命令行传递参数的语法。

<arg> tag

目录

  1. <arg> tag
  2. Introduction
  3. Usecase pattern
  4. Attributes
  5. Examples
    1. Passing an argument to an included file
    2. Passing an argument via the command-line

Introduction

The <arg> tag allows you to create more re-usable and configurable launch files by specifying values that are passed via the command-line, passing in via an <include>, or declared for higher-level files. Args are not global. An arg declaration is specific to a single launch file, much like a local parameter in a method. You must explicitly pass arg values to an included file, much like you would in a method call.

<arg>标记允许您创建更多可重用和可配置的启动文件(通过命令行传递的值,通过<include>传递的值)。或为更高级别的文件声明的值。 Args不是全局的。 arg声明特定于单个启动文件,非常类似于方法中的局部参数。 您必须像在方法调用中一样,将arg值显式传递给包含的文件。

 

Usecase pattern

<arg> can be used in one of three ways:

<arg>可以按三按方式使用

  • <arg name="foo" />

    • Declares the existence of foo. foo must be passed in either as a command-line argument (if top-level) or via <include> passing (if included).

    • 声明foo,foo必须作为命令行参数(如果是顶级)或通过<include>传递(如果包括)来传递。

    <arg name="foo" default="1" />

    • Declares foo with a default value. foo can be overriden by command-line argument (if top-level) or via <include> passing (if included).

    • 使用默认值声明foo。 foo可以通过命令行参数(如果是顶级)或通过<include>传递(如果包括)来覆盖。

    <arg name="foo" value="bar" />

    • Declares foo with constant value. The value for foo cannot be overridden. This usage enables internal parameterization of a launch file without exposing that parameterization at higher levels.

    • 用常量值声明foo。 foo的值不能被覆盖。 这种用法使启动文件可以进行内部参数化,而无需在更高级别上暴露该参数化。

Attributes

  • name="arg_name"

    • Name of argument.
    • 参数名

    default="default value" (optional)

    • Default value of argument. Cannot be combined with value attribute.

    • 参数的默认值。 不能与value属性结合使用。

    value="value" (optional)

    • Argument value. Cannot be combined with default attribute.

    • 参数值。 不能与默认属性结合使用。

    doc="description for this arg" (optional) New in Indigo

    • Description of the argument.
    • 参数声明

 

Examples

Passing an argument to an included file

向包含的文件传递参数

  • my_file.launch:

    <include file="included.launch">
      <!-- all vars that included.launch requires must be set -->
      <arg name="hoge" value="fuga" />
    </include>

    included.launch:

    <launch>
      <!-- declare arg to be passed in -->
      <arg name="hoge" /> 
    
      <!-- read value of arg -->
      <param name="param" value="$(arg hoge)"/>
    </launch>

 

Passing an argument via the command-line

通过命令行传递参数

roslaunch uses the same syntax as ROS remapping arguments to specify arg values.

roslaunch使用与ROS重映射参数相同的语法来指定arg值。

  • $ roslaunch my_file.launch hoge:=my_value      (.launch file is available at the current dir)
    $ roslaunch %YOUR_ROS_PKG% my_file.launch hoge:=my_value
<launch> <arg name="serial_no" default=""/> <arg name="usb_port_id" default=""/> <arg name="device_type" default=""/> <arg name="json_file_path" default=""/> <arg name="camera" default="camera"/> <arg name="tf_prefix" default="$(arg camera)"/> <arg name="external_manager" default="false"/> <arg name="manager" default="realsense2_camera_manager"/> <arg name="output" default="screen"/> <arg name="respawn" default="false"/> <arg name="fisheye_width" default="640"/> <arg name="fisheye_height" default="480"/> <arg name="enable_fisheye" default="false"/> <arg name="depth_width" default="640"/> <arg name="depth_height" default="480"/> <arg name="enable_depth" default="true"/> <arg name="confidence_width" default="640"/> <arg name="confidence_height" default="480"/> <arg name="enable_confidence" default="false"/> <arg name="confidence_fps" default="30"/> <arg name="infra_width" default="640"/> <arg name="infra_height" default="480"/> <arg name="enable_infra" default="true"/> <arg name="enable_infra1" default="true"/> <arg name="enable_infra2" default="true"/> <arg name="infra_rgb" default="false"/> <arg name="color_width" default="640"/> <arg name="color_height" default="480"/> <arg name="enable_color" default="true"/> <arg name="fisheye_fps" default="30"/> <arg name="depth_fps" default="30"/> <arg name="infra_fps" default="30"/> <arg name="color_fps" default="30"/> <arg name="gyro_fps" default="400"/> <arg name="accel_fps" default="250"/> <arg name="enable_gyro" default="false"/> <arg name="enable_accel" default="false"/> <arg name="enable_pointcloud" default="false"/> <arg name="pointcloud_texture_stream" default="RS2_STREAM_COLOR"/> <arg name="pointcloud_texture_index" default="0"/> <arg name="allow_no_texture_points" default="false"/> <arg name="emitter_enable" default="false"/> <!-- rosparam set /camera/stereo_module/emitter_enabled false --> <rosparam> /camera/stereo_module/emitter_enabled: 0 </rosparam> <rosparam if="$(arg emitter_enable)"> /camera/stereo_module/emitter_enabled: 1 </rosparam> <arg name="ordered_pc" default="false"/> <arg name="enable_sync" default="false"/> <arg name="align_depth" default="false"/> <arg name="publish_tf" default="true"/> <arg name="tf_publish_rate" default="0"/> <arg name="filters" default=""/> <arg name="clip_distance" default="-2"/> <arg name="linear_accel_cov" default="0.01"/> <arg name="initial_reset" default="false"/> <arg name="reconnect_timeout" default="6.0"/> <arg name="wait_for_device_timeout" default="-1.0"/> <arg name="unite_imu_method" default=""/> <arg name="topic_odom_in" default="odom_in"/> <arg name="calib_odom_file" default=""/> <arg name="publish_odom_tf" default="true"/> <arg name="stereo_module/exposure/1" default="7500"/> <arg name="stereo_module/gain/1" default="16"/> <arg name="stereo_module/exposure/2" default="1"/> <arg name="stereo_module/gain/2" default="16"/> <group ns="$(arg camera)"> <include file="$(find realsense2_camera)/launch/includes/nodelet.launch.xml"> <arg name="tf_prefix" value="$(arg tf_prefix)"/> <arg name="external_manager" value="$(arg external_manager)"/> <arg name="manager" value="$(arg manager)"/> <arg name="output" value="$(arg output)"/> <arg name="respawn" value="$(arg respawn)"/> <arg name="serial_no" value="$(arg serial_no)"/> <arg name="usb_port_id" value="$(arg usb_port_id)"/> <arg name="device_type" value="$(arg device_type)"/> <arg name="json_file_path" value="$(arg json_file_path)"/> <arg name="enable_pointcloud" value="$(arg enable_pointcloud)"/> <arg name="pointcloud_texture_stream" value="$(arg pointcloud_texture_stream)"/> <arg name="pointcloud_texture_index" value="$(arg pointcloud_texture_index)"/> <arg name="enable_sync" value="$(arg enable_sync)"/> <arg name="align_depth" value="$(arg align_depth)"/> <arg name="fisheye_width" value="$(arg fisheye_width)"/> <arg name="fisheye_height" value="$(arg fisheye_height)"/> <arg name="enable_fisheye" value="$(arg enable_fisheye)"/> <arg name="depth_width" value="$(arg depth_width)"/> <arg name="depth_height" value="$(arg depth_height)"/> <arg name="enable_depth" value="$(arg enable_depth)"/> <arg name="confidence_width" value="$(arg confidence_width)"/> <arg name="confidence_height" value="$(arg confidence_height)"/> <arg name="enable_confidence" value="$(arg enable_confidence)"/> <arg name="confidence_fps" value="$(arg confidence_fps)"/> <arg name="color_width" value="$(arg color_width)"/> <arg name="color_height" value="$(arg color_height)"/> <arg name="enable_color" value="$(arg enable_color)"/> <arg name="infra_width" value="$(arg infra_width)"/> <arg name="infra_height" value="$(arg infra_height)"/> <arg name="enable_infra" value="$(arg enable_infra)"/> <arg name="enable_infra1" value="$(arg enable_infra1)"/> <arg name="enable_infra2" value="$(arg enable_infra2)"/> <arg name="infra_rgb" value="$(arg infra_rgb)"/> <arg name="fisheye_fps" value="$(arg fisheye_fps)"/> <arg name="depth_fps" value="$(arg depth_fps)"/> <arg name="infra_fps" value="$(arg infra_fps)"/> <arg name="color_fps" value="$(arg color_fps)"/> <arg name="gyro_fps" value="$(arg gyro_fps)"/> <arg name="accel_fps" value="$(arg accel_fps)"/> <arg name="enable_gyro" value="$(arg enable_gyro)"/> <arg name="enable_accel" value="$(arg enable_accel)"/> <arg name="publish_tf" value="$(arg publish_tf)"/> <arg name="tf_publish_rate" value="$(arg tf_publish_rate)"/> <arg name="filters" value="$(arg filters)"/> <arg name="clip_distance" value="$(arg clip_distance)"/> <arg name="linear_accel_cov" value="$(arg linear_accel_cov)"/> <arg name="initial_reset" value="$(arg initial_reset)"/> <arg name="reconnect_timeout" value="$(arg reconnect_timeout)"/> <arg name="wait_for_device_timeout" value="$(arg wait_for_device_timeout)"/> <arg name="unite_imu_method" value="$(arg unite_imu_method)"/> <arg name="topic_odom_in" value="$(arg topic_odom_in)"/> <arg name="calib_odom_file" value="$(arg calib_odom_file)"/> <arg name="publish_odom_tf" value="$(arg publish_odom_tf)"/> <arg name="stereo_module/exposure/1" value="$(arg stereo_module/exposure/1)"/> <arg name="stereo_module/gain/1" value="$(arg stereo_module/gain/1)"/> <arg name="stereo_module/exposure/2" value="$(arg stereo_module/exposure/2)"/> <arg name="stereo_module/gain/2" value="$(arg stereo_module/gain/2)"/> <arg name="allow_no_texture_points" value="$(arg allow_no_texture_points)"/> <arg name="ordered_pc" value="$(arg ordered_pc)"/> </include> </group> </launch> 这段代码中哪里是设置曝光的
最新发布
11-25
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值