# Impedance Control vs Position Control

I have been reading up on impedance control, and several sources have stated that it is much safer than position control. However, frustratingly, none of these sources have explained why this is. So... why is impedance control safer than position control?

I have tried to think about this myself, based on my understanding of the difference in the control loop of the two methods. I know that impedance control models the system as a mass-spring-damper. So here, the larger the position error, the larger the force, due to the spring. However, I also know that in regular position control, the larger the position error, the larger the force (proportional control). So I don't really see what the main difference is, and why impedance control would be any safer.

For example, in this video describing impedance control, there is the following quote (at 00:52): "While the end-effector follows the reference position, a person can still deflect it away. An ordinary position-controlled system would not allow for such smooth deflection". But in both methods, the force would increase linearly as the person deflects the end-effector away, so I don't understand why the behaviour would be "smoother" in impedance control.

In classical position control, the feedback controller only cares about the position error and is tuned to minimize it. This is done by using very high gains, i.e. if there is even a small position error, the controller counteracts by applying very high torques to the joints. It does not matter if there is a person or a concrete wall in its path; just minimize the error with whatever force is necessary.

Impedance control is designed to adapt to the characteristics of the environment and thus limit contact forces. This achieved through (virtual) mass, damping and stiffness matrices that are not isotropic, i.e. different directions see different reaction forces. If you expect a stiff environment in one direction, you command the robot to react softly / compliantly in that direction. In directions you expect to move freely along, you command the robot to be stiff in order to achieve low position error. To go with the example from the lecture slides: Imagine standing in front of a wall blindfolded (slide 10 in reference [1]). You know that a flat wall is in front of you, but not where exactly. So in order to get into contact, you cautiously / softly move your arm forwards until you make contact. Perpendicular to the wall you can move rigidly without excessive force (neglecting friction).

This system can be extended by using various state-dependent matrices depending on where in your task space you are and how certain you are that there might be contacts.

Also, to quote the main points from the introduction of [1]:

Impedance Control

• imposes a desired dynamic behavior to the interaction between robot end-effector and environment
• 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)
• a model describing how reaction forces are generated in association with environment deformation is not explicitly required
• suited for tasks in which contact forces should be “kept small”, while their accurate regulation is not mandatory
• since a control loop based on force error is missing, contact forces are only indirectly assigned by controlling position
• the choice of a specific stiffness in the impedance model along a Cartesian direction results in a trade-off between contact forces and position accuracy in that direction

Reference:

[1] De Luca, Robotics 2, Lecture 15: Impedance Control Slides Mirror

You can view impedance control as having more control over the force resulting at the end effector, than in position control. In position control, the goal is to get to the reference position no matter what, even if it needs the maximum force of the motor.

In impedance control, you control the ratio between force and velocity. Even if the robot deviates from its target position, the controller will not engage the full motor force to get back on track.