Motion and control configuration
Control mode
The KUKA LBR iiwa can be operated with a number of different controllers
Control mode |
Enum ( |
---|---|
Position controller: Execute the specified path with the maximum possible positional accuracy and without path deviation |
|
Cartesian impedance controller: Virtual spring damper system with configurable values for stiffness and damping. This allows the robot to react in a compliant manner to external influences |
|
Cartesian impedance controller with overlaid force oscillation: Special form of the Cartesian impedance controller. In addition to the compliant behavior, constant force setpoints and sinusoidal force oscillations can be overlaid |
|
Axis-specific impedance controller: Virtual spring damper system with configurable values for stiffness and damping for each axis (joint) |
|
- class libiiwa.ControlMode(value)
Bases:
Enum
Configurable control modes
- CONTROL_MODE_CARTESIAN_IMPEDANCE = 43
- CONTROL_MODE_CARTESIAN_SINE_IMPEDANCE = 44
- CONTROL_MODE_JOINT_IMPEDANCE = 42
- CONTROL_MODE_POSITION = 41
set_control_mode
- LibIiwa.set_control_mode(control_mode: ControlMode) bool
Set the control mode
- Parameters:
control_mode (ControlMode) – Control mode
- Raises:
AssertionError – If the control mode is not valid
- Returns:
True if successful, False otherwise
- Return type:
Example:
>>> iiwa.set_control_mode(libiiwa.ControlMode.CONTROL_MODE_POSITION) True
Motion type
The KUKA LBR iiwa can programmed to perform different types of motion
Motion type |
Enum ( |
---|---|
Point-to-point motion (PTP): Executes a point-to-point motion to the end point |
|
Linear motion (LIN): Executes a linear motion to the end point |
|
Linear relative motion (LIN_REL): Executes a linear motion relative to the end position of the previous |
|
Circular motion (CIRC): Executes a circular motion |
|
- class libiiwa.MotionType(value)
Bases:
Enum
Configurable motion types
- MOTION_TYPE_CIRC = 24
- MOTION_TYPE_LIN = 22
- MOTION_TYPE_LIN_REL = 23
- MOTION_TYPE_PTP = 21
set_motion_type
- LibIiwa.set_motion_type(motion_type: MotionType) bool
Set the motion type
- Parameters:
motion_type (MotionType) – Motion type
- Raises:
AssertionError – If the motion type is not valid
- Returns:
True if successful, False otherwise
- Return type:
Example:
>>> iiwa.set_motion_type(libiiwa.MotionType.MOTION_TYPE_LIN) True
Control interface
The KUKA LBR iiwa can be operated with a number of different motion classes
Control interface |
Enum ( |
---|---|
Standard: TODO |
|
Servo motions (Servoing): Non-deterministic, soft real-time motions |
|
Fast Research Interface: TODO |
|
- class libiiwa.ControlInterface(value)
Bases:
Enum
Configurable control interfaces
- CONTROL_INTERFACE_FRI = 33
- CONTROL_INTERFACE_SERVO = 32
- CONTROL_INTERFACE_STANDARD = 31
set_control_interface
- LibIiwa.set_control_interface(control_interface: ControlInterface) bool
Set the control interface
- Parameters:
control_interface (ControlInterface) – Control interface
- Raises:
AssertionError – If the control interface is not valid
- Returns:
True if successful, False otherwise
- Return type:
Example:
>>> iiwa.set_control_interface(libiiwa.ControlInterface.CONTROL_INTERFACE_SERVO) True
Execution type
Motion commands can be executed synchronously or asynchronously
Execution type |
Enum ( |
---|---|
Synchronous: Motion commands are sent in steps to the real-time controller and executed (blocking) |
|
Asynchronous: Next program line is executed directly after the motion command is sent (non-blocking) |
|
- class libiiwa.ExecutionType(value)
Bases:
Enum
Configurable execution types
- EXECUTION_TYPE_ASYNCHRONOUS = 51
- EXECUTION_TYPE_SYNCHRONOUS = 52
set_execution_type
- LibIiwa.set_execution_type(execution_type: ExecutionType) bool
Set the execution type
- Parameters:
execution_type (ExecutionType) – Execution type
- Raises:
AssertionError – If the execution type is not valid
- Returns:
True if successful, False otherwise
- Return type:
Example:
>>> iiwa.set_control_mode(libiiwa.ExecutionType.EXECUTION_TYPE_ASYNCHRONOUS) True