Применение RPA в научных и инженерных расчетах

в 13:33, , рубрики: CAD/CAM, Блог компании DIRECTUM, инженерные практики, инженерные системы, научные исследования, роботизация

Вступление

В школе для закрепления знания нам задавали решить множество однотипных примеров. Мы все время досадовали: что тут ценного? Подставить в формулу два-три значения и получить ответ. Где тут полет мысли? Реальность оказалась суровей, чем школа.

Сейчас я работаю аналитиком в ИТ. До прихода в ИТ-сферу я поработал инженером-теплотехником, программистом ЧПУ, поучаствовал в исследовательских проектах.

На своем опыте я убедился, что 95% рабочего времени инженеры и ученые тратят на такие «однотипные» действия. Расчеты уравнений, проверки, регистрация результатов, копирование спецификаций. Проект за проектом, эксперимент за экспериментом, день за днем.

Вот пара примеров с моей прошлой работы.

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

В цикле изготовления макета необходим целый набор узкоспециализированных приложений:

  • Autodesk Inventor для 3Д моделирования;
  • Excel для выгрузки размеров заготовки;
  • Excel для расчета стоимости макета;
  • модуль HSM для составления управляющей программы ЧПУ;
  • Файловая система компьютера для управления файлами программ;
  • Среда Mach3 для управления станком ЧПУ.

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

До этого я участвовал в разработке и производстве световодов (ссылка). Исследований, проектирования и расчетов там было много: специализированные среды теплотехнических и светотехнических расчетов (Ansys, Dialux), плюс расчеты экономической эффективности, плюс Autocad и Inventor для моделей и чертежей. И здесь те же трудности: результат расчета из одного приложения нужно перетянуть в другое приложение для следующего расчета. И так несколько раз в поисках оптимального решения.

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

Особенность современной бизнес-среды — это скорость. Рынок все время подгоняет. В 2014 году на изготовление макета мы брали 2-3 недели. В 2018 году – три дня, и это уже казалось слишком долго. Сейчас проектировщик должен выдать несколько вариантов решения за то же время, какое раньше выделялось только на один вариант.

И еще один момент – инвестиции и риски. Чтобы «зацепиться» за проект, предприятие до заключения договора с заказчиком должно вложить в концептуальную разработку ~6% стоимости этого проекта. Эти средства уходят:

  • на исследование;
  • концептуальное проектирование;
  • оценку трудозатрат;
  • подготовку эскизов и т.д.

Компания берет их из своего кармана, это собственный риск. Внимание к концепции требует времени специалистов, а они заняты рутиной.

После знакомства с инструментами работы в ИТ-компании я заинтересовался, какие практики из автоматизации бизнес-процессов могли бы быть полезны инженерам. Так, бизнес уже давно применяет роботизацию процессов (RPA) для борьбы с рутиной.

Производители RPA заявляют о следующих преимуществах такого инструмента автоматизации:

  1. универсальность (робот способен работать с любым приложением, с любым источником данных);
  2. простота освоения (не требуется глубоких компетенций в программировании и администрировании);
  3. быстрота разработки (на готовый алгоритм уходит меньше времени, чем при традиционном програмировании);
  4. реальная разгрузка сотрудника от рутинных операций.

По этим критериям мы и проверим, каков эффект использования RPA в инженерных/научных расчетах.

Описание примера

Рассматривать будем простой пример. Есть консольно закрепленная балка с грузом.
image
Взглянем на эту задачу с позиции инженера и с позиции ученого.

Кейс «инженер»: есть консольно закрепленная балка длиной 2 м. Она должна удержать груз массой 500 кг с 3-кратным запасом прочности. Балка выполнена из прямоугольной трубы. Нужно подобрать сечение балки по каталогу ГОСТ.

Кейс «ученый»: выяснить, как влияет масса груза, сечение и длина балки на несущую способность этой балки. Вывести регрессионное уравнение.

В обоих случаях учитывается сила тяжести, которая действует на балку пропорционально массе балки.

Подробно изучим именно первый кейс — «инженер». Кейс «ученый» реализуется похожим образом.

Технически наш пример очень простой. И специалист-предметник сможет посчитать его просто на калькуляторе. Мы преследуем другую цель: показать, как поможет RPA-решение, когда задача становится масштабной.

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

Задача инженера

Общая схема кейса «инженер» такая:

  1. На листе Excel имеем таблицу с сортаментом труб по ГОСТ.
  2. Для каждой записи из этой таблицы мы должны построить 3D-модель в Autodesk Inventor.
  3. Затем в среде Inventor Stress Analyses выполняем прочностной расчет и выгружаем результат расчета в html.
  4. Находим в полученном файле величину «Максимальное напряжение по Мизесу».
  5. Останавливаем расчет, если запас прочности (отношение предела текучести материала к максимальному напряжению по Мизесу) будет меньше 3.

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

image

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

ГОСТ 8645-68 «Трубы стальные прямоугольные» содержит 300 записей. В своей демонстрационной задаче мы сократим cписок: возьмем по одной позиции из каждого семейства размеров. Итого 19 записей, из которых нужно выбрать одну.

image

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

Материал — Сталь
Плотность 7,85 г/куб. см;
Предел текучести 207 MPa;
Предел на разрыв 345 MPa;
Модуль Юнга 210 GPa;
Модуль сдвига 80,7692 GPa.

Так выглядит трехмерная модель нагруженной балки:

image

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

image

Теперь передадим часть работы роботу

Схема работы изменяется следующим образом:

image

Робота соберем в среде Automation Anywhere Community Edition (далее АА). Пробежимся по критериям оценки и опишем субъективные впечатления.

Универсальность

Решения RPA (особенно коммерческие) настойчиво позиционируются как средство автоматизации бизнес-процессов, автоматизации работы офисных сотрудников. В примерах и учебных курсах разбирают взаимодействие с ERP, ECM, Web. Все очень «офисное».

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

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

С получением итоговых данных из Web и вставкой их в Excel прошло гладко.
В рамках этой задачи универсальность подтвердилась. Судя по описаниям других поставщиков RPA, универсальность – действительно общее свойство этой категории ПО.

Простота освоения

На освоение ушло несколько вечеров: курсы, учебные примеры – все это есть. У многих поставщиков RPA обучение бесплатно. Единственный барьер: интерфейс среды и курсы у АА только на английском.

Быстрота разработки

Алгоритм для «задачи инженера» мы разработали и отладили за вечер. Последовательность действий уложилась всего в 44 инструкции. Ниже на рисунке фрагмент интерфейса Automation Anywhere с готовым роботом. Концепция Low code/No code – программировать не пришлось: применяли рекодеры операций, либо drug’n’drop из библиотеки команд. Затем настройка параметров в окошке свойств.

image

Разгрузка от рутины

На обработку одной записи робот тратит 1 мин 20 сек. Примерно столько же времени мы тратили на обработку одной записи без робота.

Если же речь о десятках и сотнях записей, то человек неизбежно утомится, начнет отвлекаться. Специалиста могут внезапно занять какой-то другой задачей. С человеком пропорция вида «Если задача занимает A минут, то N таких задач можно выполнить за A*N минут» не работает – времени всегда уходит больше.

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

Таблица 1. Результат подбора сечения балки

image

Задача ученого

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

Чтобы регрессионное уравнение обладало точностью, ученый должен обработать большой массив данных.

Для нашего примера выделяется массив входных переменных:

  • высота профиля трубы;
  • ширина;
  • толщина стенки;
  • длина балки;
  • масса груза.

Если мы должны сделать расчет хотя бы для 3 значений каждой переменной, то совокупно это 243 повторения. При двухминутной продолжительности одной итерации общее время составит уже 8 часов — целый рабочий день! Для более полного исследования мы должны брать не по 3 значения, а по 10 или больше.

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

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

Резюме

«Продукт» инженера — реально работающее устройство, конструкция. Роботизация расчетов снизит риски за счет более глубокой проработки проекта (больше расчетов, больше режимов, больше вариантов).

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

Обобщим наш пример.

В роли расчетной модели может быть какая угодно модель: модель моста, модель двигателя, модель системы отопления. От специалиста требуется, чтобы все компоненты модели находились в правильном взаимодействии друг с другом и чтобы модель предоставляла «наружу» набор ключевых параметров-переменных.

Роль расчетной среды играет любое приложение, которое специалист использует в работе. Ansys, Autocad, Solidworks, FlowVision, Dialux, PowerMill, Archicad. Или что-то собственной разработки, например, программа для подбора вентиляторов на заводе-производителе (см. Программы подбора оборудования Systemair).

В роли источника данных рассматриваем и веб-сайт, и базу данных, и лист Excel, и txt-файл.
Конечный результат работы – отчет – это документ Word с автоматически сформированным текстом, диаграмма Excel, набор скриншотов или рассылка электронных писем.

RPA применим везде, где применим инженерный анализ. Вот некоторые области:

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

Сегодня RPA-решения активно используются в бизнесе для автоматизации процессов, работы с данными. В рутине офисного сотрудника, инженера и ученого много общего. Мы показали, что роботы пригодны в инженерной и научной деятельности.

Подытожим наши впечатления.

  1. Универсальность — да, RPA универсальный инструмент.
  2. Простота в освоении — да, просто и доступно, но нужен язык.
  3. Быстрота разработки — да, алгоритм собирается быстро, особенно, когда «набьешь руку» по работе с рекодерами.
  4. Разгрузка от рутины — да, действительно способен принести пользу в задачах большого масштаба.

Автор: PalaginAV30

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js