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

    教材6.4.2在Gazebo中加载机器人,构建完成功能包后启动gazebo_sim.launch.py显示找不到gazebo_ros功能包

    已定时 已固定 已锁定 已移动
    ROS2机器人开发:从入门到实践
    ros2教材6.4.2 gazebo-bos-pkgs
    3
    14
    917
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 小伊小
      机器人小伊
      最后由 编辑

      你遇到的问题主要是关于在ROS环境中找不到gazebo_ros功能包。这个问题通常与ROS环境配置或软件包安装不完整有关。下面是一些步骤和建议,帮助你解决这个问题:

      1. 检查ROS版本和Gazebo版本

      首先,确保你的ROS版本和Gazebo版本是兼容的。在你的情况中,你使用的是ROS Humble(基于Ubuntu 22.04),你需要确保安装的Gazebo版本与ROS Humble兼容。

      2. 安装Gazebo和gazebo_ros_pkgs

      由于你尝试通过sudo apt install ros-$ROS_DISTRO-gazebo-ros-pkgs安装软件包时遇到了404错误,这通常意味着该软件包在官方源中不存在或者源未正确配置。

      对于ROS Humble,你应该使用ros-humble-gazebo-ros-pkgs来安装。但是,更常见的是单独安装Gazebo和相关的ROS插件。你可以尝试以下命令:

      sudo apt update
      sudo apt install ros-humble-desktop-full  # 安装ROS Humble完整桌面环境
      sudo apt install gazebo11               # 安装Gazebo 11(检查适用于你ROS版本的Gazebo版本)
      sudo apt install ros-humble-gazebo-ros-control  # 安装gazebo_ros_control等插件
      sudo apt install ros-humble-gazebo-ros-pkgs  # 尝试再次安装gazebo_ros_pkgs
      

      注意:Gazebo的版本可能根据你的ROS版本而有所不同。对于ROS Humble,推荐使用Gazebo 11。

      3. 检查环境变量

      确保你的ROS环境变量设置正确。你可以通过以下命令来设置(如果它们还没有被设置):

      echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
      source ~/.bashrc
      

      4. 检查launch文件

      报错中还提到了InvalidFrontendLaunchFileError,这可能是因为你的gazebo_sim.launch.py文件中有语法错误或者格式不正确。确保该文件是一个有效的Python launch文件,并且所有的引用都是正确的。

      5. 清理和重建工作空间

      有时候,工作空间中的旧文件或配置可能会干扰新的安装。尝试清理你的工作空间并重新构建:

      cd ~/chapt6_ws
      catkin clean
      catkin build
      source devel/setup.bash
      

      6. 查看文档和社区支持

      如果上述步骤仍然不能解决问题,建议查看ROS和Gazebo的官方文档,或者在ROS社区论坛(如ROS Answers)上寻求帮助。

      希望这些步骤能帮助你解决问题!如果还有其他问题,欢迎继续提问。


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

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

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

        @小伊 谢谢,这个问题解决了,但是又遇到一个新问题
        问题描述:
        尝试加载 'fishbot.urdf.xacro' 的文件时,找不到该文件
        具体细节:
        在运行gazebo_sim.launch.py文件时出现如下错误
        [INFO] [launch]: All log files can be found below /home/dong/.ros/log/2024-09-21-21-55-25-883495-dong-virtual-machine-12505
        [INFO] [launch]: Default logging verbosity is set to INFO
        [ERROR] [launch]: Caught exception in launch (see debug for traceback): file not found: [Errno 2] No such file or directory: 'xacro/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro'
        ac13e3d2-85dd-42eb-884c-83cf1de34967-image.png
        尝试过的解决办法:
        构建功能包后,利用xacro将fishbot.urdf.xacro转换成URDF格式,但还是不行,并且fishbot.urdf.xacro确定是在该路径下
        455c8a63-f0c6-4f6e-a178-42e370a41b65-image.png

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

          从你提供的错误信息来看,问题出在文件路径的处理上。错误信息中显示的路径 'xacro/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro' 看起来像是路径拼接错误,因为它以 'xacro/' 开头,这通常不是文件系统中的实际路径。

          解决步骤

          1. 检查launch文件:
            打开你的 gazebo_sim.launch.py 文件(或任何启动文件),查找引用 fishbot.urdf.xacro 文件的部分。确保文件路径是正确的。通常,你应该在 xacro 标签中指定文件的相对或绝对路径。例如:

            <param name="robot_description" command="$(find xacro)/xacro.py '$(find fishbot_description)/urdf/fishbot/fishbot.urdf.xacro'" />
            

            注意这里使用了 $(find ...) 来查找包的路径,这样可以确保无论工作空间的位置如何,都能正确地找到文件。

          2. 检查文件位置:
            确保 fishbot.urdf.xacro 文件确实位于 ~/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/ 路径下。你可以使用 ls 命令来验证这一点:

            ls ~/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro
            

            如果文件不存在,你需要检查你的构建过程是否成功地将文件安装到了正确的位置。

          3. 重新构建工作空间:
            如果文件位置正确但问题依旧,尝试重新构建你的工作空间:

            cd ~/chapt6/chapt6_ws
            catkin clean
            catkin build
            source devel/setup.bash
            

            确保在构建完成后重新加载环境变量。

          4. 检查ROS环境变量:
            确保 ROS_PACKAGE_PATH 环境变量包含了你的工作空间的 src 目录。你可以通过打印该环境变量来检查:

            echo $ROS_PACKAGE_PATH
            

            如果未包含,你可能需要添加它到你的 .bashrc 或 .bash_profile 文件中。

          5. 检查权限问题:
            确保你有足够的权限访问该文件。你可以使用 chmod 和 chown 命令来修改文件权限和所有权。

          6. 运行仿真:
            在完成上述步骤后,尝试再次运行你的 gazebo_sim.launch.py 文件。

          如果以上步骤都不能解决问题,你可能需要查看更详细的调试信息或日志,以确定问题的根源。


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

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

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

            此回复已被删除!
            1 条回复 最后回复 回复 引用 0
            • 小伊小
              机器人小伊
              最后由 编辑

              您遇到的错误 [Err] [WindowManager.cc:132] Unable to create the rendering window 和 [ERROR] [gzclient-3]: process has died [pid 22432, exit code -6, cmd 'gzclient --verbose'] 表明 Gazebo 的图形用户界面(GUI)无法正确创建渲染窗口。这通常与图形驱动、环境设置或资源限制有关。以下是一些可能的解决步骤:

              1. 检查图形驱动:

                • 确保您的系统安装了正确的图形驱动,并且是最新的。如果您使用的是 NVIDIA 显卡,请确保安装了 NVIDIA 驱动。
                • 如果您是在虚拟机中运行 Gazebo,请确保虚拟机的图形内存分配足够(例如,在 VMware 或 VirtualBox 中增加显存)。
              2. 使用软件渲染:

                • 尝试使用软件渲染而不是硬件加速。这可以通过设置环境变量 MESA_GL_VERSION_OVERRIDE 来实现,尽管这通常不推荐用于生产环境,因为它会降低性能。
                • 在命令行中运行:export MESA_GL_VERSION_OVERRIDE=3.3 compatible profile,然后再次尝试启动 Gazebo。
              3. 检查资源限制:

                • 确保系统没有资源限制(如内存不足、CPU 使用率过高等)。
                • 使用系统监视工具(如 top, htop, free -m)来检查资源使用情况。
              4. 使用 Xvfb(如果不需要 GUI):

                • 如果您不需要 GUI,可以考虑使用 Xvfb(X Virtual Framebuffer)来运行 Gazebo。这可以通过在 .bashrc 或 .zshrc 文件中设置 export DISPLAY=:99.0 和使用 Xvfb :99 -screen 0 1024x768x24 & 来启动 Xvfb 实现。
              5. 检查 Gazebo 和 ROS 的版本兼容性:

                • 确保您安装的 Gazebo 和 ROS 版本是相互兼容的。有时候,新版本的 ROS 可能不完全支持最新版本的 Gazebo,或者需要特定的配置。
              6. 查看日志文件:

                • 检查 Gazebo 和 ROS 的日志文件,看是否有更详细的错误信息。这些日志文件通常位于 ~/.ros/log/ 目录下。
              7. 重新安装 Gazebo:

                • 如果上述步骤都不能解决问题,尝试卸载并重新安装 Gazebo。
              8. 搜索相似问题:

                • 在网上搜索类似的错误信息和解决方案,看看是否有其他用户遇到过相同的问题。

              希望这些步骤能帮助您解决问题!如果问题仍然存在,请提供更多的系统信息和配置细节,以便进一步分析。


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

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

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

                @小伊

                问题描述:
                无法正常运行gazebo

                具体细节:
                在运行gazebo_sim.launch.py文件后出现如下报错
                [INFO] [launch]: All log files can be found below /home/dong/.ros/log/2024-09-21-22-44-09-074887-dong-virtual-machine-15762
                [INFO] [launch]: Default logging verbosity is set to INFO
                [INFO] [robot_state_publisher-1]: process started with pid [15774]
                [INFO] [gzserver-2]: process started with pid [15776]
                [INFO] [gzclient-3]: process started with pid [15778]
                [INFO] [spawn_entity.py-4]: process started with pid [15780]
                [robot_state_publisher-1] [INFO] [1726929850.319091967] [robot_state_publisher]: got segment back_caster_link
                [robot_state_publisher-1] [INFO] [1726929850.319458358] [robot_state_publisher]: got segment base_footprint
                [robot_state_publisher-1] [INFO] [1726929850.319499604] [robot_state_publisher]: got segment base_link
                [robot_state_publisher-1] [INFO] [1726929850.319515421] [robot_state_publisher]: got segment camera_link
                [robot_state_publisher-1] [INFO] [1726929850.319529850] [robot_state_publisher]: got segment front_caster_link
                [robot_state_publisher-1] [INFO] [1726929850.319544763] [robot_state_publisher]: got segment imu_link
                [robot_state_publisher-1] [INFO] [1726929850.319558126] [robot_state_publisher]: got segment laser_cylinder_link
                [robot_state_publisher-1] [INFO] [1726929850.319571809] [robot_state_publisher]: got segment laser_link
                [robot_state_publisher-1] [INFO] [1726929850.319585744] [robot_state_publisher]: got segment left_wheel_link
                [robot_state_publisher-1] [INFO] [1726929850.319598997] [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]
                [spawn_entity.py-4] [INFO] [1726929851.170673259] [spawn_entity]: Spawn Entity started
                [spawn_entity.py-4] [INFO] [1726929851.171509323] [spawn_entity]: Loading entity published on topic /robot_description
                [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
                [spawn_entity.py-4] warnings.warn(
                [spawn_entity.py-4] [INFO] [1726929851.175384518] [spawn_entity]: Waiting for entity xml on /robot_description
                [spawn_entity.py-4] [INFO] [1726929851.293758343] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
                [spawn_entity.py-4] [INFO] [1726929851.294983414] [spawn_entity]: Waiting for service /spawn_entity
                [gzserver-2] [Msg] Waiting for master.
                [gzserver-2] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
                [gzserver-2] [Msg] Publicized address: 192.168.137.130
                [gzserver-2] Error [parser.cc:749] Could not find model.config or manifest.xml in [/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
                [gzserver-2] Error [parser.cc:397] File [] doesn't exist.
                [gzserver-2] [Err] [Server.cc:479] Unable to read sdf file[/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
                [gzserver-2] [Wrn] [Server.cc:381] Falling back on worlds/empty.world
                [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.137.130
                [gzclient-3] [Wrn] [GuiIface.cc:120] Could not find the Qt platform plugin "wayland" in ""
                [spawn_entity.py-4] [INFO] [1726929852.555628969] [spawn_entity]: Calling service /spawn_entity
                [spawn_entity.py-4] [INFO] [1726929852.767343471] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [fishbot]
                [INFO] [spawn_entity.py-4]: process has finished cleanly [pid 15780]
                [gzclient-3] context mismatch in svga_surface_destroy
                [gzclient-3] context mismatch in svga_surface_destroy
                [gzclient-3] context mismatch in svga_surface_destroy
                [gzclient-3] context mismatch in svga_surface_destroy
                [gzclient-3] [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
                [INFO] [gzclient-3]: process has finished cleanly [pid 15778]
                [gzclient-3]
                [gzclient-3]
                ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
                [robot_state_publisher-1] [INFO] [1726929963.194552833] [rclcpp]: signal_handler(signum=2)
                [gzserver-2] [Msg] Loading world file [/usr/share/gazebo-11/worlds/empty.world]
                [INFO] [robot_state_publisher-1]: process has finished cleanly [pid 15774]
                [INFO] [gzserver-2]: process has finished cleanly [pid 15776]
                [gzserver-2]
                [gzserver-2]

                在安装qtwayland5即sudo apt-get install qtwayland5后再次运行程序出现如下报错:

                [INFO] [launch]: All log files can be found below /home/dong/.ros/log/2024-09-21-23-57-37-636102-dong-virtual-machine-22426
                [INFO] [launch]: Default logging verbosity is set to INFO
                [INFO] [robot_state_publisher-1]: process started with pid [22428]
                [INFO] [gzserver-2]: process started with pid [22430]
                [INFO] [gzclient-3]: process started with pid [22432]
                [INFO] [spawn_entity.py-4]: process started with pid [22434]
                [robot_state_publisher-1] [INFO] [1726934259.090423074] [robot_state_publisher]: got segment back_caster_link
                [robot_state_publisher-1] [INFO] [1726934259.091564628] [robot_state_publisher]: got segment base_footprint
                [robot_state_publisher-1] [INFO] [1726934259.091668863] [robot_state_publisher]: got segment base_link
                [robot_state_publisher-1] [INFO] [1726934259.091686071] [robot_state_publisher]: got segment camera_link
                [robot_state_publisher-1] [INFO] [1726934259.091694315] [robot_state_publisher]: got segment front_caster_link
                [robot_state_publisher-1] [INFO] [1726934259.091724412] [robot_state_publisher]: got segment imu_link
                [robot_state_publisher-1] [INFO] [1726934259.091740840] [robot_state_publisher]: got segment laser_cylinder_link
                [robot_state_publisher-1] [INFO] [1726934259.091749568] [robot_state_publisher]: got segment laser_link
                [robot_state_publisher-1] [INFO] [1726934259.091757052] [robot_state_publisher]: got segment left_wheel_link
                [robot_state_publisher-1] [INFO] [1726934259.091764544] [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]
                [spawn_entity.py-4] [INFO] [1726934260.028990229] [spawn_entity]: Spawn Entity started
                [spawn_entity.py-4] [INFO] [1726934260.029878669] [spawn_entity]: Loading entity published on topic /robot_description
                [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
                [spawn_entity.py-4] warnings.warn(
                [spawn_entity.py-4] [INFO] [1726934260.039814343] [spawn_entity]: Waiting for entity xml on /robot_description
                [spawn_entity.py-4] [INFO] [1726934260.063932616] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
                [spawn_entity.py-4] [INFO] [1726934260.067932820] [spawn_entity]: Waiting for service /spawn_entity
                [spawn_entity.py-4] [INFO] [1726934261.353630072] [spawn_entity]: Calling service /spawn_entity
                [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.137.130
                [gzclient-3] [Wrn] [GuiIface.cc:120] QSocketNotifier: Can only be used with threads started with QThread
                [spawn_entity.py-4] [INFO] [1726934261.565882792] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [fishbot]
                [INFO] [spawn_entity.py-4]: process has finished cleanly [pid 22434]
                [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 22432, exit code -6, cmd 'gzclient --verbose'].
                [gzclient-3]

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

                  从您提供的错误信息和日志中,我们可以看到几个关键的问题点,这些问题导致了 Gazebo 无法正常运行。下面是一些分析和建议的解决步骤:

                  1. model.config 或 manifest.xml 文件缺失

                  错误信息:

                  [gzserver-2] Error [parser.cc:749] Could not find model.config or manifest.xml in [/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
                  [gzserver-2] Error [parser.cc:397] File [] doesn't exist.
                  [gzserver-2] [Err] [Server.cc:479] Unable to read sdf file[/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
                  

                  解决步骤:

                  • 检查 /home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world 文件的路径和内容。确认这个文件是一个 SDF (Simulation Description Format) 文件,而不是 XML 文件或其他类型。
                  • 如果 custom_room.world 应该是一个包含机器人模型的世界文件,它应该引用模型文件而不是包含模型定义。通常,模型定义在 .urdf 或 .sdf 文件中,并通过 <include> 标签在 .world 文件中引用。
                  • 检查模型文件(如 URDF 或 SDF)是否存在,并确保它们的路径在 .world 文件中正确引用。

                  2. Qt 平台插件问题

                  错误信息:

                  [gzclient-3] [Wrn] [GuiIface.cc:120] Could not find the Qt platform plugin "wayland" in ""
                  [gzclient-3] [Wrn] [GuiIface.cc:120] QSocketNotifier: Can only be used with threads started with QThread
                  

                  解决步骤:

                  • 这些警告可能表明 Gazebo 客户端(gzclient)在尝试使用 Qt GUI 时遇到了问题。首先,确保您的系统安装了所有必要的 Qt 库和插件。
                  • 尝试运行 export QT_DEBUG_PLUGINS=1 并在运行 gzclient 之前设置此环境变量,以查看更详细的插件加载信息。
                  • 如果您正在使用虚拟机,请确保虚拟机配置支持 GUI 应用程序。

                  3. 渲染窗口创建失败

                  错误信息:

                  [gzclient-3] [Err] [WindowManager.cc:132] Unable to create the rendering window
                  ...
                  [gzclient-3] terminate called after throwing an instance of 'gazebo::common::Exception'
                  

                  解决步骤:

                  • 这通常与图形驱动或硬件加速设置有关。尝试更新您的图形驱动程序。
                  • 如果您在虚拟机中运行 Gazebo,请确保分配给虚拟机的视频内存足够,并且启用了 3D 加速。
                  • 检查是否有其他图形密集型应用程序正在运行,这些应用程序可能会占用大量 GPU 资源。

                  总结

                  解决这些问题可能需要一些系统级的配置和调试。首先,确保所有文件路径和类型都是正确的,并且所有必要的库和插件都已安装。其次,检查图形驱动程序和硬件加速设置。最后,如果问题仍然存在,您可能需要考虑在更强大的硬件或更稳定的操作系统环境中运行 Gazebo。


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

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

                  1 条回复 最后回复 回复 引用 0
                  • 小鱼小
                    小鱼 技术大佬 @DDDDDDDDkiss
                    最后由 编辑

                    @DDDDDDDDkiss 第一章安装ROS,你跟着做了吗

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

                    D 1 条回复 最后回复 回复 引用 0
                    • 小鱼小
                      小鱼 技术大佬 @DDDDDDDDkiss
                      最后由 编辑

                      @DDDDDDDDkiss 在 教材6.4.2在Gazebo中加载机器人,构建完成功能包后启动gazebo_sim.launch.py显示找不到gazebo_ros功能包 中说:

                      'xacro/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro'

                      这个代码是手写的吗,注意 xacro 后面有一个空格,你忘记输入了

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

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

                        @小鱼 是的,忘记了一个空格😞

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

                          @小鱼 没有,我是九月初开始学习的ros2,第一次接触,然后在b站找教程,看了很多后才发现您的《ROS2机器人开发从入门到实践》这个教程,感觉这个非常适合我这样的新手学习,然后才买的书,在这之前自己装的ros。

                          问题出在没有sudo apt update 导致这个包安装不上。

                          感谢大佬您的教程😳 👼

                          1 条回复 最后回复 回复 引用 0
                          • D
                            DDDDDDDDkiss
                            最后由 编辑

                            问题描述:

                            运行gazebo_sim.launch.py后提示spawn_entity.py进程在尝试调用spawn服务时失败了,可能原因是无法找到模型配置文件(model.config)

                            具体细节和上下文:
                            具体报错如下:
                            [INFO] [launch]: All log files can be found below /home/dong/.ros/log/2024-09-23-12-30-25-553301-dong-virtual-machine-15121
                            [INFO] [launch]: Default logging verbosity is set to INFO
                            [INFO] [robot_state_publisher-1]: process started with pid [15138]
                            [INFO] [gzserver-2]: process started with pid [15140]
                            [INFO] [gzclient-3]: process started with pid [15142]
                            [INFO] [spawn_entity.py-4]: process started with pid [15144]
                            [robot_state_publisher-1] [INFO] [1727065827.205263644] [robot_state_publisher]: got segment back_caster_link
                            [robot_state_publisher-1] [INFO] [1727065827.205535477] [robot_state_publisher]: got segment base_footprint
                            [robot_state_publisher-1] [INFO] [1727065827.205563055] [robot_state_publisher]: got segment base_link
                            [robot_state_publisher-1] [INFO] [1727065827.205573539] [robot_state_publisher]: got segment camera_link
                            [robot_state_publisher-1] [INFO] [1727065827.205581927] [robot_state_publisher]: got segment camera_optical_link
                            [robot_state_publisher-1] [INFO] [1727065827.205590164] [robot_state_publisher]: got segment front_caster_link
                            [robot_state_publisher-1] [INFO] [1727065827.205597940] [robot_state_publisher]: got segment imu_link
                            [robot_state_publisher-1] [INFO] [1727065827.205606046] [robot_state_publisher]: got segment laser_cylinder_link
                            [robot_state_publisher-1] [INFO] [1727065827.205614362] [robot_state_publisher]: got segment laser_link
                            [robot_state_publisher-1] [INFO] [1727065827.205622092] [robot_state_publisher]: got segment left_wheel_link
                            [robot_state_publisher-1] [INFO] [1727065827.205629766] [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]
                            [spawn_entity.py-4] [INFO] [1727065828.015673602] [spawn_entity]: Spawn Entity started
                            [spawn_entity.py-4] [INFO] [1727065828.016492121] [spawn_entity]: Loading entity published on topic /robot_description
                            [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
                            [spawn_entity.py-4] warnings.warn(
                            [spawn_entity.py-4] [INFO] [1727065828.023057714] [spawn_entity]: Waiting for entity xml on /robot_description
                            [spawn_entity.py-4] [INFO] [1727065828.036947100] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
                            [spawn_entity.py-4] [INFO] [1727065828.037622856] [spawn_entity]: Waiting for service /spawn_entity
                            [spawn_entity.py-4] [INFO] [1727065829.050763935] [spawn_entity]: Calling service /spawn_entity
                            [gzserver-2] [Msg] Waiting for master.
                            [gzserver-2] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
                            [gzserver-2] [Msg] Publicized address: 192.168.137.131
                            [gzserver-2] [Msg] Loading world file [/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/world/custom_room.world]
                            [gzserver-2] Warning [parser_urdf.cc:1134] multiple inconsistent <name> exists due to fixed joint reduction overwriting previous value [Gazebo/Black] with [Gazebo/Red].
                            [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.137.131
                            [gzclient-3] [Wrn] [GuiIface.cc:120] Could not find the Qt platform plugin "wayland" in ""
                            [spawn_entity.py-4] [INFO] [1727065829.128184094] [spawn_entity]: Spawn status: Entity pushed to spawn queue, but spawn service timed outwaiting for entity to appear in simulation under the name [fishbot]
                            [spawn_entity.py-4] [ERROR] [1727065829.128925697] [spawn_entity]: Spawn service failed. Exiting.
                            [ERROR] [spawn_entity.py-4]: process has died [pid 15144, exit code 1, cmd '/opt/ros/humble/lib/gazebo_ros/spawn_entity.py -topic /robot_description -entity fishbot --ros-args'].
                            [gzclient-3] [Err] [InsertModelWidget.cc:403] Missing model.config for model "/home/dong/.gazebo/models/.git"
                            [gzserver-2] [INFO] [1727065829.765332832] [depth_camera]: Publishing camera info to [/camera_sensor/camera_info]
                            [gzserver-2] [INFO] [1727065829.767365729] [depth_camera]: Publishing depth camera info to [/camera_sensor/depth/camera_info]
                            [gzserver-2] [INFO] [1727065829.768455704] [depth_camera]: Publishing pointcloud to [/camera_sensor/points]
                            [gzserver-2] [INFO] [1727065829.884487163] [diff_drive]: Wheel pair 1 separation set to [0.200000m]
                            [gzserver-2] [INFO] [1727065829.884669346] [diff_drive]: Wheel pair 1 diameter set to [0.064000m]
                            [gzserver-2] [INFO] [1727065829.888237623] [diff_drive]: Subscribed to [/cmd_vel]
                            [gzserver-2] [INFO] [1727065829.895102647] [diff_drive]: Advertise odometry on [/odom]
                            [gzserver-2] [INFO] [1727065829.902048080] [diff_drive]: Publishing odom transforms between [odom] and [base_footprint]
                            [gzserver-2] [INFO] [1727065829.902136939] [diff_drive]: Publishing wheel transforms between [base_footprint], [left_wheel_joint] and [right_wheel_joint]
                            [gzserver-2] [INFO] [1727065829.966219140] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin
                            [gzserver-2] [INFO] [1727065829.977396045] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /
                            [gzserver-2] [INFO] [1727065829.977612410] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control
                            [gzserver-2] [INFO] [1727065829.992655156] [gazebo_ros2_control]: connected to service!! robot_state_publisher
                            [gzserver-2] [INFO] [1727065830.000029429] [gazebo_ros2_control]: Received urdf from param server, parsing...
                            [gzserver-2] [INFO] [1727065830.000223156] [gazebo_ros2_control]: Loading parameter files /home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/config/fishbot_ros2_controller.yaml
                            [gzserver-2] [ERROR] [1727065830.000728011] [gazebo_ros2_control]: parser error Couldn't parse params file: '--params-file /home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/config/fishbot_ros2_controller.yaml'. Error: Error opening YAML file, at ./src/parser.c:270, at ./src/rcl/arguments.c:406
                            [gzserver-2]
                            [gzclient-3] context mismatch in svga_surface_destroy
                            [gzclient-3] context mismatch in svga_surface_destroy
                            [gzserver-2] [Wrn] [Publisher.cc:135] Queue limit reached for topic /gazebo/default/pose/local/info, deleting message. This warning is printed only once.
                            [gzclient-3] [Wrn] [Publisher.cc:135] Queue limit reached for topic /gazebo/default/user_camera/pose, deleting message. This warning is printed only once.
                            b7f23ccf-ba09-4522-8c22-1e6bcc73e10f-image.png
                            7612acd6-e493-41ec-9acb-120479cff9bf-image.png

                            小鱼小 1 条回复 最后回复 回复 引用 0
                            • 小鱼小
                              小鱼 技术大佬 @DDDDDDDDkiss
                              最后由 编辑

                              @DDDDDDDDkiss 1.格式 2.一个问题一个帖子
                              https://fishros.org.cn/forum/topic/151/提问前必看-不符合要求的问题拒绝回答

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

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