gpt4 book ai didi

xml - 在 ROS 中使用 Launch 文件打开时是否可以在节点之间切换?

转载 作者:数据小太阳 更新时间:2023-10-29 03:00:32 24 4
gpt4 key购买 nike

有两个不同的节点,一个用 Python 编写,另一个用 C++ 编写。他们基本上在做同样的事情。假设他们正在使用不同的方法(如 viola-jones 或 hog)寻找香蕉。所以,他们的名字是:

节点 1:object_detector_hog_node

节点 2:object_detector_viola_node

我想分配参数来选择打开哪个节点。有可能做这样的事情吗?

我知道无法在启动文件中使用 if。另外,我不想打开两个节点并检查参数并杀死其中一个节点。

最佳答案

是的,这是可能的。对于这样的二进制选择,最简单的方法是使用 bool 参数:

<launch>
<arg name="use_hog" default="true" />

<group if="$(arg use_hog)">
<node type="object_detector_hog_node" ... />
</group>

<group unless="$(arg use_hog)">
<node type="object_detector_viola_node" ... />
</group>
</launch>

启动时添加参数 use_hog。使用 hog run

roslaunch your_package object_detector.launch use_hog:=true

使用 viola-jones run

roslaunch your_package object_detector.launch use_hog:=false

你也可以省略默认值,那么当你不提供参数时它会引发错误。

更多信息see the ROS wiki .

关于xml - 在 ROS 中使用 Launch 文件打开时是否可以在节点之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43995992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com