Как запустить несколько move_group для разных роботов в одной системе - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь смоделировать в Беседке нескольких роботов (KUKA, UR5 и Franka Panda).В файл URDF включены все роботы для симуляции и с помощью Moveit сделана отдельная группа рук из всех трех роботов.С помощью Moveit Commander я могу управлять роботом, и он работает нормально.Проблема в том, что я пытаюсь управлять всем роботом одновременно с помощью командующего Moveit.Если один робот работает, то другой робот не будет работать, даже если я прикажу ему.Есть ли способ, которым я могу работать все три робота одновременно.

1 Ответ

0 голосов
/ 03 марта 2019

Я не очень знаком с MoveIt.Однако я знаю, что вы должны быть осторожны при запуске нескольких систем на одном roscore.Вот некоторые вещи, которые следует учитывать:

  1. Вы хотите убедиться, что все темы отделены и каждый узел подписывается и публикует соответствующие темы.
  2. Для TF все сообщения относятся к одной теме, здесь необходимо убедиться, что существует только одно действительное дерево, идущее сверху вниз от фрейма мира к каждому роботу.Если дерево неверно, оно ломает другие несвязанные вещи.
  3. Из моего опыта у вас есть два варианта, либо разделить всех разных роботов на разные roscores, используя multimaster .Как только вы это сделаете, каждый из них может иметь свои собственные TF, и вы сможете делиться только необходимыми сообщениями между ними.В качестве альтернативы, вы должны убедиться, что дерево TF правильно выделено для правильного функционирования узлов.

Надеюсь, это поможет ...

...