如何将具有多个值的非二进制占用网格映射到ROS中的成本映射?

MFAU

我正在寻找一种将非二进制占用网格映射到全局成本图的方法。占用栅格的值为-1(未定义),0(非碰撞)和1-100(碰撞区域)。这里有一个类似的问题,给出的答案没有提供具体的解决方案:

https://answers.ros.org/question/335530/what-range-of-costs-does-ros-navigation-support/

有关更好的概述:

我正在使用ROS Melodic。

我的占用网格如下所示:占用网格的图像

我的global_costmap_params.yaml如下所示:

global_costmap:
plugins: 
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
global_frame: base_link
map_topic: "prediction_occ_grid"
update_frequency: 10.0
publish_frequency: 10.0
rolling_window: true
always_send_full_costmap: true
height: 26.9
width: 36.4

请注意,我只是成本图的初学者,因此可能根本没有任何意义!

使用给定的global_costmap_params.yaml可传递以下成本图:生成的全局成本图的图像

如您所见,成本图“忽略”了碰撞区域,并以与非碰撞路径区域相同的成本来映射它们。有什么方法可以修改costmap_params以便正确地映射占用网格?

提前致谢!

MFAU

原来,该插件无法从global_costmap_params.yaml中读取给定的参数(有关原因可能是什么或如何解决的任何想法?)。

我通过将Navigation-repo克隆到catkin_ws / src文件夹中(而不是通过sudo apt-get install ros-melodic-navigation安装导航)并更改了costmap_2d / plugins / static_layer中trinary_costmap -param的默认值来解决了该问题.cpp'false'

现在,它可以正确映射占用网格的所有中间值。

编辑:

我发现这是由于名称空间问题引起的。由于trinary_costmap是static_layer-plugin的plugin-internal参数,因此似乎必须明确指定名称空间。

因此,可以像这样global_costmap_params.yaml中设置参数

/ move_base / global_costmap / static_layer / trinary_costmap:false

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将二进制数据映射到javascript中的字符?

来自分类Dev

如何将二进制网络数据包结构映射到Haskell标准数据类型(记录)?

来自分类Dev

如何将具有重复值的数组映射到Javascript中的唯一数组?

来自分类Dev

PHP-将16位数字模式映射到二进制块

来自分类Dev

将字符串或数字映射到NxM二进制矩阵

来自分类Dev

如何将元素向量映射到UICollectionView网格中?

来自分类Dev

如何将具有选定像素的形状分成二进制图像中的两个部分

来自分类Dev

如何将具有二进制指数-10的数字转换为float?

来自分类Dev

如何将二进制值更改为具有各个状态的数组

来自分类Dev

将列中的 CSV 值转换为具有二进制答案的单独列

来自分类Dev

将字典中具有多个值的字典键映射到python中的json

来自分类Dev

将字典中具有多个值的字典字典键映射到python中的json

来自分类Dev

在Swift中,如何将现有的二进制文件读入数组?

来自分类Dev

如何将所有二进制文件打包到 bazel 中?

来自分类Dev

如何将ndarray对象列表中的二进制值转换为十进制值?

来自分类Dev

二进制数组将贴图映射为C#中的矩形

来自分类Dev

如何在Java中对内存映射的压缩文件进行二进制搜索?

来自分类Dev

将多个键映射到 Java 中的单个值的映射?

来自分类Dev

如何将原始二进制数据查看为具有给定宽度和高度的图像?

来自分类Dev

如何将十进制值转换为二进制位?

来自分类Dev

Bash:具有二进制范围的循环,保持控制值二进制

来自分类Dev

如何将二值文本数据转换为二进制(位表示)

来自分类Dev

如何将数组映射到HTML网格?

来自分类Dev

如何将位置映射到网格并返回?

来自分类Dev

如何将这个二进制乘法代码的答案带入二进制?

来自分类Dev

将具有十六进制值的列转换为具有二进制值的多列

来自分类Dev

如何将字符串中字符的 ASCII 值打印为二进制数?

来自分类Dev

如何将标量值和二进制值插入到 keras 中的层(最后一层)?

来自分类Dev

如何将多个二进制文件发送到浏览器?

Related 相关文章

  1. 1

    如何将二进制数据映射到javascript中的字符?

  2. 2

    如何将二进制网络数据包结构映射到Haskell标准数据类型(记录)?

  3. 3

    如何将具有重复值的数组映射到Javascript中的唯一数组?

  4. 4

    PHP-将16位数字模式映射到二进制块

  5. 5

    将字符串或数字映射到NxM二进制矩阵

  6. 6

    如何将元素向量映射到UICollectionView网格中?

  7. 7

    如何将具有选定像素的形状分成二进制图像中的两个部分

  8. 8

    如何将具有二进制指数-10的数字转换为float?

  9. 9

    如何将二进制值更改为具有各个状态的数组

  10. 10

    将列中的 CSV 值转换为具有二进制答案的单独列

  11. 11

    将字典中具有多个值的字典键映射到python中的json

  12. 12

    将字典中具有多个值的字典字典键映射到python中的json

  13. 13

    在Swift中,如何将现有的二进制文件读入数组?

  14. 14

    如何将所有二进制文件打包到 bazel 中?

  15. 15

    如何将ndarray对象列表中的二进制值转换为十进制值?

  16. 16

    二进制数组将贴图映射为C#中的矩形

  17. 17

    如何在Java中对内存映射的压缩文件进行二进制搜索?

  18. 18

    将多个键映射到 Java 中的单个值的映射?

  19. 19

    如何将原始二进制数据查看为具有给定宽度和高度的图像?

  20. 20

    如何将十进制值转换为二进制位?

  21. 21

    Bash:具有二进制范围的循环,保持控制值二进制

  22. 22

    如何将二值文本数据转换为二进制(位表示)

  23. 23

    如何将数组映射到HTML网格?

  24. 24

    如何将位置映射到网格并返回?

  25. 25

    如何将这个二进制乘法代码的答案带入二进制?

  26. 26

    将具有十六进制值的列转换为具有二进制值的多列

  27. 27

    如何将字符串中字符的 ASCII 值打印为二进制数?

  28. 28

    如何将标量值和二进制值插入到 keras 中的层(最后一层)?

  29. 29

    如何将多个二进制文件发送到浏览器?

热门标签

归档