In the previous video I described force control, where the robot is capable of generating an

end-effector wrench in any direction, as if it is buried in concrete.

This is rarely the case, though; typically there are some directions the end-effector

can move freely.

In this video, we assume that the robot interacts with an environment consisting of rigid constraints,

and the control objective is hybrid motion-force control: to control the motion in some directions

and the forces in others.

An example is opening a door.

When the gripper firmly holds the door handle, the gripper's motion is constrained to one

degree of freedom: rotation about the hinges of the door.

The robot can freely control the velocity of the end-effector in this one degree of

freedom.

Simultaneously, the gripper can apply arbitrary wrenches in the five-dimensional space of

wrenches consisting of moments about all three axes of the door handle and linear forces

upward or through the hinges.

Essentially, the constraints provided by the door hinges partition the 6-dimensional space

of end-effector wrenches into a subspace of wrenches that cause motion of the door and

a subspace of wrenches that push against the constraints.

Another example is a robot erasing a whiteboard.

The robot can freely control motion of the eraser in the x-y plane, and it can simultaneously

control forces in the z-direction, into the board.

We can express the end-effector twist and wrench in terms of their components, and we

see that the three motion constraints provided by the board dictate which twist components

and which wrench components the robot can control.

The robot can control the eraser's angular velocity about the z-axis and the linear velocity

along the x- and y-axes, and it can control the force along the z-axis and the moment

about the x- and y-axes.

Although the board provides inequality constraints that prevent motion into the board but not

motion away, I'll treat the constraints as equality constraints, for simplicity: the

eraser can neither move into nor away from the board.

Also, I'll ignore friction at the constraints.

The constraints on the end-effector's twist V_b can be expressed as A of theta times V_b

equals zero.

These are Pfaffian velocity constraints expressed in terms of the end-effector twist.

In Chapter 8, we derived the task-space dynamics of a robot without constraints.

If we add k end-effector motion constraints, where k is five for the door example and three

for the whiteboard example, then the constrained dynamics consists of wrenches that cause motion

of the end-effector and wrenches that cause end-effector forces, F_tip.

This follows our development of constrained dynamics from Chapter 8.

The k rows of the A matrix form a basis for the space of wrenches that can be applied

to the environment, and the k-vector of coefficients lambda determines the particular wrench in

this space.

The desired end-effector wrench specified to the hybrid motion-force controller should

be a linear combination of the rows of the A matrix, and the desired motion should satisfy

the velocity constraints at all time.

We can define a projection matrix P of theta, following the development in Chapter 8, that

projects an arbitrary end-effector wrench F_b to the portion of that wrench that causes

motion of the end-effector.

The complement of that projection, the identity matrix minus P, extracts the portion of the

wrench that acts against the constraints.

Skipping the derivation of P, which can be found in the book, we get this equation for

the 6-by-6 matrix P, where the rank of the P matrix is 6 minus k.

In other words, 6 minus k wrench directions cause robot motion and k directions cause

constraint forces.

If the environment has moving masses, as with the door, the mass properties of the environment

should be incorporated in the dynamics.

With all of this as background, we can express our hybrid motion-force controller in this

form: the wrench created by the end-effector is the sum of the wrench specified by the

force control law, as we studied in the last video, and the wrench specified by the task-space

motion control law, but only after those wrenches have been projected to their appropriate subspaces.

This allows you to design the force and motion control laws as if each is acting independently,

because we use the projection P to throw away any wrench components specified by the motion

controller that would cause constraint forces, and we use the projection I minus P to throw

away any wrench components specified by the force controller that would cause motion of

the robot.

Once we have calculated the end-effector wrench F_b, we calculate the commanded joint forces

and torques using the Jacobian transpose.

This is the idea behind hybrid motion-force control, but actual implementation involves

a number of important details, such as estimating the constraints that the robot is actually

subject to.

So this completes the videos for Chapter 11 on robot control.

So far in this book, we have analyzed the kinematics of robots, computed their dynamics,

planned motions, and constructed feedback controllers to achieve desired motions and

forces.

In Chapter 12 we move outward from the robot itself to its interaction with objects in

its environment.

In short, the focus is on manipulation rather than the manipulator.