After we have seen stiffness control, now it's time to switch to the impedance control, which is very
widely known and use force control technique.
Indeed, by using impedance control and its dual admittance control, you can achieve pretty interesting
results.
So without further ado, let's jump into the concept based on our previous knowledge.
We somehow understand that modeling the environment is very important for force control techniques because
based on the characteristic of the environment, we adjust the properties of the robot manipulator in
order to achieve desired results or await dangerous situations by stiffness control.
We accept the robot and the environment as just springs, which was not totally correct because environment
doesn't only have stiffness properties, but also inertial and resistive properties, so environment
can be in different categories as well.
Let's first see this equation, which gives us the relation between the interaction forces and the motion
of the robot manipulator.
This relation is provided by the mechanical impedance, which is designated by Zip e in this equation.
Let's see why this is called mechanical impedance.
While modeling the systems, we separate two kinds of variables, namely effort and flows, which help
us represent instantaneous flow of energy or power.
So while the system can be different in nature like either mechanical or electrical or hydraulic, there
are always the power variables, namely effort and flow in electrical domain.
Effort is force, which corresponds to the four, which corresponds to the force, excuse me, in electrical
domain.
If it is voltage, which corresponds to the force in mechanical domain and the current is flow variable
in electrical domain, which corresponds to the velocity in mechanical domain.
So by the same way, we can write electrical impedance, which is the ratio between voltage and the
current, which corresponds to mechanical impedance, namely the ratio between force and velocity.
Based on these mechanical impedance, we can categorize or model the environment more precisely.
Namely, the environment is inertial if and only if the impedance has value of zero when, as is zero.
For example, this is an inertial environment in which force of F is given to the object.
This is the mass H which cause velocity of export at the output.
We can write the equation of the system and get the mechanical impedance.
As you can see, if you set s to zero, then mechanical impedance will be zero in one.
When these resistive if and only if z zero is constant, which is between zero and infinity.
This is the example case where the robot is moving or the surface.
The less friction system equations can be written this way, and we can get mechanical impedance easily
from that system equation.
As you can see, even we said s to zero.
We get constant volley of D and environment can be capacitive if unduly if z zero is infinite.
Below is the sample case where environment has mass of h, dumping of B and stiffness of key system.
Equation can be rewritten in this way and we can get impertinence from this equation easily.
As you can see, if you set s to zero, you will get infinite impedance from above examples.
It's clear that how effectively an environment can be modelled by using mechanical impedance and how
mechanical impedance determines the behavior of the system in this case environment.
No, let's start to impedance control now.
It's important for us to understand what we want to achieve by impedance control.
The goal in utilizing impedance control is not to get exact position or velocity control or not to achieve
desired force, namely pure force control.
The goal is to control that dynamic behavior of the robot manipulator, namely the relationship between
the motion of the robot and the interaction forces.
Why do we want to achieve that?
Because, as you know, from stiffness control periods, we need to have sufficiently good model of
the environment to achieve the desired control on interaction forces.
However, as we have said previously, it's very difficult to model the environment.
But if we can find the relation between the motion of the robot and the interaction forces, then we
will not need to model the environment because it will be sufficient for us to adjust just to measure
interaction forces at.
And the factor.
And based on that, adjust the behavior of the robot, we humans do also the same when there is no interaction
force at our hands, namely we move our hands in free space.
We do that in the fast and rigid way.
However, if we are in contact with some object, then we are slow and careful near make compliant the
object.
Do you want to achieve that result in robot manipulator or.
Let's investigate how they can do that.
Let's first see why it is called impedance control.
As you know, generally when the robot interacts with some environment, it gives acceleration velocity
to the environment by applying force into it.
So environment has admittance while the robot has impedance.
And we want to control that impedance.
Let's ride the formula of mechanical impedance again.
Based on Le Plus formulation, we can write equation in this form also.
As you can see, this is nothing but a transfer function.
If you remember in stiffness control, stiffness was constant, while in this case, impaired is a transfer
function.
Now let's define transfer function in this way, as you can see, impedance control is more general
than the stiffness control because you don't only control the stiffness, but also the effective inertia
and damping.
Also, it will be more clear to you further in the presentation.
So if we plug the definition of impairments in the formula, we will get this equation, which is desired
impedance or desired dynamical behavior more correctly.
We want to impose to our robot.
This is done by fixing the values of inertia, stiffness and damping mattresses.
If the right to transfer function in this way, we can see that by fixing the values of damping, stiffness
and inertia mattresses, we can define the values of natural frequency and damping ratio, which characterizes
our system response, which is second order system response here.
Let's ride the dissolved dynamic behavior if you want to impose to our robot.
However, there is a problem here.
There is a huge difference between the original dynamics of our robot arm and desired dynamics we want
to impose.
Additionally, original dynamics of our robot is coupled, and this also creates a problem because we
want to impose different dynamics based on the situation in different directions.
So in the first step, we have to cancel the original dynamics of our robot in order to get leaner and
the coupled dynamics.
We will do that using inverse dynamics control.
Then we impose the desired dynamics to our robotic manipulator.
Let's first try the dynamics equation of our robot manipulator in Workspace Y workspace because the
desired dynamics we want to impose is defined in workspace.
Also, the interactions in workspace also the interactions happen in the workspace.
Be careful in these formulations.
We use analytical Jacobean because the rotation angles are defined either as earlier or are p y.
It's not defined the input force of F as this, which will help us to cancel the original dynamics of
our robotic manipulator.
Don't forget, we have to consider interaction forces of f a.
In order to cancel them.
Also, these interaction forces in Eq. one point two will be obtained by force torque sensors.
So we replace Eq. 1.0 in the equation 1.1 and get linear and decoupled dynamics as below.
As we have said before, it's important for us to decouple the equation in order to impose desired behavior
in each direction freely.
Here you can see that, but we have an obvious and common problem.
Here you can say that we have an obvious and common problem with inverse dynamics, which is not being
able to model the dynamics.
Exactly, exactly.
Additionally, force torque sensors cannot exact the council interaction forces.
However, robustness is not a big issue here because we just want to impose behavior to our robot arm.
We just wanted these impose desired behavior to our robot arm.
We don't want exact position or velocity tracking or achieving exact design forces.
Now we have decoupled and linear ized our system dynamics.
We need to switch to the second step, namely imposing desired dynamics that our robot manipulator.
So we define our Y as this way in order to achieve desired dynamic behavior.
When we replace Eq. 1.4 in 1.3 here of here, I want to note something important.
As you have seen moment before, we have canceled interaction forces.
We have done that in order to decouple our original dynamics equation.
Now we are adding it into y again y.
Let's see what would happen if we didn't add it.
If we didn't do that, then the imposed by that mix equation would be in this way.
What does this dynamic equation say to us?
Firstly, we know that our system is asymptotically stable because of non-zero damping term.
Secondly, from this equation?
You see, that robot always tries to achieve exact the desired position without considering environment
or without either an introduction forces.
You can imagine that this can cause very serious issues, both for the robot manipulator and the environment.
We need to adjust dynamic behavior of our robot based on interaction forces, and we can achieve that
by adding interaction forces in Equation 1.4.
So after defining Variable Y, let's see the full formula for control input F, and this is given as
below.
Here, I want to note something if you analyze equation one point six carefully, you will see that
if we define our desired inertia matrix as the original robot inertia matrix, then we can avoid utilizing
force.
Torque sensors and control equation becomes simpler, but we don't want to do that.
Why?
Because original inertia matrix is coupled, but we want to decouple the equations, so we prefer positive,
definite and decoupled inertia matrix.
Now, after all, how do we how do we have to choose the desired impedance in order to get desired dynamics
behavior?
We want to avoid high impacts due to the uncertainties in environment, position and shape.
And also, we want to adapt the stiffness properties of the stiffness properties of the environment.
We can achieve that by mimicking human behavior, namely fast and rigid behavior in free space motions,
which corresponds to the low values of four inertia and high values for stiffness via slow and compliant
behavior during approaching the environment or during interaction with the environment.
This corresponds to higher values for inertia matrix, while low values for stiffness matrix.
We want to assign small values for stiffness, matrix during interaction with stiff environment, and
in order to get desired trends in behavior such as control and oscillations, we have to adjust damping
matrix.