gmapping导航为什么会在的路上形成障碍层

img


gmapping导航建图的时候,小车会在路径上不停生成自己形状的 障碍,导致小车不能走回头路,怎么取出这个在路径上生成障碍呢

  • 建议你看下这篇博客👉 :Gmapping 更新粒子过程
  • 除此之外, 这篇博客: 不可错过的gmapping算法使用与详细解释中的 3、gmapping的前世今生 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 声明:为了不影响描述的连贯性,对文中一些理论内容没有进行解释,这些内容将在附录里进行详细解释,不懂的地方可以查看附录。

  • 以下回答由chatgpt基于相关博客总结生成:

    针对这个问题,可以从以下几个方面入手:

    1. 降低粒子数量 通过减少粒子数量限制内存的使用,可以采用极大似然估计的方式,根据粒子的位姿预测分布和与地图的匹配程度,通过扫描匹配找到粒子的最优位姿参数,就用该位姿参数,直接当做新粒子的位姿。这样就可以采用更少的粒子即覆盖了机器人位姿的概率分布。

    2. 更改参数 通过修改启动算法的gmapping.launch文件中的参数,根据各自的情况,对注释的部分进行更改,如减小maxRange、maxUrange等参数的值,同时适当提高particles的值。

    3. 优化机器人路径规划 当小车路径每次经过之前遇到的障碍层时,会在路径上生成自己的障碍层,因此可以优化机器人路径规划,避免小车重复通过同一障碍物,从而减少障碍层的生成。

    4. 优化传感器数据输入处理 对传感器数据进行实时的滤波处理,尽可能降低传感器误差,同时可以对激光雷达观测模型方差进行优化,降低其方差,使得proposal分布用激光匹配来表示时,可以把采样范围限制在一个比较小的区域,从而减少障碍层的生成。

    具体实现方案可以参考上述参考资料中提到的方法,根据实际情况进行调整和优化。