合并两个或两个以上的入住率地图

26日视图(30天)
阿卡什Hiregoudar
阿卡什Hiregoudar 2020年7月4日
编辑: 卡梅伦稳定 2021年10月29日
你好,
我试图建立一个占用一个环境使用MATLAB的导航和地图ROS工具箱和露台。我有三个TurtleBot3地面机器人在三个不同房间的露台环境和我navigationg他们激光雷达扫描数据。现在,我想建立一个单一的环境地图。
什么将是一个理想的方式将所有三个入住率地图合并到一个地图/图吗?
1评论
布拉姆Surewaard
布拉姆Surewaard 2021年4月30日
嘿,
为一个项目我想实现你提到的一样。
你能找出如何做到这一点呢?
谢谢!

登录置评。

答案(2)

雷莫Pillat
雷莫Pillat 2021年5月10日
你好阿卡什&布拉姆
如果你知道的确切构成不同TurtleBots 3,您可以调用 insertRay 函数在单个occupancyMap(调用函数为每个激光雷达阅读和输入构成各自的机器人)。
一个简单的例子显示了与已知的姿势“映射”的问题 这个例子 (这是一个激光雷达)。
你目前构建地图吗?我可以给更多的建议基于您目前使用的功能。
谢谢,雷莫

Sooraj苏尼尔
Sooraj苏尼尔 2021年10月17日
编辑:Sooraj苏尼尔 2021年10月18日
你好阿卡什&布拉姆
如果已知机器人之间的初始对准,那么合并非常简单:
  • 您可以使用insertRay像雷莫建议
  • 或者你可以使用个人的概率矩阵映射occupancyMatrixMatlab函数,你可以从概率log-odd空间然后简单地添加合并它们的概率。最后重建入住率地图基于新的概率(log-odd转换为概率)和已知的分辨率使用occupancyMap函数。
然而,如果不知道初对准你应该使用一个合并技术计算对齐。我不建议 multirobot_map_merge 但是如果你想要一个快速的解决方案你可以看一看它。它可以很容易地使用这在Matlab中实现 Matlab的例子
1评论
卡梅伦稳定
卡梅伦稳定 2021年10月29日
编辑:卡梅伦稳定 2021年10月29日
嗨,阿卡什,布拉姆
如果你的每个机器人都是建立在隔离和您想要使用自己的地图 地图 更新结合地图(而不是插入射线从不同的传感器),这里有一些额外的选择:
1)更新条件的世界地图使用的块语法 updateOccupancy 。有了它,你就可以 概率积分 阅读你的每一个地方你的世界地图映射到相应的区域:
worldMap = occupancyMap (repmat (0.75, 50、60));
localMap_1 = occupancyMap(兰德(20)/ 2);
localMap_2 = occupancyMap(眼睛(20)/ 2 + .25);
origin_1 = [0 0];
origin_2 = 30 [0];
localMap_1。GridLocationInWorld = origin_1;
localMap_2。GridLocationInWorld = origin_2;
worldMap。updateOccupancy (origin_1 getOccupancy (localMap_1));
worldMap。updateOccupancy (origin_2 getOccupancy (localMap_2));
显示(worldMap);
2)另一个选择是 syncWith 方法,该方法将 覆盖 值的第一个映射值的第二个地图在任何重叠的地区:
localMap_1.GridLocationInWorld (1) = 20
localMap_2.GridLocationInWorld (1) = 20;
worldMap.syncWith (localMap_1);
worldMap.syncWith (localMap_2);
显示(worldMap);
注意,syncWith方法类似于直接获取/设置值:
localMap_1.GridLocationInWorld (1) = 40
localMap_2.GridLocationInWorld (1) = 40;
worldMap.setOccupancy (localMap_1.GridLocationInWorld getOccupancy (localMap_1));
worldMap.setOccupancy (localMap_2.GridLocationInWorld getOccupancy (localMap_2));
显示(worldMap);
但它也处理地图之间不匹配的决议和/或翻译补偿映射网格。万博 尤文图斯
希望这有助于
卡梅隆

登录置评。

s manbetx 845


释放

R2020a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!