exponenta event banner

Захват и размещение робота с помощью прямой и обратной кинематики

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

Модель

Подсистема дельта-робота

Подсистема Delta Robot моделирует 3-DOF дельта-робот. Движение концевого эффектора является чисто поступательным из-за кинематической структуры робота. Приводы робота соответствуют трем поворотным соединениям с крутящим моментом, установленным на верхней опорной пластине. Для имитации данных кодера подсистема выводит положения (углы) исполнительных механизмов. Рама камеры установлена под опорной пластиной и смотрит вниз к концевому эффектору. Геометрия, связанная с конечным эффектором, экспортируется через Simscape Bus для облегчения моделирования контактов. Дополнительные сведения см. в маске блока.

Открыть подсистему дельта-робота

Подсистема планирования и управления: прямая и обратная кинематика

Поскольку планирование траектории для концевого эффектора выполняется по отношению к координатам xyz кадра камеры робота, для преобразования положений и скоростей исполнительных механизмов в положение и скорость концевого эффектора необходима карта прямой кинематики. Аналогично, обратная кинематическая карта необходима для преобразования желаемого положения и скорости конечного эффектора, вычисленных планировщиком, в соответствующие положения и скорости трех исполнительных механизмов. Эти вычисления прямой и обратной кинематики выполняются с помощью KinematicsSolver объекты. Объекты определяются как постоянные переменные в функциях sm_pick_and_place_robot_fk и sm_pick_and_place_robot_ik. Эти функции вызываются функциональными блоками MATLAB Планирование и управление/Прямая кинематика и Планирование и управление/Обратная кинематика, которые выделены ниже. Для ускорения вычислений и обеспечения того, чтобы объекты KinematicsSolver находили нужные решения, предыдущее решение используется в качестве начального предположения для текущей задачи. При каждом изменении параметров подсистемы Delta Robot функции sm_pick_and_place_robot_fk и sm_pick_and_place_robot_ik удаляются из памяти, так что объекты KinematicsSolver регенерируются в начале следующего моделирования. Это обеспечивает синхронизацию объектов KinematicsSolver и модели.

Открытая подсистема планирования и управления

Подсистема планирования и управления: Планировщик путей

Планирование выполняется в функциональном блоке MATLAB Планирование и управление/планировщик путей, выделенном ниже. Плановик переводит робота между тремя различными режимами:

  • перейти в расположение непосредственно над деталью

  • захватить деталь и переместиться в расположение цели

  • вернуться домой

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

Открытая подсистема планирования и управления

Подсистема планирования и управления: Контроллер

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

Открытая подсистема планирования и управления

Вакуумная подсистема

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

Открытая вакуумная подсистема

Контактные подсистемы

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

Подсистема контактных сил с открытым концом эффекторной части

Открыть подсистему контактных сил в таблице деталей

Процессор изображений

Подсистема процессора изображений использует блоки Transform Sensor для моделирования обработки данных камеры для отслеживания расположения детали и маркеров на таблице.

Открытая подсистема процессора изображений

См. также

|

Связанные темы