Uczenie maszynowe w budowie maszyn

318

Machine Learning – po polsku uczenie maszynowe. Metody z zakresu tej dziedziny techniki są wykorzystywane z powodzeniem w takich branżach jak reklama (przewidywanie zasięgu, reklamy sugerowane), portale społecznościowe (relacje między użytkownikami), analiza tekstu (wykrywanie kontekstu, emocji), chatboty, rozpoznawanie mowy i wiele innych. Dlaczego tak rzadko używane są w algorytmach sterowania maszynami i jakie korzyści płyną z ich zastosowania?

Mimo rosnącego zainteresowania tym tematem, mała popularnośćMachine Learning spowodowana jest brakiem zaufania do nowości, jeżeli chodzi o przemysł. Uważa się, że stabilność procesu jest na tyle ważna, że należy trzymać się sprawdzonych rozwiązań. Aby jednak poszerzać horyzonty i wprowadzać rozwój w zakładzie produkcyjnym, można zacząć od zastosowań nie mających bezpośredniego wpływu na proces, jak np. monitorowanie. Predictive Maintenance, jest ostatnio bardzo popularnym terminem, ale niestety nie zawsze marketingowy slogan niesie ze sobą prawdziwą innowacyjność. Producenci maszyn, wykorzystując uczenie maszynowe oraz ewentualnie dodatkowe czujniki, mogą informować użytkownika o tym, że z maszyną dzieję się coś niewłaściwego – zanim dojdzie do awarii.

Metody uczenia maszynowego w tego typu aplikacjach są niezwykle skuteczne, ponieważ z ich pomocą można stworzyć model poprawnego działania maszyny i badać różnicę w stosunku do realnego jej zachowania. Dodatkowo, przy produkcji większej ilości maszyn, algorytm jest jeden – a sam model uczy się dla każdego egzemplarza indywidualnie.Dodatkowo, maszyna może podczas swojego działania zbierać dane, które mogą zostać wykorzystane przez producenta do analizy działania na przestrzeni kilku lat. Takie dane są bazą do wykrywania najbardziej awaryjnych części maszyny i pozwalają wprowadzać rozwiązania zwiększające jakość produktu.

Systemy wizyjne, ilekroć zdarza się, że system wizyjny staje się kompletnie bezużyteczny przy zmianie takich parametrów jak: wykrywany produkt, warunki otoczenia (np. jasność, dodatkowe oświetlenie), czy pozycja kamery? Wiele takich przypadków kończy się tym, że program analizujący obraz trzeba napisać niemal na nowo. A jeżeli algorytm adaptował by się samodzielnie, tak aby skupić się na celu działania? Takie możliwości daje uczenie maszynowe, nie mamy bowiem do czynienia ze stałym modelem, a zmiennym – adaptującym się do aktualnych warunków. Nawet jeżeli w systemie wizyjnym nie ma żadnych inteligentnych algorytmów online to posiłkując się omawianymi metodami możemy znacznie uprościć i przyśpieszyć proces kalibracji – uczenia nowego modelu. Wadą tego typu aplikacji na pewno jest konieczność programowania każdej grupy aplikacji oddzielnie i bardziej kompleksowe podejście. Nie wykorzystamy dedykowanych rozwiązań,za pomocą odpowiednik bibliotek skroimy rozwiązanie pod siebie. Na pewno wydłuży to koszt i czas uruchomienia, zatem należy to wziąć pod uwagę podczas projektowania.

Optymalizacja ruchów nieprodukcyjnych, o ile wielu klientów boi się aby „sztuczna inteligencja” sterowała procesem, z uwagi na przywiązanie do bardziej sprawdzonych metod,optymalizacja zachowania maszyny podczas stanów pośrednich może okazać się strzałem w dziesiątkę. Jeżeli maszyna wykonuje jakąś część, to oczywiście wszystkie ruchy takie jak obróbka, docisk itp. muszą wynikać z parametrów technologicznych i często nie opłaca się tutaj stosowanie skomplikowanych algorytmów. Jednak w wielu przypadkach aby przygotować się do kolejnego cyklu, lub przejścia – maszyna musi zmienić swoje położenie (np. szybki odjazd wrzeciona maszyny numerycznych i przemieszczenie się do pozycji startowej kolejnego przejścia). Jeżeli czas nie jest tutaj parametrem najważniejszym, bo np. przed kolejnym taktem podsystem musi poczekać na inną operację, ruchy takie można z powodzeniem zoptymalizować.

Oczywiście należy tutaj zdefiniować funkcję celu, np. redukcja zużycia łożysk, czyli redukcja przyśpieszeń ruchu serwonapędu i ich pochodnych do minimum, lecz tak aby zdążyć w wymaganym czasie. Algorytm ucząc się, będzie na bieżąco korygował swoje zachowanie – zależnie od wyniku aktualnej iteracji. W związku z czym im więcej przejść, tym większa szansa na optymalny wynik, nawet jeżeli warunki się zmienią. Np. obciążenie wynikające z zużycia się elementów mechanicznych, spowoduje zwiększenie przyśpieszeń, ale tylko na tyle aby napęd zdążył przed kolejnym taktem. Czyli po kilku iteracjach wynik będzie wciąż optymalny – mimo zmiany warunków.

Oczywiście istnieje również o wiele więcej przykładowych zastosowań uczenia maszynowego, jednakże opisane powyżej są stosunkowo łatwe do wdrożenia, uniwersalne oraz nie powinny odstraszyć użytkownika końcowego maszyny. Oczywiście takie rozwiązania wymagają innego niż tradycyjne podejścia do budowy maszyn, jednak to właśnie ta różnica może spowodować przewagę rynkową takich urządzeń. Z takim podejściem można zoptymalizować niemal każdy fragment zachowania maszyny i jednocześnie dostarczyć użytkownikowi i producentowi większą ilość danych na temat aktualnego stanu urządzenia.

Źródło: Redakcja Portal Przemysłowy.pl