ROS & ROS2: Motion and control configuration


Control mode

The KUKA LBR iiwa can be operated with a number of different controllers

Default service name

Service type (srv)

Allowed values (case-insensitive)

/iiwa/set_control_mode

libiiwa_msgs/SetString

POSITION, JOINT_IMPEDANCE, CARTESIAN_IMPEDANCE, CARTESIAN_SINE_IMPEDANCE

Example:

$ rosservice call /iiwa/set_control_mode "{data: 'POSITION'}"
# or
$ rosservice call /iiwa/set_control_mode "{data: 'position'}"

Motion type

The KUKA LBR iiwa can programmed to perform different types of motion

Default service name

Service type (srv)

Allowed values (case-insensitive)

/iiwa/set_motion_type

libiiwa_msgs/SetString

PTP, LIN, LIN_REL, CIRC

Example:

$ rosservice call /iiwa/set_motion_type "{data: 'LIN'}"
# or
$ rosservice call /iiwa/set_motion_type "{data: 'lin'}"

Control interface

The KUKA LBR iiwa can be operated with a number of different motion classes

Default service name

Service type (srv)

Allowed values (case-insensitive)

/iiwa/set_control_interface

libiiwa_msgs/SetString

STANDARD, SERVO

Example:

$ rosservice call /iiwa/set_control_interface "{data: 'STANDARD'}"
# or
$ rosservice call /iiwa/set_control_interface "{data: 'standard'}"

Execution type

Motion commands can be executed synchronously or asynchronously

Default service name

Service type (srv)

Allowed values (case-insensitive)

/iiwa/set_execution_type

libiiwa_msgs/SetString

ASYNCHRONOUS, SYNCHRONOUS

Example:

$ rosservice call /iiwa/set_execution_type "{data: 'ASYNCHRONOUS'}"
# or
$ rosservice call /iiwa/set_execution_type "{data: 'asynchronous'}"