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

Pydrake仿真初始状态不符:控制器连接致Meshcat显示异常

Pydrake仿真初始化姿态偏差问题

我在使用Pydrake进行仿真时遇到以下问题:尝试将机器人初始化至特定位姿,但Meshcat中t=0时的显示接近预期却存在偏差。我通过逆运动学求解让机器人初始位于梯子上,预期状态下机器人末端执行器(紫色箭头处)准确对准目标位置,实际状态里该部位偏差尤为明显,启用碰撞检测后仿真甚至可能从碰撞状态开始运行。

我怀疑问题与控制器的连接方式有关,相关代码如下:

# connect up the controller
controller = builder.AddSystem(BasicController(plant))
builder.Connect(controller.GetOutputPort("torques"),
                plant.get_actuation_input_port(parcli))
builder.Connect(plant.get_state_output_port(),
                controller.GetInputPort("state"))

使用上述代码会出现异常;但注释掉第一条builder.Connect()语句,或保留该语句但让控制器始终输出零扭矩时,状态显示就恢复正常了。

我感觉Meshcat/可视化工具将t=0视为已运行多个时间步后的状态,我的仿真可视化代码如下:

# Run the simulation 
meshcat.StartRecording()
finish_time = 1
simulator.AdvanceTo(finish_time)
meshcat.PublishRecording()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:22:23