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

Ubuntu Jammy下替代drake_visualizer评估仿真实时率的方案问询

仿真实时率评估的替代方案(Ubuntu Jammy + Meldis)

针对你在Ubuntu Jammy中替换drake_visualizer后需要评估仿真实时率的需求,以下是几个等效且更友好的方案:

  • Meldis内置状态栏监控
    Meldis默认在界面底部状态栏显示实时率(Real-Time Rate),数值含义和drake_visualizer完全一致——即仿真步长与实际耗时的比值,直接反映仿真的实时性能。如果状态栏未显示,可通过顶部菜单View > Show Status Bar开启。

  • 命令行轻量监控工具
    若偏好命令行工作流,可使用Drake提供的drake-monitor工具(通过bazel run @drake//tools:monitor启动),它会持续输出仿真的实时率、系统负载等关键指标,无需打开图形界面。

  • 自定义LCM订阅脚本
    针对lcm-spy干扰性强的问题,你可以写一个极简Python脚本,仅订阅你关注的仿真状态通道,精准计算实时率。示例代码如下:

    import lcm
    import time
    from drake_lcmtypes.drake import SystemSnapshot
    
    last_timestamp = None
    rate_window = []
    SIMULATION_STEP = 0.01  # 根据你的仿真配置调整步长
    
    def snapshot_handler(channel, data):
        global last_timestamp
        current_time = time.time()
        if last_timestamp:
            elapsed_real = current_time - last_timestamp
            real_time_rate = SIMULATION_STEP / elapsed_real
            rate_window.append(real_time_rate)
            # 每5次采样输出一次平均率
            if len(rate_window) == 5:
                avg_rate = sum(rate_window) / len(rate_window)
                print(f"Avg Real-Time Rate: {avg_rate:.2f}")
                rate_window.clear()
        last_timestamp = current_time
    
    lc = lcm.LCM()
    lc.subscribe("DRAKE_SYSTEM_SNAPSHOT", snapshot_handler)
    
    try:
        while True:
            lc.handle_timeout(100)
    except KeyboardInterrupt:
        print("\nMonitoring stopped.")
    

    替换SIMULATION_STEP为你的实际仿真步长,订阅通道可根据需求调整(比如自定义的仿真状态发布通道),这样只会聚焦目标数据,不会产生多余干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:05:43