Этот пример моделирует дельту робота выполнения задачи выбора и размещения. Робот подбирает деталь с помощью вакуумного захвата, перемещает деталь к каждому из четырех маркеров на таблице, сбрасывает деталь у первого маркера, а затем возвращается в исходное положение. Этот пример демонстрирует, как:
Создание 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 и модель остаются в синхронизации.
Откройте подсистему планирования и управления
Планирование выполняется в указанном ниже блоке MATLAB Function Planning and Control/Path Planner. Планировщик переключает робота между тремя различными режимами:
перейдите к местоположению непосредственно над деталью
захватить деталь и переместиться к местоположению цели
идите домой
Всякий раз, когда начинается режим, вычисляется траектория, которая забирает конечный эффектор из его текущего положения в целевое положение режима за фиксированное количество времени. Траектория генерируется в два этапа: во-первых, вычисляется полином третьего порядка, соответствующий пути конечного эффектора в координатах xyz камеры от ее текущего положения до положения цели; во-вторых, вычисляется полином пятого порядка, который используется для масштабирования времени вдоль пути таким образом, чтобы начальные и конечные скорости и ускорения были нулевыми. Переход режима происходит, когда положение и скорость концевого эффектора достаточно близки к целевым значениям. Учитывая текущее время, планировщик возвращает требуемое положение и скорость концевого эффектора вдоль траектории, а также желаемое состояние вакуума.
Откройте подсистему планирования и управления
Подсистема планирования и управления/контроллера, выделенная ниже, содержит простой ПИД-регулятор, который управляет фактическими положениями и скоростями приводов до их желаемых значений.
Откройте подсистему планирования и управления
Чтобы схватить деталь, простой вакуум моделируется между деталью и конечным эффектором робота. Всякий раз, когда планировщик командует всасыванием, вакуум прикладывает постоянную силу между центром масс детали и советом концевого эффектора.
Пространственные блоки Силы контакта внутри подсистем End Effector-Part Сил контакта и Part-Table Сил контакта используются для моделирования контакта. Чтобы ускорить симуляцию, три контактные точки, равномерно расположенные вокруг совета концевого эффектора, используются в качестве прокси для полной цилиндрической геометрии, когда она находится в контакте с деталью. Аналогично, три одинаково разнесенные контактные точки вокруг нижнего ребра детали используются в качестве контактных прокси, когда она вступает в контакт с таблицей. Вакуумная сила поддерживает контакт детали с концевым эффектором, и трение препятствует ее скольжению во время транспортировки.
Силы контакта открытого конца Effector-Part
Откройте подсистему сил контакта таблицы деталей
Подсистема Image Processor использует блоки Transform Sensor, чтобы симулировать обработку данных камеры, чтобы отслеживать местоположения детали и маркеров на таблице.