Cela 4.0

Blog
Cela 4.0

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ę:

  • innowacyjna paletyzacja heterogenicznych obiektów fizycznych w oparciu o robota przemysłowego oraz model sieci neuronowej, opartej na mechanizmach głębokiego uczenia;
  • inteligentny system wizyjny do detekcji i klasyfikacji obiektów na przenośniku taśmowym.

 

1. Paletyzacja heterogenicznych obiektów fizycznych z wykorzystaniem głębokiego uczenia i robota przemysłowego

 

1.1     Wprowadzenie

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.

 

Wizualizacja wirtualnego środowiska
Wizualizacja wirtualnego środowiska

 

1.2   Proces uczenia sieci neuronowej

W naszej aplikacji do uczenia sieci neuronowej wykorzystaliśmy trzy metody:

  • uczenie przez wzmocnienie,
  • uczenie nadzorowane,
  • uczenie wielu modeli jednocześnie.
1.3    Opracowany software

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:

  • Python (v3.7.8),
  • Tensorflow (v2.6.0),
  • Visual Studio 2019,
  • Keras (v2.6.0),
  • OpenCV-Python (v4.1.0.25),
  • tqdm (v4.31.1),
  • Unity Engine (v2020.3.4f1),
  • Unity ML Agentso (v1.0.8).

 

Wizualizacja wirtualnego środowiska
Wizualizacja wirtualnego środowiska

 

Dla wirtualnego środowiska Python venv:

  • ML Agents,
  • Pillow,
  • Numpy,
  • Tqdm,
  • Pytorch (v1.7.0).

 

Wizualizacja wirtualnego środowiska
Wizualizacja wirtualnego środowiska

 

Wdrożenie systemu na rzeczywistym obiekcie wpisuje się w koncepcję „digital twin”, czyli cyfrowego bliźniaka.

 

Fizyczna realizacja naszego rozwiązania z wykorzystaniem robota ABB – zdjęcie przedstawia stanowisko testowe z robotem przemysłowym podczas paletyzacji
Fizyczna realizacja naszego rozwiązania z wykorzystaniem robota ABB – zdjęcie przedstawia stanowisko testowe z robotem przemysłowym podczas paletyzacji

 

1.4   Badania weryfikacyjne

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.

 

 

2.  Inteligentny system wizyjny

 

2.1     Wprowadzenie

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ą:

  • wysoka dokładność,
  • zdolność do adaptacji,
  • oszczędność kosztów,
  • efektywność.

 

2.2     Aktywizacja i wizualizacja danych

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.

 

Mapa bitowa (z lewej), mapa różnic (z prawej)
Mapa bitowa (z lewej), mapa różnic (z prawej)

 

2.3   Opis systemu

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.

 

Schemat blokowy wyznaczania deskryptorów
Schemat blokowy wyznaczania deskryptorów

 

Wizualizacja przetwarzania mapy głębi. A) Mapa głębi B) Mapa referencyjna C) Mapa różnic D) Mapa po pierwszym progowaniu E) Mapa po otwarciu F) Mapa po progowaniu przestrzennym G) Mapa po wyborze obiektu H) Mapa po zamknięciu
Wizualizacja przetwarzania mapy głębi. A) Mapa głębi B) Mapa referencyjna C) Mapa różnic D) Mapa po pierwszym progowaniu E) Mapa po otwarciu F) Mapa po progowaniu przestrzennym G) Mapa po wyborze obiektu H) Mapa po zamknięciu

 

 

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.

 

Schematyczna struktura sieci neuronowej
Schematyczna struktura sieci neuronowej

 

 

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.

 

Przykład paczek używanych w testach – zdjęcie prezentuje różnorodność analizowanych obiektów

 

2.4     Testowanie systemu w realizacji fizycznej

 

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.

 

Przykład zdjęcia przenośnika taśmowego z obiektem analizowanym w naszych testach
Przykład zdjęcia przenośnika taśmowego z obiektem analizowanym w naszych testach

 

GUI zaprojektowane dla naszego systemu umożliwia sprawne testowanie naszego modelu i weryfikacje podejścia w środowisku fizycznym.

 

Interfejs graficzny systemu wizyjnego – zrzut ekranu z panelu użytkownika
Interfejs graficzny systemu wizyjnego – zrzut ekranu z panelu użytkownika

 

2.5 Mocne strony i ograniczenia opracowanego systemu

 

Do mocnych stron naszego rozwiązania należą:

  • prosta struktura pozwalająca na szybką klasyfikację, która nie wymaga dużych zbiorów treningowych;
  • łatwość interpretacji decyzji modelu;
  • brak wymagań dotyczących dodatkowego oświetlenia, co minimalizuje koszty;
  • wysoka adaptacyjność do różnych warunków w miejscu wykorzystania systemu;
  • minimalizacja kosztów, ponieważ nie wymaga żadnego zewnętrznego źródła światła; co więcej testy wykazały wysoką dokładność i zdolność do adaptacji w zależności od różnych warunków środowiskowych;
  • intuicyjność uruchomienia – wymaga jedynie zdjęcia pustego przenośnika dla referencji;
  • wspieranie dowolnej liczby klas dzięki elastycznej strukturze sieci neuronowej dostosowującej się do tych zmienności.

Do ograniczeń możemy zaliczyć:

  • proces ekstrakcji cech wolniejszy od procesu klasyfikacji, co może powodować bottleneck effect w przypadku szybszych prędkości przemieszczania paczek, które wymagają szybkiego przetwarzania danych;
  • brak analizy porównawczej wykorzystującej obrazy w kolorze, co ogranicza ocenę skuteczności systemu opartego na głębi w porównaniu z bardziej konwencjonalnymi systemami wizyjnymi.

 

3. Podsumowanie

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.

 

4.  Publikacje, w których przedstawialiśmy nasze rozwiązanie

  1. Majewski, Ł. Klar, K. Bochenek, „Interdyscyplinarność pomiędzy zagadnieniami Informatyki, Sztucznej Inteligencji i Automatyki Przemysłowej – studium przypadku dla zrobotyzowanej celi” (prezentacja online na konferencji XVI Interdyscyplinarna Konferencja Naukowa TYGIEL 2024 „Interdyscyplinarność kluczem do rozwoju” dnia 21 marca 2024r.).
  2. Majewski, Ł. Klar, K. Bochenek, „Inteligentny system wizyjny do detekcji i klasyfikacji heterogenicznych obiektów na przenośniku taśmowym – badania porównawcze na obiekcie rzeczywistym” (prezentacja online na konferencji IV Ogólnopolska Konferencja Naukowa „Rozwiązania i technologie XXI wieku” dnia 9 maja 2024).
  3. Majewski, A. Łysiak, Ł. Klar, K. Bochenek, „An intelligent vision system for the detection and classification of heterogeneous objects moving on a belt conveyor”, doi: 10.1109/MMAR62187.2024.10680789. (Prezentacja na międzynarodowej konferencji International Conference on Methods and Models in Automation and Robotics (MMAR) dnia 28 sierpnia 2024).
Skip to content