Robot Software – Projekt Digital Twin

Cross-platformowa aplikacja przeznaczona do komunikacji i sterowania ramieniem robotycznym Dobot Magician. Działanie ramienia jest również wspomagane przez model 3D w pełni odzwierciedlający pozycję i ustawienie fizycznego modelu w czasie rzeczywistym.

Technologie

W dynamicznie rozwijających się sektorach Automatyzacji Przemysłowej i IoT, Scythe Studio osiągnęło znaczący postęp dzięki naszej zaawansowanej aplikacji Digital Twin. Niniejsza studium przypadku zagłębia się w rozwój i możliwości naszej wieloplatformowej aplikacji, zaprojektowanej do precyzyjnej kontroli ramienia robotycznego Dobot Magician, co dowodzi naszych umiejętności w zakresie rozwoju w Qt i C++.

Geneza Projektu Digital Twin

Pomysł na projekt zrodził się z naszego pragnienia stworzenia demo, która mogłaby zainteresować potencjalnych klientów w branżach przemysłowej i IoT. Budowa całej hali przemysłowej w naszym biurze była niemożliwa, dlatego postanowiliśmy stworzyć bardziej przenośną, ale równie imponującą demo: ramie robotyczne. Wybraliśmy Dobot Magician, ze względu na doskonałą dokumentację i dostępny interfejs API do sterowania.

Jeśli projekt wydaje się interesujący, zapraszamy do zapoznania się z naszymi usługami w zakresie rozwoju interfejsów HMI.

 

Digital Twin

Główne cele demo Digital Twin

Naszym głównym celem było stworzenie „Digital Twin” ramienia robota, który umożliwia użytkownikom manipulowanie i monitorowanie operacji ramienia w sposób cyfrowy. Ten projekt podkreśla nasze zaangażowanie w szybkie prototypowanie oraz dostęp do specjalistycznych umiejętności technicznych, takich jak systemy wbudowane, różne protokoły komunikacyjne oraz zaawansowane programowanie w C++ i Qt.

Funkcjonalność oprogramowania Digital

Ten projekt jest dowodem naszego zaangażowania w innowacje, łącząc zaawansowaną inżynierię oprogramowania z praktyczną funkcjonalnością robotyczną. Oto, które funkcje znajdują się w demo Digital Twin.

Poruszanie wirtualną repliką – Integracja modelu 3D

Centralnym elementem naszego oprogramowania Digital Twin jest model 3D, zaprojektowany do współpracy w pełnej zgodności z fizycznym ramieniem robota. Dzięki otrzymywaniu danych z czujników w czasie rzeczywistym, nasze oprogramowanie odwzorowuje fizyczne ruchy robota w wirtualnym środowisku, osiągając 1:1 odwzorowanie.

Ta dynamiczna wersja cyfrowa pozwala operatorom wizualizować i interaktywnie zarządzać ruchami ramienia robota w czasie rzeczywistym, zwiększając zrozumienie i kontrolę nad fizycznym obiektem. To odwzorowanie między wirtualnym modelem a rzeczywistym światem to nie tylko funkcja; jest to kluczowy krok w kierunku tworzenia bezszwowych, interaktywnych światów lustrzanych, gdzie każda zmiana w fizycznym świecie jest natychmiast odzwierciedlana przez sensory w cyfrowym.

 

Robot Arm

Panel sterowania i prezentacja cyfrowa

Panel sterowania stanowi bramę użytkownika do opanowania funkcji Digital Twin. Operatorzy mogą manipulować współrzędnymi X, Y i Z ramienia oraz parametrem R, kontrolującym kąt obrotu chwytaka. Przełączanie między układem współrzędnych kartezjańskich a systemem stawów jest obsługiwane przez intuicyjny interfejs użytkownika, który umożliwia precyzyjną kontrolę każdego stawu ramienia robota:

  • J1: Kontroluje obrót podstawy.
  • J2: Zarządza obrotem silnika wewnątrz korpusu.
  • J3: Steruje silnikiem w środkowej części ramienia.
  • J4: Reguluje koniec ramienia. Dodatkową funkcją w tym panelu jest możliwość przełączania efektora – od przyssawki do innych opcji, takich jak chwytak lub długopis, zwiększając uniwersalność ramienia do różnych zadań.

 

motorical functionality

Rozdawanie Wizytówek – Robot Interaktywnie Współpracujący z Obiektem Fizycznym

Podczas targów i innych wydarzeń nasz projekt Digital Twin unikalnie demonstruje swoją praktyczną użyteczność poprzez wykorzystanie ramienia robota do rozdawania wizytówek! Funkcjonalność ta została stworzona, aby pokazać integrację cyfrowych poleceń z fizycznymi działaniami.

Zarówno poprzez naciśnięcie dużego fizycznego zielonego przycisku, jak i wybór przycisku cyfrowego na ekranie, robot uruchamia specjalnie zaprojektowany mechanizm do wręczania wizytówek. Ta funkcja nie tylko pokazuje zdolność robota do interakcji z fizycznymi obiektami, ale także podkreśla naszą wewnętrzną wiedzę w zakresie programowania w języku C oraz elektroniki, co umożliwia takie innowacyjne integracje.

 

Green button

Zarządzanie Pozycjami z Lokalnymi Danymi

Efektywność i precyzja operacji robotycznych są kluczowe. Nasze oprogramowanie Digital Twin wzmacnia te aspekty poprzez przechowywanie listy ulubionych pozycji jako współrzędnych w lokalnej bazie danych. Użytkownicy mogą łatwo zarządzać tymi pozycjami — wybierając zapisaną pozycję z listy, nakazują ramieniu robota precyzyjne przemieszczenie się do tego punktu.

Dodatkowo, umieszczenie „pozycji domowej” na szczycie listy zapewnia, że użytkownicy mogą szybko zresetować ramię do pozycji startowej, optymalizując pracę i demonstrując praktyczne zastosowanie zarządzania wirtualnymi modelami i fizycznymi obiektami w jednym systemie.

Funkcje Bezpieczeństwa

Bezpieczeństwo operatorów i maszyn to kluczowy aspekt każdej aplikacji przemysłowej. Nasze oprogramowanie Digital Twin zawiera solidny przycisk „bezpieczny stop”, krytyczną funkcję zaprojektowaną do natychmiastowego zatrzymywania wszystkich operacji ramienia robota w przypadku nagłej awarii, takiej jak skrót elektryczny czy nieoczekiwane ruchy.Ta funkcja podkreśla znaczenie integracji niezawodnych środków bezpieczeństwa w systemach cyfrowych, które kontrolują operacje fizyczne, zapewniając bezpieczne środowisko zarówno dla użytkowników, jak i urządzeń.

Qt jako technologia Digital Twin

Scythe Studio wykorzystuje potężny framework Qt oparty na C++ do rozwoju większości projektów. Wybór ten opiera się na solidności i wszechstronności Qt, które są szczególnie odpowiednie do złożonych projektów wymagających wysokiej wydajności i funkcjonalności wieloplatformowej.

Aspekty wizualne naszego oprogramowania Digital Twin są tworzone przy użyciu QML, wysokiego poziomu deklaratywnego języka, doskonale wspierającego integrację 3D. Ta sekcja podkreśla zalety korzystania z Qt oraz naszą ekspertyzę w maksymalizacji jego potencjału do dostarczania doskonałych rozwiązań Digital Twin.

Idealne dla platform wbudowanych

Wieloplatformowość Qt była kluczowa w elastycznym rozwoju i wdrożeniu naszej technologii Digital Twin. Podczas fazy rozwoju wykorzystaliśmy tablet z systemem Windows do pierwszych testów ze względu na przyjazny interfejs użytkownika i powszechną dostępność.

Jednak prawdziwą siłą Qt było to, że udało nam się pomyślnie wdrożyć nasz projekt na bardziej ograniczonych platformach, takich jak urządzenia MCU z rodziny STM32 oraz Raspberry Pi 4. Te wdrożenia podkreślają elastyczność Qt oraz naszą zdolność do dostosowywania rozwiązań, które efektywnie działają na różnych sprzętach, zapewniając, że nasze oprogramowanie Digital Twin może działać bez zarzutu w różnorodnych środowiskach przemysłowych.

Wyższa wydajność dzięki C++

Rdzeniem Qt jest C++, potężny język programowania niskiego poziomu, znany z efektywności wydajnościowej. Ten podstawowy aspekt pozwala nam wykorzystać pełny potencjał możliwości sprzętowych, zapewniając, że nasze aplikacje Digital Twin działają z optymalną wydajnością.

Bezpośrednia manipulacja zasobami sprzętowymi, ułatwiona przez C++, umożliwia naszym aplikacjom przetwarzanie danych w czasie rzeczywistym oraz renderowanie złożonych modeli 3D bez opóźnień, co czyni je idealnymi do zastosowań przemysłowych, gdzie precyzja i niezawodność są kluczowe.

Kolejną korzyścią z wykorzystania C++ jako technologii bazowej jest to, że łatwo można go integrować z kodem C, który jest typowo używany w projektach wbudowanych. Jest to ogromna zaleta, zwłaszcza dla starszych projektów, które planują krok w kierunku nowoczesnych technologii.

Redukcja kosztów dzięki szybkiemu prototypowaniu z QML

QML, jako część frameworka Qt, rewolucjonizuje sposób tworzenia interfejsów użytkownika. Znany z szybkiego prototypowania, QML umożliwia programistom tworzenie bogatych, interaktywnych UI w znacznie krótszym czasie niż inne technologie.

Jedną z najbardziej interesujących cech QML jest jego kompatybilność z popularnym narzędziem do projektowania interfejsów, Figma. Dzięki tej zgodności, projektanci UI mogą bezpośrednio przekształcać projekty z Figma w działający kod QML, co znacząco skraca czas potrzebny na rozwój i pozwala inżynierom skupić się na udoskonalaniu kluczowych funkcji. Dzięki użyciu QML, Scythe Studio nie tylko przyspiesza procesy deweloperskie, ale także redukuje koszty, przekazując te oszczędności klientom, oferując jednocześnie interfejsy cyfrowych bliźniaków wysokiej jakości, solidne i dokładne.

 

Rozwój Digital Twins

Ponieważ projekt opierał się głównie na sprzęcie, pierwszym krokiem było dokładne zbadanie możliwości ramy robota. Dzięki temu mogliśmy jasno określić cele do osiągnięcia. Następnie zaplanowaliśmy pracę zespołu zgodnie z metodologią Scrum i przystąpiliśmy do działania.

 

Jakub Wincenciak, nasz Chief Operating Officer, powiedział:
„Miałem okazję osobiście pracować i nadzorować ten projekt i muszę przyznać, że to, co kocham w naszej pracy, to robienie rzeczy, które mają realny wpływ. Digital Twin to może być tylko wirtualna replika robota, ale to dokładnie to, czego potrzebują firmy z branży ciężkiej. Muszą one wizualizować cały proces produkcyjny lub inne operacje. Projekty, w których łączymy programowanie ze sprzętem, są dla mnie niezwykle satysfakcjonujące.”

 

Mamy unikalną możliwość pracy nad różnymi projektami z różnych sektorów. Nasze działania obejmują nie tylko automatyzację przemysłową i robotykę, ale także medycynę, motoryzację i wiele innych dziedzin.

Podsumowanie

W Scythe Studio wykorzystujemy nasze specjalistyczne umiejętności w C++ i Qt do tworzenia zaawansowanych rozwiązań, które umożliwiają naszym klientom osiągnięcie przewagi konkurencyjnej w dziedzinie automatyzacji i robotyki. Ten projekt podkreśla naszą zdolność do przekształcania prostych pomysłów w zaawansowane narzędzia, które przynoszą rzeczywiste korzyści naszym klientom.