Robocikowo>ROBOCIKOWO
KUKA RSI (Robot Sensor Interface)

Sterowanie · SDK

KUKA RSI (Robot Sensor Interface)

RSI 5.x·KUKA AG

Aktywny Real-time capable Dostępne API
KATEGORIASterowanie · SDK
GOTOWOŚĆTRL 9
SKALA ADOPCJIStandard branżowy
LICENCJELicenseRef-Proprietary
PIERWSZE WYDANIE2009

KUKA.RobotSensorInterface (RSI) to opcjonalny pakiet do kontrolerów KUKA KR C4 i KR C5, którego cena licencji to ~3000 EUR per kontroler. RSI udostępnia hard real-time interfejs UDP/XML z gwarantowaną latencją cyklu **4 ms (250 Hz) lub 12 ms (~83 Hz)** w zależności od typu robota i wersji. Komunikat XML zawiera setpointy korekcyjne dla wszystkich osi (joint position offsets / Cartesian offsets w bazowym frame'ie) — zewnętrzny komputer (PC z Ethernet) modyfikuje trajektorię, którą wykonuje kontroler.

Architektura: w programie KRL użytkownik wywołuje `RSI_CREATE`, `RSI_ON`, `RSI_OFF` — robot wysyła co cykl XML packet z aktualnym stanem (`<Rob>...</Rob>`) na port UDP zewnętrznego klienta, klient odsyła response z korektami (`<Sen>...</Sen>`). Brak retransmisji — pakiet utracony = stop awaryjny robota. To wymusza determinizm sieciowy: dedykowany switch / direct Ethernet, brak WiFi, oddzielny VLAN. RSI nie jest 'SDK' w klasycznym sensie — to **wire protocol** plus runtime na kontrolerze plus bardzo cienkie helper biblioteki (KUKA dostarcza tylko XML schema i przykłady KRL).

Najpopularniejsze zastosowania: integracja z ROS przez community projekt `kuka_experimental` (Robot Web Tools / ROS-Industrial) z driverem `kuka_rsi_hw_interface` dla ros_control, force control z zewnętrznym czujnikiem FTS (ATI, Schunk), seam tracking w spawaniu (kamery laserowe Meta Vision, Servo-Robot), korekta toru przy frezowaniu robotem (KUKA.CNC + RSI). Alternatywą dla nowych aplikacji jest **KUKA.PLC mxAutomation** (drag-and-drop function blocks dla PLC) lub **KUKA Sunrise.OS** (dla LBR iiwa — Java-based, znacznie nowsze niż RSI).

Typ i role
Typy oprogramowania
SDK producenta robota
Biblioteka API

API Library to biblioteka udostępniająca interfejsy programistyczne do komunikacji z urządzeniem, usługą lub systemem. W praktyce może stanowić lekką warstwę integracyjną opartą na oficjalnym API producenta lub projekcie open-source.

Middleware

Middleware to warstwa oprogramowania pośrednicząca między aplikacjami, usługami, sensorami, sterownikami i warstwami wykonawczymi. W robotyce middleware odpowiada często za komunikację, wymianę wiadomości, abstrakcję sprzętu i integrację modułów w jednym systemie.

Wybierz pozycję, aby zobaczyć opis.
Kategoria główna
SDKSterowniki i firmwareSterowanie i planowanieMiddleware
Role w ekosystemie robotycznym
Sterowanie robotem

Robot Control oznacza rolę oprogramowania odpowiedzialnego za sterowanie ruchem, wykonywanie komend, koordynację działania elementów wykonawczych oraz bezpośrednią logikę operacyjną robota.

Integracja urządzeń

Device Integration oznacza rolę oprogramowania odpowiedzialnego za komunikację, konfigurację, inicjalizację i obsługę konkretnych urządzeń, sensorów, kontrolerów lub komponentów sprzętowych w systemie robotycznym.

Planowanie ruchu

Motion Planning oznacza rolę oprogramowania odpowiedzialnego za planowanie trajektorii, ruchu, kolejności działań oraz wyznaczanie bezpiecznych i wykonalnych ścieżek dla robota lub manipulatora.

Dostęp API

API Access oznacza rolę oprogramowania udostępniającego interfejs programistyczny do komunikacji z robotem, sensorem, usługą lub platformą, umożliwiający tworzenie integracji i aplikacji klienckich.

Wybierz pozycję, aby zobaczyć opis.
Rodzina oprogramowania
Rodzina

Rodzina oficjalnych SDK i API dostarczanych przez producentów robotów: Boston Dynamics (Spot SDK), ABB (RobotStudio), KUKA (RSI / KUKA Sunrise), Universal Robots (URCap / RTDE), Agility Robotics (Digit SDK), Apptronik (Apollo SDK).

Dojrzałość i adopcja
9 / 9
Sprawdzone w warunkach operacyjnych
BadaniaPrototypProdukcja
Skala adopcjiStandard branżowy
Status utrzymaniaUtrzymywane przez jednego dostawcę
Pierwsze wydanie2009
Ostatnia aktualizacja20 maja 2026
Wdrożenia

Spawanie łukowe z seam tracking (laserowe kamery Meta Vision, Servo-Robot Quanta) w fabrykach Volkswagen, Daimler Truck, Liebherr. Frezowanie robotem (KUKA.CNC + RSI) w przemyśle aerospace — Airbus (Bremen), Boeing (composite trimming). Sterowanie siłą w aplikacjach montażowych (z FTS ATI Mini58/Omega) — montaż przekładni w BMW Regensburg. Eksperymentalne wykorzystanie do dual-arm coordination (KUKA Innovation Award 2018-2022).

Społeczność

github.com/ros-industrial/kuka_experimental ~430★, ~280 forków. Aktywna grupa ROS-Industrial Working Group EU. KUKA Customer Portal (xpert.kuka.com) z dokumentacją RSI — wymaga konta serwisowego. Discord ROS-Industrial ~5k członków (ogólny, z dyskusją o RSI).

Docelowe platformy robotyczne
Robot przemysłowy
Ramię robotyczne
Wsparcie ROSKompatybilność z ekosystemem ROS / ROS 2
Community ROS 2 WrapperWrapper ROS 2 tworzony i utrzymywany przez społeczność, nie przez producenta
Community ROS 1 WrapperWrapper ROS 1 tworzony i utrzymywany przez społeczność
Możliwości systemu
Open source
Kod źródłowy dostępny publicznie pod licencją open-source — umożliwia audyt bezpieczeństwa, własne modyfikacje oraz integrację bez barier licencyjnych.
×
Real-time capable
Zaprojektowane z gwarancjami determinizmu czasowego — spełnia wymagania pętli sterowania, systemów bezpieczeństwa i zadań wymagających niskiej, przewidywalnej latencji.
⟨/⟩
Dostępne API
Oprogramowanie udostępnia programowalny interfejs (REST, gRPC, SDK lub biblioteki językowe) pozwalający na automatyzację i integrację z innymi systemami.
📦
Pre-built / binary
Dystrybuowane jako gotowe pakiety binarne, obrazy kontenerów lub instalatory — bez konieczności kompilacji ze źródeł.
Języki programowania
C++

C++ to język programowania szeroko wykorzystywany w robotyce, systemach embedded, middleware, sterowaniu i przetwarzaniu danych, szczególnie tam, gdzie istotna jest wydajność oraz bliska integracja ze sprzętem.

Python

Python to wysokopoziomowy język programowania szeroko stosowany w robotyce, AI, computer vision, automatyzacji, testach i szybkiej integracji komponentów sprzętowych oraz software'owych.

C

C to język programowania powszechnie wykorzystywany w firmware, sterownikach, mikrokontrolerach i systemach embedded, gdzie wymagana jest bezpośrednia kontrola nad zasobami sprzętowymi.

Wybierz pozycję, aby zobaczyć opis.
Systemy operacyjne
Windows

Windows to rodzina systemów operacyjnych Microsoft wykorzystywana w środowiskach desktopowych, developerskich i integracyjnych. W robotyce występuje głównie jako środowisko narzędziowe, konfiguracyjne lub developerskie.

Ubuntu 22.04

Ubuntu 22.04 LTS to długoterminowo wspierana wersja systemu Linux wykorzystywana w robotyce, AI, systemach edge i środowiskach programistycznych. Stanowi popularną bazę dla nowszych stosów oprogramowania oraz dystrybucji ROS 2.

Ubuntu 20.04

Ubuntu 20.04 LTS to długoterminowo wspierana wersja systemu Linux, szeroko wykorzystywana w robotyce, systemach embedded, AI i środowiskach developerskich. Jest popularna m.in. w środowiskach ROS oraz na platformach obliczeniowych takich jak NVIDIA Jetson.

Debian

Debian to jedna z najbardziej stabilnych i powszechnie stosowanych dystrybucji Linux, wykorzystywana jako baza dla wielu systemów embedded, robotycznych i serwerowych.

Wybierz pozycję, aby zobaczyć opis.
Minimalne wymagania sprzętowe
Minimalne wymagania sprzętowe
CPUKontroler KR C4/C5 — Intel Atom / Core i5 (zarządzany przez KUKA). Klient zewnętrzny: dwurdzeniowy x86-64 ≥ 2,4 GHz z dedykowanym NIC dla RSI.
RAM (GB)4
GPUNiewymagana.
Dysk (GB)1

Klient zewnętrzny powinien działać na PREEMPT_RT Linux lub Xenomai dla deterministycznej latencji 4 ms. Pakiet RSI ~3000 EUR per kontroler. Wymagane KSS (KUKA System Software) ≥ 8.3 dla KR C4 lub ≥ 1.x dla KR C5.

Pakowanie i dystrybucja
Menadżery pakietów
Prebuilt Binary (bezpośrednie pobieranie)

Dystrybucja prekompilowanych binarnych plików wykonywalnych lub bibliotek przez bezpośrednie pobieranie (wget, curl, instalator .sh, .exe, .pkg) ze strony producenta, bez pośrednictwa menedżera pakietów. Stosowane dla: komercyjnych SDK robotów bez publicznego menedżera pakietów, własnościowych komponentów oprogramowania przemysłowego, narzędzi standalone nie wymagających zarządzania zależnościami. Przykłady w robotyce: pobieranie instalatora ze strony producenta robota, skrypt bootstrap.sh SDK, archiwum .tar.gz z bibliotekami. Wady: brak automatycznych aktualizacji, brak zarządzania zależnościami, konieczność ręcznej weryfikacji integralności (checksum SHA256), ryzyko rozbieżności wersji między różnymi komponentami, trudność w zarządzaniu na flocie wielu robotów. Zalety: prostota dla dostawcy (nie wymaga integracji z menedżerem pakietów), pełna kontrola nad tym co i kiedy jest aktualizowane. Stosowane gdy producent sprzętu udostępnia SDK wyłącznie w tej formie (firmware tools, calibration software, proprietary middleware).

Wybierz pozycję, aby zobaczyć opis.
Architektury CPU
x86_64 (AMD64)

64-bitowa architektura procesora wywodząca się z rodziny x86, opracowana przez AMD (jako AMD64) i zaadoptowana przez Intel (jako Intel 64 / EM64T). Dominująca architektura w komputerach osobistych, serwerach, stacjach roboczych i komputerach przemysłowych. W robotyce stosowana jako główna platforma obliczeniowa dla: stacji operatorskich i komputerów deweloperskich (Ubuntu 22.04/24.04 x86_64), serwerów fleet management i cloud robotics, symulatorów (Gazebo, Isaac Sim wymagają x86_64 z GPU NVIDIA dla pełnej wydajności), komputerów pokładowych robotów mobilnych wyższej klasy (Intel NUC, mini-PC przemysłowe jak Nuvo, OnLogic). Oficjalne wsparcie ROS 2 dla x86_64 jest tier-1 – wszystkie dystrybucje ROS 2 (Humble, Jazzy, Kilted) są w pełni wspierane i testowane. Pakiety apt dostępne przez packages.ros.org dla Ubuntu x86_64. Dominuje w środowiskach deweloperskich i symulacyjnych. Na robotach mobilnych i humanoidach x86_64 jest stosowane gdy wymagana jest wysoka moc obliczeniowa (np. Intel Core Ultra, AMD Ryzen Embedded) bez ograniczeń energetycznych typowych dla ARM. Przykłady hardware: Intel NUC 13 Pro, AMD Ryzen Embedded V2000, Advantech MIC-770.

Wybierz pozycję, aby zobaczyć opis.
Trudność instalacji
PoziomTylko eksperci
Protokoły i interfejsy
Protokoły komunikacji
Ethernet / TCP-IP

Standardowy protokół sieciowy IEEE 802.3 z TCP/IP jako warstwą transportową. Stosowany jako główny interfejs komunikacji między komputerem nadrzędnym (host PC) a robotem w SDK takich jak Unitree SDK2, Boston Dynamics API, Universal Robots URScript. Nie zapewnia deterministyczności (best-effort delivery).

PROFINET

Standard komunikacji przemysłowej oparty na Ethernet, opracowany przez Siemens i zarządzany przez organizację PROFIBUS International. Dominuje w europejskich instalacjach automatyki. Obsługuje tryb RT (cykl 1–10 ms) i IRT (cykl < 1 ms).

EtherCAT

Deterministyczny protokół komunikacji przemysłowej oparty na Ethernet, opracowany przez Beckhoff Automation, zarządzany przez organizację ETG (EtherCAT Technology Group). Używa standardowych ramek Ethernet przetwarzanych w locie przez węzły slave (on-the-fly processing), co zapewnia cykle komunikacyjne poniżej 100 µs przy synchronizacji rozproszonych osi. Stosowany powszechnie w napędach stawowych robotów humanoidalnych (np. Boston Dynamics, Agility Robotics), manipulatorach przemysłowych i systemach motion control wymagających hard real-time.

Modbus TCP/RTU

Jeden z najstarszych i najszerzej stosowanych protokołów przemysłowych (Modicon, 1979). Modbus RTU działa przez RS-485/RS-232, Modbus TCP przez Ethernet. Stosowany w robotyce do komunikacji z starszą infrastrukturą przemysłową.

Wybierz pozycję, aby zobaczyć opis.
Interfejsy sprzętowe
Ethernet 1000BASE-T (Gigabit Ethernet)

Standard IEEE 802.3ab – Ethernet 1 Gbit/s przez skrętkę Cat5e/Cat6, złącze RJ-45. Dominujący interfejs sieciowy w robotyce: komunikacja SDK-robot (Unitree SDK2, Boston Dynamics API, UR e-Series), przesyłanie obrazów z kamer IP, integracja z ROS 2 przez DDS/RTPS.

Ethernet 100BASE-TX (Fast Ethernet)

Standard IEEE 802.3u – Ethernet 100 Mbit/s przez skrętkę (Cat5 i wyżej), złącze RJ-45. W robotyce stosowany jako legacy interfejs w starszych robotach przemysłowych (KUKA KR C2, Fanuc R-J3), PLC i urządzeniach embedded niskiej klasy.

Wybierz pozycję, aby zobaczyć opis.
Klasy opóźnień
Hard Real-Time (1–5 ms)

Deterministyczna klasa latencji 1–5 ms z twardą gwarancją dotrzymania deadline'ów. Realizowane na RTOS lub Linux RT-PREEMPT z izolacją CPU. Typowe cykle: 1 ms (1 kHz) dla pętli prędkości silników, 2 ms (500 Hz) dla pętli pozycji stawów, 5 ms (200 Hz) dla pętli sił i momentów. Komunikacja przez EtherCAT, CAN FD. Zastosowania: pętle regulacji prędkości w manipulatorach przemysłowych, sterowanie stawami robotów humanoidalnych w trybie low-level.

Hard Real-Time (5–20 ms)

Deterministyczna klasa latencji 5–20 ms – twardy real-time dla pętli zewnętrznych sterowania robotycznego. Cykle 5–20 ms (50–200 Hz). Możliwy na Linux RT-PREEMPT bez pełnego RTOS. Zastosowania: pętla pozycji i impedancji w cobotach (Universal Robots e-Series), sterowanie trajectoriami w manipulatorach (ros2_control JointTrajectoryController przy 100 Hz), pętla równowagi w robotach humanoidalnych. Wystarczający dla większości zastosowań sterowania ruchem.

Deterministic (protokół-zależny)

Specjalna klasa deterministyczna – latencja i jitter ściśle zdefiniowane przez protokół komunikacyjny, niezależnie od wartości bezwzględnej. Kluczowa jest przewidywalność (predictability) i brak losowych skoków latencji. Protokoły: EtherCAT (jitter < 1 µs), PROFINET IRT (jitter < 1 µs), TSN IEEE 802.1Qbv (jitter < 100 ns), CAN bus (deterministyczny arbitraż). Stosowany gdy ważniejsza jest powtarzalność timingu niż minimalna latencja – np. synchronizacja wielu osi w manipulatorze.

Wybierz pozycję, aby zobaczyć opis.
Typy wdrożenia
Na robocie

On Robot oznacza typ wdrożenia, w którym oprogramowanie działa bezpośrednio na robocie lub na jego pokładowym module obliczeniowym, np. komputerze przemysłowym, SBC lub platformie edge AI.

Lokalna stacja robocza

Local Workstation oznacza typ wdrożenia, w którym software działa na komputerze lokalnym użytkownika, dewelopera lub operatora, np. laptopie, desktopie lub stacji roboczej.

Edge

Edge oznacza typ wdrożenia, w którym oprogramowanie działa na lokalnym urządzeniu obliczeniowym, bramce, komputerze przemysłowym lub innym zasobie blisko robota i sensorów, bez konieczności przetwarzania w chmurze.

Wybierz pozycję, aby zobaczyć opis.
Wspierane symulatory
Gazebo Harmonic
Aktualna wersja LTS symulatora Gazebo nowej generacji – domyślny symulator dla ROS 2 Jazzy.
Licencje
LicenseRef-ProprietaryProprietary – All Rights Reserved

Rodzina licencji: Własnościowa – komercyjna

Domyślny status prawny oprogramowania bez jawnie określonej licencji – wszystkie prawa zastrzeżone przez właściciela praw autorskich. Użycie, modyfikacja i dystrybucja są zabronione bez pisemnej zgody właściciela. Nie jest licencją w ścisłym sensie, lecz brakiem licencji – kod bez pliku LICENSE jest domyślnie All Rights Reserved.

Uwaga dla robotyki

Ważna informacja dla edytorów: oprogramowanie bez jawnego pliku licencji jest automatycznie All Rights Reserved i nie może być legalnie używane, modyfikowane ani dystrybuowane. Producenci robotów powinni zawsze jawnie określać licencję. Redaktorzy Robocikowo powinni flagować wpisy bez określonej licencji i kontaktować się z producentem w celu wyjaśnienia.

Historia wersji
RSI 5.xwrz 2024

Wsparcie dla nowych formatów telemetrii, opcjonalna TLS-encrypted XML (dla deployment w sieci IT).

RSI 4.x (KR C5)kwi 2020

Dostosowanie do kontrolera KR C5 (nowa generacja, mniejsza obudowa). Pełna kompatybilność wstecz programów KRL.

RSI 3.xmar 2016

Lepsza integracja z KUKA.SafeOperation (kategorie bezpieczeństwa SIL2/PLd), wsparcie EtherCAT bridge.

RSI 2.x (KR C4)cze 2012

Adaptacja dla KR C4 (Linux Windows hybrid), cykl 4 ms, ulepszone XML schema.

RSI 1.x (KR C2)sty 2009

Pierwsze wydanie dla kontrolera KR C2, cykl 12 ms.