Systemy wizyjne 3D nie są najprostsza technologią rozpoznawania przedmiotów. Jednakże, ponieważ jest to sposób postrzegania najbliższy ludzkiemu oku, przetwarzanie w 3D ma szeroki zakres zastosowań i jest coraz częściej wykorzystywane wraz z algorytmami uczenia maszynowego. Istotnymi obszarami zastosowań w produkcji przemysłowej są Vision Guided Robotics (VGR) i Automated Guided Vehicles (AGV), w których przetwarzanie 3D umożliwia obecnie tworzenie zupełnie nowych rozwiązań dla aplikacji Przemysłu 4.0. Przedstawiamy te tematy, omawiając możliwości wykorzystania komputerów modułowych COM-HPC, które zapewniają znaczący wzrost wydajności oraz możliwość integracji w ramach platform systemowych.
— artykuł firmowy —
Rynek systemów widzenia maszynowego 3D rozwija się dynamicznie – roczne tempo wzrostu osiąga prawie 15% [1]. Za jedną z głównych przyczyn tego wzrostu uważa się starzenie się populacji na świecie. Ten aspekt ma dwa wymiary. Z jednej strony zakłada się, że liczba osób w wieku produkcyjnym maleje, z drugiej strony, rośnie liczba osób wymagających opieki. Powoduje to niedobór pracowników w obu obszarach i wymaga zwiększania liczby robotów. W sektorze produkcji przemysłowej roboty są przeznaczone do efektywniejszej i wydajniejszej produkcji wszelkiego rodzaju produktów, zaś w sektorze opieki zdrowotnej, roboty są potrzebne aby ułatwić opiekę, lub też aby utrzymać autonomię i mobilność.
Systemy wizyjne 3D a robotyka
Zanim jednak zostaniemy otoczeni przez armie dwunożnych humanoidalnych robotów, czeka nas jeszcze wiele pracy badawczo-rozwojowej. Na przykład większość systemów inspekcyjnych to systemy statyczne, zamocowane w jednym miejscu. Rozwiązania z sektora VGR powinny charakteryzować się dużą mobilnością. Jednak pomimo tego, że ten rynek rozwija się bardzo dynamicznie, mobilność jest stosunkowo ograniczona [2].
Systemy wizyjne robotów zamontowanych na stałe mają przede wszystkim jedno zadanie – analizę przedmiotów z bliska, coraz częściej w trójwymiarze. Technologia ta pomaga w identyfikacji obiektów z trzech stron (osie X, Y i Z), zapewnia mierzenie odległości i zrozumienie zadań. Nawiasem mówiąc, głównym czynnikiem rozwoju branży jest potrzeba zwiększenia elastyczności produkcji dyskretnej (jednostkowej), która odgrywa coraz większą role ze względu na trend w Przemyśle 4.0 – dążenie do wielkości partii produkcyjnej w ilości jednej sztuki.
Systemy VGR często pracują razem z systemami AGV, które w produkcji dyskretnej są wykorzystywane głównie jako systemy dostarczania półproduktów i odbierania gotowych wyrobów. Przewiduje się, że popyt na rozwiązania AGV będzie rósł bardzo dynamicznie – 14,1% rocznie do 2027 roku [3]. Pojazdy AGV przemieszczają i transportują produkty w zakładach produkcyjnych, magazynach i centrach dystrybucji, eliminując lub minimalizując potrzebę stosowania stałych systemów transportu, takich jak przenośniki taśmowe lub rolkowe. Poruszają się one po konfigurowalnych ścieżkach w celu optymalizacji procesów magazynowania, komisjonowania i transportu. Są używane przede wszystkim w centralnych arteriach komunikacyjnych fabryk, które nie mogą być blokowane przez przenośniki. Po przekształceniu w mobilne roboty typu pick&place współpracują z systemami VGR.
Kluczem jest modułowość
Patrząc na bardzo zaawansowane systemy robotyki mobilnej można zauważyć, że zwykle składają się one z wielu podsystemów. Na przykład istnieją czworonożne roboty mobilne, które używają trzech komputerów modułów: pierwszy wykorzystywany jest do znajdowania drogi w otaczającym środowisku, drugi do poruszania się, trzeci zaś do wykonywania zadań. Takie podejście jest idealnym rozwiązaniem ponieważ umożliwia producentowi dostosowanie komputerów modułowych w zależności od specyficznych wymagań każdego z tych zadań. Powszechną praktyką w gniazdach produkcyjnych jest wyposażanie każdego robota w jego własny, indywidualny komputer sterujący. Możliwe jest jednak również połączenie wszystkich sterowników robotów w gnieździe produkcyjnym w jeden system i zapewnić np. bezpośrednią komunikację w czasie rzeczywistym z siłownikami i napędami. Taka komunikacja może zostać zrealizowana np. poprzez dwuprzewodową sieć Ethernet, przy czym wymaga ona stosowania znacznie wydajniejszych komputerów modułowych, które do tej pory nie były dostępne w wersjach przemysłowych. Pierwszy projekt wspomnianego wcześniej czteronożnego robota wykorzystano 10 rdzeni procesora do zapewnienia wymaganej mocy obliczeniowej i możliwości pracy w czasie rzeczywistym. Jednak takie procesory nie są jeszcze dostępne dla mobilnych systemów wbudowanych o bardzo niskim poborze mocy.
Większa liczba rdzeni jest kluczem
Wraz z uchwaleniem specyfikacji komputera modułowego COM-HPC przez komitet standaryzacyjny PICMG, na rynku pojawiły się produkty zapewniające wysoką wydajność, przewyższającą tę dotyczącą komputerów typu COM Express. Takimi są moduły COM-HPC Server, które pracować mogą w formie wydajnych systemów brzegowych, które zapewniają możliwość konsolidacji nawet energochłonnych, zdecentralizowanych systemów obliczeniowych. Wymaga to oczywiście zastosowania hypervisorów dla maszyn wirtualnych pracujących w czasie rzeczywistym. Jednym z dostawców takich rozwiązań jest firma Real-Time Systems. Zastosowanie hypervisorów mogących pracować w czasie rzeczywistym jest konieczne aby zapewnić nieprzerwane, deterministyczne sterowania w czasie rzeczywistym. Jest to możliwe nawet w przypadku gdy interfejs HMI komórki produkcyjnej uruchamia się ponownie na tym samym procesorze lub zintegrowana bramka IoT realizuje analizę dużych ilości danych, przetwarzając równolegle żądania.
Rozwiązania 3D w praktyce
Jako przykład systemów 3D służyć mogą rozwiązania firmy Basler, partnera congatec w zakresie wbudowanych rozwiązań do przetwarzania obrazu. Bazujący na technologii Deep Learning system wizyjny zawiera kamerę Basler blaze z technologią ToF (Time of Flight) która może zostać bardzo łatwo dołączona do systemów wbudowanych firmy congatec. Kamera Basler blaze przechwytuje obrazy 3D w wysokiej rozdzielczości, rejestrując . Kamera nie tylko generuje obraz w odcieniach szarości, ale również rejestruje odległość do każdego pojedynczego piksela za pomocą metody ToF (pomiary w zakresie bliskiej podczerwieni).
Obraz końcowy jest dostępny jako chmura punktów 3D, zawierająca dodatkowe informacje o przechwyconej scenie. W porównaniu do obrazów 2D RGB, informacje o kolorze są zastępowane danymi o kształcie, co nie tylko ma zalety przy jednoczesnym wykrywaniu np. czerwonych i zielonych jabłek, ale również umożliwia dodatkowe zastosowania, takie jak dokładne pozycjonowanie i mierzenie wykrytych obiektów. Niezależny od platformy interfejs programowania kamery ułatwia integrację oprogramowania Deep Learning DS firmy Data Spree. Bazujące na głębokich sieciach neuronowych oprogramowanie umożliwia tworzenie modeli Deep Learning bez wcześniejszej znajomości tematyki i upraszcza poszczególne etapy rozwoju systemu – od pozyskiwania danych, dodawania adnotacji, uczenia i wdrażania, aż po zastosowanie wytrenowanej sieci na docelowym urządzeniu.
Rosnąca potrzeba większej wydajności
Nawet bez integracji różnych podsystemów w jednym module, stosowanie komputerów modułowych COM-HPC ma sens. Przetwarzanie obrazów 3D jest zadaniem złożonym, obejmującym np. tworzenie chmur punktów przechwyconych z wykorzystaniem technologii ToF (Time of Flight). Generuje to ogromne ilości danych 32-bitowych określających współrzędne przestrzenne dla każdego piksela. Obraz o rozdzielczości 640×480 pikseli, przy 30 klatkach na sekundę generuje 35 MB danych 3D na sekundę. Do tego dochodzi informacja o kolorze z klasycznej kamery 2D, której rozdzielczość jest zazwyczaj czterokrotnie wyższa.
Przy rozdzielczości 1,2 megapikseli (1280 x 1024 pikseli) i 8-bitowej głębi kolorów na kanał mówimy o dodatkowych 112,5 MB na sekundę. Tak więc konieczne jest przetworzenie około 150 MB/s. Widzenie stereo z wykorzystaniem dwóch kamer i opcjonalnym oświetleniem strukturalnego również generuje bardzo duże obciążenia. Powoduje to wyjątkowo wysokie wymagania dotyczące przepustowości danych oraz heterogenicznej mocy obliczeniowej CPU i GPGPU. Dla takich przypadków użycia zalecane jest wykorzystanie pierwszej generacji komputerów modułowych zbudowanych w oparciu o procesory Intel Core 11. generacji (Tiger Lake).
Pomimo tego, że w rzeczywistości omawiane moduły to COM-HPC Client, standard ten zapewnia atrakcyjne funkcje, które nie są dostępne w innych standardach. Po pierwsze obsługują interfejs PCIe Gen4, dzięki czemu zapewniają dwukrotnie większą przepustowość pomiędzy kamerami a procesorami niż PCIe Gen3, a także pomiędzy oddzielnymi GPU, które są wykorzystywane do równoległego przetwarzania dużej ilości danych obrazów oraz do realizacji algorytmów sztucznej inteligencji. Jest to połączone z natywną obsługą kamer MIPI-CSI, co znacząco obniża koszt technologii wykorzystywanej kamery oraz zwiększa wydajność.
Sztuczna inteligencja
Możliwość wykorzystania algorytmów sztucznej inteligencji dla kamer MIPI-CSI zapewnia dodatkowe korzyści z wykorzystania w systemach IIoT oraz Przemysłu 4.0. Akceleracja sztucznej inteligencji i wnioskowania może zostać zaimplementowana na procesorze z wykorzystaniem instrukcji wektorowej sieci neuronowej (VNNI, Vector Neural Network Instructions) opartej na technologii Intel DL Boost, zaś na GPU – za pomocą 8-bitowych instrukcji wykonywanych na liczbach całkowitych. Inną ważną funkcjonalnością jest obsługa Intel Open Vino dla sztucznej inteligencji. Obejmuje to bibliotekę funkcji i zoptymalizowane wywołania OpenCV i OpenCL w celu przyspieszenia obciążeń Deep Neural Network na różnych platformach. Zapewnia to szybsze uzyskanie bardziej dokładnych wyników wnioskowania sztucznej inteligencji.
Laboratorium Autonomous System Lab firmy Intel Labs China wprowadziło już platformę bazującą na standardzie COM Express do celów edukacyjnych. Dodatkowo dostępny jest zestaw certyfikowany przez firmę Intel jako „Ready for Production”. Umożliwia on konsolidację obciążeń. Nowe komputery modułowe COM-HPC umożliwiają teraz ocenianie działania ekosystemu OpenVINO na komputerach modułowych w formacie COM-HPC. Ocenić można działanie od bibliotek programowych po adaptacyjną interakcję człowiek-robot (AHRI, Adaptive Human-Robot Interaction) lub symultaniczną lokalizację i nawigację (SLAM, Simultaneous Localization & Navigation).