Add iiwa_controller_v2: Implement hardware interface for KUKA iiwa7 via FRI

- Introduced iiwa_hardware_interface_plugin.xml to define the hardware interface.
- Created command_guard.hpp to enforce joint limits for position and torque commands.
- Developed fri_client.hpp and fri_client.cpp to manage FRI communication and state snapshots.
- Implemented system_interface.hpp and system_interface.cpp for lifecycle management and command handling.
- Added system_interface_type_values.hpp for extended state interface names.
- Defined package.xml for ROS2 integration with necessary dependencies.
This commit is contained in:
Даниил Грабарь
2026-05-15 13:10:00 +10:00
parent d6b4641d9b
commit 99215c0b20
16 changed files with 1198 additions and 20 deletions
@@ -17,6 +17,7 @@ class RobotCfg:
description: str
fri_cycle_ms: int
joint_position_tau: float
active_controller: str # "jtc" | "forward"
@dataclass(frozen=True)
@@ -250,6 +251,7 @@ def build_settings(settings_path: str, check_files: bool = True) -> Settings:
description=resolve_path(str(require(robot_raw, "description")), settings_dir),
fri_cycle_ms=int(robot_raw.get("fri_cycle_ms", 5)),
joint_position_tau=float(robot_raw.get("joint_position_tau", 0.04)),
active_controller=str(robot_raw.get("active_controller", "jtc")),
)
# digital_twin