Impedance Control

  • Impedance control is suited for tasks in which contact forces should be “kept small”, while their accurate regulation is not mandatory.
  • The desired performance is specified through a generalized dynamic impedance, namely a complete set of mass-spring-damper equations (typically chosen as linear and decoupled, but also nonlinear).
  • Since a control loop based on force error is missing, forces are only indirectly assigned by controlling position.

Robot dynamics equation

Let $\phib$ be a parameterization of the orientation of the end effector, for instance, Euler angle in ZYX sequence.

where $J$ is the geometric jacobian and $J_a$ is the analytic jacobian, $\fb_a$ is the generalized force performing work on $\xbdot = (\pbdot, \dot{\phib})$. We have the relation

Robot dynamics in Cartesian coordinates

Assume $J_a$ is invertible, we have


Design of Control Law

Move robot control input $\taub$ to the left of the equation, we get

By substituting the $\ddot{\xb}$ with desired acceleration $\ab$, it becomes

and we get the closed loop system

Imposition of the impedance model

($M_m, D_m$ and $K_m$ are desired inertia, desired damping and desired stiffness, respectively)

is realized by choosing

Note: $\xb_d$ is the desired motion, which typically slightly penetrates inside the compliant environment (keeping thus contact)

Substitute $\ab$ into the control law, after simplification, we get

While the principle of control design is based on dynamic analysis and desired (impedance) behavior as described in the Cartesian space, the final control implementation is always made at robot joint level.

Choice of Impedance Model

  • Low contact forces

    Large $M_{m, i}$ and small $K_{m,i}$ in Cartesian directions where contact is foreseen

  • Good tracking

    Large $K_{m, i}$ and small $M_{m, i}$ in Cartesian directions that are supposed to be free

1. A. De Luca (2018). Impedance Control. [slides]