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

MeshcatVisualizer仿真过快及初始缩放设置问题咨询

解决MeshcatVisualizer仿真速度与视图缩放问题

一、减慢仿真帧率/调整时间流速

你可以通过实时速率限制控制仿真时间流速,让仿真和现实时间同步或放慢,两种实现方式如下:

方法1:设置仿真器目标实时速率

在创建Simulator后直接配置速率参数,数值越小仿真越慢:

simulator = Simulator(plant)
# 设置为0.5表示仿真速度是现实时间的一半,可根据需求调整
simulator.set_target_realtime_rate(0.5)

方法2:添加实时速率限制器到系统构建器

如果用DiagramBuilder搭建系统,可通过RealTimeRateLimiter限制可视化更新频率:

from drake.systems.primitives import RealTimeRateLimiter

# 添加速率限制器,0.05秒对应20帧/秒,数值越大帧率越低
rate_limiter = builder.AddSystem(RealTimeRateLimiter(0.05, plant.num_positions() + plant.num_velocities()))
builder.Connect(plant.get_state_output_port(), rate_limiter.get_input_port())
# 将限制后的状态输出连接到可视化器
MeshcatVisualizer.AddToBuilder(builder, scene_graph, meshcat, rate_limiter.get_output_port())

二、设置初始缩放比例(保留3D效果)

不要使用Set2DRenderMode,直接通过配置Meshcat相机初始姿态控制缩放和视角,在你的现有代码中插入相机设置即可:

meshcat.Delete()
meshcat.ResetRenderMode()
# 调整相机位置的数值控制缩放:z轴数值越大,视角越远(缩放程度越小)
meshcat.SetCameraPose(
    camera_pos=[10.0, 0.0, 10.0],  # 相机空间位置
    target_pos=[0.0, 0.0, 0.0],    # 相机观察的目标点
    up=[0.0, 0.0, 1.0]             # 视图向上方向
)
MeshcatVisualizer.AddToBuilder(builder, scene_graph, meshcat)

如果需要自定义视角,也可以在Meshcat网页界面调整好视角后,点击右上角「Save Camera」,将生成的代码复制到脚本中复用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:28:14