Сепараторы, вид сверху
Сначала в карьере что-то бахает, потом мы дробим осколки породы на более мелкие части — примерно 5,7 мм. Наша задача — вынуть из руды все магнитные компоненты. Это мы делаем в магнитно-гравитационных сепараторах. Сначала большие дробилки превращают булыжники руды в гальку, потом — в зерно. Валковые прессы ещё больше истирают руду, которая затем идёт в шаровую мельницу, где она измельчается до стадии, когда магнитные составляющие практически полностью отделяются. В шаровой мельнице используется вода, 95 % которой добавляется на разных этапах. В итоге эту воду всё равно надо как-то «отжимать», и её удобно использовать как среду для мокрой магнитной сепарации.
Сепараторщик — человек с очень хорошим цветовым зрением. Время от времени он смотрит на цвет жидкости в МГС и «на глаз» определяет статус процесса: цвет от светло-бежевого до коричневого говорит о нормальной работе сепаратора. А если цвет становится более тёмным — это значит, что сепаратор начинает «хвостить» и пора вмешаться.
Поскольку отличить на глаз #996512 от #BF6009 легко, а вот от #88551F довольно сложно, на производстве предложили прикрутить к сепаратору колориметр. Это спасло бы от того, что они «хвостят», то есть подняло бы КПД на пару процентов и защитило от излишнего износа в нерасчётных режимах работы.
Встроенного колориметра в таких устройствах нет, и мы решили сделать его сами. Оказалось, это не так просто.
Между первым и вторым не каждый отличит на глаз разницу
Как работает сепаратор
Общего железа в руде — 33–35 %. Магнитного — 25–28 %. Дроблёная руда подаётся на фабрику обогащения, там дополнительно всё измельчается в мельницах (плюс добавляется вода) и обогащается методом мокрой магнитной сепарации. Получается смесь из воды и руды — пульпа. Её загружают в центрифуги (правильно — магнитно-гравитационные сепараторы, т. е. МГС), там под воздействием магнитного поля сильномагнитные частицы опускаются вниз, а немагнитные поднимаются вверх. После разделения слоёв верхняя часть (перелив) уходит в «хвосты», а нижняя продолжает движение и поступает на фильтрацию. Ещё — уплотняющая сепарация, вакуум-фильтры и «руда проходит долгий путь от карьера до фабрики обогащения», а на выходе получаем концентрат — магнитное сырьё с диаметром элемента до 42,7 микрона, которое дальше идёт в горячие процессы.
Наверх всё равно может всплыть железо с магнитными частицами, но там его доля будет примерно 1 %, с этими потерями мы готовы мириться. А вот вниз выпадает всё нужное железо — то, что дальше станет концентратом.
Сепараторы, вид сбоку
Принцип сепаратора: магнитное тяжёлое — вниз, немагнитное лёгкое — наверх. Магнитное поле позволяет сепарировать сразу и по массе элемента, и по магнитности. Железо и тяжёлое, и в большинстве своём — магнитное.
А ещё нам везёт: у этих двух категорий — разный цвет. То есть, утрируя, светлое и рыжее (а иногда и другое) — вверх, а чёрное — всегда вниз. Если жидкость в сепараторе потемнела — сепаратор начал «хвостить».
Вот тут видно, как сепаратор № 12 «хвостит», на камере он сильно темнее остальных
В идеальном мире нам нужна только одна шкала — уровень коричневости жидкости. Но, поскольку современные камеры не имеют выделенного коричневого канала, мы всё же забираем из RGB-модели 100 % R и 50 % G. Синий мы игнорируем: в наших условиях он бесполезен.
Итак, знание уровня коричневого даёт нам возможность эффективнее использовать сепараторы — в смысле знать, когда можно долить туда ещё пульпы либо отследить нерасчётный режим, то есть настроить распределение питания и жидкости в связке с другими сепараторами.
Поток может по-разному приходить на разные устройства, поэтому точная калибровка очень важна. Когда где-то засор — только на одном сепараторе, то на процесс в целом это не влияет. А если встанет сразу несколько по одной стадии (на одной стороне пульподелителя), то влияет, и нагрузку нужно регулировать. Потому что, если не распределить нагрузку правильно, то ближайшие сепараторы начнут принимать на себя много питания, не справятся с нагрузкой и начнут «хвостить». В общем, перед нами — классическая оптимизационная задача.
До того как мы пришли со своими камерами, все решения принимались исключительно вручную. Несколько раз в сутки сепараторщик обходил МГС (а они большие, то есть ему надо подняться на специальное место — площадку пульподелителя, чтобы увидеть их сверху) и внимательно вглядывался в цвет перелива каждого. Если какой-то сепаратор казался ему слишком тёмным, то он мог что-то поменять и избежать брака.
Ещё такой нюанс: если резко дать большую нагрузку сепаратору, то начнётся выброс пульпы через «всас» — место всасывания, и можно завалить и площадку обслуживания, и МГС, и ПМУ (пусковая местная установка).
Сначала подумали, что можно поставить тщательно скалиброванные камеры сверху над сепараторами и скалиброванные же экраны, где выводилась бы картинка с камер — чтобы самые опытные специалисты почувствовали силу Бэтмена, парящего где-то под крышей цеха, и стали заглядывать в сепараторы с экранов. На самом деле для самых опытных автоматизация уже и не нужна: десятки лет их стажа дают возможность определить ситуацию по цвету пульпы и характеру едва уловимых вибраций. А вот тем, кто идёт за ними и ещё не набрался такого опыта, — в самый раз.
В общем, мы решили, что если делать автоматизацию за счёт установки камер, то дальше она решается почти так же просто, как тыкать пипеткой из Paint’а в скриншоты. Но пипетка оказалась далеко не самым хорошим инструментом, потому что никогда не угадаешь, в какой пиксель надо целиться.
Примерно в этом месте начались исследования на тему того, можно ли поставить колориметры. Коротко: это нецелесообразно, потому что они потребуют вмешательства в рабочий процесс (это сравнимо с новым релизом, когда нужно заново пройти все согласования, только вместо ИБ у нас куча других квестов), а ещё они постоянно цепляли блики или лопасти над жидкостью, что создавало «шум» в их показаниях. Поскольку колориметры нельзя было разместить вплотную к жидкости, поступило предложение попробовать поставить их сверху над сепараторами и через систему линз нацелить вниз.
В этот момент сформировалось техническое задание на камеры и софт, измеряющий цвет.
Для проверки идентичности камер и балансировки цвета, то есть чтобы проверить, что сенсоры камер одинаковые и не искажают цвета, мы проводили исследования с цветным картоном.
Это мы ходим с цветными картонками для калибровки цвета
А вот фото камеры
Камеры
Гипотеза была в том, что камеры нам подходят любые, а там мы уже разберёмся с цветом. Гипотеза неправильная, потому что камеры бывают:
- С разной цветопередачей, причём это зависит от конкретного экземпляра камеры, конкретной серии и иногда — региона производства. Если первые два фактора — это погрешности, то третий — это заводской цветовой сдвиг в более привычную глазу местных жителей сторону спектра. В Китае это красный сдвиг, в Норвегии — более светлый синий. Это исторически связано с медианным цветом кожи.
- С разным балансом белого. Даже заводские предустановки не очень хороши, а автобаланс в условиях производства больше напоминает рандом: лезть в алгоритмы и разбираться, что они считают опорными точками, — так себе развлечение.
- Просто бракованными. В серии из нескольких десятков камер нам попадались даже с перепутанными R/B-каналами. Просто сборщик перевернул при монтаже кабель, бывает.
Соответственно, камеры пришлось сначала подбирать по стабильности цветопередачи, по возможности использования в не самых привлекательных условиях производства (например, на них сверху налипают пыль, грязь и капает вода), а потом дополнительно калибровать по миру на заводе у производителя. То есть, утрируя, к нам они приезжали с наглухо захардкоженным балансом белого.
Следующий вопрос — в том, сколько нужно камер. По идее — одна, ведь можно закрепить её на каком-то рельсе и возить над сепараторами, заглядывая в каждый по очереди. На практике — двенадцать, по три на каждую секцию, потому что рельсы — не лучшее решение для цеха с пылью от руды. «Из коробки» есть решения, которые двигают камеру внутри прочного защитного кожуха, и они просто нацеливаются по разным координатам. То есть одна камера могла наблюдать сразу за группой сепараторов, имитируя обход технологом.
Также надо было учитывать, что в цеху всё движется и шатается, и поэтому нужна была стабилизация камер, которая учитывала бы присутствующую вибрацию. Ну и, наконец, насколько надёжно измерение цвета. Для этого понадобилась модель.
Модель
- Камера висит над группой сепараторов. Мы считываем её механическое положение по двум-трём осям и делаем из этого вывод, на какие сепараторы она смотрит. Дальше забирается кадр с одним, двумя, тремя или четырьмя сепараторами.
- Этот кадр передаётся в нейросеть, обученную выделять участки открытой жидкости на сепараторах. Нам нужно найти жидкость, избавиться от лопастей над её поверхностью, от теней и бликов, а также обода вокруг. Собственно, это и было проблемой колориметра: можно попасть в блик, тень или лопасть, потому что внутри идёт перелив. Ещё там иногда бывает резинотканевый рукав для подачи жидкости и обмывки сепараторов чистой водой, которая не подходит для измерений. У нас модель ищет только слой жидкости без отягчающих обстоятельств.
- Затем выделенный слой жидкости передаётся в простой модуль, рассчитывающий медианный цвет. Это как пипетка, только усредняющая показания по всей пульпе.
- Затем цвет передаётся в сравнение с границами. У каждого сепаратора есть критерии границ, и если цвет темнеет, то происходит действие: на экране загорается красный огонёк и посылается уведомление технологам.
Это сейчас я пропускаю несколько шагов, которые были сделаны раньше, и рассказываю финальную архитектуру.
Общий вид на Цех обогащения Обогатительной фабрики
Внедрение
Во-первых, оказалось, что нужно очень хорошо стабилизировать освещение. Сепараторы находятся в закрытом помещении, но всё равно через окна попадает солнечный свет, который меняет измеряемый цвет жидкости в течение дня плюс двигает тени оборудования и засвечивает жидкость. Мы решили «выбить» этот свет тем, что поставили мощные лампы сверху. По идее, можно было экспериментировать с поляризацией, но это излишне. На практике же оказалось, что наша схема несовершенна, потому что в определённое время дня года рассветные лучи всё же влияют на угол некоторых сепараторов в одной из секций, и жидкость в них начинает бликовать. Это выяснилось через некоторое время тестовой эксплуатации, и решили, что надо знать такую особенность и подумать над тем, как «докрутить» модель.
Во-вторых, оказалось, что границы цвета во всех сепараторах разные из-за того, что на каждый из них по-разному падает свет. Понадобилось в интерфейсе добавить индивидуальный допустимый цвет для каждого МГС, а не обойтись одним эталонным. Оборудование после эксплуатации и ремонтов становится уникальным.
Скриншот интерфейса: границы цвета
В-третьих, мы беспокоились о запылении камер и светильников или испарениях, которые могут перекрыть вид. Камеры и светильники у нас смонтированы высоко, и для протирания нужны люди с допуском не только лазить по стремянке, но и подниматься на 3-й уровень секции. Это не промальп, но всё равно трудоёмко. Оказалось, что мешает только пыль, и цикл там — протирать специальной салфеткой раз в три месяца. Модель изменения цвета от пыли мы не строили, её влияние как слоя незначительное.
В-четвёртых, технологи цеха попросили возможность не только смотреть видеопоток с камер из интерфейса, но и управлять ими. Для чего именно им это нужно, точно сказать не могу, но они осматривают через камеру ещё и территорию вокруг сепараторов. После выставленной вручную точки камера через некоторое время возвращается на свои «маршруты».
В-пятых, нам понадобились данные о статусе сепаратора из индустриальной шины, чтобы не вызывать лишней тревоги у людей, когда сепараторы выведены на ремонт, стоят или находятся в каком-то ещё нерабочем режиме. Это оказалось просто, благо эти данные для нас ещё годы назад заботливо упаковали по стандартам те, кто работает с производством на уровнях АСУ ТП и ниже.
В-шестых, поняли границы:
- Общие кадры секции, когда в камеру попадает сразу много сепараторов, дают точность около 95 %, а при правильно расположенных боксах, когда один, два, три или четыре сепаратора в кадре, точность — 100 %. Поэтому выбираем движение, а не широкий угол.
- Локальная точность измерения цвета высокая, но зависит от качества вырезания бликов и других деталей, а это, в свою очередь, — от падающего света и движения жидкости внутри. Поскольку камера переключается по маршруту каждые 30 секунд, а управляющие реакции до нас обычно приходили за часы, то при резком изменении цвета мы просто ждём следующего замера и смотрим, что с ним.
- Сама магнитная жидкость не создаёт помех камере, даже если она вплотную внизу.
В-седьмых, конечные пользователи внимательно за всем этим наблюдали (ведь это была их идея, и это ассистент для них) и ещё попросили сделать архив фотографий «хвостящих» сепараторов. Мы уточнили, что это для статистики, сделав и архив, и графики цвета дефектов для каждого сепаратора.
Вот интерфейс оператора:
Естественно, наш сервис после MVP был переписан по индустриальным стандартам: разворачивание в контейнер, стандарты кода, ИБ, передача данных по сепараторам в корпоративную шину и т. п. То есть теперь можно запросить цвет сепаратора из шины вместе с другими производственными параметрами и просто получить его.
Если сепаратор начинает «хвостить», то срабатывает уведомление. До этого операторы видят цвет на экранах ПК, но наша модель-ассистент добавляет уверенности и защищает от случайностей человеческого фактора. Технологи в такой ситуации перекрывают питание МГС (т. е. подачу пульпы) и ждут разгрузки устройства. Потом промывают агрегат, затем осматривают его. Чаще всего это или механический засор частицами, или неисправность датчика. Затем снова его загружают и вводят в рабочий режим. В это время нужно следить за всеми остальными МГС и, возможно, менять режим их работы. Если «хвостят» сразу два сепаратора, то повышается вероятность нерасчётных режимов, потому что технологи фокусируют всё внимание на их обслуживании и не успевают обходить остальные или что-то делать. Модель в таком случае предупреждает о возможной проблеме заблаговременно до того, как она станет, собственно, проблемой.
Результат
В конце работ технологи сказали, что мы сделали очень полезную штуку. Полезную и лично для них, и для подрастающих поколений. Это, если что, комплимент! Такое всегда приятно слышать, потому что часто такие модели воспринимаются с ворчанием, мол, мы тут 30–40 лет трудимся, а потом приходят какие-то офисные айтишники и учат нас работать. Поэтому мы всегда делаем ассистентов, подсказывающих параметры: нравится — ориентируйся, не нравится — работай руками. Но очень быстро смена, работающая руками, начинает проигрывать смене, пользующейся подсказками модели (ну или модель забрасывается, и это для нас признак её неэффективности). На этом проекте почти сразу стало понятно, что экономический эффект очень значимый. Деталей раскрывать не могу, но, учитывая бюджет решения на закупку камер, разработку, внедрение и поддержку, всё это меньше чем за год окупится чисто на предотвращении дефектов.
В общем, это и не «Повесьте там колориметры», но и не rocket science.