解决运行`ros2 launch nav2_bringup tb3_simulation_launch.py`时 gazebo一直卡在 Preparing your world

在运行nav2中文官网示例时,gazebo加载问题源于nav2_bringup/worlds/waffle.models中的mesh描述不正确。实际模型文件不在预期位置,修正mesh描述后问题解决。排查应从源代码和gazebo加载机制入手。
摘要由CSDN通过智能技术生成

问题描述

运行nav2中文官网的运行样例时,rviz2中可以正常执行nav2导航,但是gazebo就是加载不出来。一直卡在 Preparing your world的界面。
去网上搜都是要下载models到本地的~/.gazebo/models中。这确实提供了解决问题的基本思路:缺少的models文件会从外网下载,网速很慢,所以会卡住,但是这种方法对于该文章nav2的问题并不能解决。
实际引发这个问题的原因是nav2的waffle.models中的描述有误,只需要修改waffle.models文件就可以解决问题,根本不需要从官网下东西(如果跑别的样例不能保证,但思路是一样的)

问题排查过程

/opt/ros/foxy/share/nav2_bringup/worlds/waffle.models文件中,左右轮mesh加载的是left_tire.daeright_tire.dae

在这里插入图片描述在这里插入图片描述
重点:但是实际上/opt/ros/foxy/share/turtlebot3_gazebo/models/中的turtlebot3_waffle\meshes文件夹中根本不包含这两个文件,实际只包含tire.dae

在这里插入图片描述
所以解决方法很简单,把/opt/ros/foxy/share/nav2_bringup/worlds/waffle.models文件中的 两个mesh描述改成tire.dae就好

总结

还是要从launch文件和models文件的源码排查,真正理解gazebo的加载原理,才能更好的处理问题。无脑下载models并不能解决问题。

参考答案

https://github.com/ros-planning/navigation2/issues/2571

gazebo models的github地址

https://github.com/osrf/gazebo_models/tree/turtlebot3
https://github.com/ROBOTIS-GIT/turtlebot3_simulations

nav2中文官网

http://fishros.org/doc/nav2/getting_started/index.html#running-the-example

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值