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. Simpler control methods, such as position control or torque control, perform poorly when the manipulator experiences contacts. Thus impedance control is commonly used in these settings.
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 (e.g. resistance is voltage divided by current). A "spring constant" defines the force output for a displacement (extension 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 very 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 (e.g. a mass, possibly kinematically constrained) 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."[1]
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 (velocity or acceleration) 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
(\boldsymbol{F})
(\boldsymbol{x},\boldsymbol{v},\boldsymbol{a})
\boldsymbol{F}=M\boldsymbol{a}+C\boldsymbol{v}+K\boldsymbol{x}+\boldsymbol{f}+\boldsymbol{s}
\boldsymbol{f}
\boldsymbol{s}
Masses (
M
K
C
Note that mechanical systems are inherently multi-dimensional - a typical robot arm can place an object in three dimensions (
(x,y,z)
An uncontrolled robot can be expressed in Lagrangian formulation as
where
\boldsymbol{q}
\boldsymbol{M}
\boldsymbol{c}
\boldsymbol{g}
\boldsymbol{h}
\boldsymbol{\tau}ext
\boldsymbol{\tau}
One may propose a control law of the following form:
where
\boldsymbol{q}d
\boldsymbol{K}
\boldsymbol{D}
\hat{\boldsymbol{M}}
\hat{\boldsymbol{c}}
\hat{\boldsymbol{g}}
\hat{\boldsymbol{h}}
Inserting into gives an equation of the closed-loop system (controlled robot):
\boldsymbol{K}(\boldsymbol{q}d-\boldsymbol{q})+\boldsymbol{D}(
\boldsymbol{q |
Let
\boldsymbol{e}=\boldsymbol{q}d-\boldsymbol{q}
\boldsymbol{K}\boldsymbol{e}+\boldsymbol{D}
\boldsymbol{e |
Since the matrices
\boldsymbol{K}
\boldsymbol{D}
\boldsymbol{\tau}ext
The same principle also applies to task space. An uncontrolled robot has the following task-space representation in Lagrangian formulation:
\boldsymbol{l{F}}=\boldsymbol{Λ}(\boldsymbol{q})\ddot{\boldsymbol{x}}+\boldsymbol{\mu}(\boldsymbol{x},
\boldsymbol{x |
where
\boldsymbol{q}
\boldsymbol{x}
\boldsymbol{Λ}
\boldsymbol{\mu}
\boldsymbol{\gamma}
\boldsymbol{η}
\boldsymbol{l{F}}ext
\boldsymbol{l{F}}
Analogously, one may propose the following control law:
\boldsymbol{l{F}}=\boldsymbol{K}x(\boldsymbol{x}d-\boldsymbol{x})+
\boldsymbol{D} | |||
|
where
\boldsymbol{x}d
\boldsymbol{K}x
\boldsymbol{D}x
\hat{\boldsymbol{Λ}}
\hat{\boldsymbol{\mu}}
\hat{\boldsymbol{\gamma}}
\hat{\boldsymbol{η}}
Similarly, one has
\boldsymbol{e}x=\boldsymbol{x}d-\boldsymbol{x}
as the closed-loop system, which is essentially a multi-dimensional mechanical impedance to the environment (
\boldsymbol{l{F}}ext
\boldsymbol{K}x=\begin{pmatrix}1&0&0\\ 0&1&0\\ 0&0&1000\end{pmatrix}N/m,
assuming the task space is a three-dimensional Euclidean space. The damping matrix
\boldsymbol{D}x
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.[3]