
Control · SDKs
RSI 5.x·
KUKA.RobotSensorInterface (RSI) is an optional package for KUKA KR C4 and KR C5 controllers, licensed at ~EUR 3,000 per controller. RSI exposes a hard real-time UDP/XML interface with a guaranteed cycle latency of **4 ms (250 Hz) or 12 ms (~83 Hz)** depending on robot type and version. The XML message carries correction setpoints for all axes (joint position offsets / Cartesian offsets in the base frame) — an external computer (PC with Ethernet) modifies the trajectory that the controller executes.
Architecture: in a KRL program the user calls `RSI_CREATE`, `RSI_ON`, `RSI_OFF` — every cycle the robot sends an XML packet with its current state (`<Rob>...</Rob>`) to the external client's UDP port, and the client returns a response with corrections (`<Sen>...</Sen>`). There is no retransmission — a lost packet means an emergency stop. This enforces network determinism: a dedicated switch / direct Ethernet, no WiFi, a separate VLAN. RSI is not an 'SDK' in the classical sense — it is a **wire protocol** plus controller-side runtime plus very thin helper libraries (KUKA only ships the XML schema and KRL examples).
The most popular uses: ROS integration via the community project `kuka_experimental` (Robot Web Tools / ROS-Industrial) with the `kuka_rsi_hw_interface` driver for ros_control, force control with an external FTS sensor (ATI, Schunk), seam tracking in welding (laser cameras from Meta Vision, Servo-Robot), tool path correction in robot milling (KUKA.CNC + RSI). For new applications the alternatives are **KUKA.PLC mxAutomation** (drag-and-drop function blocks for PLCs) or **KUKA Sunrise.OS** (for LBR iiwa — Java-based and considerably newer than RSI).
An API Library is a software package that exposes programmatic interfaces for communicating with a device, service, or system. In robotics it typically forms a lightweight integration layer built on top of the manufacturer's official API or an open-source project, abstracting low-level protocol details and providing language-native bindings (Python, C++, Java, etc.).
Middleware is a software layer that mediates between applications, services, sensors, drivers, and execution layers. In robotics, middleware is typically responsible for inter-process communication, message passing, hardware abstraction, and module integration within a single system. The most widely used robotics middleware is ROS (Robot Operating System), which provides a publish-subscribe message bus, service calls, and a rich ecosystem of packages.
A family of official SDKs and APIs provided by robot manufacturers: Boston Dynamics (Spot SDK), ABB (RobotStudio), KUKA (RSI / KUKA Sunrise), Universal Robots (URCap / RTDE), Agility Robotics (Digit SDK), Apptronik (Apollo SDK).
Arc welding with seam tracking (Meta Vision and Servo-Robot Quanta laser cameras) in Volkswagen, Daimler Truck and Liebherr plants. Robotic milling (KUKA.CNC + RSI) in aerospace — Airbus (Bremen), Boeing (composite trimming). Force control in assembly applications (with FTS ATI Mini58/Omega) — gearbox assembly at BMW Regensburg. Experimental use for dual-arm coordination (KUKA Innovation Award 2018–2022).
github.com/ros-industrial/kuka_experimental ~430★, ~280 forks. Active ROS-Industrial Working Group EU. KUKA Customer Portal (xpert.kuka.com) with RSI documentation — requires a service account. ROS-Industrial Discord ~5k members (general, including RSI discussions).
The external client should run on PREEMPT_RT Linux or Xenomai for deterministic 4 ms latency. The RSI package costs ~EUR 3,000 per controller. Requires KSS (KUKA System Software) ≥ 8.3 for KR C4 or ≥ 1.x for KR C5.
License family: Proprietary – Commercial
Support for new telemetry formats, optional TLS-encrypted XML (for IT-network deployments).
Adapted for the KR C5 controller (new generation, smaller enclosure). Full backwards compatibility for KRL programs.
Better integration with KUKA.SafeOperation (SIL2/PLd safety categories), EtherCAT bridge support.
Adaptation for KR C4 (Linux/Windows hybrid), 4 ms cycle, improved XML schema.
First release for the KR C2 controller, 12 ms cycle.