Advanced Robotic Manipulation with Impedance Control
By Tadele Shiferaw, MathWorks
Robotic manipulators continue to be used in diverse applications, enhancing efficiency and precision in fields such as manufacturing, healthcare, agriculture, and logistics. For applications that require safe and effective interaction with a dynamic environment, adding compliance to the manipulators is essential as it enables enhanced adaptability, precision, and safety during operation. Impedance control is an advanced methodology that allows robots to emulate the compliant behavior characteristic of human manipulation. This article explains the design and implementation of impedance control strategy using modeling and simulation.
Understanding Impedance Control
At its core, impedance control is a strategy used in robotics to regulate the interaction force between a robot and its environment by dynamically adjusting the robot’s impedance, a measure of how it responds to forces and displacements[1].
Consider a simplified robot with one degree of freedom (DOF). The robot is defined as a mass at position \( X_m \) and it is to be moved to a desired position \( X_d \), which can be easily achieved by using a classical Proportional-Derivative (PD) controller with the following mathematical equation:
\( F_{controller} = k(X_d - X_m) - d {\dot{X_m}} \)
Looking closely at the equation, the control action of the PD controller can be physically interpreted as a spring-damper combination with the proportional term representing the spring and the derivative term representing the damper. This is a simple impedance controller that not only moves the mass to the desired position but also injects a desired impedance into the system that can be felt during any external interaction with the system (Figure 1).
Figure 1. A simple one-DOF impedance-controlled system.
Modeling a Simple Impedance Controlled System
This simplified one-DOF system can easily be modeled using Simscape™, a physical modeling language that enables users to connect library blocks via a bidirectional flow of energy (Figure 2).
Now, the controller parameters described by the stiffness constant and damping coefficient can be adjusted to define the desired compliance behavior of the complete system as it tracks the desired position. The difference in motion behavior between a moderately compliant and highly compliant impedance-controlled system is shown in Figure 3.
Impedance Control for Multi-DOF Manipulators
The impedance controller concept discussed above can also be extended for a robotic manipulator with N-DOF, where a multidimensional geometric spring is used to align the robot end-effector pose \( {H^0}_t \) to a desired pose \( {H^0}_d \) and damping is injected into the system via a joint space damper on each DOF (Figure 4).
Given symmetric translational, rotational, and coupling stiffness matrices \( K_t \), \( K_c \) and \( K_o \), a spatial geometric spring defined with a matrix \( K∈R^{6×6} \) exerts a force on a manipulator that is a function of the relative pose \( {H^d}_t \):
\( K = \begin{pmatrix} K_o & K_c \\ {K^T}_c & K_t \end{pmatrix} \)
The force is computed in the coordinates of the end-effector frame as a six-vector wrench \( W^t=[m^t f^t] \) as follows[2]:
\( \widetilde{m^t} = -2as({G_o}{{R^d}_t}) - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{\widetilde{{p^d}_t}}{{R^d}_t}) \)
\( \widetilde{f^t} = -{{R^t}_d}as({G_o}{\widetilde{{p^d}_t}}){{R^d}_t} - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{{R^d}_t}) \)
where:
- \( as(⋅) \) is an operator that gives the skew-symmetric part of a square matrix
- \( G_t \), \( G_c \), and \( G_o \) are co-stiffness matrices of the spatial spring calculated as \( G_x = \frac{1}{2}tr(K_x)I−K_x \)
- \( tr (.) \)is the tensor trace operator
- ~ is a tilde operator capturing the cross-product matrix form of a vector
After coordinate transformation of the wrench \( W^t \) to an inertial reference frame \( Ψ_0 \), the joint torques \( τ \) that can emulate the desired end-effector wrench on the manipulator are calculated by these equations:
\( (W^o)^T = A{d^T}_{{H^t}_o} (W^t)^T \)
\( τ = {J^T}(q){W^o} \)
where:
- \( Ad (⋅) \) is Adjoint of the homogeneous matrix
- \( J(q) \) is the Jacobian of the robotic manipulator
Modeling a Robotic Manipulator with Impedance Control
To evaluate the control algorithm on a robotic manipulator, a dynamic model of the Kinova® Gen3 Manipulator with seven DOF was developed using Simscape Multibody™. With the CAD model of the manipulator available in URDF format, a detailed multibody model that can be used for dynamic simulation can be automatically generated using the command:
smimport(kinovaGen3.urdf')
The complete system model shown in the figure below includes the desired pose generator, environmental obstacles, and external interactions for a broad evaluation of the controller with simulation (Figure 5).
Robotics System Toolbox™ further enhances the impedance controller for the manipulator via a gravity compensation algorithm, which improves operational performance. Thus, the final controller output, shown in Figure 6, is a joint-space torque that is the sum of torques from spatial spring, gravity compensation, and damping injection.
Simulation Results
A simulation tested the effect of an external force applied in the X direction at time \( t = 16 \) \(sec \) and an obstacle moving along the x-axis to interact with the manipulator at about \( t = 30\) \(sec \) (Figure 7). As expected, an external force of \( F_{ext} = 40N \) applied on the impedance-controlled manipulator with a Cartesian translational stiffness of \(K_t =400 \) \(N/m \) resulted in a deflection of \( x_{def} = 0.1m \). The system also exhibited stable and realistic behavior during the interaction with the moving obstacle, as seen in the video animation generated from the mechanics explorer (Figure 8).
Figure 8. An animation showing the 3D movement of the robot and interaction with an obstacle.
As validated with simulation results, the Cartesian impedance controller not only injects a desired compliance to enable a flexible interaction capability, but it also circumvents the need for computationally intensive inverse kinematics computations for manipulator control. It is also a physically explainable and intuitive control design approach and requires a joint-level torque controller for implementation.
References
[1] Hogan, Neville. “Impedance Control: An Approach to Manipulation: Part I—Theory; Part II—Implementation; Part III—Applications.” Journal of Dynamic Systems, Measurement, and Control, vol. 107, no. 1, March 1985, pp. 1–24.
[2] Stramigioli, Stefano. Modeling and IPC control of Interactive Mechanical Systems — A Coordinate-Free Approach, Lecture Notes in Control and Information Sciences (Springer London, 2001).
Published 2025