Введение. Использование искусственного интеллекта при разработке технологических процессов – задача непростая. В своей работе технолог руководствуется не только различными стандартами [1], но и опирается на характеристики оборудования, инструментов, собственный опыт. При разработке технологического процесса изготовления новых деталей не всегда возможно предугадать поведение заготовки при обработке, например, ее может искривить в следствии возникновения внутренних напряжений в металле или термической обработки. Также на стоимость готовой детали влияют режимы обработки – долгий процесс увеличивает стоимость, в то время как ускоренные режимы могут не обеспечить качество поверхности детали и вести к износу режущего инструмента [2, 3]. Помимо перечисленных нюансов существуют и другие, а их совокупность напрямую влияет на три основных параметра производства продукции - скорость, качество, стоимость. Так как машины не в состоянии обеспечить оптимальное сочетание этих параметров и полностью зависят от человека, это означает, что от человека же и зависит обеспечение этих параметров. Иными словами, от человеческого фактора зависит все.
Можно представить, существование двух условий: максимума и минимума, и рассмотреть сочетание между собой параметров скорости, качества и стоимости производства с учетом возведения одного из них в абсолют.
Если увеличить режимы обработки, уменьшить припуски на обработку поверхностей, сократить затраты времени на установку и измерение деталей (максимальная скорость), то можно увеличить количество изготовляемых в единицу времени деталей, однако качество полученной продукции будет низким, а значит и стоимость будет невелика (минимальное качество и стоимость) [4].
Качество деталей зависит не только от требований конструкторской документации, но и от возможностей оборудования. Чем выше требования по качеству, тем специфичнее требуется оборудование, например, высокоточные станки с ЧПУ и координатно-измерительные машины (КИМ). Так, обеспечить точность размеров в пределах тысячных долей миллиметра и проконтролировать такие размеры может только высокоточное оборудование. Однако такая точность нужна не везде. Поэтому возведение качества в абсолют ведет к увеличению затрат на производство не только из-за требования вышеперечисленного оборудования, но и из-за затрат времени на измерение размеров. Кроме того, большая часть деталей будет уходить в брак, что скажется на стоимости годных деталей (минимум скорости, максимум качества, и, соответственно, стоимости).
Стоимость продукции регулируется законами рынка и зависит не только от стоимости изготовления, но и от дефицита или профицита аналогичной продукции. В случае большой потребности в продукции, ее стоимость становится максимальной даже с учетом не самого хорошего качества и относительно небольшом времени изготовления. При отсутствии дефицита или профицита, повышение стоимости продукции зависит от ее качества, но в тоже время будет вести к увеличению затрат времени на обработку, и соответственно, снижению количества выпускаемых изделий.
Задача инженеров используя знания, описанные выше, обеспечить баланс качества продукции, скорости и стоимости ее изготовления [5]. И, возникает вопрос, сможет ли искусственный интеллект не только обеспечить баланс, но и совместить оптимальные параметры, для обеспечения наилучшего результата? Ответить на этот вопрос можно будет завершив разработку автоматизированной системы разработки технологических процессов на механическую обработку деталей.
Материалы и методы. При разработке системы используется необычный подход, суть которого заключается в одновременной постановке локальных задач и их решений, направленных на достижение стратегической цели. Классический метод разработки программ состоит из теоретической части, в которой разрабатывается алгоритм работы программы, и практической части, в которой пишется, тестируется и отлаживается код. Новый метод подразумевает постановку главной цели и выделения основных промежуточных этапов, которые необходимо пройти. При этом отсутствует четкая логика прохождения этапов. Это позволяет использовать разные способы для решения проблем, добавлять или исключать отдельные функции в программу, но главная цель остается неизменной. Также такой подход позволяет разработчику самому выбирать ближайшую достижимую цель и сразу сосредотачиваться на ее достижении, что помогает избегать ситуаций, когда четко спланированная на теоретическом этапе цель или способ ее достижения по каким-либо причинам оказываются труднореализуемыми, или вовсе недостижимыми, что может поставить под угрозу весь проект. Такой метод работы получил обозначение «разработка в реальном времени» или «real-time digital». Недостатком такого метода является вероятность столкнуться с ошибками, которые можно было бы выявить на теоретическом этапе, но в случае, когда невозможно точно предугадать, с какими трудностями придется столкнуться в работе, использование разработки в реальном времени позволяет либо решить возникшую проблему, либо изменить промежуточную цель таким образом, чтобы достичь ее стало проще.
Для проведения экспериментов с искусственным интеллектом использовался частный ПК (ноутбук) со следующими характеристиками: процессор Intel Core i5-6200U, видеокарта Nvidia GeForce 940MX, оперативна память 12 ГБ. На данном ПК выполнялись процессы по подготовки обучающего набора данных, обучению нейронной сети и ее тестированию.
Основная часть. Современный искусственный интеллект также называют нейросетью – сокращенно от «нейронная сеть». Это программа, способная имитировать работу человеческого мозга, состоящего из нейронов. Такие программы способны находить определенную закономерность между обрабатываемыми данными, и на их основе выдавать новые результаты. Процесс поиска закономерностей называется обучением. Отличительной особенностью нейросети от других программ является логика. При классической разработке программ программист сам задает условия поведения программы на различные данные, поступающие в нее. Иными словами, программа подчиняется логике, заложенной в нее программистом. Нейросеть же позволяет обойти строгие логические ограничения благодаря способности обучения. Именно обучение лежит в основе работоспособности программ с искусственным интеллектом.
Уже существует множество проектов, которые используют нейросети. Например, существуют нейросети для общения, поиска и анализа информации, такие как ChatGPT или DeepSeek [6], нейросети для генерации изображений, такие как Stable Diffusion или Midjonori, а также, нейросети для анализа и поиска объектов на изображениях и видео. Последние применяются, например, для поиска преступников с помощью распознавания их лиц через камеры в общественных местах, такая система используется в Китае [7]. Также существует обученная модель нейросети для поиска ям на автомобильных дорогах [8]. С помощью распознавания объектов работает и автопилот автомобилей компании Tesla.
Способность к распознаванию изображений может быть применена и в автоматизированной системе разработки технологических процессов. Например, если в качестве исходных данных предоставить нейросети чертеж деталей, она могла бы извлечь данные о шероховатости поверхности, размерах, материале детали, то есть те данные, которые необходимы для разработки техпроцесса.
Многие нейросети работают и обучаются на языке программирования Python [9], поэтому именно этот язык программирования стал очевидным выбором для разработки системы. Кроме того, уже существуют разработанные модули для расчета припуска и режимов резания [10–12], которые также разработаны с помощью Python, а значит, могут быть подключены к системе для выполнения соответствующих расчётов. Процесс разработки и функционал этих модулей описан в книге [13] и статье [14].
Применительно к машиностроению, использование нейросетей позволит повысить степень автоматизации производства [15, 16], ускорить разработку и внедрение технологических процессов, повысит качество выпускаемой продукции и снизит затраты на производство. Часть затрат удается снизить за счет высокотехнологического оборудования, например, станков с ЧПУ [17]. Однако, человеческий фактор играет значительную роль в организации и процессе производства. Следствием этого являются производственные ошибки, приводящие к браку и большие затраты времени на разработку и внедрение техпроцессов, так как инженер-технолог не всегда может учесть все нюансы производства. Некоторые из таких нюансов проявляются уже в процессе изготовления деталей и могут быть связаны со свойствами материала или конструктивными особенностями деталей.
На основании вышесказанного, было принято решение разработать автоматизированную систему разработки технологических процессов на механическую обработку деталей. Концепция подобной системы представлена в [18]. Следует отметить, что попытки использования в машиностроении уже были, например, для моделирования процесса токарной обработки [19].
Существует несколько нейросетей, способных распознавать обьекты на изображениях – RetinaNet, YOLO, ResNet, MobileNet, InceptionV3 и другие. В качестве наиболее подходящей для достижения поставленной цели была выбрана нейросеть YOLO, так как она позволяет не просто обнаруживать объект на изображении, но и выделять его рамкой, а также сохранять в отдельный файл. Учитывая эту особенность, а также возможность обучить несколько моделей этой нейросети на различных пользовательских данных, был разработан первый вариант алгоритма программы, представленный на рисунке 1.
Согласно алгоритму, после запуска программы пользователь загружает чертеж детали в формате .jpg или .png. После этого первая обученная модель нейросети распознаёт на чертеже основную надпись, общую шероховатость, находит виды детали и технические требования. При распознавании видов детали нейросеть должна определить, к какому типу деталей относится деталь на чертеже, например, это может быть вал, втулка, корпус, и так далее. Определившись с типом детали, программа загружает типовой технологический процесс изготовления данной детали.
После этого загруженное изображение разбивается на изображения с отдельными конструктивными элементами, такими как резьба, фаска, шестигранник, квадрат, отверстие, отверстие с резьбой и так далее. Эти изображения загружаются во вторую обученную модель нейросети. Вторая модель извлекает данные о конструктивных элементах детали и на их основе выстраивает маршрут обработки детали. После этого запускается третья модель нейросети, которая распознаёт текст технических требований и числовые значения размеров на чертеже, и составляет базу данных распознанных значений.
Наконец, получив данные о заготовке, шероховатости, технических требованиях, значения размеров и обнаружив все конструктивные элементы, программа выполняет расчеты по заложенной в нее логике и дополняет составленный ранее маршрут обработки, вносит все данные в типовой технологический процесс, сохраняет его в отдельный файл и завершает работу.
В данной статье рассмотрен процесс подготовки обучающего набора данных, процесс и результаты обучения первой модели нейронной сети, ответственной за определение типа детали на чертеже.
Так как процесс обучения нейросети происходит автоматически и на него нельзя повлиять, кроме как завершить преждевременно, возникло два вопроса: как долго будет длиться обучение и какой объем данных необходим для успешного обучения? Для ответа на эти вопросы было принято решение о проведении первого эксперимента. Но перед этим, нужно было подготовить обучающий набор данных.
Рис. 1. Первоначальный алгоритм
автоматизированной системы разработки
технологических процессов обработки материалов резанием
Для достижения положительных результатов обучения необходимо предоставить нейросети большие наборы данных – от нескольких сотен до нескольких тысяч изображений в формате .jpg или .png и их аннотаций в формате .xml. Но чем больше набор данных, тем больше времени понадобится для их подготовки и времени на обучения, а так как для обучения нейросети невозможно было задействовать мощные компьютеры, совокупность факторов могла привести к неоправданно большим затратам времени и сил. Поэтому, поскольку результат эксперимента предсказать было невозможно, было решено подготовить небольшой обучающий набор данных, состоящих из шестисот изображений и их аннотаций винтов, болтов и гаек – по двести изображений каждой детали. На рисунке 2 слева представлено изображение гайки, которое соответствует чертежу гайки в ГОСТе [20], а справа аннотирование изображение гайки. Изображения создавались с помощью программ Компас-3D и Paint, а аннотации – в программе LabelImg.
Эти детали были выбраны не случайно. Конструктивно они довольно простые, но при этом гайка отличается от винта и болта, а значит, нейросети будет проще отделить ее от других деталей, и в то же время, винты и болты очень похожи, и различать их будет испытанием для нейросети. Так же, как правило, эти детали являются стандартными, то есть изготавливаются соответственно определенным ГОСТам [20–22], а чертежи, представленные в стандартах, имеют 2-3 вида, поэтому обучить нейросеть распознавать именно эти детали проще.
Не смотря на кажущуюся простоту задачи, процесс подготовки обучающего набора данных, состоявший из двух частей – прорисовки однотипных изображений и их аннотирования – занял достаточно много времени (несколько месяцев), и, в сравнении с временем, затраченным на сам эксперимент, оказался наиболее трудоемким.
Рис. 2. Изображение гайки и его аннотация
Эксперимент длился 22 часа 20 минут и был принудительно остановлен, так как к этому времени стало очевидно, что для полного обучения нейросети понадобится приблизительно 50 суток. В процессе обучения было получено две модели нейросети, из которых для проведения теста была выбрана модель с самым низким показателем ошибок. Для теста использовалось изображение, представленное на рисунке 3, после обработки данного изображения нейросеть создала отдельное изображение, на котором рамками выделила обнаруженные объекты и прокомментировала их. Созданное нейросетью изображение представлено на рисунке 4.
Рис. 3. Изображение, использованное для теста нейросети
Рис. 4. Результат обработки изображения нейросетью
Полученная модель нейросети смогла обнаружить все три объекта – гайку, винт и болт. Однако винт в левом верхнем углу изображения и болт в правом верхнем углу нейросеть не смогла отличить друг от друга. Изображение гайки нейросеть успешно обнаружила и выделила в отдельную рамку, однако понять, что именно на изображении, нейросеть не смогла – это видно по наложившимся друг на друга надписям vint, gaika, bolt над верхним левым углом рамки.
Таким образом, оценить эксперимент можно как частично успешный, а в процессе его проведения были получены следующие выводы:
- Нейросеть способна научиться распознавать изображения деталей, а значит использование нейросети для извлечения данных с чертежа можно считать возможным, иными словами – эксперимент полностью подтвердил возможность применения нейросети для выполнения поставленной задачи;
- Результат обучения зависит от нескольких составляющих: количество изображений в обучающем наборе данных, качество этих изображений, характеристики ПК, использующегося для обучения;
- Лучше не использовать частный ПК, если нет возможности оставить его включенным на протяжении нескольких суток;
- На подготовку обучающего набора данных требуются значительные затраты времени (даже для простейших деталей, соответственно, чем сложнее детали, тем больше понадобится времени на подготовку), но при этом затраты времени на обучение нейросети гораздо меньше;
- Невозможно точно знать, сколько потребуется изображений в обучающем наборе данных до тех пор, пока не будут получены конкретные результаты работы нейросети;
- В этих условиях (пункты 2, 4 и 5) выбранный метод работы – «разработка в реальном времени» – оказался успешным благодаря заложенному в нем принципу, а именно, возможность корректировать промежуточные цели и пути их достижения, что позволило подготовить обучающий набор данных и провести обучение нейронной сети. Иной метод разработки требовал бы более четкого планирования, подготовки большего количества изображений, изменения конфигурации ПК. Так, изначально планировалось создать гораздо больше изображений гораздо большего количества деталей. Но выбранный метод позволил провести эксперимент, не углубляясь в дальнейшую подготовку, при этом полученных результатов оказалось достаточно для составления выводов.
Выводы. Проведенный эксперимент демонстрирует одну из возможностей использования искусственного интеллекта для разработки технологических процессов изготовления металлических деталей путем механической обработки. Это лишь первый шаг – извлечение информации из чертежа – но без него невозможно составить техпроцесс. Так как эксперимент оказался успешным лишь частично, данное исследование можно продолжить для достижения лучших результатов.
Завершение разработки системы позволит облегчить важнейшую задачу технолога – разработку технологических процессов с учетом требований к качеству готовой продукции, скорости ее изготовления и стоимости за счет использования искусственного интеллекта.
Внедрение подобных систем в производство может означать переход к «умному производству». Такой тип производства подразумевает использование машин и информационных систем для выполнения большей части работы. Предполагается, что человек в таком производстве будет наблюдателем и высокоуровневым организатором, чтобы исключить вероятные ошибки при работе автоматизированных систем. Использование искусственного интеллекта, в том числе в виде нейронных сетей, приблизит переход производства к «умному производству», а представленная автоматизированная система разработки технологических процессов на механическую обработку деталей вполне может стать первым шагом к трансформации машиностроительной отрасли.



