Оптимизация пространственных требований для микро-автоматизации: 6-осевые роботы
Сколько места нужно для 6-осевого робота микро-автоматизации?
Если вы планируете использовать 6-осевую руку микро-автоматизации, например Meca500 Mecademic (пример в этом туториале), вас наверняка интересует позиционирование и ориентация инструмента (end-effector) в различных точках. Вы захотите знать множество достижимых поз с конкретным энд-эффектором на конкретном 6-осевом роботе. Спросите диаграмму «рабочей зоны», «рабочего объема», «рабочего конверта» или «диапазона работы». И, к сожалению, часто получаете упрощенную диаграмму вроде показанной, или еще хуже — так называемый reach (максимальный охват).

В робототехнике правильный термин — workspace (рабочее пространство). Reach — лишь максимальное расстояние между центром запястья (точкой пересечения осей последних трех суставов) и осью сустава 1. Серая область на рисунке — зона, достижимая центром запястья при заданном вращении сустава 1. Эта область, или объем, заваленный вращением этой области вокруг оси сустава 1, — НЕ рабочее пространство робота. Никакой гарантии, что вы сможете достичь позицию в этом объеме наконечником конкретного энд-эффектора, не то что с любой ориентацией. Фактически, если установить длинный энд-эффектор, вы не сможете достичь никакой позиции из этого объема наконечником инструмента.
Рабочее пространство (workspace) 6-осевого робота микро-автоматизации — множество всех поз (позиций и ориентаций), достижимых конкретным энд-эффектором на этом роботе. Следовательно: (1) никто не может сказать, чему равно рабочее пространство конкретного 6-осевого робота, если вы не укажете энд-эффектор, и (2) это 6-мерная сущность, которую вообще невозможно представить графически.
Есть немного исключений для графического представления. Рабочее пространство 6-осевого картезианского робота (как ниже) тривиально описывается — но только для одного конкретного выбора TCP. Если tooltip энд-эффектора совпадает с точкой пересечения осей трех вращательных суставов, то этот робот может позиционировать tooltip где угодно внутри желтого параллелепипеда с абсолютно любой ориентацией инструмента.
Увы, большинство 6-осевых промышленных роботов — не картезианские, по практическим причинам. Картезианский робот выше имеет очень малое рабочее пространство по позиционированию. Типичная 6-осевая рука (часто странно называемая «вертикально-артикулированным роботом») состоит из 7 звеньев, соединенных последовательно 6 актуированными вращательными суставами. Первое — база, последнее — фланец (механический интерфейс). Ось 1 вертикальна, оси 2 и 3 горизонтальны, ось 4 нормальна к оси 3, оси последних трех суставов обычно пересекаются в одной точке.
Промышленные руки продаются без инструментов, но в итоге к фланцу крепят энд-эффектор (захват, тактильный зонд). Пользователь должен задать инструментальную систему координат (tool reference frame), зафиксированную на энд-эффекторе. Она определяется относительно фланцевой системы координат. Начало инструментальной СК — TCP (tool center point). В конечном счете вас интересует множество поз относительно базовой системы координат робота, куда робот может привести конкретную инструментальную СК. Таким образом, рабочее пространство робота — множество поз, достижимых инструментальной СК робота.
В типичном 6-осевом роботе микро-автоматизации (например, Meca500), какой бы ни был энд-эффектор, для каждой достижимой позиции TCP диапазон достижимых ориентаций инструмента совершенно разный — из-за механических интерференций, ограничений суставов, длин звеньев. Поверх этой высокой связанности позиционирования и ориентирования у типичных 6-осевых рук есть так называемые сингулярности (singularities). В сингулярности робот не может двигаться в определенных направлениях. Это физическая блокировка, не математическая проблема, и абсолютно все 6-осевые роботы микро-автоматизации (включая картезианский выше) имеют сингулярности. Пример: все суставы Meca500 на 0°, как на левой фигуре — энд-эффектор не может двигаться параллельно базовой оси Y (зеленой). Для движения по этой линии суставы 4 и 6 должны повернуться на ±90° (в противоположных направлениях).
Сингулярности — важный феномен (или неприятность) в робототехнике, будет отдельный туториал. Достаточно сказать: даже если путь внутри рабочего пространства, инструментальная СК может не мочь следовать ему непрерывно (без пауз TCP) из-за сингулярностей.
Таким образом, сингулярности дальше ограничивают используемые части рабочего пространства. Фактически, рабочее пространство типичного 6-осевого робота — комбинация нескольких сингулярности-свободных подмножеств, разделенных сингулярностями. Робот может двигаться везде в общем рабочем пространстве в joint mode, но только в одном сингулярности-свободном подмножестве в Cartesian mode (когда TCP непрерывно следует за конкретным путем).
Каждое сингулярности-свободное подмножество соответствует конкретной конфигурации робота. Тема — в следующем туториале по сингулярностям. Сейчас заметьте: если поза кажется недостижимой в текущей конфигурации, она может быть доступна в другой. Пример: поза инструментальной СК на рисунке ниже достижима только в одной из восьми конфигураций. Частая ошибка — рассматривать только одно подмножество вместо всего рабочего пространства (работать только в одной из 8 конфигураций). Если задать позу через x,y,z и углы Эйлера и использовать MovePose, робот сам найдет лучшую конфигурацию. К сожалению, пользователи обычно обучают позы дожиганием (jogging), а не заданием позы.
Часто у пользователя уже есть набор поз энд-эффектора для приложения. Например: взять деталь с конвейера, презентовать перед камерой в разных ориентациях, положить на другой конвейер. Найти оптимальное размещение камеры, установку захвата, дизайн пальцев — нетривиально. К сожалению, нет коммерчески доступной автоматической процедуры оптимального дизайна ячейки — только проб и ошибок.
К счастью, не нужен реальный сетап — можно использовать симуляцию (RoboDK). Но нужны навыки робототехники, иначе потратите много сил на проб и ошибок. Далее — 10 рекомендаций для наилучшего использования рабочего пространства робота. Пример — Meca500, но применимо к любому типичному 6-осевому роботу микро-автоматизации.
Рекомендация 1: Размещайте TCP максимально близко к фланцу робота
В инспекции часто нужно презентовать деталь перед камерой с большим диапазоном ориентаций. Первое правило: инструментальная СК максимально близко к фланцевой. То есть проектируйте захват, хватающий деталь максимально близко к фланцу.
Мы поставляем опциональный электрозаклад с адаптерной плитой для крепления как выше. Но для некоторых приложений лучше свой адаптер: чтобы пальцы и ось сустава 6 были в одной плоскости, или закрепить захват вдоль оси сустава 6 (как в этом видео). Альтернатива — L-образные пальцы.
Рекомендация 2: Не двигайтесь в Cartesian mode, если не следуете по пути
В инспекции часто нужно вращать деталь в разных ориентациях. Легче использовать MoveLinRelTRF или дожигать в Cartesian mode. Но оба подхода проваливаются, если на пути вращения есть сингулярность (пример на рисунке). Нельзя вращать энд-эффектор вокруг его оси Y на 90° — сингулярность (оси 4 и 6 выстраиваются в линию).
Научитесь использовать углы Эйлера и команду MovePose. Или RoboDK — симулятор позволяет проходить сквозь сингулярности в Cartesian jogging. В любом случае, используйте MovePose или MoveJoints, если не нужно, чтобы TCP следовал конкретному пути. Эти команды дают быстрейшие циклы.
Рекомендация 3: Если кабели слишком ограничивают сустав 6, выровняйте оси суставов 1, 4 и 6
Хотя сустав 6 механически неограничен, энд-эффектор с кабелями (наш захват) ограничивает диапазон сустава 6 ~±180° или меньше. Если нужно больше — выровняйте оси 4 и 6, или даже 1, 4 и 6. Такая конфигурация будет сингулярной — нужно использовать MoveJoints для вращения вокруг совпадающих осей.
Рекомендация 4: Если энд-эффектор с кабелями, держите сустав 6 максимально близко к 0°
Возможнее, в желаемой позе держите сустав 6 близко к 0°. Если схватили деталь в позе с суставом 6 = 170°, затем MovePose — сустав 6 скорее всего сильно повернется. Если в новой позе сустав 6 мог быть 190°, робот автоматически повернет последний сустав на 340° в отрицательную сторону (вместо 20° в положительную).
Рекомендация 5: Если нужно много ориентировать, позиционируйте TCP на оси сустава 1
Для широкого диапазона ориентаций TCP должен быть на оси сустава 1. Такая конфигурация дает ±175° вокруг оси 1 и ±180° вокруг оси 6. Чем дальше центр запястья от сустава 1, тем меньше ориентационные возможности.
Рекомендация 6: Пробуйте все конфигурации робота
Иногда робот слишком близко к сингулярности в одной или нескольких целевых позах. В инспекции может быть ок, но для pick/place нужен линейный приход/уход от финальной позы. Тестируйте все конфигурации, выбирайте дальше от сингулярностей. Пример: левая конфигурация близко к сингулярности (оси 4 и 6 почти выстроены), правая — достаточно далеко.
Рекомендация 7: Учитывайте не только достижимость
Рабочее пространство — комбинация подмножеств, разделенных сингулярностями. Не все достижимые позы равно «хороши». Рабочее пространство сильно неоднородно по перформансу: скорость, точность. Уже сказали: будьте далеко от сингулярностей в Cartesian mode. Дополнительно: чем больше вытянута рука, тем меньше точность (больше флексура) и больше время на гашение вибраций у tooltip.
Рекомендация 8: Используйте избыточность робота, если не нужно 6 степеней свободы
Часто достаточно 5 DOF. Энд-эффектор — клеевой дозатор или шпиндель: ориентация вокруг оси иглы/вала не важна. Инспекция осесимметричным сенсором (камера): можно презентовать деталь в любом вращении вокруг оси сенсора. В таких случаях не выравнивайте ось сустава 6 с осью симметрии инструмента/сенсора, выбирайте лучшее из бесконечно многих положений робота для каждой позы. Лучше = далеко от сингулярностей + ближе к предыдущей/следующей позе.
Рекомендация 9: Монтируйте робот вертикально, если не абсолютно необходимо иначе
Как большинство промышленных роботов, Meca500 можно монтировать в любой ориентации (вверх ногами, на стене). Проблема невертикального монтажа — нужна очень жесткая фикстура, делающая ячейку громоздкой и дорогой. Выбирайте невертикальное только после попытки вертикального.
Рекомендация 10: Измеряй семь раз, режь один раз
Английская пословица: «Измерь дважды, отрежь один раз», но для робототехнической ячейки — русская версия: «Измерь семь раз, отрежь один раз». Если ячейка сложная или рабочее пространство ограничено — используйте симулятор (RoboDK) и проходите много итераций дизайна до удовлетворительного решения. Но не полагайтесь только на симуляцию. Общий симулятор не моделирует точное поведение конкретного робота. Конкретное линейное движение возможно в RoboDK, но невозможно на реальном роботе из-за сингулярностей. Нужно тестировать на железе.
Итог: если приложение не сводится к нескольким повторяющимся движениям, вы должны полностью понять рабочее пространство робота и уделить значительное время дизайну ячейки. Дизайн ячейки — не только выполнение движений, но и оптимизация цикла, точности, энергопотребления.
Система управления автоматикой
- Промышленные роботы: проектирование, производство и будущие тренды
- DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
- Робот-будильник на колесах: умная мобильная система пробуждения на Raspberry Pi и Google Calendar
- Создание робота с компьютерным зрением и голосовым управлением на Windows 10 IoT Core
- ROS-робот: Управление навигацией из терминала на Raspberry Pi
- Робот Star Automation с кистью блестит на NPE2018
- Schunk расширяет американскую сборку робо-захватов в Моррисвилле (СК), усиливая локальное производство и кастом…
- Wittmann Battenfeld запускает линейку WX153: передовые роботы для литья с высокой зажимной силой
- Выбор ЧПУ-фрезера: 3-осевой vs 4-осевой — ключевые различия
- Напитки-роботы: технологии, автоматизация и роль в напиточной индустрии