Несоответствие позы KRC4: отделите ошибки синхронизации от ошибок кадра
Дисциплинированный рабочий процесс диагностики KRC4 при несоответствиях поз, позволяющий отделить проблемы синхронизации опережающего выполнения и аппроксимации от ошибок инструмента, базы и предст...
Положение KRC4, которое в первом цикле выглядит правильным, а в следующем — отличается, часто объясняют тем, что смещение инструмента применяется дважды. Такое объяснение возможно, но не должно быть исходным предположением. Значения положения робота зависят от времени выполнения, аппроксимации траектории, активных данных инструмента и базы, различий между заданными и измеренными значениями, а также от представления координат, используемого в точке сравнения.
Для точной диагностики сначала зафиксируйте время выполнения и системы отсчёта, прежде чем изменять мастеринг или постоянные калибровочные данные.
Сначала защитите проверенный эталон
Сохраните полный архив контроллера и запишите версию KSS, модель робота, состояние мастеринга, активный инструмент, активную базу, данные нагрузки, режим работы, значение override и строку программы, в которой наблюдается несоответствие. Зафиксируйте точные значения на первой и второй итерациях. Скриншот без указания активной системы координат и момента выборки не является полным доказательством.
Не калибруйте инструмент или базу заново только для того, чтобы одно отображаемое значение выглядело правильно. Компенсирующая система координат может скрыть ошибку синхронизации или преобразования, а затем изменить поведение всех исправных программ, использующих те же данные. Сравните подозрительную программу с архивным эталоном и выявите изменения во встроенных формах, подпрограммах, прерываниях, фоновой логике или обмене сигналами с ПЛК.
Соответствующие компоненты контроллера можно найти в разделе систем ПЛК и PAC, а сервоприводы и осевое оборудование относятся к разделу приводов и систем управления движением. Однако замену оборудования следует рассматривать только после того, как программные и измерительные данные исключат причины, связанные с системами координат и синхронизацией.
Воспроизведите несоответствие в контролируемой точке
Выполняйте программу на пониженной скорости в соответствии с правилами безопасности роботов на объекте. Если это допускает процесс, отключите аппроксимацию вокруг подозрительной точки съёма данных и добавьте преднамеренную точку синхронизации, используя поведение, описанное для установленной версии KSS. Записывайте один образец только после того, как робот достигнет определённого состояния. Повторите запуск из того же начального положения, чтобы две трассы можно было сопоставить.
Тест должен дать ответы на четыре вопроса: была ли считана та же строка программы? находился ли робот в той же фазе движения? были ли активны те же инструмент и база? представляло ли значение заданное или измеренное положение? Если на какой-либо вопрос нет ответа, числовое различие ещё не доказывает геометрическую ошибку.
Почему опережающее выполнение может изменить результаты
KRL заранее подготавливает следующие инструкции движения, чтобы контроллер мог плавно сопрягать траектории и избегать ненужных остановок. Такое упреждение является основой плавного движения робота, но из-за него интерпретация программы и физическое движение не всегда находятся на одной границе инструкции. Инструкция присваивания, не связанная с движением, может быть выполнена, пока робот ещё выполняет предыдущее перемещение.
Аппроксимация делает это особенно заметным. Робот может пройти рядом с запрограммированной точкой, не останавливаясь в ней, поэтому измеренное положение, зафиксированное сканированием ПЛК или фоновой задачей, может соответствовать другой точке сглаженной траектории, чем ожидает программист. Если несоответствие исчезает после отключения аппроксимации и синхронизации выполнения, сначала исследуйте выборку данных и поток выполнения программы, а не калибровку.
Производственное решение должно сохранять требуемую сглаженную траекторию. Не оставляйте все точки точными только ради упрощения регистрации данных. Вместо этого определите квитирование, указывающее, когда образец данных действителен, и используйте поведение контроллера, соответствующее установленной версии программного обеспечения.
Явно определите цепочку систем координат
Положение робота имеет смысл только при указании системы отсчёта. Запишите цепочку преобразований от мировой системы или корневой системы робота через выбранную базу, а также от фланца через выбранный инструмент к технологической точке. Затем определите, описывает ли сообщаемое значение фланец, TCP инструмента, заданную траекторию или измеренное положение.
Поищите в программе и связанных задачах изменения инструмента, базы или данных систем координат между итерациями. Встроенная форма, подпрограмма, прерывание или фоновый процесс могут выбрать другие данные без очевидного изменения локального блока движения. Особого внимания требуют косвенные ссылки: отображаемое имя переменной может оставаться неизменным, пока меняется выбранный индекс.
Сравнивайте все значения в одной объявленной системе координат. Вычитание положения, заданного в мировой системе, из положения, заданного относительно базы, даст правдоподобную, но бессмысленную ошибку. Аналогично, применение преобразования инструмента к положению, которое уже представляет TCP, может выглядеть как двойное смещение. Показывайте каждый этап преобразования и его направление, а не сворачивайте расчёт в одно выражение.
Не путайте углы Эйлера с физической ориентацией
Промышленные интерфейсы роботов обычно выражают ориентацию тремя углами. Эти значения являются представлением ориентации, а не независимыми физическими осями. Одну и ту же физическую ориентацию могут описывать разные наборы углов, а значения могут резко изменяться вблизи сингулярности представления, даже если инструмент поворачивается лишь немного.
Для диагностики сравнивайте преобразования или используйте подходящую меру ошибки ориентации, а не вычитайте отображаемые углы покомпонентно. Нормализуйте углы единообразно и явно указывайте единицы измерения. Если перемещение стабильно, а значения углов скачкообразно меняются, сначала проверьте представление и выбор системы координат, а не мастеринг.
Разделяйте заданное и измеренное положение
Заданное положение описывает целевую точку траектории контроллера или состояние интерполяции. Измеренное положение отражает обратную связь от энкодеров и поэтому включает ошибку слежения, податливость, влияние нагрузки, процесс установления и момент получения данных. Оба значения полезны, но отвечают на разные вопросы.
Записывайте заданные и измеренные значения вместе со скоростью, состоянием программы и монотонно увеличивающимся номером образца. Если разница увеличивается только во время разгона и исчезает после установления, это указывает на нормальное или аномальное поведение слежения, а не на постоянную ошибку системы координат. Если оба значения смещены одним и тем же постоянным преобразованием, проверьте данные инструмента и базы.
Создайте атомарный контракт передачи данных между роботом и ПЛК
ПЛК легко может объединить координаты из разных циклов интерполяции робота, если каждое значение считывается отдельно. Робот должен скопировать полное положение и его контекст в стабильную структуру передачи, а затем изменить порядковый номер или флаг готовности только после завершения копирования. ПЛК считывает всю структуру, проверяет, что порядковый номер не изменился, и подтверждает получение образца.
Включите номер инструмента, номер базы, признак заданного или измеренного значения, систему координат, единицы измерения, режим робота и временную метку образца или счётчик циклов. Принимающая логика должна отклонять устаревшие, неполные данные или данные с неожиданным контекстом. Это превращает расплывчатое несоответствие положения в отслеживаемую ошибку интерфейса.
Используйте моделирование для контролируемого сравнения
Официальная среда моделирования KUKA поддерживает автономную проверку движения робота и поведения приложения. Моделирование может помочь воспроизвести последовательность программы, проверить использование систем координат и сравнить аппроксимированные и точные траектории без расходования производственного времени. Оно не заменяет проверку мастеринга, нагрузки, податливости, обратной связи энкодеров или реального времени работы ПЛК, поэтому рассматривайте моделирование лишь как один из источников доказательств.
Последовательность решений от наиболее вероятных неисправностей
Если синхронизация устраняет несоответствие
Исправьте контракт выборки данных, допущения об аппроксимации или синхронизацию потока выполнения программы. Сохраните проверенную производственную траекторию и задокументируйте событие, которое делает положение действительным.
Если ошибка следует за выбором инструмента или базы
Исправьте логику выбора или направление преобразования. Выполняйте повторную калибровку только в том случае, если независимые физические проверки показывают, что сама сохранённая система координат задана неверно.
Если заданные и измеренные данные расходятся во время движения
Проверьте данные нагрузки, механику, состояние сервоприводов, ошибку слежения и момент получения данных. Не скрывайте доказательства с помощью координатного смещения.
Главный методологический вывод таков: несоответствие положения сначала является проблемой доказательств и лишь затем — проблемой калибровки. Зафиксируйте точку выполнения, объявите каждую систему координат, сравнивайте сопоставимые значения и изменяйте постоянные данные робота только после проверки гипотез о синхронизации и преобразованиях.