How ros-industrial/kuka_experimental works
Kuka experimental is a ROS-Industrial collection of experimental KUKA robot packages. Its principal runtime workflow is a ROS controller exchanging joint commands and state with a robot through either EKI or RSI; robot-support packages provide descriptions and configuration for loading supported models. The tree also documents an RSI simulator and controller-side KRL programs. The README gives only a high-level scope, and source excerpts cover the RSI implementation plus part of EKI, so links for unsampled model and simulator internals are intentionally limited.
Main entry points: kuka_hardware_interface.cpp RSI hardware · kuka_eki_hw_interface_node.cpp EKI node · kuka_hardware_interface_node.cpp RSI node · kuka_eki_hw_interface.cpp EKI hardware
Components 19
Robot interfaces
- EKI node
kuka_eki_hw_interface/src/kuka_eki_hw_interface_node.cpp - EKI hardware
kuka_eki_hw_interface/src/kuka_eki_hw_interface.cpp - RSI node
kuka_rsi_hw_interface/src/kuka_hardware_interface_node.cpp - RSI hardware
kuka_rsi_hw_interface/src/kuka_hardware_interface.cpp - UDP server
kuka_rsi_hw_interface/include/kuka_rsi_hw_interface/udp_server.h - RSI state parser
kuka_rsi_hw_interface/include/kuka_rsi_hw_interface/rsi_state.h - RSI command encoder
kuka_rsi_hw_interface/include/kuka_rsi_hw_interface/rsi_command.h
Robot support
- Small-arm models
kuka_kr3_support - KR6 models
kuka_kr6_support - KR10 models
kuka_kr10_support - Heavy-arm models
kuka_kr120_support - LBR iiwa model
kuka_lbr_iiwa_support - Shared URDF resources
kuka_resources/urdf
Robot integration
- EKI robot program
kuka_eki_hw_interface/krl/kuka_eki_hw_interface.src - RSI robot programs
kuka_rsi_hw_interface/krl
Simulation
- RSI simulator
kuka_rsi_simulator/scripts/kuka_rsi_simulator
Other components
- ROS user
- ROS controllers
- KUKA robot
Connections 22
- ROS user → EKI node: starts
- ROS user → RSI node: starts
- EKI node → EKI hardware: runs loop
- EKI node → ROS controllers: updates
- ROS controllers → EKI hardware: commands
- EKI hardware → KUKA robot: exchanges EKI
- EKI robot program → KUKA robot: runs on
- RSI node → RSI hardware: runs loop
- RSI node → ROS controllers: updates
- ROS controllers → RSI hardware: commands
- RSI hardware → UDP server: sends and receives
- RSI hardware → RSI state parser: parses state
- RSI hardware → RSI command encoder: encodes commands
- UDP server → KUKA robot: exchanges RSI
- RSI robot programs → KUKA robot: runs on
- Small-arm models → ROS user: loads description
- KR6 models → ROS user: loads description
- KR10 models → ROS user: loads description
- Heavy-arm models → ROS user: loads description
- LBR iiwa model → ROS user: loads description
- Shared URDF resources → Small-arm models: shared URDF parts
- RSI simulator → KUKA robot: simulates RSI