Enhance IIWA Robot Configuration and Launch Files

- Updated iiwa7 URDF Xacro to include command and state interfaces for position and effort with defined limits for all joints.
- Modified setting_loader.py to include new fields for command_mode and description in the RobotCfg dataclass and settings loading process.
- Created iiwa.launch.py to manage the launch of the IIWA robot, integrating MoveIt configurations and RViz support.
- Added iiwa_controllers.launch.py to set up the controller manager and spawner for the IIWA robot.
- Introduced iiwa_hardware_interface_plugin.xml to define the hardware interface for the KUKA IIWA 7 robot.
- Added iiwa7_fri.urdf.xacro to support FRI (Fast Robot Interface) with appropriate command and state interfaces for each joint.
This commit is contained in:
Даниил Грабарь
2026-04-06 09:40:04 +03:00
parent 032935dec9
commit 1dc17d5949
17 changed files with 1278 additions and 525 deletions
@@ -1,6 +1,6 @@
controller_manager:
ros__parameters:
update_rate: 100
update_rate: 200
joint_state_broadcaster:
type: "joint_state_broadcaster/JointStateBroadcaster"
@@ -8,6 +8,10 @@ controller_manager:
iiwa_arm_controller:
type: "joint_trajectory_controller/JointTrajectoryController"
forward_torque_controller:
type: "forward_command_controller/ForwardCommandController"
# Основной контроллер - плавное движение по траектории
iiwa_arm_controller:
ros__parameters:
joints:
@@ -17,14 +21,51 @@ iiwa_arm_controller:
- joint4
- joint5
- joint6
- joint7
- joint7
command_interfaces:
- position
state_interfaces:
- position
- velocity
allow_partial_joints_goal: false
# Интерполяция между точками траектории
interpolate_from_desired_state: true
# Разрешить неполные goals
allow_partial_joints_goal: false
# Разрешить ненулевую скорость в конечной точке траектории
# true = плавные составные движения
# false = полная остановка в каждой точке (безопаснее)
allow_nonzero_velocity_at_trajectory_end: true
state_publish_rate: 100.0 # Гц публикации /joint_states
action_monitor_rate: 20.0 # Гц мониторинга action goal
# Допуски — насколько точно робот должен попасть в цель
# constraints:
# stopped_velocity_tolerance: 0.01 # рад/с — считаем остановившимся
# goal_time: 1.0 # сек — доп. время на достижение цели
# joint1: { trajectory: 0, goal: 0.01 }
# joint2: { trajectory: 0, goal: 0.01 }
# joint3: { trajectory: 0, goal: 0.01 }
# joint4: { trajectory: 0, goal: 0.01 }
# joint5: { trajectory: 0, goal: 0.01 }
# joint6: { trajectory: 0, goal: 0.01 }
# joint7: { trajectory: 0, goal: 0.01 }
# Torque контроллер - прямое управление моментом
# Активировать только при command_mode:=torque в launch файле
forward_torque_controller:
ros__parameters:
joints:
- joint1
- joint2
- joint3
- joint4
- joint5
- joint6
- joint7
interface_name: effort