如何从 ros .launch 文件访问 xml 或 yaml 文件的参数?

How to access parameters of xml or yaml files from a ros .launch file?

我想 运行 ros 使用 xmlyaml 文件作为参数启动文件。

如何正确设置 .launch 文件以访问作为参数传递的 xml 或 yaml 文件中的参数?

如果我理解正确,让我展示一个可以完成工作的跳跃示例。

假设你想控制你的机器人,你想 select 在操纵杆和键盘遥控之间。

您创建了一个 man_ctrl.launch 文件

<launch>
    <arg name="control_mode" default="joy"/>
    <include file="$(find ctrl)/launch/$(arg control_mode).launch"/>
</launch>

您可以像这样使用它:

roslaunch ctrl man_ctrl.launch control_mode:=<joy/key>

这意味着您已经设置了joy.launch和key.launch,例如:

<launch>
    <node name="joy_node" pkg="joy" type="joy_node"/>
    <node name="joy_teleop" pkg="teleop_twist_joy" type="teleop_node" respawn="true" output="screen">
        <param name="scale_linear" value="1.0"/>
        <param name="scale_angular" value="1.0"/>
    </node>
</launch>

<launch>
    <node name="keyboard_teleop" pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" respawn="true"
          output="screen" launch-prefix="xterm -e" />/>
</launch>