Создание симуляции захвата и перемещения напитков с помощью Isaac Sim


В данной статье рассматривается процесс создания симуляции задачи захвата и перемещения напитков с использованием манипулятора UR17G, захвата Robotiq 2F-140 и банки с напитком в среде Isaac Sim. Мы подробно разберем, как подготовить сцену, проверить поведение объектов и запустить пример с управлением, сгенерированным агентом.

Что такое SimReady?

SimReady — это концепция, которая подразумевает, что активы OpenUSD подготовлены с необходимыми свойствами для определенного сценария симуляции, включая столкновения, массу, суставы и приводы суставов. SimReady Central — это открытая библиотека активов на Hugging Face, которая позволяет повторно использовать роботов и объекты с авторизованными свойствами симуляции и доказательствами валидации профиля.

Основные характеристики SimReady

SimReady Foundation определяет, какие характеристики необходимы активу OpenUSD для использования в симуляции. Спецификации соединяют три уровня:
  • Профиль: группа характеристик для конкретного сценария, например, тело робота.
  • Характеристики: возможности, необходимые для сценария, такие как управляемые суставы.
  • Требования: проверки настроек, необходимых для каждой характеристики, например, настройки привода сустава.
  • Для нашей задачи важными свойствами являются суставы манипулятора и захвата, а также столкновения и масса банки с напитком. Валидация проверяет эти настройки на соответствие требованиям профиля. Затем симуляция тестирует, может ли собранный робот использовать их для захвата и перемещения банки.

    Комплектация активов

    Пакеты UR17G, Robotiq 2F-140 и банки с напитком включают модели и их настройки симуляции. Вам необходимо собрать сцену и добавить код задачи для определения сборки манипулятора и захвата, рабочей поверхности, начальных позиций и управления движением манипулятора и открытием/закрытием захвата.

    Проверка перед запуском задачи

    Перед запуском задачи захвата и перемещения необходимо убедиться, что робот может корректно взаимодействовать с объектами. Проверьте следующие параметры:
  • Настройки суставов: проверьте ограничения и настройки привода суставов манипулятора и захвата.
  • Движение: протестируйте небольшое движение манипулятора и открытие/закрытие захвата.
  • Контакт: убедитесь, что банка находится на рабочей поверхности и не проваливается сквозь нее.
  • Создание симуляции захвата и перемещения в Isaac Sim

    В этом примере мы объединим манипулятор UR17G, захват Robotiq 2F-140 и банку с напитком в Isaac Sim. Задача состоит в том, чтобы захватить банку, поднять ее, переместить к цели и отпустить.

    Шаг 1: Загрузка активов

    Откройте SimReady Central и найдите активы UR17G, Robotiq 2F-140 и банки с напитком. Выберите опцию загрузки для каждого актива и сохраните их в папку. Убедитесь, что все три папки активов остаются целыми, чтобы Isaac Sim мог найти их вспомогательные файлы.

    Шаг 2: Сборка робота и компоновка сцены

    С помощью вашего агента с навыками Isaac Sim соберите робота, запустите инструменты валидации и создайте управление для захвата и перемещения. Запустите Isaac Sim с включенным удаленным сервером Python, чтобы агент мог взаимодействовать с симуляцией через Python. Убедитесь, что все три актива отображаются без ошибок отсутствующих файлов.

    Шаг 3: Тестирование управления и запуск задачи

    Теперь, когда активы включают свойства симуляции и валидацию профиля, мы можем протестировать их в собранной сцене и с контроллером. Контроллер координирует движение манипулятора UR17G с открытием и закрытием захвата Robotiq 2F-140. Используйте проверки поведения для оценки задачи, сгенерированной агентом.

    Заключение

    Создайте свою собственную задачу захвата и перемещения с активами из SimReady Central, а затем используйте агента для помощи в сборке сцены и ее запуске в Isaac Sim. Исследуйте активы, находите роботов и объекты, а также делитесь своими результатами в комментариях на Hugging Face.

    Комментарии (0)

    Войдите, чтобы оставлять комментарии.
    Пока нет комментариев. Будьте первым!