将dict数组作为参数传递给ros launch

Passing Array of dict as parameter to ros launch

我想传递一个字典数组作为参数来启动文件并在节点上检索这些数组。我怎样才能做到这一点。没有找到与此相关的任何示例或伪代码。新手ros用户。 问候

为此,您应该使用 rosparams。这将允许您以 YAML 格式传递数据。如果在 python 节点中加载参数,它们将以 dict 的形式出现,如果是 C++,它们将以 std::map.

的形式出现

例如,如果您希望它表现得像:

my_dict = {key1: {iKey1: val1, iKey2: val2}, key2: [1,2,3], key3: something_else}

您的启动文件如下所示:

<rosparam>
    my_dict:
        key1:
            iKey1: val1
            iKey2: val2
        key2: [1,2,3]
        key3: something_else
</rosparam>