Выбор и размещение робота с помощью прямой и обратной кинематики

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

  • Создание KinematicsSolver объекты и вызовите их через блоки MATLAB Function, чтобы вычислить прямую и обратную кинематику во время симуляции.

  • Моделируйте контакт с помощью Пространственных блоков Силы контакта.

Модель

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

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

Откройте подсистему робота Delta

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

Поскольку планирование траектории для концевого эффектора выполняется относительно координат xyz системы координат камеры робота, необходима прямая кинематическая карта, чтобы преобразовать положения и скорости приводов в положение и скорость концевого эффектора. Точно так же необходима карта обратной кинематики, чтобы преобразовать требуемые положение и скорость концевого эффектора, вычисленные планировщиком, в соответствующие положения и скорости трех приводов. Эти расчеты прямой и обратной кинематики выполняются с помощью KinematicsSolver объекты. Объекты определяются как стойкие переменные в функциях sm_pick_and_place_robot_fk и sm_pick_and_place_robot_ik. Эти функции вызываются блоками MATLAB function «Планирование и управление/Прямая кинематика» и «Планирование и управление/Обратная кинематика», выделенными ниже. Чтобы ускорить расчеты и помочь гарантировать, что объекты KinematicsSolver найдут желаемые решения, предыдущее решение используется как начальное предположение для текущей задачи. Всякий раз, когда параметры подсистемы Робот изменяются, функции sm_pick_and_place_robot_fk и sm_pick_and_place_robot_ik удаляются из памяти, так что объекты KinematicsSolver регенерируются в начале следующей симуляции. Это гарантирует, что объекты KinematicsSolver и модель остаются в синхронизации.

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

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

Планирование выполняется в указанном ниже блоке MATLAB Function Planning and Control/Path Planner. Планировщик переключает робота между тремя различными режимами:

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

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

  • идите домой

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

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

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

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

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

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

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

Откройте вакуумную подсистему

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

Пространственные блоки Силы контакта внутри подсистем End Effector-Part Сил контакта и Part-Table Сил контакта используются для моделирования контакта. Чтобы ускорить симуляцию, три контактные точки, равномерно расположенные вокруг совета концевого эффектора, используются в качестве прокси для полной цилиндрической геометрии, когда она находится в контакте с деталью. Аналогично, три одинаково разнесенные контактные точки вокруг нижнего ребра детали используются в качестве контактных прокси, когда она вступает в контакт с таблицей. Вакуумная сила поддерживает контакт детали с концевым эффектором, и трение препятствует ее скольжению во время транспортировки.

Силы контакта открытого конца Effector-Part

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

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

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

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

См. также

|

Похожие темы