Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Equipment >> Промышленный робот

Мастерство углов Эйлера робота: подробное руководство

Сложно разобраться в поворотах робота, правда? Углы Эйлера — настоящая боль в шее. Вот основной пример, который уберет эту боль.

Ориентации! Они просто заставляют вырвать волосы. Если вы когда-либо программировали позу рабочего органа робота с координатами и поворотами, вы знаете, о чем речь.

На первый взгляд задание позы рабочего органа кажется простым, не так ли?

Просто скажете: «Хочу переместить инструмент робота в эту точку и хочу, чтобы он указывал в этом направлении».

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

Почему ориентации роботов трудно понять

Легко описать координаты X, Y, Z (перемещения) инструмента робота.

Для описания перемещения просто вводите координаты — например Point[X, Y, Z] = [100, 1000, 1500] мм — и это может относиться только к одной локации, если используется одна базовая система отсчета. Это может означать только 100 мм по оси X, 1 метр по Y и 1,5 метра по Z.

Но как описать ориентацию инструмента?

Можно сказать:
        Rotation[XYZ] = [5, 45, 15]°
но можно с той же правотой сказать (с округлением)
        Rot[XY'Z''] = [-7,9, 44,7, 16,2]°
или
        Rot[ZY'Z''] = [7,9, 45,2, 5,0]°
или даже
        Quaternion[q1-q4] = [0,9, -0,1, 0,4, 0,1]

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

Проблема: мы просто не мыслим вращениями

Настоящая проблема в том, что мы не привыкли мыслить в терминах вращений.

Мы интуитивно понимаем трансляционные координаты, потому что используем их в быту (например, «на второй полке снизу, четвертая книга слева»). Но когда нужно описать ориентацию, мы указываем пальцем и говорим «в том направлении».

К сожалению, роботам нужна более точная информация, чем вague «там».

Нам нужно твердое понимание углов Эйлера.

Что такое углы Эйлера?

Отступим назад и начнем с основ.

Наиболее распространенный метод описания ориентаций роботов — углы Эйлера. Углы Эйлера состоят из трех чисел, каждое описывает вращение вокруг одной оси. Существуют разные соглашения углов Эйлера в зависимости от порядка вращений.

Сначала упростим до примера с одной осью.

Представьте компас.

Часто мировая ось Z — это ось, простирающаяся от неба к земле. Иголка компаса можно рассматривать как вращение вокруг оси Z (Rot[Z]). Если держать компас горизонтально и стрелка показывает 135°, значит север за вашим левым плечом — вы смотрите на юго-восток. Неважно, где расположен компас (на полу, на голове), если ориентация та же, угол всегда 135°.

Пока все просто.

У компаса только одно значение вращения (Rot[Z]), но для описания любой 3D-ориентации нужно три значения. Здесь начинается сложность.

Другие методы описания ориентаций — кватернионы или позы (матрицы 4×4).

Давайте потренируемся на практике

Отныне полезно иметь интерактивную наглядную помощь.

Предлагаю скачать бесплатную копию RoboDK по этой ссылке — она очень просто визуализирует системы отсчета и показывает получающиеся координаты.

Запустите RoboDK и создайте систему отсчета кнопкой «Add Reference Frame» или через меню Program. Появится красная, зеленая и синяя система в центре экрана.

Ее можно вращать так: зажмите Alt, затем кликните и перетащите одну из изогнутых стрелок, которые появятся.

Как пилотировать самолетМастерство углов Эйлера робота: подробное руководство

Используем аналогию с самолетом, четко описанную на robot-forum.

Представьте, что система отсчета — самолет. Кончик прямой красной стрелки (ось X) — нос самолета, прямая зеленая стрелка (ось Y) — левое крыло.

Тогда движение изогнутых стрелок выполняет функции:

Если пилот хочет, чтобы самолет поворачивал влево и вниз плавно, он не просто вертится вокруг оси Z — самолеты так не работают.

Вместо этого самолет:

  1. Опускает нос: Rot[Y]
  2. Наклоняется влево: -Rot[X]
  3. Рыскает влево: Rot[Z]

Все это движение представляется как Rot[XYZ]. Попробуйте поиграть с системой в RoboDK, пока не почувствуете уверенность в этих концепциях.

Затем дважды кликните по имени системы в левом верхнем углу главного окна, чтобы открыть панель «Frame Details».

Одна ориентация — несколько возможных вращений

С помощью RoboDK выполните следующие задания.

Перед каждым сбрасывайте систему: откройте меню «гамбургер» (три горизонтальные линии) в панели Frame Details и выберите «Reset (set identity)».

  1. В выпадающем меню над координатами выберите соглашение Stäubli (X→Y'→Z'') вместо Generic.
  2. Поверните систему так, чтобы синяя (Z) смотрела вниз, а красная (X) — назад (обе перевернуты от стартовой позиции, зеленая (Y) осталась как была), используя только вращение вокруг оси Y.
  3. Сбросьте и повторите ту же ориентацию, но используйте только одно вращение Z, а затем одно X.
  4. Сбросьте и повторите еще раз, используя только одно вращение X, а затем одно Z.

Как видите, одну и ту же ориентацию можно достичь разными способами.

Первый метод — Rot[Y], так как только вращение вокруг Y. Второй — Rot[Z, X'], так как одно вращение вокруг Z и одно вокруг новой оси X. Третий — Rot[X, Z']. Примера (') означает, что вращение происходит относительно последнего движения, а не статических осей.

Мастерство углов Эйлера робота: подробное руководство

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

Разные производители выбрали разные комбинации. Например, Stäubli использует XY'Z'', Adept — ZY'Z'', KUKA — ZY'X'', Fanuc и Motoman — XYZ. ABB использует кватернионы, Universal Robots — вектор ориентации. Но все соглашения могут представить любую ориентацию в пространстве.

Мастерство углов Эйлера робота: подробное руководство

Больше информации в Документации RoboDK.

Проверьте разные соглашения роботов

Надеемся, это начинает проясняться. Но это только начало. Чтобы действительно освоить соглашения углов Эйлера в RoboDK, полезно поиграть с ПО по этому руководству.

Эффект вращений в числах виден в светло-голубых, фиолетовых и желтых полях панели «Frame Details».

По умолчанию для новых систем отсчета выбрано соглашение Generic XYZ. Попробуйте выбрать разных производителей из выпадающего меню над цветными полями. Введите числовые значения в поля, чтобы увидеть их влияние на систему отсчета.

Для глубокого туториала по углам Эйлера рекомендую эту страницу Mecademic.

Промышленный робот

  1. Робототехническое зрение в промышленности: От зрения к само-программированию
  2. Что такое само-программируемый робот и почему это важно
  3. Archimedes: Робот-совица с ИИ для распознавания эмоций
  4. Максимизация эффективности: почему квалифицированные операторы роботов необходимы
  5. Робототехника в производстве: доказанная эволюция эффективности и инноваций
  6. Мастерство роботизированной сварки: простое руководство к безупречным результатам
  7. Мастерство симуляции робототехнических конвейеров: проверенные лучшие практики
  8. Использование робототехнической автоматизации для эффективности в бумажной промышленности
  9. Освоение углов Эйлера для точного управления 6-осевыми роботами
  10. Как выбрать лучшее ПО для роботизированного пикинга: эффективная автоматизация