Хорошо изучив хаб, я наткнулся на множество интересных решений, построенных на нейросетях.
Также я нашел редкие темы по CAD-тематике, а именно CAD/CAM-системам, что натолкнуло на мысль: «а почему бы не написать здесь о своих разработках и мысляхЭ» Ведь здесь приличное количество специалистов, программистов и просто умных людей.
А в научных и профессиональных кругах моего местного уровня обсуждать тонкости на эту тему практически невозможно.
По крайней мере, мои поиски разработчиков такого ПО для целей связи не увенчались успехом и продолжаются по сей день.
Вот уже несколько лет я занимаюсь изучением систем искусственного интеллекта (ИИ), и моя основная деятельность по работе тесно связана с системами CAD/CAM и оборудованием с ЧПУ (числовым программным управлением).
И однажды мысль поразила вас врасплох? Почему бы не совместить одно с другим? Те.
почему бы не интегрировать ИИ в САПР? На сбор по крупицам сведений о достижениях буржуазии в этой области ушло около года.
И получилась очень забавная картина — ИИ используют, но для очень ограниченных задач и целей.
По большей части решаются задачи классификации и распознавания объектов (например, типовых элементов в твердотельной модели детали).
А как насчет области программного обеспечения, в которой пишутся управляющие программы? Ведь этот процесс наполнен большим количеством ручной работы.
Именно здесь началось углубленное изучение основных представителей CAD/CAM-систем на тему максимального упрощения и автоматизации процессов написания программ.
Опыт использования различных пакетов все еще растет. Также было много полезного общения на выставках, конференциях, даже непосредственно на территории иностранных компаний.
К чему все это привело? И это привело к одному — я решил заняться разработкой собственного алгоритма.
Понятно, что уровень моей разработки программного обеспечения никогда не достигнет уровня кода серьезной компании с отличным штатом программистов, но никто не мешал мне начать с теоретических исследований.
А много думать головой оказывается даже полезно! Идея моего алгоритма из простых мыслей потихоньку начала перерастать во что-то осязаемое и вполне осязаемое реальное.
Все началось с малого – с решения вопроса автоматизации описания механической обработки стандартных элементов.
Для справки: типичными элементами являются отверстия, карманы и пазы в моделях и сами детали (показаны на рисунке).
Было придумано простое название для будущего алгоритма: « я-функция Скажу сразу, это не стартап и не коммерческий проект. Это просто дело души и научного интереса.
Вот логотип проекта, который я сделал:
Далее были проведены первые испытания алгоритма (правда, пока только теоретические).
Но об этом позже.
В чем суть моего развития? Покажу на примере обработки обычного отверстия, которое получается при элементарном сверлении.
Отверстие, как и любой стандартный элемент, имеет свои параметры.
Собственно вот они: — л отв – глубина отверстия; — Д отв – его диаметр; — М дети – обрабатываемый материал; Также существует инструмент – дрель, которая также имеет следующие параметры: — л сверлить – длина режущей части (т.е.
насколько глубоко ее можно просверлить); — Д сверлить – диаметр сверла; — М дети – обрабатываемый материал; Вроде бы все логично.
А что здесь можно оптимизировать, скажете вы? Вот тут-то и начинается веселье! Возьмем пример: мы обрабатываем титановую деталь, и нам нужно просверлить отверстие диаметром 8 мм на глубину 45 мм.
Тот, кто сталкивался с этим в реальной жизни, знает, что сверлить сложно и необходимо разбивать глубину сверления на части.
Причем либо с шагом, либо с жестким размером шага, чтобы сверло проходило небольшое расстояние в отверстии.
Это приводит к появлению еще одного параметра, связанного со стратегией обработки: — Н отрывки – количество «тычковых» сверл, необходимое для достижения необходимой глубины.
«Тычки» нужны для двух вещей: удаления стружки из отверстия и дополнительного охлаждения сверла.
Всего достаточно для того, чтобы инструмент просто не сломался и не изнашивался быстрее.
Подводя итог описанию условий обработки, абсолютно правильно было бы использовать два ее важных параметра – скорость резания и подачу.
Так! В общем, у нас есть 9 параметров, которые можно использовать для описания обработки элементарного отверстия.
И что с ними делать? Как добиться автоматизации в будущем?
Вот тут-то и вступает в действие разработанный алгоритм» я-функция Схема его работы представлена на рисунке:
Все предельно просто: в линейной конструкции используются параметры — диаметр отверстия и его глубина, которая коррелирует с диаметром сверла и длиной его режущей части.
А в качестве параметров интеллектуальной структуры используются материалы сверла, детали и глубина отверстия вместе с режимами обработки и количеством проходов.
Линейные параметры можно легко использовать в любой CAM-системе для автоматического создания необходимого режущего инструмента (или разумного выбора его из доступной библиотеки).
Здесь нет смысла изобретать что-то новое.
А как насчет интеллектуальной структуры и ее параметров? Представим, что в детали много одинаковых (именно похожих, не похожих) отверстий, и все нужно обрабатывать исходя из условий материала сверла или детали.
В этом случае опытные инженеры скажут: «Нам на помощь придут заранее созданные шаблоны, которые существуют и давно реализованы во всех современных САПР!» Ведь с шаблонами все просто — вы заранее задаете все параметры и копируете и вставляете их по мере необходимости.
Со стороны шаблоны кажутся отличным решением, но есть одно обстоятельство! Что делать, если глубина отверстия или обрабатываемый материал резко изменились? Стоит ли мне воссоздавать шаблон? Или описать все вручную при отсутствии готового шаблона? Так что именно эти утомительные ручные процедуры создания ручной обработки или создания облака подобных шаблонов катализировали во мне рождение идеи автоматизации подобных процессов.
И чтобы не ограничивать себя, было решено сделать его не просто полностью автоматическим, но еще и разумным и умным! Чтобы система сама могла иметь представление о том, КАК необходимо обработать элемент, подсунутый пользователем в деталь! В процессе разработки идеи я пробовал в голове разные методы, алгоритмы и существующие решения, но в итоге выбор пал на использование нейронных сетей.
Конкретно для решения этой задачи — на многослойном персептроне с алгоритмом обратного распространения ошибки и обучением преподавателей.
Ведь перед нами очевидная задача прогнозирования, и именно в этом сильная сторона использования сети такого типа.
Сеть для обработки нашей дырки выглядела следующим образом:
Количество входов - 3. Количество выходов - 3. Количество скрытых слоев выбиралось по формуле 2н-1 , где n — количество входов.
Для обучения сети были подготовлены обучающие выборки, на которых были представлены примеры обработки различных материалов с разной глубиной и режимами резания.
На данный момент сеть создана, обучена и смоделирована в Matlab`e 7 (спасибо им за хорошие нейрорешения) и показала отличные результаты по минимальному значению ошибки и результатам прогнозирования.
Сейчас алгоритм пробной интеграции разработан в теоретической форме" я-функция "в САПР Unigraphics NX. Там эта разработка будет работать в паре с хорошим модулем распознавания типовых элементов в детали (кажется, он называется FBM).
Также построены сети для других типов стандартных элементов (пазов и карманов).
Все параметры для линейных и интеллектуальных структур описываются аналогично.
Работа идет полным ходом! (в зависимости от количества свободного времени и моего настроения) Нет желания останавливаться на достигнутом.
Основная цель работы – в ближайшем будущем полностью заменить понятие шаблона в CAM-системах и перейти к полной автоматизации и упрощению работы пользователей в системах данного типа.
В следующих постах я начну описывать процессы интеграции в существующую САМ.
А также о новых исследованиях в этой области.
Буду рад комментариям.
Спасибо за внимание! Теги: #нейронные сети #CAD #CAM #обработка деталей #стандартные элементы #обработка #CAD/CAM
-
Tor Как Угроза Безопасности Банка
19 Oct, 24 -
Mp3-Файл "Protect" На Amazon.com
19 Oct, 24 -
Эрланг. Что Это, Почему, Как И Для Кого.
19 Oct, 24 -
Весь Мир Против Коронавируса. Истории Intel
19 Oct, 24