isicad.ru :: портал САПР, PLM и ERP :: версия для печати

Статьи

7 мая 2020

Обнаружение аномалий ЧПУ с помощью машинного обучения без учителя. Часть 2: Метод обработки и очистки данных

Лу Чжан (Lou Zhang)

Перевод: Андрей Ловыгин
Оригинал публикации на сайте Планета САМ
От редакции Планета САМ: Планета CAM продолжает публиковать серию статей «Обнаружение аномалий ЧПУ с помощью машинного обучения без учителя» из блога MachineMetrics. В первой части Лу Чжан (Lou Zhang) рассказал о важности мониторинга аномального поведения станков, а во второй — подробно рассмотрит метод обработки и очистки данных.
Оригинал статьи читайте здесь.


Мы пробовали обрабатывать и очищать данные на многих станках, но для иллюстрации наших соображений выделим только один пример. Начнем с рассмотрения того, как выглядит процесс обработки с нашей точки зрения. Ниже мы построили потоковые данные для подачи, скоростей и нагрузки для одного конкретного станка с 22:00 до 9:00. Этот станок всегда делает одну и ту же деталь.

машинное обучение ЧПУ

Видно, что данные зашумлены — мы не знаем, на что уместно смотреть и что мы ищем с точки зрения аномалий. Почему сигналы такие нерегулярные и остроконечные и почему в сигналах есть пробелы? Если станок обрабатывает одну и ту же деталь, то почему наблюдается столь малая регулярность сигналов?

Причина этого – способ, которым MachineMetrics собирает данные. Каждые 900 мс или около того мы открываем «окно» для обнаружения изменений в метриках. Если есть изменение, мы записываем его. Если нет, мы ничего не записываем. Мы делаем это по двум основным причинам:

  1. Эта частота дискретизации встроена для экономии затрат на хранение данных, обработку данных и пропускную способность. Поскольку мы получаем сотни метрик с каждого из наших станков, экономически не выгодно создавать и поддерживать инфраструктуру для извлечения данных несколько раз в секунду. Это позволяет нам избежать необходимости использовать дорогие сторонние сервисы, например Watson или Azure.
  2. Слишком частое обращение к контроллеру на старых станках может вызвать их замедление или зависание.

Метрики почти наверняка меняются чаще, чем каждые 900 мс, что означает, что одна и та же деталь может выглядеть по-разному в зависимости от того, когда окно открыто. Для решения этой проблемы нам необходимо использовать наши знания предметной области и некоторую жесткую очистку данных, чтобы получить полезный сигнал.

Если мы попытаемся применить обнаружение аномалий к этим сигналам без их очистки, обнаруженные аномалии не будут иметь смысла. Мы прогоняем наши временные ряды через пакет anomalize и отображаем результаты ниже. Anomalize выполняет обнаружение аномалий в одном потоке. Аномалии появляются в виде черных точек, которые могут возникать в разное время в различных сигналах.

машинное обучение ЧПУ

Хотя некоторые из этих сигналов могут с первого взгляда казаться выбросами, обнаруженные аномалии на самом деле бесполезны. Они не указывают на действительно необычное поведение, это, скорее, артефакт нашего процесса сбора данных. Итак, пришло время запачкать руки данными. Во-первых, необходимо решить проблему простоя (пробелов). Затем мы перейдем к тому, как сгладить проблему частоты опроса.

Удаление неактивных последовательностей

Неактивные последовательности, смешанные с данными, в большинстве своем означают простой. Этот простой включает время простоя оператора (перекус в 3 часа, новая смена) и время простоя станка (время охлаждения, смены инструмента, и эти две аномалии мы будем декодировать).

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

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

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

  1. В определенных типах интеграций мы можем подключиться к реле станка и выяснить, какие переключатели увеличивают количество счетчика деталей.
    машинное обучение ЧПУ

  2. В других типах интеграций мы можем подключиться к программируемому логическому контроллеру (PLC) станка, который содержит сигнал в G-коде (языке программирования ЧПУ), указывающий на завершение обработки детали

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

машинное обучение ЧПУ

MachineMetrics также получает «Состояние станка» из УЧПУ, которое указывает, ведется ли активная обработка. Опять же, это собирается путем подключения к реле или из контроллера.

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

машинное обучение ЧПУ

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

машинное обучение ЧПУ

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

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

По мнению операторов станков, критическим фактором, на который следует обратить внимание, является взаимосвязь между нагрузками, позициями, скоростями шпинделя и скоростью подачи. Например, не имеет значения, если скорость, подача и нагрузка одновременно падают до нуля — это может просто указывать на то, что станок «отдыхает». Однако очевидно возникает проблема, если станок продолжает подавать материал, но нагрузки падают до нуля, что указывает на более серьезную проблему. Или если положение осей продолжается по обычной траектории, но больше нет нагрузки, связанной с этим, что может говорить о поломке инструмента.

машинное обучение ЧПУ

Оказывается, несмотря на ошибку измерения окна, отношения в значительной степени остаются одинаковыми для сигнатур нормальной детали благодаря количеству наблюдений. Со временем нормальные детали будут иметь аналогичные сигнатуры, хотя диапазон того, как они выглядят, будет больше.

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

Мы обращаемся к методу, называемому методом главных компонентов (principal component analysis, PCA), чтобы разделить наши многочисленные сигналы на два сигнала, которые представляют все из них. PCA берет многомерную матрицу и разделяет ее на «главные компоненты», фиксируя направление наибольшего отклонения. Например, если 70% дисперсии вашего набора данных можно получить в одном измерении, а 95% — в двух измерениях, мы потеряем только 5% информации в наших данных, исключив все другие переменные. Интуитивно понятно, что метод сохраняет комбинации переменных, которые могут наилучшим образом представлять данные, и значение часто может быть получено из этих объединенных переменных как подразумеваемой информации, лежащей в основе вашего набора данных.

машинное обучение ЧПУ

Например, набор данных может иметь четыре переменные — промышленное производство, уровень преступности, индекс потребительских цен и индекс неравенства доходов для каждой страны. PCA может определить, что два основных компонента охватывают почти всю информацию: первый представляет собой комбинацию промышленного производства и индекса потребительских цен, в основном представляющих ВВП (подразумеваемую переменную, лежащую в основе обоих), а второй — комбинацию уровня преступности и неравенства доходов (подразумеваемая переменная, представляющая что-то похожее на социальные волнения).

В нашем случае многомерная матрица — это совокупность всех позиций, подач, скоростей и нагрузок (33 переменных для этого станка). Мы сводим все эти переменные к двум главным компонентам, которые собирают важную информацию из 33 исходных переменных. Мы можем идентифицировать разъединения отношений, так как значения в главных сигналах будут чувствительны, когда между оригинальными 33 переменными возникают необычные отношения.

машинное обучение ЧПУ

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

машинное обучение ЧПУ


Подробнее о возможностях аналитической платформы MachineMetrics и её отличиях от других систем мониторинга оборудования читайте в статье: «Почему стартап, разрабатывающий аналитическую платформу для дискретного производства, стал новостным хедлайнером».


Продолжение серии: Часть 3: методы кластеризации данных

Все права защищены. © 2004-2024 Группа компаний «ЛЕДАС»

Перепечатка материалов сайта допускается с согласия редакции, ссылка на isicad.ru обязательна.
Вы можете обратиться к нам по адресу info@isicad.ru.