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++.
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.
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.
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.
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.
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:
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.
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.
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ń.
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.
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.
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.
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.
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.
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.
Ostatnie projekty
Monitor parametrów życiowych pacjenta jest wyposażony w pulsoksymetr i czujnik tętna. Składa się z czujnika i mikrokontrolera. Komunikuje się on z czujnikiem, pobiera z niego dane i przesyła je kablem USB do komputera.
Aplikacja medyczna służąca do prezentacji modelu 3D ludzkiego mózgu i wyświetlania informacji o jego poszczególnych częściach. Chcieliśmy, aby projekt był przyjemny dla oka użytkownika i pozwalał na łatwą interakcję z interfejsem.
Aplikacja medyczna działająca na urządzeniu wbudowanym, której celem jest symulacja działania lasera medycznego. Użytkownik ma do wyboru jedną z gotowych operacji lub stworzyć własną z ustawionymi indywidualnie parametrami. Aplikacja symuluje przebieg procedury.