Impedance control


Impedance control is an approach to dynamic control relating force and position. It is often used in applications where a manipulator interacts with its environment and the force position relation is of concern. Examples of such applications include humans interacting with robots, where the force produced by the human relates to how fast the robot should move/stop.
Mechanical impedance is the ratio of force output to motion input, this is analogous to electrical impedance that is the ratio of voltage output to current input. A "spring constant" defines the force output for a tension or compression of the spring. A "damping constant" defines the force output for a velocity input. If we control the impedance of a mechanism, we are controlling the force of resistance to external motions that are imposed by the environment.
Mechanical admittance is the inverse of impedance - it defines the motions that result from a force input. If a mechanism applies a force to the environment, the environment will move, or not move, depending on its properties and the force applied. For example, a marble sitting on a table will react much differently to a given force than will a log floating in a lake.
The key theory behind the method is to treat the environment as an admittance and the manipulator as an impedance. It assumes the postulate that "no controller can make the manipulator appear to the environment as anything other than a physical system."
This "rule of thumb" can also be stated as: "in the most common case in which the environment is an admittance that relation should be an impedance, a function, possibly nonlinear, dynamic, or even discontinuous, specifying the force produced in response to a motion imposed by the environment."

Principle

Impedance control doesn't simply regulate the force or position of a mechanism. Instead it regulates the relationship between force and position on the one hand, and velocity and acceleration on the other hand, i.e. the impedance of the mechanism. It requires a position as input and has a resulting force as output. The inverse of impedance is admittance. It imposes position.
So actually the controller imposes a spring-mass-damper behavior on the mechanism by maintaining a dynamic relationship between force and position, velocity and acceleration :, with being friction and being static force.
Masses and springs are energy storing elements, whereas a damper is an energy dissipating device. If we can control impedance, we are able to control energy exchange during interaction,
i.e. the work being done. So impedance control is interaction control.
Note that mechanical systems are inherently multi-dimensional - a typical robot arm can place an object in three dimensions and in three orientations. In theory, an impedance controller can cause the mechanism to exhibit a multi-dimensional mechanical impedance. For example, the mechanism might act very stiff along one axis and very compliant along another. By compensating for the kinematics and inertias of the mechanism, we can orient those axes arbitrarily and in various coordinate systems. For example, we might cause a robotic part holder to be very stiff tangentially to a grinding wheel, while being very compliant in the radial axis of the wheel.

Mathematical Basics

Joint space

An uncontrolled robot can be expressed in Lagrangian formulation as
where denotes joint angular position, is the symmetric and positive-definite inertia matrix, the Coriolis and centrifugal torque, the gravitational torque, includes further torques from, e.g., inherent stiffness, friction, etc., and summarizes all the external forces from the environment. The actuation torque on the left side is the input variable to the robot.
One may propose a control law of the following form:
where denotes the desired joint angular position, and are the control parameters, and,,, and are the internal model of the corresponding mechanical terms.
Inserting into gives an equation of the closed-loop system :
Let, one obtains
Since the matrices and have the dimension of stiffness and damping, they are commonly referred to as stiffness and damping matrix, respectively. Clearly, the controlled robot is essentially a multi-dimensional mechanical impedance to the environment, which is addressed by.

Task space

The same principle also applies to task space. An uncontrolled robot has the following task-space representation in Lagrangian formulation:
where denotes joint angular position, task-space position, the symmetric and positive-definite task-space inertia matrix. The terms,,, and are the generalized force of the Coriolis and centrifugal term, the gravitation, further nonlinear terms, and environmental contacts. Note that this representation only applies to robots with redundant kinematics. The generalized force on the left side corresponds to the input torque of the robot.
Analogously, one may propose the following control law:
where denotes the desired task-space position, and are the task-space stiffness and damping matrices, and,,, and are the internal model of the corresponding mechanical terms.
Similarly, one has
as the closed-loop system, which is essentially a multi-dimensional mechanical impedance to the environment as well. Thus, one can choose desired impedance in the task space. For example, one may want to make the controlled robot act very stiff along one direction while relatively compliant along others by setting
assuming the task space is a three-dimensional Euclidean space. The damping matrix is usually chosen such that the closed-loop system is stable.

Applications

Impedance control is used in applications such as robotics as a general strategy to send commands to a robotics arm and end effector that takes into account the non-linear kinematics and dynamics of the object being manipulated.