Arduino Pro Portenta przyśpiesza rozwój przetwarzania obrazu w przemyśle

Automatyka przemysłowa i zastosowania komputerowych systemów wizyjnych

Przemysł 4.0 przyczynił się do gwałtownego wzrostu liczby urządzeń w przemysłowym internecie rzeczy (IIoT) wykorzystywanych w automatyce przemysłowej. Urządzenia IIoT są powszechnie stosowane do monitoringu i kontroli maszyn produkcyjnych, a także do pomiaru i analizy stanu urządzeń w ramach konserwacji, napraw i remontów. Istotną rolę odgrywają tu czujniki, stosowane do pomiarów temperatury lub ciśnienia cieczy, a także kamery w systemach wizyjnych.

Czujniki są także wykorzystywane do monitorowania wibracji przy użyciu algorytmów sieci neuronowych przetwarzających dźwięk na podstawie danych uzyskanych z mikrofonów cyfrowych. Systemy wizyjne są również bardzo istotną techniką monitorowania, wykorzystywaną na przykład do zapewnienia prawidłowego naklejania etykiet na butelki na linii produkcyjnej lub w zastosowaniach związanych z bezpieczeństwem funkcjonalnym do izolowania sprzętu w przypadku, gdy pracownicy produkcji znajdą się w niebezpiecznym obszarze.

Schemat systemu wizyjnego

We wszystkich nowoczesnych zakładach produkcyjnych komputerowe przetwarzanie obrazu jest wykorzystywane w wielu obszarach. Komputerowe systemy wizyjne opierają się na wykorzystaniu jednej lub więcej kamer wideo podłączonych do systemu komputerowego. Stopień złożoności przetwarzania i wymagane zasoby obliczeniowe zależą od charakteru zadania. Na przykład aplikacja akceptująca lub odrzucająca butelki na podstawie dokładności naklejenia etykiety nie wymaga zastosowania wielu kamer i intensywnych zasobów obliczeniowych.

Algorytm, który rozpoznaje krawędzie etykiety we wcześniej zdefiniowanym obszarze na butelce, jest stosunkowo prosty i wykorzystuje oprogramowanie oparte na filtrach Kalmana. Natomiast aplikacja, która musi odróżnić ręce operatora od sprzętu i metalowych paneli używanych do obróbki, jest już o wiele bardziej skomplikowana. Taka aplikacja wymaga sieci neuronowej uczącej się maszynowo, a jej działanie może wymagać kamer ustawionych pod wieloma kątami, aby spełnić wymagania bezpieczeństwa. Konwolucyjna sieć neuronowa najlepiej sprawdza się w wizyjnym wykrywaniu obiektów i musi zostać wytrenowana przed jej wdrożeniem. Po zakończeniu treningu wykorzystywanie sieci neuronowej jest nazywane wnioskowaniem. W procesie trenowania sieci analizowane są setki prawidłowych i nieprawidłowych obrazów, aby zidentyfikować i wyodrębnić cechy pomagające w klasyfikacji. Zobacz przykład architektury systemu wizyjnego na rysunku nr 1.

Rysunek 1 – architektura prostego systemu wizyjnego

Podczas projektowania systemu należy uwzględnić kilka praktycznych aspektów, takich jak: rodzaj wykonywanych przedmiotów, warunki oświetlenia panujące w strefie działania kamery, wymagana szybkość rozpoznawania obiektów oraz to, czy do prawidłowego wykonania danego zadania konieczne jest zastosowanie wielu kątów widzenia kamery.

Niezbędne jest także określenie środowiska pracy; na przykład w przypadku zastosowań, w których występuje kurz i wilgoć, konieczne jest zabezpieczenie kamery i elektroniki sterującej przed przedostawaniem się tych czynników do ich wnętrza. Wibracje i wstrząsy mogą również wpływać na jakość obrazu, obniżając skuteczność wykrywania obiektów.

Decydujące znaczenie ma również czas wykrywania obiektów lub ich właściwości. Linie produkcyjne pracują często z dużą prędkością, by sprostać wymogom przepustowości i utrzymać wydajność fabryki. We wspomnianym powyżej przykładzie rozlewni, komputerowy system wizyjny musi dokładnie zarejestrować obraz, przetworzyć go, a następnie określić położenie etykiety w czasie, który umożliwi podjęcie działań związanych z zaakceptowaniem lub odrzuceniem wskazanej butelki.

Przedstawiamy Arduino Pro Portenta i Portenta Vision Shield

Zaprezentowana niedawno platforma Arduino Pro Portenta jest idealną platformą z mikrokontrolerem do prototypowania przemysłowych systemów wizyjnych.

Stworzona początkowo jako edukacyjna platforma do prototypowania dla hobbystów i producentów, rodzina mikrokontrolerów Arduino ciągle się rozwija, aby sprostać potrzebom innowatorów i producentów sprzętu przemysłowego.

Wielu młodych adeptów elektroniki rozpoczęło swoją karierę zawodową dzięki Arduino – jest to niedrogi i bardzo wszechstronny zintegrowany systemem jednopłytkowy, służący innowatorom do opracowywania prototypów nowych produktów. Dzięki podejściu open-source, w połączeniu z rosnącą liczbą płytek rozwojowych oraz szerokim wsparciem programowym ze strony całej branży elektronicznej, marka Arduino stała się popularną zintegrowaną platformą wykorzystywaną w produkcji nowych produktów.

Kolejny etap w rozwoju firmy rozpoczął się niedawno wraz z wprowadzeniem na rynek serii płytek i modułów Arduino Pro przeznaczonych na rynek przemysłowy. Dwurdzeniowa płyta Arduino Portenta H7 jest pierwszą płytką z serii Pro, która została zaprojektowana z myślą o zastosowaniach przemysłowych i komercyjnych. Portenta H7 doskonale nadaje się do przemysłowych systemów wizyjnych. Płytka jest wykonana w popularnym formacie Arduino MKR, dzięki czemu jest kompatybilna ze wszystkimi istniejącymi nakładkami sprzętowymi i modułami akcesoryjnymi. Nakładka Portenta Vision, dostępna z interfejsem przewodowym Ethernet lub bezprzewodowym LoRa, doskonale nadaje się do przemysłowych systemów wizyjnych.

Płytka Arduino Portenta H7 wykorzystuje mikrokontroler STMicro STM32H747XI o niskim poborze mocy wyposażony w rdzenie Arm Cortex-M7 oraz Arm Cortex-M4. Oba rdzenie posiadają moduły FPU, przy czym FPU w M7 zapewnia podwójną precyzję obliczeń. Rdzeń M7 może pracować z częstotliwością 480 MHz, a M4 do 240 MHz. Rdzeń M4 wyposażono także w zintegrowany akcelerator graficzny zaprojektowany specjalnie do uruchamiania algorytmów sieci neuronowych. Do zarządzania energią w H7 wykorzystano trzy domeny mocy, które mogą być włączane i wyłączane przy użyciu aplikacji lub poprzez bramkowanie zegara. Portenta zasilana jest z pojedynczego zasilacza 5 VDC, a w trybie uśpienia z włączonym zegarem czasu rzeczywistego pobór prądu wynosi zwykle 2,9 µA. Ponadto wbudowany układ PMIC umożliwia ładowanie baterii litowo-jonowych i litowo-polimerowych.

Interfejsy peryferyjne na płycie obsługują wiele portów I2C, USART, SPI i CAN, 8-bitowy interfejs kamery oraz interfejs MIPI DSI. Obsługa sygnałów analogowych i cyfrowych obejmuje dwa 12-bitowe przetworniki C/A i trzy 16-bitowe przetworniki ADC.

Nakładka Arduino Portenta Vision może być podłączona do płytki Portenta H7 za pomocą złączy o dużej gęstości. Zintegrowana kamera Himan HM-01B0 o bardzo niskim poborze mocy oferuje wyjścia QQVGA i QVGA przy częstotliwości odświeżania od 15 do 120 klatek na sekundę. W nakładce zintegrowane są również dwa mikrofony MEMS. Dwurdzeniowa Portenta H7 pozwala także na uruchamianie kodu MicroPython i szkiców Arduino C na oddzielnych rdzeniach.

Wsparcie programowe przyśpiesza wdrażanie komputerowych systemów wizyjnych

Płytka Portenta H7 i nakładka Portenta Vision są w pełni obsługiwane przez ulepszoną wersję popularnego środowiska Arduino IDE. Ponadto dostępny jest także edytor w chmurze oraz edytor z wierszem poleceń. Arduino 2 IDE zapewnia pełne wsparcie obsługi kamery i mikrofonu, a na stronie Arduino dostępne są liczne poradniki i instrukcje.

OpenMV, open-source’owy framework do uczenia maszynowego, oraz OpenMV IDE są kompatybilne z płytkami Portenta. OpenMV korzysta ze skryptów Python i pozwala na rozbudowywanie systemów wizyjnych opartych na MicroPythonie na płytce Portenta H7. Na stronie Arduino dostępny jest samouczek maszynowej klasyfikacji obrazów z wykorzystaniem OpenMV i Edgee Impulse.

Rysunek 3 – Samouczek trenowania i wdrażania prostej klasyfikacji obrazów (źródło: Arduino)

Sieć neuronowa wykorzystuje techniki klasyfikacji obrazów do rozpoznawania jabłek i bananów, ale zastosowane koncepcje i przebieg procesu można równie dobrze zastosować do etykietowania butelek.

Arduino Pro Portenta– jak szybko zrealizować projekt przemysłowego systemu wizyjnego

Dla programistów systemów wbudowanych i projektantów aplikacji przemysłowych rozpoczęcie projektu związanego z systemem wizyjnym może być stresującym doświadczeniem. Zrozumienie koncepcji algorytmu sieci neuronowej jest wystarczającym wyzwaniem przed wyborem odpowiedniej platformy do prototypowania. Tymczasem płytka Arduino Portenta H7 i nakładka Portenta Vision znacznie ułatwiają cały proces. Co więcej, dzięki wsparciu sprawdzonych w branży i dobrze obsługiwanych frameworków uczenia maszynowego, bibliotek i samouczków, wyzwania związane z tworzeniem aplikacji wizyjnej stały się o wiele prostsze do pokonania.

Arduino Portenta H7 Mirocontroller Board

Arduino Portenta Vision Shield

Total
0
Shares
Poprzedni post

Superkondensatory firmy Eaton napędzają przemysł motoryzacyjny

Następny post

Wyłączniki bezpieczeństwa dla zastosowań w środowisku przemysłowym

Powiązane posty