Вступ
У школі закріплення знання нам задавали вирішити безліч однотипних прикладів. Ми весь час прикро: що тут цінного? Підставити у формулу два-три значення та отримати відповідь. Де тут політ думки? Реальність виявилася суворішою, ніж школа.
Зараз я працюю аналітиком у ІТ. До приходу до ІТ-сфери я попрацював інженером-теплотехніком, програмістом ЧПУ, взяв участь у дослідницьких проектах.
На своєму досвіді я переконався, що 95% робочого часу інженери та вчені витрачають на такі однотипні дії. Розрахунки рівнянь, перевірки, реєстрація результатів, копіювання специфікацій. Проект за проектом, експеримент за експериментом, день у день.
Ось кілька прикладів з моєї минулої роботи.
До 2019 року я робив макети для термовакуумного формування. Якщо такий макет обтягнути розігрітим пластиком, отримаємо виріб, який точно повторює геометрію цього макета. Опис технології
У циклі виготовлення макета необхідний цілий набір вузькоспеціалізованих додатків:
- Autodesk Inventor для 3Д моделювання;
- Excel для розвантаження розмірів заготівлі;
- Excel для розрахунку вартості макету;
- модуль HSM для складання керуючої програми ЧПУ;
- Файлова система комп'ютера для керування файлами програм;
- Середовище Mach3 для керування верстатом ЧПУ.
З-поміж середовища в середу дані доводилося переносити вручну, а це цілі таблиці та масиви значень. Процес повільний, часто траплялися помилки.
До цього я брав участь у розробці та виробництві світловодів (
Час інженера та час вченого – це дуже дорогий час. Мова тут не про зарплату. За розрахунками інженера стоїть великий проект із командою. За дослідженнями вченого стоїть перспектива цілої галузі. Але часто висококваліфікований фахівець тупо перебиває значення з однієї програми в іншу замість розробки концепцій, моделювання, інтерпретації результатів, диспутів та мозкових штурмів з колегами.
Особливість сучасного бізнес-середовища – це швидкість. Ринок постійно підганяє. У 2014 році на виготовлення макету ми брали 2-3 тижні. У 2018 році – три дні, і це вже здавалося надто довго. Зараз проектувальник повинен видати кілька варіантів рішення за той самий час, який раніше виділявся лише на один варіант.
І ще один момент – інвестиції та ризики. Щоб «зачепитися» за проект, підприємство до укладення договору із замовником має вкласти у концептуальну розробку ~6% вартості цього проекту. Ці кошти йдуть:
- на дослідження;
- концептуальне проектування;
- оцінку трудовитрат;
- підготовку ескізів тощо.
Компанія бере їх зі своєї кишені, це власний ризик. Увага до концепції потребує часу фахівців, а вони зайняті рутиною.
Після знайомства з інструментами роботи в ІТ-компанії я зацікавився, які практики автоматизації бізнес-процесів могли б бути корисними інженерам. Так, бізнес вже давно застосовує роботизацію процесів (RPA) для боротьби з рутиною.
Виробники RPA заявляють про такі переваги такого інструменту автоматизації:
- універсальність (робот здатний працювати з будь-яким додатком, з будь-яким джерелом даних);
- простота освоєння (не потрібно глибоких компетенцій у програмуванні та адмініструванні);
- швидкість розробки (на готовий алгоритм йде менше часу, ніж за традиційному програмуванні);
- реальне розвантаження працівника від рутинних операцій.
За цими критеріями ми перевіримо, який ефект використання RPA в інженерних/наукових розрахунках.
Опис прикладу
Розглядатимемо простий приклад. Є консольно закріплена балка із вантажем.
Погляньмо на це завдання з позиції інженера та з позиції вченого.
Кейс «інженер»: є консольно закріплена балка завдовжки 2 м. Вона має утримати вантаж масою 500 кг із 3-кратним запасом міцності. Балка виконана із прямокутної труби. Потрібно підібрати переріз балки за каталогом ГОСТ.
Кейс «вчений»: з'ясувати, як впливає маса вантажу, перетин і довжина балки на здатність цієї балки, що несе. Вивести регресійне рівняння.
В обох випадках враховується сила тяжіння, яка діє на балку пропорційно масі балки.
Докладно вивчимо саме перший кейс – «інженер». Кейс «науковець» реалізується схожим чином.
Технічно наш приклад дуже простий. І фахівець-предметник зможе порахувати його просто на калькуляторі. Ми маємо іншу мету: показати, як допоможе RPA-рішення, коли завдання стає масштабним.
У спрощеннях відзначимо також: переріз труби - ідеальний прямокутник, без заокруглення кутів, без урахування зварного шва.
Завдання інженера
Загальна схема кейсу «інженер» така:
- На листі Excel маємо таблицю із сортаментом труб за ГОСТ.
- Для кожного запису з цієї таблиці ми маємо побудувати 3D-модель у Autodesk Inventor.
- Потім у середовищі Inventor Stress Analyses виконуємо розрахунок міцності і вивантажуємо результат розрахунку в html.
- Знаходимо в отриманому файлі величину «Максимальна напруга Мізесу».
- Зупиняємо розрахунок, якщо запас міцності (відношення межі плинності матеріалу до максимальної напруги за Мізесом) буде меншим за 3.
Вважаємо, що балка відповідного перерізу забезпечить 3-кратний запас міцності і буде мінімальною за масою серед інших варіантів.
У нашому завданні спеціаліст працює з 3 додатками (див. схему вище). У реальному становищі кількість додатків буває більше.
ГОСТ 8645-68 "Труби сталеві прямокутні" містить 300 записів. У своїй демонстраційній задачі ми скоротимо список: візьмемо по одній позиції з кожного сімейства розмірів. Разом 19 записів, у тому числі потрібно вибрати одну.
Середовище моделювання Inventor, в якому ми будуватимемо модель і робитимемо розрахунок міцності, містить бібліотеку готових матеріалів. Матеріал балки приймемо з цієї бібліотеки:
Матеріал - Сталь
Щільність 7,85 г/куб. см;
Межа плинності 207 МПа;
Межа на розрив 345 МПа;
Модуль Юнг 210 GPa;
Модуль зсуву 80,7692 GPa.
Так виглядає тривимірна модель навантаженої балки:
А тут результат розрахунку міцності. Система підфарбовує червоним уразливі області балки. У цих місцях напруга найбільша. Шкала зліва показує значення максимальної напруги у матеріалі балки.
Тепер передамо частину роботи роботу
Схема роботи змінюється так:
Роботу зберемо у середовищі 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 із бібліотеки команд. Потім налаштування параметрів у вікні властивостей.
Розвантаження від рутини
На обробку одного запису робот витрачає 1 хв 20 сек. Приблизно стільки часу ми витрачали на обробку одного запису без робота.
Якщо ж мова про десятки та сотні записів, то людина неминуче втомиться, почне відволікатися. Фахівця можуть раптово зайняти якимось іншим завданням. З людиною пропорція виду "Якщо завдання займає A хвилин, то N таких завдань можна виконати за A * N хвилин" не працює - часу завжди йде більше.
У нашому прикладі робот перебиратиме записи послідовно, починаючи з найбільших перерізів. На високих масивах це нешвидкий спосіб. Для прискорення можна реалізувати послідовні наближення, наприклад метод Ньютона або половинного поділу.
Результат розрахунку:
Таблиця 1. Результат підбору перерізу балки
Завдання вченого
Завдання вченого — провести кілька чисельних експериментів, щоб визначити закон, за яким змінюється здатність балки, що несе, залежно від її перерізу, довжини і маси вантажу. Знайдений закон формулюють у вигляді регресійного рівняння.
Щоб регресійне рівняння мало точність, вчений повинен обробити великий масив даних.
Для нашого прикладу виділяється масив вхідних змінних:
- висота профілю труби;
- ширина;
- товщина стінки;
- довжина балки;
- маса вантажу.
Якщо ми повинні зробити розрахунок хоча б для 3 значень кожної змінної, то це сукупно 243 повторення. За двохвилинної тривалості однієї ітерації загальний час становитиме вже 8 годин — цілий робочий день! Для повнішого дослідження ми повинні брати не по 3 значення, а по 10 або більше.
У ході дослідження обов'язково з'ясується, що до моделі потрібно включити додаткові фактори. Наприклад, "поганяти" різні сорти сталі. Обсяг обчислень зростає у десятки та сотні разів.
На реальному завданні робот зможе звільнити вченому кілька днів, які спеціаліст використовує для підготовки публікації, а це є головним показником діяльності вченого.
Резюме
"Продукт" інженера - реально працюючий пристрій, конструкція. Роботизація розрахунків знизить ризики за рахунок більш глибокого опрацювання проекту (більше розрахунків, більше режимів, більше варіантів).
«Продукт» вченого – рівняння, закономірність чи інший компактний опис. І тим воно точніше, чим більше даних залучили до аналізу. RPA-рішення допоможе формувати інформаційну «їжу» для моделей.
Узагальним наш приклад.
У ролі розрахункової моделі може бути будь-яка модель: модель моста, модель двигуна, модель системи опалення. Від фахівця потрібно, щоб усі компоненти моделі перебували у правильній взаємодії один з одним і щоб модель надавала «зовні» набір ключових параметрів-змінних.
Роль розрахункового середовища грає будь-який додаток, який спеціаліст використовує у роботі. Ansys, Autocad, Solidworks, FlowVision, Dialux, PowerMill, Archicad. Або щось власної розробки, наприклад програма для підбору вентиляторів на заводі-виробнику (див. Програми підбору обладнання Systemair).
У ролі джерела даних розглядаємо і сайт, і базу даних, і лист Excel, і txt-файл.
Кінцевий результат – звіт – це документ Word з автоматично сформованим текстом, діаграма Excel, набір скріншотів або розсилка електронних листів.
RPA застосуємо скрізь, де застосуємо інженерний аналіз. Ось деякі області:
- міцнісні розрахунки та деформація;
- гідро- та газодинаміка;
- теплообмін;
- електромагнетизм;
- міждисциплінарний аналіз;
- породжувальне проектування;
- керуючі програми для ЧПУ (наприклад, нестинг);
- медичні та біологічні дослідження;
- у розрахунках систем із зворотним зв'язком або нестаціонарних систем (коли кінцевий результат необхідно передати у вихідні дані та повторити розрахунок).
Сьогодні RPA-рішення активно використовуються в бізнесі для автоматизації процесів, роботи з даними. У рутині офісного співробітника, інженера та вченого багато спільного. Ми показали, що роботи придатні в інженерній та науковій діяльності.
Підсумуємо наші враження.
- Універсальність – так, RPA універсальний інструмент.
- Простота в освоєнні - так, просто і доступно, але потрібна мова.
- Швидкість розробки — так, алгоритм збирається швидко, особливо коли «наб'єш руку» по роботі з рекодерами.
- Розвантаження від рутини - так, справді здатний принести користь у завданнях великого масштабу.
Джерело: habr.com