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

    运行launch fishbot_description gazebo_sim.launch.py时报错,无法打开gazebo

    已定时 已固定 已锁定 已移动
    ROS2机器人开发:从入门到实践
    launch 失败 gazebo不显示
    5
    12
    888
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 2
      2352947187 @小伊
      最后由 编辑

      @小伊 source /opt/ros/humble/share/gazebo/setup.bash显示bash: /opt/ros/humble/share/gazebo/setup.bash: 没有那个文件或目录

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        当你遇到错误 bash: /opt/ros/humble/share/gazebo/setup.bash: 没有那个文件或目录 时,这通常意味着在你的 ROS 环境中没有正确地安装或配置 Gazebo。这里有几个步骤可以帮助你解决这个问题:

        1. 确认 Gazebo 是否已安装:
          首先,确保你已经安装了 Gazebo。对于 ROS Humble(即 ROS 2 Noetic 的后续版本),Gazebo 的安装可能会通过不同的包管理器或ROS 2的组件进行。你可以尝试使用以下命令来安装 Gazebo(这取决于你的具体发行版和系统):

          sudo apt update
          sudo apt install ros-humble-gazebo-*
          

          注意:这里的 ros-humble-gazebo-* 只是一个通配符,用于表示安装所有与 Gazebo 相关的 ROS 2 Humble 包。你可能需要具体选择你需要的包,如 ros-humble-gazebo-ros-pkgs。

        2. 检查 Gazebo 的安装位置:
          如果 Gazebo 已安装,但 setup.bash 文件不在预期的位置,可能是因为安装路径与你的环境配置不同。你可以通过查找 Gazebo 的安装位置来确认这一点:

          dpkg -L ros-humble-gazebo-ros-pkgs | grep setup.bash
          

          这个命令会列出所有与 ros-humble-gazebo-ros-pkgs 相关的文件,并过滤出包含 setup.bash 的行。这将帮助你找到正确的 setup.bash 文件的路径。

        3. 修改你的 Bash 脚本或环境配置:
          一旦你找到了正确的 setup.bash 文件路径,你可以修改你的 Bash 脚本或 .bashrc 文件来源这个新的路径。例如:

          source /正确的/路径/到/gazebo/setup.bash
          

          确保替换 /正确的/路径/到/gazebo/setup.bash 为你实际找到的路径。

        4. 重新加载环境配置:
          修改 .bashrc 或其他配置文件后,运行以下命令来重新加载配置:

          source ~/.bashrc
          
        5. 检查 ROS 2 和 Gazebo 的兼容性:
          如果你正在使用 ROS 2 的一个新版本(如 Humble),确保你安装的 Gazebo 版本与 ROS 2 版本兼容。有时候,新版本的 ROS 2 可能需要特定版本的 Gazebo。

        6. 查看文档和社区:
          如果以上步骤都不能解决问题,查看 ROS 2 和 Gazebo 的官方文档或社区论坛可能会提供一些帮助。

        通过以上步骤,你应该能够解决找不到 setup.bash 文件的问题,并成功配置你的 ROS 2 和 Gazebo 环境。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        2 1 条回复 最后回复 回复 引用 0
        • 2
          2352947187 @小伊
          最后由 编辑

          @小伊 运行dpkg -L ros-humble-gazebo-ros-pkgs | grep setup.bash显示只有
          /opt/ros/humble/share/gazebo_ros_pkgs/local_setup.bash,这是不是表示我的humble中没有setup.bash,要怎么重新安装

          1 条回复 最后回复 回复 引用 0
          • 小伊小
            机器人小伊
            最后由 编辑

            在您运行 dpkg -L ros-humble-gazebo-ros-pkgs | grep setup.bash 命令后,结果只显示了 /opt/ros/humble/share/gazebo_ros_pkgs/local_setup.bash,这通常意味着在 ros-humble-gazebo-ros-pkgs 包中,setup.bash 文件不存在于预期的位置,而是存在一个特定的 local_setup.bash 文件。

            对于 ROS(Robot Operating System)的安装和配置,每个包(package)通常会提供一个或多个设置脚本(如 setup.bash、setup.zsh 等),用于在用户的 shell 环境中设置相应的路径和变量。然而,在某些情况下,特别是在一些复杂的软件包或特定的发行版中,这些设置脚本可能会有所不同或位于不同的位置。

            解决方案

            1. 使用 local_setup.bash 文件:
              既然已经找到了 local_setup.bash 文件,您可以尝试在您的 shell 环境中加载它。这通常是通过在您的 shell 配置文件(如 .bashrc 或 .zshrc)中添加以下行来完成的:

              source /opt/ros/humble/share/gazebo_ros_pkgs/local_setup.bash
              

              然后,您需要重新加载配置文件(例如,通过运行 source ~/.bashrc)或重新启动您的终端会话。

            2. 检查 ROS 环境的整体配置:
              如果您希望确保 ROS 的整个环境都被正确设置,您可以查看 /opt/ros/humble/ 目录下的其他包是否也包含类似的 setup.bash 或 local_setup.bash 文件。ROS 通常会在其安装目录下的 setup.bash 文件中汇总所有必要的设置,因此您也可以尝试直接 source 这个文件(如果存在):

              source /opt/ros/humble/setup.bash
              

              但是,根据您提供的信息,这似乎不是您的情况。

            3. 重新安装 ROS 包:
              如果您认为某些文件在安装过程中可能丢失或损坏,您可以尝试重新安装 ROS 包。然而,在大多数情况下,简单地重新安装可能不会恢复丢失的 setup.bash 文件,除非该文件在包的当前版本中已更改位置或名称。不过,这仍然是一个值得尝试的步骤,特别是如果您怀疑安装过程中出现了问题。您可以使用 apt-get 或 apt 命令来重新安装 ROS 包,例如:

              sudo apt-get install --reinstall ros-humble-gazebo-ros-pkgs
              
            4. 查看 ROS 官方文档和社区资源:
              如果上述步骤都不能解决问题,您可能需要查看 ROS 的官方文档或搜索相关的社区论坛和问答网站(如 ROS Answers)。在这些资源中,您可能会找到与您遇到的具体问题相关的解决方案或工作区。

            综上所述,虽然 setup.bash 文件在您的环境中不存在,但您可以通过使用 local_setup.bash 文件来配置您的 ROS 环境。如果这仍然不能满足您的需求,您可以考虑重新安装 ROS 包或查看官方文档和社区资源以获取更多帮助。


            以上为生成回答,仅供参考~

            我是小伊,已接入ChatGpt,所有回复,仅供参考~

            2 1 条回复 最后回复 回复 引用 0
            • 2
              2352947187 @小伊
              最后由 编辑

              其他问题都解决了,但是运行的时候还有这个问题没解决,代码如下:

              wang@wang-virtual-machine:~/desktop/item/chapter6/chapt6_ws$ ros2 launch fishbot_description  gazebo_sim.launch.py
              [INFO] [launch]: All log files can be found below /home/wang/.ros/log/2024-10-24-02-15-39-514185-wang-virtual-machine-12923
              [INFO] [launch]: Default logging verbosity is set to INFO
              [INFO] [robot_state_publisher-1]: process started with pid [12943]
              [INFO] [gzserver-2]: process started with pid [12945]
              [INFO] [gzclient-3]: process started with pid [12947]
              [robot_state_publisher-1] [INFO] [1729707342.338022187] [robot_state_publisher]: got segment base_footprint
              [robot_state_publisher-1] [INFO] [1729707342.338363753] [robot_state_publisher]: got segment base_link
              [robot_state_publisher-1] [INFO] [1729707342.338404150] [robot_state_publisher]: got segment bottom_caster_link
              [robot_state_publisher-1] [INFO] [1729707342.338423257] [robot_state_publisher]: got segment camera_link
              [robot_state_publisher-1] [INFO] [1729707342.338439390] [robot_state_publisher]: got segment front_caster_link
              [robot_state_publisher-1] [INFO] [1729707342.338454486] [robot_state_publisher]: got segment imu_link
              [robot_state_publisher-1] [INFO] [1729707342.338469576] [robot_state_publisher]: got segment laser_cylinder_link
              [robot_state_publisher-1] [INFO] [1729707342.338484475] [robot_state_publisher]: got segment laser_link
              [robot_state_publisher-1] [INFO] [1729707342.338499017] [robot_state_publisher]: got segment left_wheel_link
              [robot_state_publisher-1] [INFO] [1729707342.338513847] [robot_state_publisher]: got segment right_wheel_link
              [gzclient-3] Gazebo multi-robot simulator, version 11.10.2
              [gzclient-3] Copyright (C) 2012 Open Source Robotics Foundation.
              [gzclient-3] Released under the Apache 2 License.
              [gzclient-3] http://gazebosim.org
              [gzclient-3] 
              [gzserver-2] Gazebo multi-robot simulator, version 11.10.2
              [gzserver-2] Copyright (C) 2012 Open Source Robotics Foundation.
              [gzserver-2] Released under the Apache 2 License.
              [gzserver-2] http://gazebosim.org
              [gzserver-2] 
              [gzclient-3] [Msg] Waiting for master.
              [gzclient-3] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
              [gzclient-3] [Msg] Publicized address: 192.168.28.131
              [gzclient-3] [Wrn] [GuiIface.cc:120] QSocketNotifier: Can only be used with threads started with QThread
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:132]  Unable to create the rendering window
              [gzclient-3] [Err] [WindowManager.cc:139] EXCEPTION: Unable to create the rendering window
              [gzclient-3] 
              [gzclient-3] 
              [gzclient-3] terminate called after throwing an instance of 'gazebo::common::Exception'
              [ERROR] [gzclient-3]: process has died [pid 12947, exit code -6, cmd 'gzclient --verbose'].
              [gzclient-3] 
              
              
              小鱼小 1 条回复 最后回复 回复 引用 0
              • 小鱼小
                小鱼 技术大佬 @2352947187
                最后由 编辑

                @2352947187 什么系统平台

                新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

                2 1 条回复 最后回复 回复 引用 0
                • 2
                  2352947187 @小鱼
                  最后由 编辑

                  @小鱼已经解决了,是多安装了一个包的问题,谢谢啦

                  俄 P 2 条回复 最后回复 回复 引用 0
                  • 俄
                    俄格啊 @2352947187
                    最后由 编辑

                    @2352947187 请问是多安装了一个什么包呀,我也遇见了一样的问题,有点不知道怎么解决

                    俄 1 条回复 最后回复 回复 引用 0
                    • 俄
                      俄格啊 @俄格啊
                      最后由 编辑

                      @俄格啊 我把wayland换成了X11好像就不报错了

                      1 条回复 最后回复 回复 引用 0
                      • P
                        Pluto_Lag @2352947187
                        最后由 编辑

                        @2352947187 在 运行launch fishbot_description gazebo_sim.launch.py时报错,无法打开gazebo 中说:

                        @小鱼已经解决了,是多安装了一个包的问题,谢谢啦

                        我也遇到了同样的问题。我是先按小鱼教程中sudo apt install ros-$ROS_DISTRO-gazebo-ros-pkgs,后面又sudo apt install ros-humble-gazebo-*可能装了其他包发生了冲突,只要sudo apt remove ros-humble-gazebo-*后再重新下载就可以了

                        1 条回复 最后回复 回复 引用 0
                        • 第一个帖子
                          最后一个帖子
                        皖ICP备16016415号-7
                        Powered by NodeBB | 鱼香ROS