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

ROS2 Jazzy下Gazebo Harmonic启动后黑屏问题求助

ROS2 Jazzy + Gazebo Harmonic 仿真黑屏问题排查与解决

问题排查与修复步骤

1. 修复时钟桥参数语法错误

你的gz_ros2_bridge节点参数缺少闭合右括号,会导致桥接启动失败,影响仿真时间同步,进而引发显示异常:

gz_ros2_bridge = Node(
    package="ros_gz_bridge",
    executable="parameter_bridge",
    arguments=[
        "/clock@rosgraph_msgs/msg/Clock[gz.msgs.Clock]"  # 补充缺失的右括号
    ]
)

2. 修正Gazebo资源路径设置

当前GZ_SIM_RESOURCE_PATH仅设置了包的父目录,Gazebo可能无法找到模型、材质等资源。建议保留系统原有资源路径的同时,添加当前描述包目录:

gazebo_resource_path = SetEnvironmentVariable(
    name="GZ_SIM_RESOURCE_PATH",
    value=[
        os.environ.get("GZ_SIM_RESOURCE_PATH", ""),  # 保留系统默认资源路径
        os.pathsep,  # 路径分隔符(Linux为:,Windows为;)
        arduinobot_description_dir,  # 添加机器人描述包目录
        os.pathsep,
        str(Path(arduinobot_description_dir).parent.resolve())
    ]
)

3. 调整Gazebo启动参数拼接格式

当前physics_engine与gz_args拼接时缺少空格,会导致参数解析错误。同时简化Harmonic版本的物理引擎参数:

# 简化物理引擎参数
physics_engine = "" if ros_distro == "humble" else "--physics-engine bullet"

# 修正Gazebo启动参数拼接
gazebo = IncludeLaunchDescription(
    PythonLaunchDescriptionSource([
        os.path.join(
            get_package_share_directory("ros_gz_sim"),
            "launch", "gz_sim.launch.py"
        )
    ]),
    launch_arguments=[
        ("gz_args", ["-v 4 -r empty.sdf ", physics_engine])  # 保留empty.sdf后的空格
    ]
)

4. 延迟Spawn实体,适配Gazebo启动节奏

Gazebo未完全初始化时就Spawn机器人,可能导致实体加载失败引发黑屏。添加延迟启动Spawn节点:

from launch.actions import TimerAction

# 替换原gz_spawn_entity定义
gz_spawn_entity = TimerAction(
    period=5.0,  # 延迟5秒,给Gazebo足够初始化时间
    actions=[
        Node(
            package="ros_gz_sim",
            executable="create",
            output="screen",
            arguments=["-topic", "robot_description", "-name", "arduinobot"]
        )
    ]
)

5. 验证URDF转SDF的正确性

即使URDF无报错,转SDF时可能存在隐性问题,手动生成并验证:

xacro path/to/arduinobot.urdf.xacro is_ignition:=False > robot.sdf
gz sdf -validate robot.sdf

若SDF验证不通过,需修复URDF中的惯性参数、材质定义等问题。

6. 查看Gazebo详细日志

启动时通过-v4输出的详细日志,搜索Error或Warning关键词,定位资源缺失、加载失败等具体问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:45:09