关于Nav2障碍层无法工作的情况
-
在使用fishbot gazebo仿真Nav2进行导航的时候,往gazebo里面添加障碍物,rviz2里面能观察到障碍物的点云却没办法生成局部代价地图或者全局代价地图,在nav2的yaml参数里都设置了使用obstacle_layer作为代价地图的参数,而且在rqt里面也观察到了局部和全局代价地图的生成使用了/san话题的数据,但是就是不显示代价地图,导航的时候会直接撞上障碍物!
(手机拍屏...见谅>_<) -
@649203351 这个是Nav2订阅数据时的问题,具体问题需要推到dds那块,解决方法就是改nav2的源码,我已经修改好一个版本的了,你可以直接下载下来用:https://github.com/fishros/navigation2
-
@小鱼 非常感谢 问题已解决
-
整合一下目前我得到的解决问题方法:
1.是由于Fast-DDS的问题导致不能正常的监听数据,切换到Cyclone-DDS可以解决这个问题(最新版本目前还没修复完这个问题) 附上地址:
1)https://github.com/ros-planning/navigation2/pull/3018
2)https://discourse.ros.org/t/nav2-issues-with-humble-binaries-due-to-fast-dds-rmw-regression/26128/22.注释src/navigation2/nav2_costmap_2d/plugins/obstacle_layer.cpp 中226行左右的sub->unsubscribe();
-
@649203351 我用的实物机器人底盘好像也不避让直接就撞上去,是不是也是这里的问题呢?
-
@毛哥成山轮胎机油保养 你观察到rviz里面障碍物有生成代价地图吗,没有的话规划路径的时候就会撞上去
-
@649203351 有局部代价地图,但是障碍物没有生成代价地图,只看到雷达的红线,看着和你仿真的情况一样
-
@毛哥成山轮胎机油保养 应该是这个问题 你尝试用上面的第二种方法 然后重新单独的编译一下nav2_costmap_2d试下
-
@649203351 我不是下载的源码,我用的下面命令安装的
sudo apt install ros-humble-nav2-*
这样安装的可以单独修改你说的这个文件吗@649203351 在 关于Nav2障碍层无法工作的情况 中说:
重新单独的编译一下nav2_costmap_2d试下
-
我的问题也解决了,我重新下载了鱼总改过的navigation2代码
代码地址
编译后在运行障碍物在代价地图出现了