我在 Drake 中有一个工作机器人模拟。现在我想输出接触力。 ChatGPT 和这篇文章建议:
const auto& contact_results =
plant.get_contact_results_output_port().Eval<ContactResults<double>>(plant_context);
然而,当我介绍这行代码时,Drake 就抱怨代数环。我理解代数环的概念,但我不会将值反馈回系统,我只是想计算它们。
为什么会发生这种情况?我可以采取什么措施来解决它?
最后的问题是我尝试从不同的线程读取联系信息,而不使用互斥体或任何东西,所以它与代数循环无关。 正确的方法是从每一步执行的监视器回调内部进行。