Drake - Coredump в симуляции, когда есть контакт - PullRequest
1 голос
/ 22 февраля 2020

У меня есть рука Kuka и некоторые объекты, настроенные в моей симуляции (очень похоже на пример со станцией манипуляции), и я сталкиваюсь с ошибкой coredump ниже, когда есть контакт между роботом и объектами.

"abort: сбой в multibody / plant / multibody_plant. cc: 1640 в CalcImplicitStribeckResults (): условие 'info == ImplicitStribeckSolverResult :: kSuccess' не выполнено. Прервано (ядро сброшено)"

Уменьшение размера шага интеграции для симулятора не помогло, поэтому я в итоге отследил ошибку и прокомментировал условие, которое вызывает error( "DRAKE_DEMAND(info == ImplicitStribeckSolverResult::kSuccess);" ), который, по-видимому, coredump намного реже.

Тем не менее, я предполагаю, что условие существует по какой-то причине, поэтому комментирование строки вызовет какие-либо другие проблемы в симуляции? Как правильно исправить проблему coredump?

1 Ответ

0 голосов
/ 23 февраля 2020

В 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), а затем попробовать инструкции по устранению неполадок там? (Вы уже пытались изменить размер шага в симуляторе, но вы можете проверить жесткость всей системы, et c.)

...