V-rep — гибкая и масштабируемая платформа для робомоделирования. продолжение статьи

      Комментарии к записи V-rep — гибкая и масштабируемая платформа для робомоделирования. продолжение статьи отключены

V-rep — гибкая и масштабируемая платформа для робомоделирования. продолжение статьи

Воображаю вашему вниманию перевод второй части статьи, первую часть которой мы уже публиковали, ее возможно отыскать по ссылке. В первой части мы знакомились со средой моделирования V-REP, разглядывали способы управления моделированием, возможности реализации V-REP в моделировании.

на данный момент изучим функции моделирования в V-REP и разглядим пара примеров применения платформы V-REP.

Функции моделирования в V-REP

V-REP создан на базе универсальной архитектуры, и в нем нет главного либо центрального модуля. Вместо этого V-REP складывается из довольно независимых функциональных групп, каковые смогут быть включены либо отключены по мере необходимости.

Представьте себе сценарий для моделирования, в котором промышленный робот обязан забрать коробки и переместить их в второе место. V-REP вычисляет удержания и динамику захвата коробки, а для других частей цикла, в то время, когда динамические эффекты пренебрежимо мелки, делает кинематическое моделирование. Таковой подход разрешает вычислить перемещения промышленного робота скоро и совершенно верно, что не получилось бы при полного моделирования с применением сложных динамических библиотек.

Применение для того чтобы гибридного моделирования оправдано в том случае, в то время, когда робот жестко зафиксирован и не находится под влиянием окружения.

Не считая адаптивного избирательного включения разных функциональных возможностей, V-REP может применять их совместно, заставляя одну взаимодействовать с другой. К примеру, при моделировании человекоподобного робота, V-REP может обрабатывать перемещения ног следующим методом: сперва рассчитывается инверсная кинематика для каждой ноги (т.е. неспециализированная позиция всей ноги рассчитывается от ориентации и нужного положения ступней); после этого вычисляются позиции суставов в качестве целевых для модуля динамики. Это разрешает задавать перемещения гуманоида весьма универсальным методом, т. к. для каждой ноги будет назначено перемещение повторения 6-мерного пути: остальные расчеты производятся машинально.

Функциональность относится к конкретным объектам сценария либо конкретным расчетным модулям, любой из которых обрисован потом.

Объекты моделирования

Симуляционные модели V-REP содержат пара объектов либо элементов, каковые собраны в древовидную иерархию. Ниже обрисованы сцены моделирования, поддерживаемые V-REP:

  • Сочленения : элементы, каковые связывают два либо более объекта сцены совместно, снабжая от одной до трех степеней свободы (призматические, вращательные, винтовые, либо сферические). Они смогут трудиться в разных режимах (к примеру, в силовом/ вращательном режиме, режиме обратной кинематики и др.)
  • Формы: треугольные полигональные сетки, применяемые для визуализации и моделирования жёсткого тела.
  • Бесконтактные датчики (Рисунок 3): Они вычисляют правильное минимальное расстояние к части фигуры, которая находится в пределах обнаружения. Это дает постоянную и более реалистичную симуляцию, чем обнаружение на базе громадного количества направленных лучей.
  • Визуальные датчики: визуальные датчики разрешают извлекать сложные изображения и данные из сцен моделирования (цвета, размер объектов, глубина карты и др.). Встроенная функция и фильтрация обработки изображений запускает целый блок из фильтрующих элементов. Визуальные датчики применяют аппаратное ускорение для получения RAW изображений (помощь OpenGL).

Датчики силы: они являются твёрдые связи между фигурами, каковые смогут записывать приложенные силы и крутящие моменты, и каковые смогут разрушаться при превышении заданного порога.

  • Графики: графики смогут записывать громадное разнообразие предопределенных либо пользовательских потоков данных. Потоки данных после этого смогут быть отображены напрямую (график по времени заданного типа данных), либо в сочетании между собой для отображения X/Y графиков, либо 3D кривых.
  • Камеры: они разрешают визуализировать сцены, каковые зависят от точки наблюдения.
  • Освещение: освещают сцену либо отдельные объекты сцены, и воздействуют на камеры либо визуальные датчики.
  • Пути: они определяют сложное перемещение в пространстве (последовательность вольно комбинируемых переводов, вращений и/либо пауз), и употребляются, к примеру, для направления сварочной горелки робота на протяжении заданной траектории, либо разрешают задать перемещение конвейерной ленты.
  • Материальные точки: это вспомогательные совокупности отсчета, каковые смогут быть использованы для разных задач. По большей части употребляются в сочетании с другими объектами сцены.
  • Фрезы: смогут быть использованы для имитации поверхности режущих операций на формы (к примеру, фрезерование, лазерная резка и др.)

Вычислительные модули

Объекты моделирования редко употребляются самостоятельно, они скорее трудятся на либо совместно с другими объектами (к примеру, датчик приближения обнаруживает формы). Помимо этого, V-REP предлагает пара расчетных модулей, каковые смогут напрямую трудиться на одну либо пара сцен моделирования. Ниже приведены главные расчетные модули:

  • Модуль кинематики: разрешает делать кинематические расчеты (прямые и обратные) для любого типа механизма (разветвленные, закрытые, с резервированием, которые содержат положенные циклы и др.). Модуль базируется на расчете мельчайших затухающих квадратов.
  • Динамический модуль: разрешает регулировать динамику расчета взаимодействия и твёрдого тела (столкновение, цепляние и др.) посредством Bullet Physics Library и Open Dynamics Engine. Симуляции динамических совокупностей до сих пор находятся на начальной стадии и довольно часто основываются на приблизительных показателях. Для подтверждения результатов принципиально важно основываться не только на одном физическом движке.
  • Модуль обнаружения столкновений: разрешает осуществлять стремительную диагностику столкновений между любой формой либо комплектом фигур. Данный модуль есть всецело свободным от ответа методов расчета динамики модуля. Употребляются структуры данных, основанных на двоичном дереве прямоугольных боксов для ускорения. Дополнительная оптимизация достигается за счет техники кэширования.
  • Модуль расчета расстояния (Mech-mech модуль): разрешает скоро минимизировать расстояние расчета между любыми формами (выпуклые, вогнутые, открытые, закрытые и т.д.) либо комплектом форм. Модуль применяет те же структуры данных, что и модуль обнаружения столкновений.
  • Модуль планирования перемещения: ручное планирование голономных и неголономных задач посредством подхода, основанного на методе Rapidly-exploring Random Tree (RRT). Задачи по планированию дорог кинематических цепей кроме этого поддерживаются.

Для универсальности указанные выше модули реализованы в общем виде. Цели их интеграции с V-REP чем-то схожи с интеграцией встроенных скриптов, каковые обрисованы в первой части статьи. Большинство симуляций либо имитационных моделей не требует каких-либо своеобразных инструментов, достаточно хорошего комплекта главных инструментов.

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

Подобным образом это делает модели прекрасно масштабируемыми: дублирование модели сохраняет функциональность без необходимости трансформации исходного кода. Процесс дублирования возможно осуществить кроме того на протяжении процесса симуляции.

Классический подход к расширению функциональности посредством плагинов в целях помощи конкретной имитационной модели кроме этого поддерживается в V-REP.

Пример

В некоторых случаях нереально применять контроллер раздельно от имитируемой сущности. В большинстве случаев, это происходит при работе с главным контроллером робота, что включает в себя сверхсложные элементы. Либо в то время, когда контроллер обязан выполняться нативно. Но иначе, вправду ли нужно создавать собственный плагин для каждого маленького датчика, новой дополнительной возможности либо маленькой функции?

Следующие три примера иллюстрируют портативность и привлекательную универсальность имитационных моделей, предлагаемых в V-REP.

1) Модель лазерного сканера

На рисунке 4 изображена модель лазерного сканера в V-REP. Модель складывается из корпуса либо кожуха, шарнира, бесконтактного датчика, установленного в шарнир.

Прерывающий дочерний скрипт привязан к корпусу датчика и несёт ответственность за перемещение сустава на заданный угол, прочтение датчика приближения, генерирование примитивных линий в сцене моделирования(и точек в местах соприкосновения), после этого переход к следующему угловому положению. Потому, что дочерний скрипт выполняется по большей части потоке, он обрабатывает ровно столько угловых позиций сустава, как данный сустав сдвинулся за время симуляции.

Модель возможно перетащить в сцену моделирования, и она начнет трудиться сходу. Модель полностью помещается в один файл, пригодный кроме этого для прямого применения на вторых платформах и совместима с текущей и будущими V-REP. Модель возможно продублирована столько раз, сколько потребуется, и ее управляющий код возможно поменян при необходимости.

Таким же методом смогут быть созданы другие модели, будь то ручка для рисования, красящее сопло, захват, камера обнаружения клякс либо же целый робот.

2) Имитационная модель параллельного манипулятора

Рисунок 5 показывает модель параллельного манипулятора, контролируемого в режиме прямой кинематики из внешнего приложения, подключающегося через удаленный API. Чтобы верно обрабатывать все ограничения, модель трудится через модуль кинематики V-REP. Потому, что все связанные с этим кинематические задачи привязаны к модели, эта модель самодостаточна, легко дублируется и запускается на вторых платформах.

Физическое масштабирование модели, которое есть еще одной изюминкой, поддерживаемой V-REP, машинально отрегулирует все кинематические задачи (среди других), и покинет внутреннюю кинематику согласованной без необходимости трансформации кода.

3) Имитационная модель умного человека

Рисунок 6 показывает имитационную модель человека, делающую задачи планирования траектории между его текущим положением и желаемым конечным положением. Тогда как задача планирования пути сама по себе выполняется в V-REP модуле планирования пути, дочерний скрипт, что прилагается к модели, приводит к расчЁту ног и действий рук, приводит их в воздействие и верно перемещает модель на протяжении расчетной траектории. В этом случае модель так же есть всецело независимой и всецело портативной.

Заключение

V-REP представляет собой универсальную и масштабируемую среду моделирования. Предлагая множество разных методик программирования для контроллеров, и за счет функций встраивания и возможности контроллеров в имитационные модели она облегчает программистам задачу и снижает сложность развертывания для пользователей.

К сегодняшнему дню V-REP вырос до надежного и обширно применяемого в научной и промышленной сфере контроллеров и тренажёра роботов. Он делает самые разные задачи: от проверки совокупности, оптимизации методов, моделирования сложных сборочных цепей в автоматизации производств до планирования задач для контроллеров и роботов.

Создатель: marc@coppeliarobotics.com
Эрик Ромер, учитель Национального университета Кампинас, Бразилия
Сурья Сингх, учитель в университете Квинсленда, Австралия
Марк Фриз, председатель совета директоров Coppelia Robotics, Швейцария.

Перевод: Алеся Ханиева, роботехнопарк Навигатор кампус, г. Казань.

How to: V-rep Tutorial


Интересные записи на сайте:

Подобранные по важим запросам, статьи по теме: