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 velocity 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."
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 (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 ( F ) {\displaystyle ({\boldsymbol {F}})} and position, velocity and acceleration ( x , v , a ) {\displaystyle ({\boldsymbol {x}},{\boldsymbol {v}},{\boldsymbol {a}})} : F = M a + C v + K x + f + s {\displaystyle {\boldsymbol {F}}=M{\boldsymbol {a}}+C{\boldsymbol {v}}+K{\boldsymbol {x}}+{\boldsymbol {f}}+{\boldsymbol {s}}} , with f {\displaystyle {\boldsymbol {f}}} being friction and s {\displaystyle {\boldsymbol {s}}} being static force. Masses ( M {\displaystyle M} ) and springs (with stiffness K {\displaystyle K} ) are energy storing elements, whereas a damper (with damping C {\displaystyle C} ) 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 ( ( x , y , z ) {\displaystyle (x,y,z)} coordinates) and in three orientations (e.g. roll, pitch, yaw). 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 (controlling force with little concern for position) in the radial axis of the wheel.
Mathematical basics
Joint space An uncontrolled robot can be expressed in Lagrangian formulation as
where q {\displaystyle {\boldsymbol {q}}} denotes joint angular position, M {\displaystyle {\boldsymbol {M}}} is the symmetric and positive-definite inertia matrix, c {\displaystyle {\boldsymbol {c}}} the Coriolis and centrifugal torque, g {\displaystyle {\boldsymbol {g}}} the gravitational torque, h {\displaystyle {\boldsymbol {h}}} includes further torques from, e.g., inherent stiffness, friction, etc., and τ e x t {\displaystyle {\boldsymbol {\tau }}_{\mathrm {ext} }} summarizes all the external forces from the environment. The actuation torque τ {\displaystyle {\boldsymbol {\tau }}} on the left side is the input variable to the robot. One may propose a control law of the following form:
… excerpt ends here. Continue reading the full article.
