如何从 ros .launch 文件访问 xml 或 yaml 文件的参数?
How to access parameters of xml or yaml files from a ros .launch file?
我想 运行 ros
使用 xml
或 yaml
文件作为参数启动文件。
如何正确设置 .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>
我想 运行 ros
使用 xml
或 yaml
文件作为参数启动文件。
如何正确设置 .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>