小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
教材6.4.2在Gazebo中加载机器人,构建完成功能包后启动gazebo_sim.launch.py显示找不到gazebo_ros功能包
-
###标题:在Gazebo中加载机器人,构建完成功能包后启动gazebo_sim.launch.py显示找不到gazebo_ros功能包
背景(可选):想要在复现6.4.2章节,在Gazebo中加载机器人模型
问题描述:
构建完成功能包后启动gazebo_sim.launch.py提示找不到gazebo_ros功能包
具体细节和上下文:
具体报错如下
[INFO] [launch]: All log files can be found below /home/dong/.ros/log/2024-09-21-16-11-36-579653-dong-virtual-machine-6749
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): Caught multiple exceptions when trying to load file of format [py]:- PackageNotFoundError: "package 'gazebo_ros' not found, searching: ['/home/dong/chapt6/chapt6_ws/install/fishbot_description', '/opt/ros/humble']"
- InvalidFrontendLaunchFileError: The launch file may have a syntax error, or its format is unknown
尝试过的解决方法:
可能是因为gazebo-ros-pkgs插件没有装好,在运行sudo apt install ros-$ROS_DISTRO-gazebo-ros-pkgs
后显示
相关网站显示404 Not Found
-
你遇到的问题主要是关于在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)上寻求帮助。
希望这些步骤能帮助你解决问题!如果还有其他问题,欢迎继续提问。
以上为生成回答,仅供参考~
-
@小伊 谢谢,这个问题解决了,但是又遇到一个新问题
问题描述:
尝试加载 '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'
尝试过的解决办法:
构建功能包后,利用xacro将fishbot.urdf.xacro转换成URDF格式,但还是不行,并且fishbot.urdf.xacro确定是在该路径下
-
从你提供的错误信息来看,问题出在文件路径的处理上。错误信息中显示的路径
'xacro/home/dong/chapt6/chapt6_ws/install/fishbot_description/share/fishbot_description/urdf/fishbot/fishbot.urdf.xacro'
看起来像是路径拼接错误,因为它以'xacro/'
开头,这通常不是文件系统中的实际路径。解决步骤
-
检查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 ...)
来查找包的路径,这样可以确保无论工作空间的位置如何,都能正确地找到文件。 -
检查文件位置:
确保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
如果文件不存在,你需要检查你的构建过程是否成功地将文件安装到了正确的位置。
-
重新构建工作空间:
如果文件位置正确但问题依旧,尝试重新构建你的工作空间:cd ~/chapt6/chapt6_ws catkin clean catkin build source devel/setup.bash
确保在构建完成后重新加载环境变量。
-
检查ROS环境变量:
确保ROS_PACKAGE_PATH
环境变量包含了你的工作空间的src
目录。你可以通过打印该环境变量来检查:echo $ROS_PACKAGE_PATH
如果未包含,你可能需要添加它到你的
.bashrc
或.bash_profile
文件中。 -
检查权限问题:
确保你有足够的权限访问该文件。你可以使用chmod
和chown
命令来修改文件权限和所有权。 -
运行仿真:
在完成上述步骤后,尝试再次运行你的gazebo_sim.launch.py
文件。
如果以上步骤都不能解决问题,你可能需要查看更详细的调试信息或日志,以确定问题的根源。
以上为生成回答,仅供参考~
-
-
此回复已被删除! -
您遇到的错误
[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)无法正确创建渲染窗口。这通常与图形驱动、环境设置或资源限制有关。以下是一些可能的解决步骤:-
检查图形驱动:
- 确保您的系统安装了正确的图形驱动,并且是最新的。如果您使用的是 NVIDIA 显卡,请确保安装了 NVIDIA 驱动。
- 如果您是在虚拟机中运行 Gazebo,请确保虚拟机的图形内存分配足够(例如,在 VMware 或 VirtualBox 中增加显存)。
-
使用软件渲染:
- 尝试使用软件渲染而不是硬件加速。这可以通过设置环境变量
MESA_GL_VERSION_OVERRIDE
来实现,尽管这通常不推荐用于生产环境,因为它会降低性能。 - 在命令行中运行:
export MESA_GL_VERSION_OVERRIDE=3.3 compatible profile
,然后再次尝试启动 Gazebo。
- 尝试使用软件渲染而不是硬件加速。这可以通过设置环境变量
-
检查资源限制:
- 确保系统没有资源限制(如内存不足、CPU 使用率过高等)。
- 使用系统监视工具(如
top
,htop
,free -m
)来检查资源使用情况。
-
使用 Xvfb(如果不需要 GUI):
- 如果您不需要 GUI,可以考虑使用 Xvfb(X Virtual Framebuffer)来运行 Gazebo。这可以通过在
.bashrc
或.zshrc
文件中设置export DISPLAY=:99.0
和使用Xvfb :99 -screen 0 1024x768x24 &
来启动 Xvfb 实现。
- 如果您不需要 GUI,可以考虑使用 Xvfb(X Virtual Framebuffer)来运行 Gazebo。这可以通过在
-
检查 Gazebo 和 ROS 的版本兼容性:
- 确保您安装的 Gazebo 和 ROS 版本是相互兼容的。有时候,新版本的 ROS 可能不完全支持最新版本的 Gazebo,或者需要特定的配置。
-
查看日志文件:
- 检查 Gazebo 和 ROS 的日志文件,看是否有更详细的错误信息。这些日志文件通常位于
~/.ros/log/
目录下。
- 检查 Gazebo 和 ROS 的日志文件,看是否有更详细的错误信息。这些日志文件通常位于
-
重新安装 Gazebo:
- 如果上述步骤都不能解决问题,尝试卸载并重新安装 Gazebo。
-
搜索相似问题:
- 在网上搜索类似的错误信息和解决方案,看看是否有其他用户遇到过相同的问题。
希望这些步骤能帮助您解决问题!如果问题仍然存在,请提供更多的系统信息和配置细节,以便进一步分析。
以上为生成回答,仅供参考~
-
-
问题描述:
无法正常运行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] -
从您提供的错误信息和日志中,我们可以看到几个关键的问题点,这些问题导致了 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。
以上为生成回答,仅供参考~
- 检查
-
@DDDDDDDDkiss 第一章安装ROS,你跟着做了吗
-
@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 后面有一个空格,你忘记输入了
-
@小鱼 是的,忘记了一个空格
-
@小鱼 没有,我是九月初开始学习的ros2,第一次接触,然后在b站找教程,看了很多后才发现您的《ROS2机器人开发从入门到实践》这个教程,感觉这个非常适合我这样的新手学习,然后才买的书,在这之前自己装的ros。
问题出在没有sudo apt update 导致这个包安装不上。
感谢大佬您的教程
-
问题描述:
运行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.
-