You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS中Gazebo无法加载自定义机器人,卡在等待/gazebo/spawn_urdf_model服务

解决ROS中Gazebo未启动导致机器人模型无法生成的问题

你的launch文件仅启动了spawn_model节点,没有启动Gazebo仿真环境,因此spawn_model会一直等待Gazebo提供的/gazebo/spawn_urdf_model服务,最终导致进程停滞、Gazebo窗口无法打开。以下是具体解决思路:

1. 修改launch文件,添加Gazebo启动逻辑

在原launch文件中加入启动Gazebo的代码,推荐使用官方的empty_world.launch(适合空场景测试),修改后的示例如下:

<?xml version="1.0" ?>

<launch>
    <!-- 启动Gazebo空世界,确保GUI显示 -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="gui" value="true" />
    </include>

    <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find mrm_description)/urdf/mrm.xacro'"/>

    <arg name="x" default="0"/>
    <arg name="y" default="0"/>
    <arg name="z" default="0.5"/>

    <node name="mybot_spawn" pkg="gazebo_ros" type="spawn_model" output="screen" 
        args="-param robot_description -urdf -model mrm -x $(arg x) -y $(arg y) -z $(arg z)"/>

</launch>

2. 分步验证排查

  • 先单独启动Gazebo:执行roslaunch gazebo_ros empty_world.launch,确认Gazebo窗口正常打开。
  • 新开终端运行你原来的spawn.launch文件,如果此时机器人能正常生成,即可确认问题根源是原launch缺少Gazebo启动步骤。

3. 额外检查项

  • 确保gazebo_ros包已正确安装:针对Noetic版本执行sudo apt install ros-noetic-gazebo-ros,其他ROS版本替换对应版本号即可。
  • 确认工作区已编译并source:执行catkin_make(或catkin build)后,运行source devel/setup.bash。

内容的提问来源于stack exchange,提问作者lorenzo21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:05:37