OK.
This is the last force control technique that we will see, and as you can see from the title of the
video, this is hybrid position, force control technique.
Here, we will not specify a new method of control formulation for either position or force, but instead
we will use the ones we have seen before in the way everything will be clear to you further in the presentation.
Manipulation of an object includes both control of position, velocity and force torque.
It can be complex to develop a control technique that will help us in controlling position and force
precisely.
Also, until this lesson, we have seen either pure position, velocity control and force control.
But what we can do in order to simplify the difficulty of control is to decouple the directions in which
position velocity control is required and in which force total control is required with respect to some
reference frame.
After this decoupling process, we can apply pure position and force control in appropriate directions.
This will be much simpler for us to control both position and the force simultaneously.
Let's take this scenario into consideration.
A robot arm slides a rigid object or the friction this table.
Let's see what we mean by decoupling position and force control directions.
However, first, we have to define suitable a reference frame, and we take this reference frame in
the contact point, which is given by a red color.
You can control position in X and Y directions, which is obvious.
We can rotate the object in that direction only.
Also, we can control force only in that direction.
This can be confusing for you, but don't worry, we will clarify it further in the presentation.
And finally, we can control talking on the X and Y directions, which will be clear for you during
the presentation after we have seen what we mean by decoupling generally.
Let's go into deeper in this issue.
Before doing that, we have to consider constraints as you know, whatever we do with the robots, which
also includes manipulation.
We have constraints either due to the robot or the environment.
In this section, we will ignore the constraints due to the robot, but only consider the ones due to
the environment.
OK, we have two types of constraints, namely the natural ones and artificial ones.
Natural constraints are due to the geometry of the environment, so they are environment dependent or
also task dependent.
We cannot control them.
They are already there and we have to obey these constraints if we don't want problems.
However, artificial constraints can be controlled by us.
For example, if you want to have zero point one meters per second and the fact that a velocity in external
action, this is the constraint that we are setting and we can change it as we want, as in a suitable
range.
So artificial constraints are set by us through our control algorithm and we can control either position
or velocity and force or torque as we want.
Now the important thing is that we define natural and artificial constraints, not with respect to the
base frame or end the vector frame, but constraint or task frame.
They have the same meaning.
This task frame is task dependent because based on task, we change in which directions we have control
and in which direction not.
Also, this frame is not fixed like inertial frame.
It changes its orientation and position depending on where it's defined.
As, you know, all of the general, we can specify 12 variables that we can't control if we don't consider
any kind of constraints, namely six linear variables and six rotational variables.
But surely we will not be able to control all of them because we have constraints.
So we want if we want to define which ones we can control and which ones we can not in order to clarify
this concept.
Let's take some real world scenarios in this task.
We want to slide the rigid object or frictionless table.
The frame indicated the C in contact point is our task frame based on which will specified the constraints.
OK, now this is the velocity space where the linear and angular velocities have been specified.
Be careful.
These are specified with respect to.
The see frame or contact frame or tusk frame, excuse me, not on the frame, but constrained frame.
We have to express everything on tusk frame because decoupling happens with respect to it and control
will be specified with respect to it.
Also in the same way we define for space, which includes forces and talks in tusk frame.
Now let's define natural and artificial constraints.
Natural constraints will be written in red color while the artificial ones in blue color.
Here is the natural constraints.
Let's look at them one by one.
We cannot control velocity in that direction because we have an obstacle, namely a rigid table in front.
So there will be no motion in that direction.
Don't forget, please analyze.
With respect to the tusk frame, we have no obstacle in the directions of X and Y, so there will be
motion in that direction and we can control it.
In terms of rotational velocities, we are able to rotate only in that direction.
We can not rotate in either X or Y again due to the obstacle we have.
So because of that, omega X and Y are natural constraints.
Now, in terms of forces, we can apply desired force only in that direction, but not in X or Y directions
y look carefully.
We have rigid obstacle in front if you want to apply force in that direction so we can apply desired
force on it.
However, object is free to move in directions of X and Y.
Additionally, don't forget that table is frictionless.
So when we try to apply force in X or Y directions, object starts to move and we cannot apply force
sync it in this way.
Can you apply force on space without an obstacle?
Can you apply force on air if we ignore air resistance?
No, as we cannot control force, as we want interruptions X and Y forces in these directions are natural
constraints.
Talks are the same as forces as we can rotate in that direction freely.
We will not be able to generate torque in that direction.
But the same is not true in terms of talks in X and Y directions.
We can control them as we want.
OK.
We have seen natural constraints.
Now let's see the artificial ones.
Indeed, after determining the natural constraints, it's very easy to determine the artificial ones.
First, compare each element of artificial constraints with each elements of natural ones.
You will see there is a relation between them.
So named linear velocities in natural constraints will correspond to forces in artificial ones in the
same way.
Angela velocities will correspond to talks, forces will correspond to linear velocities and talks will
correspond to angular velocities.
First, observe that please also note that accesses don't change.
Now let's understand that the logic axis don't change.
By this, I mean the reference frames.
Now let's understand the logic of that correspondence as we don't have linear motion in x axis due to
the obstacle.
We can upload desired force to this object.
So force is artificially constrained in extraction also as we cannot rotate in X and Y directions.
We can upload talks in those directions.
Furthermore, as V cannot apply force in X and Y direction because motion is free in those partitions.
We can control velocity as we want in those directions.
So linear velocities in X and Y directions can be controlled and they are considered as artificial constraint.
Finally, as we cannot apply desire to move in that direction, then the rotation is free in that direction
and we can control amount of this rotation before continuing.
I want to add something here.
Neutral constraints constrain us to have either zero velocities or zero forces and torus, and these
are on the way.
However, when we say that we can assign any desired value to the artificial constraints.
This is not totally correct.
We won't sometimes assign zero to also these values as desired value.
For example, force in that direction is artificial constraint.
However, we want to assign it as almost zero because both object and the table is rigid and design.
Assigning higher values to these force can cause serious issues.
You can generalize this not about other artificial constraints also, though, as you may notice, we
want artificial constraints, not the natural constraints.
Why?
Because we have a control over artificial walls, not on natural ones.
So we need to select artificial constraints from given general six by one velocity vectors and six by
one force vector now based on a determination of natural and artificial constraints.
We can write this here if tower are the general force and talk values that are defined with respect
to the base frame.
The dimension of the left hand side vector is six by one.
OK, so we need to select artificial constraints from given general six by one velocity vectors and
six by one force vector.
Now, based on the termination of natural and artificial constraints, we can write this here Eiffel
Tower or the general force and talk values that are defined with respect to the base frame.
The dimension of left hand side vector is six by one, while the far right side vector is designed force
and talk values we want to achieve.
Be careful.
They are in tusk frame.
And this is the same love for velocity subspace.
Be careful.
They are in the tusk frame.
And this is the same formula for velocity subspace.
And this a a f and a V mattresses are called seleccion mattresses.
Why they are called seleccion mattresses.
Because we can get the variables that we have control on them or artificial constraints by applying
these selection mattresses to the velocity and for sub spaces.
Here's another scenario which is insertion of a pig into a hole first noticed the tusk frame, which
is defined fixed in object.
Here is a general velocity and force vectors.
Let's first define natural constraints.
I will summarize here shortly because I have explained carefully in previous example.
So we cannot move in X and Y direction because of object.
So zero linear motion cannot rotate around X and Y, so zero rotational motion as V can move freely
in z direction.
We cannot apply force, so zero force in the same way we have three rotation or set axis, so we cannot
apply torque or this axis.
So zero torque.
Now let's see artificial constraints as we don't have motion in X and Y directions.
We can apply force as we want in these directions.
Then, as we cannot rotate or x and y axis, we can apply desired tools in these directions as we cannot
apply force or torque insert dilutions.
We can control linear and angular velocities as we want in these tight actions.
As we have said before, we want to choose artificial constraints from general velocity and force vectors
so we can control them.
And here you can see again the selection mattresses.
Please be sure that you understand them because they will be essential for us further in that control
method.
As we have said before, selection mattresses are used to get the artificial constraints, namely the
variables that we can control from general velocity and force vectors mode that also artificial and
natural constraints are complementary to each other.
You can see that easily by analyzing them from previous examples so we can decompose.
Generalized velocity vector as artificial was our initial ones, and their dot product is zero.
The same is valid for the force vector.
Based on that, we can say that the product selection matrices are also zero.
You can also check that from previous examples, this has physical meaning of reaction forces.
Talks don't perform and useful work on feasible motions, which is obvious to us from basic physics.
I know that you are tired now, but let's set this example also, which is nothing new but will help
you to understand some basic concepts.
Here we have a robot arm tries to turn crank.
We defined two axis name, the base frame, which is indicated by f zero and constraint or task frame
designated by f c crank mousa in an arc trajectory.
As you can see why C is in the direction of tangential velocity the orientation.
Difference between base frame and tusk frame is angle alpha, which changes as Chrome rotates.
Here is the general velocity and force vectors.
Let's determine natural constraints.
If we don't have motion in X and Z directions because of geometry of the environment, we don't have
rotation in X and Y direction.
Also, again, due to the geometry of the environment, we cannot apply force in y direction because
we have three motion in that direction.
Also, we cannot apply torque over the z axis because we have the rotation in that direction.
Here is the artificial constraints.
I want you yourself.
Analyze it.
There is nothing new.
You can analyze it easily.
Here's the important thing.
Don't fear we don't have anything new concept.
We have stated before that constraints are defined in tusk frame because it's easy for us.
OK, that's perfect.
But general velocity and force vectors are defined with respect to base frame.
So after the selection, we need to convert selected velocities UN forces to base frame.
This will be done, as you know, through the rotation matrix of R.
Here's the same concept for Force Vector, as you can see.
Now the selection mattresses are angled dependent due to the rotation mattresses.
However, again, dot product of these selection mattresses are zero.
OK, now we know how to get the variables that we can control from the general force and velocity vectors.
Now it's time to control these variables.