1

我有一个 Kuka 手臂和一些在我的模拟中设置的对象(非常类似于操纵站示例),并且每当机器人与对象之间有接触时,我都会遇到下面的 coredump 错误。

“中止:在 CalcImplicitStribeckResults() 中的 multibody/plant/multibody_plant.cc:1640 失败:条件 'info == ImplicitStribeckSolverResult::kSuccess' 失败。中止(核心转储)”

减小模拟器的集成步长并没有帮助,所以我最终追溯了错误并注释掉了导致 的条件error( "DRAKE_DEMAND(info == ImplicitStribeckSolverResult::kSuccess);" ),这似乎不太经常发生 coredump。

但是,我猜这种情况是有原因的,那么注释掉线会导致模拟中的任何其他问题吗?解决核心转储问题的正确方法是什么?

4

1 回答 1

0

在 Drake PR #12503中,ImplicitStribeck代码被重构以反映TAMSI arXiv 论文中的符号,并且在#12361中它被更改以提供更有用的异常与故障排除提示:

https://github.com/RobotLocomotion/drake/blob/v0.15.0/multibody/plant/multibody_plant.cc#L1866-L1878

您可以尝试更新版本(例如 0.15.0),然后尝试那里的故障排除说明吗?(您已经尝试在模拟器中更改步长,但您可能需要检查整个系统的刚度等)

于 2020-02-23T15:59:45.813 回答