我没有使用命令行运行包,而是创建了一个启动文件
Commande line:
rosrun image_view image_saver image:=/the-rgb-image-topic
启动档案:
<launch>
<node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen" cwd="ROS_HOME">
<remap from="image" to="/camera/rgb/image_raw"/>
</node>
</launch>
现在我想为此做同样的事情:
rosrun image_view image_saver image:=/camera/depth/image _encoding:=16UC1
如何将参数添加到启动文件中..
我想我应该像那样开始
<launch>
<node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen" cwd="ROS_HOME">
<remap from="image" to="/camera/rgb/image_raw"/>
<node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen" cwd="ROS_HOME">
<remap from="image" to="/camera/depth/image"/>
</node>
</launch>
答案 0 :(得分:2)
要将任意参数传递给launch-files中的节点,您可以使用node
tag的args
属性:
<node name="image_saver" pkg="image_view" type="image_saver" args="_encoding:=16UC1" ...>
但是,在这种特定情况下,有一种更好的方法:_encoding
不仅仅是一些任意参数,而是由ROS Parameter Server处理的参数。虽然使用args
属性可能会有效,但更好的方法是使用param
tag:
<node name="image_saver" pkg="image_view" type="image_saver">
<remap from="image" to="/camera/depth/image" />
<param name="encoding" value="16UC1" type="string" />
</node>