Dzisiejsze nowoczesne roboty są wysoce złożonymi konstrukcjami składającymi się z wielu pod-systemów. Wykorzystują manipulatory z wieloma osiami i modułami napędowymi, na końcu których zainstalowane są dedykowane narzędzia, systemy chwytaków lub instrument pomiarowe. Do kontroli kinematyki, jak również do rozpoznawania obiektów i położenia np. w systemach "pobierz i połóż", wymagane jest zastosowanie dodatkowych czujników. Wraz z pojawieniem się autonomicznych i współpracujących robotów - współdzielących przestrzeń z ludźmi - pojawiło się wiele dodatkowych zadań i bloków funkcjonalnych. Dobrym przykładem jest lokalizowanie i sterowanie mobilnymi robotami w środowiskach przemysłowych i bezpieczne współdziałanie człowieka z maszyną. W środowisku Przemysłu 4.0 konieczne jest zapewnienie komunikacji pomiędzy człowiekiem a otaczającymi go maszynami i systemami. Celem jest wzajemna koordynacja zadań. Wszystkie te różne rodzaje robotów - zarówno autonomiczne, jak również współpracujące i kooperacyjne - wymagają zastosowania niezwykle wydajnych komponentów oprogramowania i wysoce wydajnych systemów wbudowanych.
Rynek potrzebuje inteligentnych robotów
W kolejnych latach popyt rynkowy na inteligentne roboty będzie gwałtownie rósł. Przykładowo, zakłada się, że do 2023 roku (http://bit.ly/2m198JB) rynek systemów robotów autonomicznych osiągnie skumulowany, roczny wskaźnik wzrostu na poziomie +23,7%, zaś nowy segment rynku - roboty współpracujące - wzrośnie średnio dwukrotnie - 59% rocznie. Aby skorzystać z doskonałej sytuacji rynkowej, producenci OEM pracują pod ogromną presją, aby opracować i wprowadzić na rynek nowe systemy tak szybko, jak jest to możliwe. Wielkim wyzwaniem dla producentów OEM, integratorów systemów i użytkowników jest rozwój oprogramowania: stworzenie robota współpracującego i/lub kooperacyjnego wymaga zintegrowania jeszcze większej ilości pod-systemów z autonomicznym robotem, który również jest złożonym produktem.
Wyzwanie - oprogramowanie
Oprogramowanie obsługujące roboty jest często wciąż tworzone jako system zamknięty - zazwyczaj wykorzystuje się procesory x86 lub ARM dostosowane do wymagań klienta. Wykorzystywane są również układy ASICS lub FPGA. Często oprogramowanie jest nawet indywidualnie optymalizowane pod konkretny egzemplarz robota, co utrudnia jego wykorzystanie w kolejnym egzemplarzu. Wszystkie zadania, takie jak sterowanie manipulatorem, nawigacja, przetwarzanie obrazów, koordynacja zadań i komunikacja z użytkownikiem, są programowane w formie modułu. Obecnie więc jest prawie niemożliwe, aby wymienić elementy oprogramowania nawet dla najczęściej wymaganych funkcji. Nie ma również możliwości ich wykorzystania na innej platformie sprzętowej. Oznacza to, że dla każdej nowej konstrukcji oprogramowanie sterujące pracą robota musi być ponownie implementowane. Jest to proces zarówno podatny na błędy, jak i czasochłonny, mogący znacząco opóźnić wdrożenie najbardziej potrzebnych i innowacyjnych rozwiązań. Należy pamiętać, że każdy robot musi zostać początkowo zaprogramowany do realizacji określonego zadania.
Modularny i przenoszalny
Centrum Badawcze Robotyki Uniwersytetu Nauk Stosowanych w Ulm pod kierownictwem Profesora Schlegela pracuje nad zastąpieniem podejścia bazującego na zamkniętym systemie, generującego w nieskończoność nowe projekty dla integratora systemu i użytkownika rozwiązaniem modularnym, umożliwiającym podział całego, złożonego system na szereg niezależnych modułów funkcjonalnych. W drugim kroku należy zdefiniować współpracę pomiędzy poszczególnymi modułami za pomocą transparentnie i całościowo zdefiniowanych interfejsów. Koncepcja ta, nazywana SmartSoft, jest teraz rozwijana i szeroko wprowadzana na rynek na poziomie europejskim (projekt EU H2020 - "RobMoSys - Composable Models and Software for Robotic Systems") i krajowym (BMWi PAiCE - projekt "SeRoNet - a platform for the joint development of service robot solutions") we współpracy z partnerami z przemysłu i jednostek badawczych. Zasadniczo celem takiego podejścia jest umożliwienie złożenia systemów robotyki z wykorzystaniem w pełni opracowanych i przetestowanych modularnych bloków programowych. Umożliwi to twórcom oprogramowania skupienie się na indywidualnych modułach funkcjonalnych, bez potrzeby analizowania elementów wewnętrznych innych komponentów. Co ważniejsze, takie podejście umożliwi łączenie funkcji takich jak elementy współpracujące lub kooperacyjne, definicje logiki dla określonych manipulatorów i wielu innych w modularny sposób - nawet pomiędzy różnymi producentami. W oczywisty sposób ogranicza to również ilość pracy, jaką muszą wykonać integratorzy systemów i użytkownicy końcowi w celu przygotowania rozwiązania według wymagań klienta. Łatwość tworzenia znacząco wpłynie na rozpowszechnianie się rozwiązań z zakresu robotyki.
Załóżmy więc, że firma posiada manipulator z firmy A, zainstalowany na podstawie z firmy B, oraz system wizyjny maszyny stereoskopowej z firmy C. Dedykowane oprogramowanie sterujące, przeznaczone np. do użycia w rozwiązaniach dla intralogistyki, może wówczas zostać łatwo złożone z gotowych do użycia komponentów programowych. Jest to możliwe dzięki wysokiemu poziomowi abstrakcji. Takie oprogramowanie wymaga jedynie drobnych poprawek. Takie rozwiązania to nie jest kwestia przyszłości - są one już testowane w rzeczywistych rozwiązaniach. Przykładowo, zespół Ulm opracował "duet robotów" - Larry i Robotino, które realizują operacje intralogistyczne w firmie Transpharm Logistik GmbH. Roboty te pobierają całkowicie autonomicznie opakowania leków z pojedynczych tacek i dostarczają je do określonych punktów, W trochę zmienionej konfiguracji, te dwa roboty autonomicznie przyjmują zamówienia na kawy i dostarczają je do stolików klientów. Dzięki gotowym, dowolnie łączonym komponentom programowym, zmiana przeznaczenia zajęła jedynie kilka godzin. Film prezentujący działanie obu robotów jest dostępny pod adresem http://bit.ly/2mu7cJM.
Moduły z dokładnie zdefiniowanymi interfejsami
Aby umożliwić prawie dowolne złożenie elementów, zespół z Centrum Badawczego Robotyki Uniwersytetu Nauk Stosowanych w Ulm opracował model oprogramowania z pojedynczymi komponentami zorientowanymi na obsługę usług oraz oparty na modelu otwartych licencji ("open source") programowy łańcuch narzędzi dla środowiska Eclipse. Środowisko to dostarcza projektantom komponentów narzędzia, które mogą wykorzystać do tworzenia własnego kodu dla każdego modułu funkcjonalnego, a następnie, mogą zabezpieczyć te algorytmy za pomocą automatycznie generowanych modułów z komponentami. Moduły te komunikują się z innymi modułami za pomocą zunifikowanych interfejsów komunikacyjnych. Dodatkowo, takie "zawinięcie" chroni własność intelektualną twórców poszczególnych elementów. Zespół opracował już szereg modułów funkcjonalnych i udostępnił je na potrzeby wykorzystania w indywidualnych projektach. Udostępnione moduły obejmują m.in. takie funkcjonalności jak nawigacja, rozpoznawanie obrazów, komunikacja "człowiek-maszyna", sterowanie manipulatorem i koordynacja zadań. Aby zunifikować interfejs komunikacyjny, SmartSoft działa w oparciu o OPC UA. Umożliwia to producentom skupienie uwagi na określonych modułach, co z kolei przekłada się na budowanie ich kluczowych kompetencji. Dzięki takiemu podejściu klienci mają możliwość skorzystania z bardziej elastycznych ofert poszczególnych dostawców.
Wspólna, wbudowana część sprzętowa zamiast indywidualnych rozwiązań
Do realizacji logiki sprzętowej wykorzystano technologię x86. Dzięki temu oddzielono najbardziej jak jest to możliwe tworzenie oprogramowania od jakiegokolwiek określonego rozwiązania sprzętowego. Przy stosowaniu odpowiedniej "logiki kleju", takie rozwiązanie jest szczególnie łatwe do implementacji z zastosowaniem technologii x86, również w przypadku konieczności późniejszej migracji takich systemów.
Wbudowana platforma zbudowana z wykorzystaniem architektury x86 jest najlepszym wyborem - ten standard jest wysoce standaryzowany, dostępna jest również wyczerpująca dokumentacja. Formaty komputerów wbudowanych są standaryzowane nie tylko w odniesieniu do wymiarów, ale również w odniesieniu do interfejsu aplikacji do programowania. Ułatwia to wymianę części sprzętowej - dostarczone płyty są zgodne ze specyfikacją eAPI standardu PICMG lub SGET UIC. W takich przypadkach możliwe jest dowolne przełączanie się pomiędzy różnymi formatami - zastosowane płyty główne i komputery modułowe zależą od wymagań danego zastosowania, bez konieczności znaczącej zmiany sposobu dostępu w trakcie migracji. Firma congatec jest firmą, która przywiązuje duże znaczenie do standaryzacji i dokumentacji swoich produktów, jak również do możliwie najprostszej integracji swoich produktów Centrum Badawcze Robotyki Uniwersytetu Nauk Stosowanych w Ulm stosuje te produkty w swoich projektach.
"Obok podstawowych wymagań, takich jak maksymalna moc obliczeniowa, efektywność energetyczna i niezawodność, przywiązujemy również dużą wagę do standaryzacji i łatwej migracji", wyjaśnia Matthias Lutz z Uniwersytetu Nauk Stosowanych w Ulm. "Każdy dodatkowy poziom abstrakcji w oprogramowaniu wymaga dodatkowej mocy obliczeniowej, dlatego też obecnie pracujemy z mocną technologią dwurdzeniową. Standaryzowane podejście do elementów na płycie i uniwersalnych wejść/wyjść (GPIO) wykorzystywanych do sterowania modułów robotów również zapewnia nam abstrakcję wymaganą do zapewnienia niezależności na poziomie wbudowanych rozwiązań obliczeniowych".
Wybór padł na w pełni przemysłową wersję płyty nośnej w standardzie Mini-ITX - conga-IC175. Wynika to z faktu, że standaryzowany format Mini-ITX oferuje wiele zalet, ważnych przy tworzeniu prototypów innowacyjnych komponentów programowych, przeznaczonych do wykorzystania w rzeczywistych systemach: Płyty w tym standardzie umożliwiają wykorzystanie wszystkich standardowych interfejsów. Firma congatec umożliwia zasilanie płyt za pomocą standardowych, przemysłowych zasilaczy ATX 12V, lub też baterii SMART, które moją duże znaczenie w przypadku takich mobilnych produktów jak roboty Robotino i Larry. Dodatkowe moduły rozszerzające mogą być łatwo i szybko implementowane z wykorzystaniem kart rozszerzeń w standardzie PCIe. Płyta jest energooszczędna, do jej zbudowania wykorzystano niezawodne i starannie dobrane komponenty, dzięki czemu może być wykorzystywana bez drogich rozwiązań chłodzących.
Kolejne komercyjne rozwiązania z zakresu robotyki, opracowywane na Uniwersytecie Ulm będą tworzone w oparciu o komputery modułowe. Niezależnie od tego, czy jest to płyta główna w standardzie Mini-ITX, moduł zamontowany na płycie Mini-ITX, moduł i inna płyta nośna, czy też rozwiązanie dostosowane w pełni do wymagań klienta: Krytycznym czynnikiem jest tu Całkowity Koszt Posiadania (ang. Total Cost of Ownership - TCO), który ma fundamentalne znaczenie dla producentów OEM, jak również dla przypadków, w których wykorzystanie oprogramowania modularnego jest uzależnione od części sprzętowej. Aby ułatwić w przyszłości integrację kolejnych funkcjonalności, już teraz można skorzystać z rozbudowanej obsługi technologii "real-time hypervisor". Daje to klientom możliwość integracji dodatkowych funkcjonalności, takich jak własna brama IoT, bez potrzeby stosowania dedykowanej platform sprzętowej, co zapewnia znaczne oszczędności związane z zakupem części sprzętowej.
"Widzimy wyraźne korzyści płynące z zastosowania podejścia modularnego, ponieważ odzwierciedlają one modularne podejście stosowane w naszym oprogramowaniu. Należy pamiętać, że dzięki przejęciu firmy Real-Time Systems, firma congatec ma teraz bezpośredni dostęp do technologii hypervisor opracowanej przez ekspertów z dziedziny robotyki i automatyki", podsumowuje Lutz.
Łącząc to z usługami świadczonymi przez Centrum Rozwiązań Technicznych, w którym firma congatec konsoliduje wszystkie swoje usługi OEM, klienci tacy jak Centrum Badawcze Robotyki Uniwersytetu Nauk Stosowanych w Ulm zyskują dostęp do pełnego pakietu usług.
Autorzy:
Zeljko Loncaric - inżynier w Dziale Marketingu firmy congatec Przed rozpoczęciem pracy w firmie congatec (połowa roku 2010), zajmował różne stanowiska związane z zarządzaniem produktem, marketingiem i sprzedażą w międzynarodowych firmach w Niemczech I w Australii. Zeljko jest absolwentem studiów MBA z zakresu zarządzania biznesem, jak również jest absolwentem Uniwersytetu Deggendorf (Technologia Mediów).
Prof. Dr Christian Schlegel pracuje w Centrum Badawczym Robotyki Uniwersytetu Nauk Stosowanych w Ulm. Christian Schlegel (45 l) jest profesorem na Wydziale Informatyk na Uniwersytecie Nauk Stosowanych Ulm od 2004 roku. W 2010 roku otrzymał Nagrodę Naukową Miasta Ulm, jest również koordynatorem wspólnego projektu "Service Robotics".
Operacje intralogistyczne w firmie Transpharm Logistik GmbH Zadania związane z podnoszeniem są realizowane przez flotę robotów wykonujących operacje intralogistyczne u partnera przemysłowego firmy Congatec - Transpharm Logistik GmbH. Autonomiczny robot podnoszący Larry jest wyposażony w moduł manipulatora UR5, wykorzystuje również podstawę Segway. Robot transportowy Robotino zamiast manipulatora ma zainstalowany przenośnik taśmowy. Zamówienia są odbierane bezpośrednio z systemu zarządzania magazynem za pomocą sieci WLAN. System zarządzania flotą wybiera dwa roboty podnoszące, które następnie realizują zamówienie. Zastosowanie zrealizowano w oparciu o rezultaty projektu BMBF - “LogiRob - System Transportowy wykorzystujący wiele robotów, działający we współdzielonej przestrzeni roboczej Maszyna - Człowiek” oraz “ZAFH Intralogistics - Systemy Współpracujące zwiększające elastyczność operacji intralogistycznych - Badenia - Wittenbergia i EU ERDF 2014-2020. |