Direct Torque Control (DTC) to niskopoziomowy interfejs Universal Robots, który pozwala zadawać moment bezpośrednio w przegubach robota, zamiast programować wyłącznie pozycję i prędkość ruchu. Standardowo coboty Universal Robots programuje się w PolyScope przez pozycje, trajektorie i gotowe funkcje ruchu - to wystarcza przy paletyzacji, obsłudze maszyn, pick and place czy prostym montażu.
Problem zaczyna się tam, gdzie robot musi reagować na kontakt z detalem lub otoczeniem: przy montażu z małymi tolerancjami, wciskaniu, wkręcaniu czy sterowaniu siłowym. Ten artykuł pokazuje, na czym polega DTC, jakich robotów i wersji PolyScope wymaga oraz kiedy sięgnąć po sterowanie momentem, a kiedy lepiej zostać przy standardowych funkcjach PolyScope.
Na czym polega Direct Torque Control?
Direct Torque Control daje dostęp do sterowania momentem bezpośrednio na poziomie przegubów robota. Zamiast opisywać wyłącznie pozycję lub prędkość ruchu, można określić, jaki moment ma zostać wygenerowany w każdej z sześciu osi.
W URScript funkcja wywoływana jest komendą:
direct_torque(torques, friction_comp=True)
torques- sześć wartości momentu [Nm] przypisanych kolejnym przegubom → definiujesz wektor sterowania dla całego ramienia w jednym kroku pętli.friction_comp=True(opcjonalny) → kontroler kompensuje tarcie w napędach, więc Twój regulator nie musi go modelować.
Kompensacji grawitacji nie doliczasz samodzielnie - obsługuje ją kontroler robota. Do funkcji przekazujesz wyłącznie momenty wynikające z własnego algorytmu sterowania, co skraca drogę od koncepcji regulatora do testu na sprzęcie.
Kiedy sterowanie momentem ma sens?
Klasyczne sterowanie pozycją sprawdza się, gdy środowisko jest powtarzalne. Przy montażu, wciskaniu, wkręcaniu lub prowadzeniu narzędzia po powierzchni ważniejsza staje się reakcja robota na opór i kontakt.
Direct Torque Control pozwala tworzyć zachowania bardziej podatne i adaptacyjne. Robot może ograniczać siłę, kompensować niewielkie odchyłki położenia detalu albo zachowywać inną sztywność w różnych kierunkach. Dzięki temu funkcja jest szczególnie interesująca w aplikacjach wymagających precyzyjnego kontaktu.
Typowe zastosowania obejmują:
- sterowanie siłowe i impedancyjne,
- montaż elementów z małymi tolerancjami,
- wciskanie, pasowanie i wkręcanie,
- prowadzenie narzędzia po powierzchni,
- aplikacje sim-to-real,
- reinforcement learning i Physical AI,
- badania nad interakcją człowiek-robot.
Dane dynamiczne robota i sim-to-real
Sterowanie momentem ma największy sens wtedy, gdy algorytm zna rzeczywisty stan robota. Direct Torque Control można łączyć z danymi dynamicznymi, takimi jak macierz mas, efekty Coriolisa i sił odśrodkowych, przyspieszenia przegubów, jakobian oraz jego pochodna czasowa.
Dzięki temu regulator może uwzględniać zachowanie fizycznego ramienia, a nie tylko zadane pozycje i prędkości. Ma to znaczenie w robotyce badawczej, aplikacjach AI oraz w podejściu sim-to-real, gdzie algorytm opracowany w symulacji musi zostać przeniesiony na rzeczywiste stanowisko.
Kompatybilność i wymagania
| Parametr | Wartość |
|---|---|
| Rodziny robotów | Universal Robots e-Series oraz UR Series |
| Wersja PolyScope | PolyScope X 10.10+ / PolyScope 5.23+ |
| Częstotliwość interfejsu | 500 Hz (krok pętli 2 ms) |
| Realizacja pętli sterowania | URScript, blisko kontrolera |
| Transport wartości zadanych | RTDE, sockety, ROS2 |
Interfejs działa z częstotliwością 500 Hz, co daje budżet 2 ms na krok pętli. Komendę direct_torque() trzeba więc wywoływać cyklicznie w każdym kroku sterowania - jeśli pętla nie zmieści się w cyklu, moment przestaje być zadawany przewidywalnie, a zachowanie robota w kontakcie robi się niestabilne.
W praktyce oznacza to podział zadań: szybką pętlę realizuje się po stronie URScript, blisko kontrolera, a wartości zadane lub parametry przesyła z zewnątrz przez RTDE, sockety albo ROS2. Wolniejszy transport wartości zadanych nie blokuje wtedy krytycznej pętli momentu.
Dla kogo jest ta funkcja?
Największą wartość Direct Torque Control daje tam, gdzie aplikacja wymaga własnego regulatora, pracy w kontakcie lub testowania niestandardowych algorytmów sterowania. To rozwiązanie dla działów R&D, uczelni, laboratoriów robotyki, integratorów oraz firm rozwijających aplikacje związane z montażem precyzyjnym, sterowaniem siłowym, symulacją lub AI.
W typowych wdrożeniach produkcyjnych nadal najwygodniejsze będą standardowe funkcje PolyScope. Direct Torque Control jest narzędziem do projektów, w których potrzebna jest głębsza kontrola nad dynamiką robota.
Wsparcie Elmark Automatyka
Przy aplikacjach wymagających kontaktu, podatności lub niestandardowego sterowania warto zacząć od oceny procesu. W wielu przypadkach wystarczą standardowe funkcje PolyScope, ale przy bardziej zaawansowanych zadaniach potrzebne może być sterowanie momentem albo własny regulator.
Elmark Automatyka wspiera użytkowników Universal Robots w doborze robota, testach aplikacyjnych, proof of concept, szkoleniach, serwisie i konsultacjach technicznych. Pomagamy ocenić, które podejście będzie właściwe dla konkretnego procesu i jak bezpiecznie przejść od koncepcji do testów na stanowisku.
Podsumowanie
Direct Torque Control rozszerza możliwości cobotów Universal Robots o sterowanie momentem w przegubach. To funkcja dla zaawansowanych aplikacji, w których robot musi świadomie reagować na kontakt z otoczeniem: przy montażu precyzyjnym, wciskaniu, wkręcaniu, prowadzeniu narzędzia, badaniach R&D i rozwoju rozwiązań AI.














