我想使用ros
或xml
文件作为参数来运行yaml
启动文件。
如何正确设置.launch文件以访问作为参数传递的xml或yaml文件中的参数?
如果我理解正确,让我展示一个可以完成此工作的跳跃示例。
假设您要控制机器人,并且要在操纵杆和键盘遥操作之间进行选择。
您创建一个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>