鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    ROS2中gazebo无法打开URDF

    已定时 已固定 已锁定 已移动 未解决
    综合问题
    gazebo 仿真 ros2 gazebo
    2
    2
    1.1k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • W
      wang_007
      最后由 wang_007 编辑

      在ROS2中打开URDF文件出现以下报错:[ERROR] [launch]: Caught exception in launch (see debug for traceback): [Errno 2] No such file or directory: '/opt/ros/humble/share/gazebo_ros/launch/empty_world.launch.py'

      重新安装一遍gazebo_ROS软件包还是没有解决
      终端中可以启动#ROS2#gazebo

      若 1 条回复 最后回复 回复 引用 0
      • 若
        若海 @wang_007
        最后由 编辑

        @wang_007 可以试试以下方法
        1、更新launch命令

        如果Gazebo可正常启动,问题可能是使用了旧的launch文件路径。可以用新路径试一下:

         # 旧命令(失败的):
         # ros2 launch gazebo_ros empty_world.launch.py  # 这个文件不存在
           
         # 新命令(正确的):
         ros2 launch gazebo_ros gazebo.launch.py
        
        1. 修改URDF加载方式

        如果你的launch文件中包含对empty_world.launch.py的引用,可以更新一把:

            # 旧的引用方式
            from launch.actions import IncludeLaunchDescription
            from launch.launch_description_sources import PythonLaunchDescriptionSource
            
            # 新的引用方式
            gazebo = IncludeLaunchDescription(
                PythonLaunchDescriptionSource([
                    get_package_share_directory('gazebo_ros'),
                    '/launch/gazebo.launch.py'
                ])
           )
        
        1. 检查launch文件中的引用

        查找launch文件中对Gazebo的引用,将其从:

        # 错误的引用
         launch_py = os.path.join(get_package_share_directory('gazebo_ros'), 'launch', 'empty_world.launch.py')
        

        更改为:

           # 正确的引用
           launch_py = os.path.join(get_package_share_directory('gazebo_ros'), 'launch', 'gazebo.launch.py')
        
        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS