Niniejszy artykuł jest streszczeniem naszych publikacji i prezentacji, opisującym sposoby implementacji rozwiązań sztucznej inteligencji w nowoczesnych zespołach automatyki. Przedstawiamy tu rozwiązanie opracowane i przetestowane przez KBA AUTOMATIC Sp. z o.o., będące przełomem w kierunku Przemysłu 4.0. W rozwiązaniu tym łączymy automatykę przemysłową z najnowszymi osiągnięciami informatyki i sztucznej inteligencji.
Wśród kluczowych elementów naszego systemu znajdują się:
W ramach projektu B+R opracowaliśmy zarówno software, jak i hardware które zostały wykorzystane do stworzenia procesu inteligentnej paletyzacji obiektów fizycznych. Nasze interdyscyplinarne podejście połączyło informatykę, sztuczną inteligencję, automatykę przemysłową i robotykę. Skuteczność systemu została potwierdzona w badaniach weryfikacyjnych. Efektywność wypełnienia palety mieściła się w zakresie 40–85% wypełnienia palety, w zależności od rozmiaru obiektów.
W naszej aplikacji do uczenia sieci neuronowej wykorzystaliśmy trzy metody:
Autorską aplikację implementującą nauczoną sieć neuronową opracowaliśmy w oparciu o silnik graficzny Unity (v2020.3.4f1), co pozwoliło na zaawansowaną symulację procesów fizycznych w czasie rzeczywistym. Skrypty przygotowano w większości z wykorzystaniem języka C# i narzędzia Visual Studio. W celu zapewnienia kompatybilności bibliotek utworzono dwa wirtualne środowiska Python venv.
Wykorzystane biblioteki:
Dla hosta na którym zainstalowano Unity Engine:
Dla wirtualnego środowiska Python venv:
Wdrożenie systemu na rzeczywistym obiekcie wpisuje się w koncepcję „digital twin”, czyli cyfrowego bliźniaka.
Po zakończeniu pracy nad systemem dokonaliśmy badań weryfikacyjnych w zakresie poprawności jego działania. Nasze testy wykonaliśmy na dwa sposoby:
a) Sieć neuronowa trenowana i testowana na paczkach o losowych rozmiarach.
b) Sieć neuronowa trenowana i testowana na paczkach o tych samych wymiarach.
Aby w pełni wykorzystać możliwości sztucznej inteligencji w naszym rozwiązaniu, opracowaliśmy system wizyjny do detekcji i klasyfikacji obiektów poruszających się na przenośniku taśmowym. Jest to kluczowy element naszej Inteligentnej celi zrobotyzowanej 4.0, która zapewnia skok w automatykę przyszłości.
Naszą technologię cechują:
Nasze podejście wykorzystuje kamerę głębi, która wykonuje zdjęcia obiektów w trzech wymiarach. Z uzyskanego zdjęcia następnie wyodrębniamy tło, co jest kluczowe dla dalszego pozyskiwania cech (wymiarów, kształtów i tekstury). Należy zaznaczyć, że efektywność tego rozwiązania nie jest zależna od oświetlenia, dzięki czemu zapewniona jest duża możliwość implementacji w różnych warunkach środowiskowych.
Uzyskane cechy wprowadzamy do naszej sieci neuronowej zaprojektowanej do klasyfikacji obiektów znajdujących się na przenośniku taśmowym. W systemie zaimplementowaliśmy software stworzony w Pythonie oraz GUI – zapewniamy tym sprawniejszą pracę przy akwizycji danych, uczeniu naszej sieci neuronowej i przy klasyfikacji obiektów.
Nasze podejście wykorzystuje kamerę głębi wykonującą zdjęcia obiektów w trzech wymiarach. Trzeba zaznaczyć, że kamera głębi charakteryzuje się różnicą w czasie między wykonaniem zdjęcia mapy bitowej i mapy głębokości.
Przy ruchomych obiektach, np. poruszających się po taśmie, różnica ta powoduje przesunięcie w fazie obiektów widocznych na mapie bitowej i mapie głębokości. W związku z tym mapa bitowa nie jest wykorzystywana do wyznaczania deskryptorów głębokościowych. Przedstawiona jest jedynie w celu wizualizacji.
Stworzony system składa się z dwóch warstw.
Pierwszą stanowi warstwa akwizycji i analizy danych wyodrębnionych ze zdjęć wykonanych kamerą głębi, drugą stanowi nasza sztuczna sieć neuronowa służąca do klasyfikacji obiektów.
Aby lepiej zrozumieć zamysł naszej technologii, zamieszczamy poniżej analizę mapy głębi w postaci diagramu blokowego oraz wizualizację działania systemu.
Opis ekstraktowanych deskryptorów
Gdy określiliśmy już obiekt poddawany analizie, ekstraktujemy z niego 29 deskryptorów. Pierwsze 10 odpowiedzialnych za parametry statystyczne mapy głębi zawierającej tylko ten obiekt i kolejne 19 określających kształt analizowanego obiektu.
Opis modelu klasyfikacji
Po ekstrakcji deskryptorów poddajemy je normalizacji, aby zwiększyć możliwości modelu do lepszego uczenia i poprawnego przewidywania. Model tworzy 3-warstwową sztuczną sieć neuronową. Wymiary warstw sieci określone są przez liczbę cech i klas. W przypadku warstwy wejściowej jej wielkość jest równa liczbie cech, natomiast dla warstwy ukrytej wielkość określona jest sumą cech i klas.
Opis algorytmu wykrywania anomalii
Oprócz wspomnianych algorytmów opracowaliśmy również algorytm anomalii. Zastosowanie tego algorytmu pozwala na większą efektywność klasyfikacji. Algorytm wykrywania anomalii pozwala na wykrywanie cech nienależących do klasy sprawdzanego obiektu bez zaburzania głównego procesu klasyfikacji.
Wynik klasyfikacji i algorytmu wykrywania anomalii zwracany jest jako procentowe prawdopodobieństwo.
Opis klasyfikowanych obiektów
Nasz system wizyjny może klasyfikować różne obiekty na podstawie ich charakterystyk. Nie narzucamy żadnej liczby klas, jednakże celem naszej aplikacji jest segregowanie różnorodnych obiektów, stąd zazwyczaj przedmioty podlegające klasyfikacji stanowią kartony i opakowane w worki paczki.
Aby zweryfikować poprawność opracowanego systemu, zrealizowaliśmy go fizycznie i przetestowaliśmy – najpierw statycznie, później dynamicznie (prędkość paczki równa 0.95 m/s). Zestaw treningowy zawierał 200 zdjęć, testowy – 300.
GUI zaprojektowane dla naszego systemu umożliwia sprawne testowanie naszego modelu i weryfikacje podejścia w środowisku fizycznym.
Do mocnych stron naszego rozwiązania należą:
Do ograniczeń możemy zaliczyć:
Opracowane przez nas rozwiązania tworzą spójną całość umożliwiającą automatyzację na wyższym poziomie. Połączenie inteligentnego systemu wizyjnego i zautomatyzowanej paletyzacji z wykorzystaniem robota przemysłowego – to gwarancja jakości, efektywności i innowacyjności. System jest uniwersalny i łatwo adaptowalny do pracy w różnych warunkach środowiskowych. Te cechy czynią go przystosowanym do współczesnych standardów oraz pozwalają na redukcję kosztów w przypadku dokonywania zmian już po etapie implementacji rozwiązania.
W kolejnym rozdziale przedstawiliśmy zbiór miejsc (konferencji), gdzie przedstawialiśmy nasze rozwiązanie.