# Understanding Impedance Control

I have a question regarding impedance control for a robotic manipulator.

Given that we have a task space trajectory: $$\ddot{x}$$, $$\dot{x}$$ and $$x$$

And the dynamics model of the robot:

$$\tau = M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) + J^\intercal F_{ext}$$

Control law:

$$u = M(q)a_{qin} + C(q,\dot{q})\dot{q} + G(q)$$

Forward dynamics model (Robot):

$$M^{-1} \{ u - C(q, \dot{q})\dot{q} - G(q) -J^\intercal F_{ext} \} = a_{qin}$$

Where $$M(q)$$ is the inertia matrix, $$C(q,\dot{q})$$ is the coriolis matix, $$G(q)$$ is the gravitational load vector, $$J^\intercal F_{ext}$$ is the external force exerted onto the links, $$\ddot{q}$$, $$\dot{q}$$ and $$q$$ are the joint space trajectories, $$\tau$$ is the torque, $$u$$ is the control signal and finally $$a_{qin}$$ is the computed joint acceleration for the control law.

$$\ddot{q} = a_{qin}$$

For the above, we have impedance control (Spong M.W, 2006), where:

$$\alpha = \ddot{x}^d + M_d^{-1} (B_d (\dot{x}^d - \dot{x}) + K_d(x^d - x) + F)$$

Where the closed loop form is:

$$M_d \ddot{e} + B_d\dot{e} + K_d e = -F$$

where $$e = (x^d - x)$$, and $$\ddot{x} = \alpha$$ (double integrator system)

$$a_{qin} = J^{-1} (\alpha - \dot{J} \dot{q})$$

With $$M_d$$ being the inertia, $$B_d$$ the damping and $$K_d$$ stiffness coefficients for each of the degrees of freedom for the Task-space trajectories $$\ddot{x}$$, $$\dot{x}$$ and $$x$$ and $$F$$ is sensor force?.

Here is how I see the block diagram of the system (and it might be wrong):

My question: Where does the force $$F$$

Come into play? Is it the same as:

$$F_{ext} = F$$

If $$F_{ext} = F$$, does this mean that the Force from the sensor is:

$$\tau = M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) + J^\intercal F ?$$

These general equations are all fetched from (Spong M.W., 2006) and I am just trying to make sense of them. Consider me an idiot, but I need help :(!

• I am not putting this as an answer because I am not certain. But it seems to me that Fext represents the forces applied to the robot by the environment, and F is the set of desired forces the controller should exert on the environment for it to be a true impedance controller. Feb 22, 2020 at 19:09
• Hi @SteveO , thank you for responding - just in case for clarity - hopefully you're not taking the block diagram as law, since I was the one that created the diagram. I will edit the post to this to make it clear. But a snippet from (Spong, 2006) states: * "Note that for F = 0 tracking of the reference trajectory, * $x^d (t)$ , is achieved, whereas for nonzero environmental force, tracking is not necessarily achieved." -- So I suspect that it is a feedback of the external? man - I really don't know. Feb 22, 2020 at 19:21
• You may be right. I was using the block diagram. Unfortunately I don’t have Spong’s text to look at the rest of the derivation. But I’ll check some other impedance control literature. Feb 22, 2020 at 19:29
• @SteveO Sorry for the late reply, but absolutely - that would be really appreciated :)! Feb 23, 2020 at 19:32

Yes, it is the same, $$F$$ should be the same as $$F_{ext}$$. And $$F$$ comes from a sensor or an estimation, in general from a force sensor.
The diagram seems correct and you may have $$F$$ and $$F_{ext}$$ coming from the same source.
• So $F$ and $F_{ext}$ come from the same source? I suppose the thing I am not understanding is whether I... say, send an external force $F$ to the impedance controller, must I also send $F_{ext}$ at the same time? Since the $J^\intercal F_{ext}$ disturbs the $\tau$ sent to the robot and when I already sent the external force $F$ to the impedance controller. Feb 24, 2020 at 11:52
• SInce $F$ in your system will come from a sensor you could add a zero order hold - hold the signal for a sample so that $F$ is delayed one sample with respect to $F_{ext}$, with respect to what you were asking you are cancelling the effect of the external force in the impedance controller the same way you suppress the effects of gravity and coriolis-centrifugal force. Feb 25, 2020 at 12:42