Robot

Połączyliśmy dwie rzeczy, które zazwyczaj istnieją w odrębnych światach: system wizji komputerowej engiAI z własnym systemem szkolenia sieci neuronowych oraz sześcioosiowym robotem przemysłowym BORUNTE BRTIRUS0707AWynikiem jest robot, który nie wykonuje zaprogramowanego schematu, a.. Widzi element i dostosowuje się do niego w czasie rzeczywistym.

Testowe zadanie, w którym ten zestaw się sprawdził: pudełko leży na stole w dowolnej pozycji, operator może je obracać w dowolny sposób – od 0 do 360 stopni. Kamera obserwuje z góry, a sieć neuronowa określa kąt obrotu z dokładnością do stopnia, a robot powtarza położenie pudełka – precyzyjnie ustawia chwytak pod nim. Nie ma żadnych podpór, prowadnic ani czujników położenia – tylko kamera, sieć neuronowa i robot.
Skład system:
engiAI – system wizyjny oparty na sztucznej inteligencji. Oferuje kompleksowe rozwiązanie do pracy z systemami sztucznej inteligencji: podłączenie kamer przemysłowych (SICK, Hikrobot, GigE Vision, USB), oznaczanie obszarów inspekcji bezpośrednio na obrazie w czasie rzeczywistym, generowanie zbioru danych treningowych z niewielkiej liczby klatek, trenowanie modeli YOLO na procesorach graficznych (CUDA) oraz wykonywanie analiz w czasie rzeczywistym z prędkością odpowiadającą strumieniowi wideo z kamery. Moduł OUTPUT przekształca wyniki rozpoznawania w konkretne działania, takie jak wysyłanie pakietów TCP do robota lub sterownika logicznego programowalnego (PLC) oraz sterowanie wyjściami cyfrowymi kamer.
Robot1 – sterowanie robotem. Bezpośrednia komunikacja z kontrolerem HC1 za pomocą otwartego protokołu JSON/TCP, bez interfejsu operatora i zastrzeżonego oprogramowania: ręczne sterowanie każdą osią, zapisywane pozycje, trójwymiarowy model robota z bazą pozycji. Najważniejsze to odbiornik poleceń TCP od sztucznej inteligencji: reguła dla każdej osi, określająca nazwę polecenia, prędkość, przesunięcie, inwersję oraz przybliżanie kąta do najbliższej drogi (±180°).
Komunikacja między programami opiera się na standardzie TCP/IP. Jest to kluczowe: do tej łańcucha można podłączyć dowolne urządzenie, które potrafi otworzyć gniazdo sieciowe – PLC, inny robot, SCADA, system ERP.
Jak to działa: od kadru do ruchu
- Obraz. Kamera przesyła obraz obszaru inspekcji (w naszym przypadku: SICK, matryca 2048×2048).
- Świetnie. Model YOLO klasyfikuje położenie elementu: każdy stopień obrotu stanowi oddzielną kategorię (od 0 do 359 stopni, odpowiadające pełnemu obrotowi, lub od 0 do 180 stopni dla elementów symetrycznych).
- Pakiet. Reguła OUTPUT tworzy komendę – na przykład „J6 315” – i wysyła ją przez TCP. Reguła jest tworzona raz dla całej konfiguracji: mechanizm {class} automatycznie przekazuje nazwę rozpoznanego klasy.
- Regulacja osi. Robot1 ustawia parametry osi – inwersję, przesunięcie oraz ścieżkę – i wysyła sygnał do sterownika, określając żądaną wartość kąta z określonym przyspieszeniem.
- Ruch. Os jest obracane – chwytak ustawia się idealnie na elemencie.
Opóźnienie reakcji od obrotu osi do uruchomienia osi – około sekundy, i jest ono kontrolowane: wszystkie opóźnienia są zdefiniowane w ustawieniach.
Szkolenie bez zbioru danych i bez inżyniera uczenia maszynowego
Klasyczny problem w uczeniu maszynowym w przemyśle to zbieranie i oznaczanie tysięcy zdjęć. W firmie engiAI rozwiązano ten problem poprzez generowanie danych syntetycznych: operator robi jedno zdjęcie elementu w określonym obszarze, a program automatycznie tworzy zbiór danych do treningu.
- obracając okno obszaru na całym kadrze o zadanym kroku (np. 0,1°), w kadrze pojawia się prawdziwy tło, a element nie jest przycinany przez krawędź: zdjęcie automatycznie powiększa się do kwadratu po przekątnej obszaru;
- dodaje wariacje jasności i kontrastu w określonym zakresie oraz lustrzane kopie;
- automatycznie sortuje kadry według klas (0…359) i dzieli próbę na zbiór treningowy i walidacyjny.
Z jednego zdjęcia można wygenerować setki plików do nauki. Następnie, po naciśnięciu przycisku „Trenuj model AI”, model jest gotowy do pracy. Cały cykl „pokazanie detalu → nauka → robot działa” jest wykonywany przez operatora linii, a nie przez specjalistę od uczenia maszynowego.
Przepływ danych nie powinien powodować awarii robota.
Sieć neuronowa rozpoznaje obiekty dziesiątki razy na sekundę, a bezpośrednie przekazywanie tych informacji do ruchów jest niemożliwe – serwomechanizmy ulegają awarii z powodu nadmiernej ilości poleceń. W tej konfiguracji zastosowano wielopoziomową ochronę, przetestowaną na rzeczywistym robocie:
- Strefa martwa – to przestrzeń między sąsiednimi klasami (315 i 312), w której oś nie porusza się.
- Stabilność – nowy typ powinien działać przez określony czas: pojedyncze błędne obrazy nie powodują, że sieć neuronowa kieruje pojazdy w długie podróże;
- Płynne przełączanie – jeśli cel uległ zmianie, robot nie dociera do przestarzałego punktu, dopóki oś nie osiągnie nowego celu. Kontrolowane hamowanie, czyszczenie kolejki sterującej oraz natychmiastowe przejście do ostatniego celu. Wszystkie pośrednie komendy są odrzucane – ważna jest tylko aktualna.
- Przerwa między ruchami – to twarde ograniczenie częstotliwości wysyłanych poleceń do kontrolera;
- Automatyczne odzyskiwanie – w przypadku awarii, kontroler automatycznie resetuje się, a po restarcie, cel jest ustawiany ponownie. Obie programy prowadzą stałe dzienniki operacji na plikach.
Jak to jest lepsze niż klasyczny robot manipulacyjny?
Klasyczny robot przemysłowy powtarza ściśle zaprogramowaną ścieżkę. Wszystkie informacje, które robot posiada na temat detalu, pochodzą od mechaniki otaczającej go. W efekcie, głównymi kosztami i ograniczeniami automatyzacji są: zmysł z wykorzystaniem AI pozwala na ich eliminację.
Koszty i czas
- Nie jest wymagana specjalna osłona montażowa – np. podpory, stacje stabilizacyjne, zbiorniki antywibracyjne, stacje centrujące. Element może być umieszczony w dowolnej pozycji – robot sam dopasuje się do niego. Specjalna osłona dla jednego elementu często kosztuje tyle, co sam robot – w tym przypadku taka osłona nie jest potrzebna.
- Zmiana konfiguracji na nowy produkt – zegar, a nie tygodnie. Pokazano szczegóły kamery, przeszkolono model, ustawiono regułę – linia działa. Nie jest wymagana wizyta konsultanta i przerwa w produkcji.
- Produkcja w mniejszych seriach staje się opłacalna. Klasyczna automatyzacja jest opłacalna tylko przy dużych wolumenach produkcji. W sytuacji, gdy koszt dostosowania do konkretnej partii jest minimalny, automatyzacja jest opłacalna nawet przy produkcji jednorazowej partii.
- Jeden program zamiast trzech systemów: Roboty, kontrola jakości i odrzuty działają w jednym programie przy użyciu jednej kamery.
Elastyczność i jakość
- Dostosowanie do rzeczywistości. Linia produkcyjna się przesunęła, element leży krzywo, dotarła partia z innym kolorem – tradycyjna komórka działa, a komórka z wykorzystaniem sztucznej inteligencji również: ona analizuje element, a nie jego współrzędne.
- Bezpłatna kontrola jakości. Ten sam system, który steruje robotem, identyfikuje wady: zgniecione opakowania, oderwane etykiety, nieprawidłowy montaż – i przekazuje je do odrzucenia za pomocą tych samych mechanizmów i zasad.
- Każda oś – zgodnie z instrukcjami. Zasady są ustalane dla każdej z sześciu osi niezależnie: dzisiaj jeden manipulator wykonuje jeden obrót, a jutro – pełne ustawienie w oparciu o kilka osi jednocześnie.
- Ciągła informacja zwrotna. Robot nie jest jedynie bezmyślnym wykonawcą: każde jego działanie jest odpowiedzią na to, co w rzeczywistości można zobaczyć w kadrze, przy uwzględnieniu wszystkich podjętych decyzji.
Otwartość i skalowalność
- Niezależność od marki robota. Komunikacja odbywa się za pomocą otwartego protokołu TCP/IP: obecnie używany jest BORUNTE, ale w przyszłości ten sam protokół może być wykorzystany z innym robotem, stołem obrotowym lub PLC.
- Szkolenie na miejscu. Model nie jest "aktualizacją": pojawienie się nowego elementu lub wada – szkolenie trwało kilka godzin, bezpośrednio na linii produkcyjnej, przy użyciu rzeczywistych obrazów i oświetlenia z hali.
- Kopiowanie komór – to tworzenie kopii oprogramowania i pliku modelu, a nie ponowne projektowanie integracji.
- Przejrzystość. Dostępne w obu programach dzienniki oraz baza danych zawierająca historię zdarzeń: można zobaczyć całą historię, od pojedynczych klatek po ruch osi. Stanowi to podstawę do tworzenia statystyk, wskaźników jakości partii oraz do predykcyjnego utrzymania.
Gdzie to można zastosować?
- Pakowanie i logistyka: orientowanie kartonów przed ułożeniem, paletyowanie i odpaletyowanie mieszanych palet, ręczne pakowanie przedmiotów leżących na palecie.
- Kontrola jakości z odrzucaniem: Jedna kamera sprawdza jakość i jednocześnie steruje mechanizmami wykonawczymi.
- Przygotowanie maszyn (CNC, pras): materiały w dużych ilościach lub na paletach, bez zastosowania specjalnych pojemników.
- Montaż: rozmieszczenie elementów, kontrola prawidłowego montażu na każdym etapie.
- Przemysł spożywczy i rolniczy: to obszary, w których mechanizacja jest w zasadzie niemożliwa.
- Recykling i sortowanie: Obiekty, które nie znajdują się w katalogu, stanowią obszar, w którym tradycyjna automatyzacja jest nieskuteczna.
Co dalej
- Etapy i czynniki zewnętrzne: Program technologiczny składający się z etapów (koordynaty wszystkich osi i prędkość na każdym etapie), dodawanie i usuwanie etapów z interfejsu, uruchamianie etapów na podstawie sygnałów TCP od kamery, PLC lub operatora;
- Chwytak w pozycji pełnej: od jednego końca osi – do pozycji i orientacji elementu w kilku osiach jednocześnie;
- Komory o różnej wielkości oraz synchronizacja kilku robotów;
- Automatyczne uczenie się w czasie rzeczywistym: system samodzielnie zbiera skomplikowane obrazy i proponuje je w nowej zbiorze danych do uczenia.
Technologia:
.NET 9 (WinForms) · Klasyfikacja YOLO, ONNX, CUDA · Kamery SICK / Hikrobot / GigE Vision / DirectShow · Robot BORUNTE BRTIRUS0707A (kontroler HC1, otwarty protokół JSON/TCP) · SQLite · Integracja TCP/IP z dowolnym urządzeniem.
Projekt pokazuje, że bariera wejścia do "rozbudowanej" robotyki spadła. Nie potrzebne są już zespoły inżynierów ML i miesiące integracji – wystarczy jeden obraz elementu, przycisk do nauki oraz otwarty protokół. Robot przestaje być najdroższym i najmniej elastycznym urządzeniem w hali – staje się uniwersalnym narzędziem, którego można przeszkolić w ciągu kilku godzin.
