Wprowadzenie
W szkole zadawano nam do rozwiązania wiele podobnych przykładów, aby utrwalić zdobytą wiedzę. Ciągle narzekaliśmy: co w tym wartościowego? Podstawić do wzoru dwa lub trzy wartości i otrzymać odpowiedź. Gdzie tu lot myśli? Rzeczywistość okazała się surowsza niż w szkole.
Obecnie pracuję jako analityk w IT. Zanim trafiłem do branży IT, pracowałem jako inżynier ciepłotechnik, programista CNC, brałem udział w projektach badawczych.
Na własnym doświadczeniu przekonałem się, że 95% czasu pracy inżynierowie i naukowcy spędzają na takich „jednorodnych” czynnościach. Obliczenia równań, weryfikacje, rejestracja rezultatów, kopiowanie specyfikacji. Projekt za projektem, eksperyment za eksperymentem, dzień za dniem.
Oto kilka przykładów z mojej wcześniejszej pracy.
Do 2019 roku tworzyłem modele do formowania próżniowego. Jeśli taki model owinąć rozgrzanym plastikiem, uzyskujemy produkt, który dokładnie odwzorowuje geometrię tego modelu. Opis technologii .
W cyklu tworzenia modelu potrzebny jest cały zestaw aplikacji wyspecjalizowanych:
- Autodesk Inventor do modelowania 3D;
- Excel do eksportowania wymiarów surowca;
- Excel do obliczenia kosztów modelu;
- moduł HSM do tworzenia programu sterującego CNC;
- System plików komputera do zarządzania plikami programów;
- Środowisko Mach3 do sterowania maszyną CNC.
Z jednego środowiska do drugiego dane musiały być przenoszone ręcznie, a to całe tabele i zbiory wartości. Proces był wolny, często zdarzały się błędy.
Wcześniej brałem udział w opracowywaniu i produkcji światłowodów (). Było dużo badań, projektowania i obliczeń: wyspecjalizowane środowiska do obliczeń cieplno- i oświetleniowych (Ansys, Dialux), plus obliczenia efektywności ekonomicznej, plus Autocad i Inventor do modeli i rysunków. I tutaj te same trudności: wynik obliczenia z jednej aplikacji trzeba przenieść do drugiej aplikacji dla następnych obliczeń. I tak kilka razy w poszukiwaniu optymalnego rozwiązania.
Czas inżyniera i czas naukowca to bardzo cenny czas. Nie chodzi tutaj o wynagrodzenie. Za obliczeniami inżyniera stoi duży projekt z zespołem. Za badaniami naukowca stoi perspektywa całej branży. Jednak często wysoko wykwalifikowany specjalista "po prostu" przepisuje wartości z jednego programu do drugiego zamiast opracowywać koncepcje, modelować, interpretować wyniki, prowadzić dyskusje i burze mózgów z kolegami.
Cechą współczesnego środowiska biznesowego jest prędkość. Rynek cały czas przyspiesza. W 2014 roku stworzenie makiety zajmowało nam 2-3 tygodnie. W 2018 roku – trzy dni, i to wydawało się już za długo. Teraz projektant musi dostarczyć kilka wariantów rozwiązania w tym samym czasie, który kiedyś był przeznaczony tylko na jeden wariant.
I jeszcze jeden aspekt – inwestycje i ryzyko. Aby "załapać się" na projekt, przedsiębiorstwo przed podpisaniem umowy z klientem musi zainwestować w opracowanie koncepcji około 6% wartości tego projektu. Te środki są wydawane:
- na badania;
- projektowanie koncepcyjne;
- ocenę nakładów pracy;
- przygotowanie szkiców itd.
Firma ponosi te koszty z własnej kieszeni, to jej własne ryzyko. Zwracanie uwagi na koncepcję wymaga czasu specjalistów, a oni są zajęci rutyną.
Po zapoznaniu się z narzędziami pracy w firmie IT, zainteresowałem się, jakie praktyki z automatyzacji procesów biznesowych mogłyby być użyteczne dla inżynierów. Dlatego biznes od dawna stosuje robotyzację procesów (RPA) w walce z rutyną.
Producenci RPA deklarują następujące zalety tego narzędzia automatyzacji:
- uniwersalność (robot może pracować z dowolną aplikacją, z dowolnym źródłem danych);
- łatwość w nauce (nie wymaga głębokich kompetencji w programowaniu i administracji);
- szybkość opracowania (na gotowy algorytm potrzeba mniej czasu niż w tradycyjnym programowaniu);
- rzeczywiste odciążenie pracownika od rutynowych operacji.
Na podstawie tych kryteriów sprawdzimy, jaki efekt daje użycie RPA w obliczeniach inżynieryjnych/naukowych.
Opis przykładu
Rozważymy prosty przykład. Mamy belkę zamocowaną w konsoli z obciążeniem.

Przyjrzyjmy się temu zadaniu z perspektywy inżyniera i naukowca.
Studium przypadku "inżynier": mamy belkę długości 2 m, zamocowaną w sposób konsolowy. Powinna ona udźwignąć ładunek o masie 500 kg z trzykrotnym zapasem nośności. Belka wykonana jest z prostokątnej rury. Należy dobrać przekrój belki zgodnie z katalogiem GOST.
Studium przypadku "naukowiec": ustalić, jak masa ładunku, przekrój i długość belki wpływają na nośność tej belki. Przedstawić równanie regresji.
W obu przypadkach uwzględnia się siłę ciężkości, która działa na belkę proporcjonalnie do jej masy.
Szczegółowo omówimy pierwszy przypadek - "inżynier". Studium przypadku "naukowiec" realizowane jest w podobny sposób.
Technicznie nasz przykład jest bardzo prosty. Specjalista przedmiotowy może obliczyć go łatwo na kalkulatorze. Dążymy do innego celu: pokazać, jak rozwiązanie RPA pomoże, gdy zadanie staje się bardziej rozległe.
W uproszczeniach zauważmy również: przekrój rury - idealny prostokąt, bez zaokrągleń krawędzi, bez uwzględnienia spawów.
Zadanie inżyniera
Ogólny schemat przypadku "inżynier" wygląda następująco:
- W arkuszu Excel mamy tabelę z asortymentem rur zgodnie z GOST.
- Dla każdego wpisu w tej tabeli musimy zbudować model 3D w Autodesk Inventor.
- Następnie w środowisku Inventor Stress Analyses przeprowadzamy obliczenia wytrzymałościowe i eksportujemy wyniki obliczeń do pliku HTML.
- Wynikamy w uzyskanym pliku wartość "Maksymalne naprężenie według Misesa".
- Zatrzymujemy obliczenia, jeśli zapas wytrzymałości (wskaźnik granicy plastyczności materiału do maksymalnego naprężenia według Misesa) będzie mniejszy niż 3.
Zakładamy, że belka o odpowiednim przekroju zapewni trzykrotny zapas nośności i będzie minimalna pod względem masy wśród innych opcji.

Podsumowując, w naszym zadaniu specjalista pracuje z 3 aplikacjami (zobacz schemat powyżej). W rzeczywistych warunkach liczba aplikacji może być większa.
GOST 8645-68 "Rury stalowe prostokątne" zawiera 300 wpisów. W naszym zadaniu demonstracyjnym skrócimy listę: weźmiemy po jednej pozycji z każdej rodziny rozmiarów. Łącznie 19 wpisów, z których należy wybrać jeden.

Środowisko modelowania Inventor, w którym będziemy budować model i przeprowadzać obliczenia wytrzymałościowe, zawiera bibliotekę gotowych materiałów. Materiał belki weźmiemy z tej biblioteki:
Materiał - Stal
Gęstość 7,85 g/kub. cm;
Granica plastyczności 207 MPa;
Granica na zerwanie 345 MPa;
Moduł Younga 210 GPa;
Moduł ścinania 80,7692 GPa.
Tak wygląda trójwymiarowy model obciążonej belki:

A tutaj znajduje się wynik obliczeń wytrzymałościowych. System podświetla na czerwono wrażliwe obszary belki. W tych miejscach występuje najwyższe napięcie. Skala po lewej stronie pokazuje wartość maksymalnego napięcia w materiale belki.

Teraz zlećmy część pracy robotowi.
Schemat pracy zmienia się w następujący sposób:

Robota zbudujemy w środowisku Automation Anywhere Community Edition (dalej AA). Przejdziemy przez kryteria oceny i opiszemy subiektywne wrażenia.
Wszechstronność
Rozwiązania RPA (szczególnie komercyjne) są zdecydowanie pozycjonowane jako narzędzie do automatyzacji procesów biznesowych, automatyzacji pracy pracowników biurowych. W przykładach i kursach omawia się interakcję z ERP, ECM, Web. Wszystko jest bardzo "biurowe".
Na początku mieliśmy wątpliwości, czy AA poradzi sobie z interfejsem i danymi naszego Autodesk Inventor. Ale wszystko naprawdę zadziałało: każdy element, każdy kontroler został zidentyfikowany i zapisany. Nawet w formularzach serwisowych z tabelami parametrów robot uzyskał dostęp do potrzebnej komórki po prostu wskazując myszką.
Następnie przeszliśmy do uruchomienia studia obliczeniowego. I również bez problemów. Na tym etapie trzeba było dokładnie popracować nad przerwami między działaniami, kiedy system oczekiwał na zakończenie obliczeń.
Pobieranie końcowych danych z Web i ich wstawianie do Excela przebiegło gładko.
W ramach tego zadania uniwersalność została potwierdzona. Sądząc po opisach innych dostawców RPA, uniwersalność jest rzeczywiście wspólną cechą tej kategorii oprogramowania.
Łatwość przyswojenia
Na przyswojenie potrzebowaliśmy kilku wieczorów: kursy, przykłady szkoleniowe – wszystko to jest. U wielu dostawców RPA szkolenia są darmowe. Jedyną przeszkodą jest to, że interfejs środowiska i kursy w AA są dostępne tylko w języku angielskim.
Szybkość rozwoju
Algorytm dla "zadania inżyniera" opracowaliśmy i przetestowaliśmy w ciągu jednego wieczoru. Sekwencja działań zawierała zaledwie 44 instrukcje. Poniżej na rysunku fragment interfejsu Automation Anywhere z gotowym robotem. Koncepcja Low code/No code – nie trzeba było programować: zastosowano rejestratory działań lub drag’n’drop z biblioteki poleceń. Następnie ustawienie parametrów w oknie właściwości.

Odciążenie od rutyny
Na przetworzenie jednego wpisu robot potrzebuje 1 minuty 20 sekund. Około tyle samo czasu zajmowaliśmy na przetwarzanie jednego wpisu bez robota.
Jeśli chodzi o dziesiątki i setki zapisów, człowiek nieuchronnie się zmęczy i zacznie się rozpraszać. Specjalista może zostać nagle zajęty jakimś innym zadaniem. W przypadku człowieka proporcja w stylu „Jeśli zadanie zajmuje A minut, to N takich zadań można wykonać w A*N minut” nie działa – zawsze zajmuje więcej czasu.
W naszym przykładzie robot będzie przeszukiwał zapisy kolejno, zaczynając od największych przekrojów. W przypadku dużych zbiorów danych nie jest to szybka metoda. Aby przyspieszyć, można wdrożyć sekwencyjne przybliżenia, na przykład metodę Newtona lub półdzielenia.
Wynik obliczeń:
Tabela 1. Wynik doboru przekroju belki

Zadanie naukowca
Zadanie naukowca polega na przeprowadzeniu kilku eksperymentów numerycznych w celu określenia prawa, według którego zmienia się nośność belki w zależności od jej przekroju, długości i masy obciążenia. Odkryte prawo formułuje się w postaci równania regresyjnego.
Aby równanie regresyjne było dokładne, naukowiec musi przeanalizować dużą ilość danych.
Dla naszego przykładu wyodrębniamy zbiór wejściowych zmiennych:
- wysokość profilu rury;
- szerokość;
- grubość ścianki;
- długość belki;
- masa obciążenia.
Jeśli musimy wykonać obliczenia przynajmniej dla 3 wartości każdej zmiennej, to łącznie da to 243 powtórzenia. Przy dwuminutowej długości jednej iteracji całkowity czas wyniesie już 8 godzin – cały dzień roboczy! Dla pełniejszego badania musimy brać nie po 3 wartości, a po 10 lub więcej.
W trakcie badania z pewnością okaże się, że do modelu należy włączyć dodatkowe czynniki. Na przykład „testować” różne gatunki stali. Wymagana liczba obliczeń wzrasta dziesiątki i setki razy.
W rzeczywistej aplikacji robot będzie mógł uwolnić naukowca na kilka dni, które specjalista wykorzysta na przygotowanie publikacji, co jest głównym wskaźnikiem działalności naukowca.
Podsumowanie
„Produkt” inżyniera – to rzeczywiście działająca konstrukcja. Robotyzacja obliczeń zmniejszy ryzyko dzięki głębszemu opracowaniu projektu (więcej obliczeń, więcej trybów, więcej wariantów).
„Produkt” naukowca – równanie, prawidłowość lub inne zwięzłe opisanie. Im dokładniejsze, tym więcej danych było zaangażowanych w analizę. Rozwiązanie RPA pomoże tworzyć informacyjną „żywność” dla modeli.
Podsumujmy nasz przykład.
Jako model obliczeniowy może być używany dowolny model: model mostu, model silnika, model systemu grzewczego. Od specjalisty wymaga się, aby wszystkie komponenty modelu były ze sobą prawidłowo powiązane i aby model dostarczał na "zewnątrz" zestaw kluczowych parametrów zmiennych.
Rolę środowiska obliczeniowego odgrywa każda aplikacja, której specjalista używa w pracy. Ansys, Autocad, Solidworks, FlowVision, Dialux, PowerMill, Archicad. Lub coś własnego, na przykład program do doboru wentylatorów w zakładzie produkcyjnym (patrz Programy do doboru sprzętu Systemair).
W roli źródła danych rozważamy zarówno stronę internetową, jak i bazę danych, arkusz Excel oraz plik txt.
Końcowy rezultat pracy – raport – to dokument Word z automatycznie generowanym tekstem, wykres Excel, zestaw zrzutów ekranu lub wysyłka e-maili.
RPA jest stosowane wszędzie tam, gdzie można zastosować analizę inżynieryjną. Oto niektóre obszary:
- obliczenia wytrzymałościowe i deformacje;
- hydrodynamika i gazodynamika;
- wymiana ciepła;
- elektromagnetyzm;
- analiza interdyscyplinarna;
- konstrukcja generatywna;
- programy sterujące dla CNC (na przykład nesting);
- badania medyczne i biologiczne;
- w obliczeniach systemów z sprzężeniem zwrotnym lub systemów nieustacjonowanych (gdy końcowy wynik musi być przekazany do danych początkowych i obliczenia muszą być powtórzone).
Dziś rozwiązania RPA są aktywnie wykorzystywane w biznesie do automatyzacji procesów, pracy z danymi. W rutynie pracownika biurowego, inżyniera i naukowca jest wiele wspólnego. Pokazaliśmy, że roboty są użyteczne w działalności inżynieryjnej i naukowej.
Podsumujmy nasze wrażenia.
- Uniwersalność — tak, RPA to uniwersalne narzędzie.
- Łatwość w nauce — tak, to proste i dostępne, ale wymaga języka.
- Szybkość rozwoju — tak, algorytm tworzy się szybko, szczególnie kiedy "nabijesz rękę" w pracy z rejestratorami.
- Odciążenie od rutyny — tak, naprawdę może przynieść korzyści w zadaniach na dużą skalę.
Źródło: habr.com
