In Chapters 4, 5, and 6, we studied the forward kinematics, velocity kinematics and statics,

and inverse kinematics of open-chain robots.

In Chapter 7, and in this single video, I am going to cover all of these topics for

closed-chain robots, without going into great detail.

Kinematics and statics are generally more complicated for closed-chain robots, because

there is such a wide variety of design possibilities.

The configuration space of closed-chain robots can be quite complex, since they must satisfy

a number of loop-closure equations.

There are classes of singularities that don't exist for open-chain robots, and the choice

of which joints to actuate and which to leave passive can affect the singularities that

occur.

Oftentimes the analysis of these robots is based on symmetries and insight into the specific

structure of the mechanism.

In this chapter we take an example-based look at some of these issues.

The study of closed-chain robots is an active research area, and this chapter just skims

the surface.

Let's start by looking at some examples.

The first example is a 4-degree-of-freedom robot arm.

The end-effector moves in x, y, and z, and it rotates about a vertical axis.

Although it looks similar to an open-chain robot, it is a closed chain due to the parallelogram-type

linkage.

The next example is a 4-degree-of-freedom Delta robot.

The end-effector moves in x, y, and z, and it rotates about a vertical axis.

There are also 3-degree-of-freedom Delta robots that eliminate the rotational motion.

The final example is the Stewart platform, which moves with the full 6 degrees of freedom

of a rigid body.

Each of the 6 legs is actuated by a prismatic joint.

At one end of each leg is a spherical joint while the other end has a spherical or universal

joint.

The Stewart platform is popular for applications like aircraft simulators, since it can move

the virtual cockpit with all 6 degrees of freedom.

The Delta robot and the Stewart platform are examples of parallel robots.

A parallel robot is a specific type of closed chain which consists of a moving platform

attached to a base through a set of actuated legs.

For the rest of this video, I will focus on parallel robots.

Let's summarize some typical characteristics of open-chain and parallel robots.

For an open-chain robot, typically each joint has a motor driving it.

For parallel robots, many of the joints are unactuated.

Open-chain robots tend to have a large workspace, since each extra joint adds to the possible

motion of the end-effector.

Parallel robots tend to have a small workspace, since each leg in parallel places constraints

on the motion of the platform.

Each joint of an open-chain robot has to support all of the end-effector force, so open-chain

robots tend to be relatively weak.

Also, flexibility at the joints and links tends to add.

Parallel robots, on the other hand, tend to be stiff and strong, since the end-effector

force is distributed among the legs.

As we saw in chapter 4, the forward kinematics mapping joint values to end-effector configurations

is relatively easy to evaluate for open-chain robots using the product of exponentials.

On the other hand, there may be multiple solutions to the forward kinematics for parallel robots,

and finding them can be challenging.

Finally, as we saw in chapter 6, solving the inverse kinematics for an open-chain robot

can be tricky.

There may be multiple solutions, and numerical methods may be required to find them.

The inverse kinematics of a parallel robot is sometimes straightforward, as we will see.

To solidify our understanding of these characteristics, let's use the Stewart platform as an example.

The fixed frame is {s} and the end-effector frame is {b}.

The configuration of the {b} frame relative to the {s} frame is T_sb-of-theta, where theta

is the vector of joint variables representing the leg lengths.

For the ith leg, theta_i is the length of the leg.

a_is is the vector from the {s}-frame to leg i's joint at the base, measured in the {s}-frame,

and b_ib is the vector from the {b}-frame to the top joint of leg i, measured in the

{b}-frame.

We can transform b_ib to the {s}-frame by premultiplying by the desired end-effector

configuration T_sb, provided we represent the vectors in homogeneous coordinates.

Now we can calculate the prismatic joint value theta_i as the distance between b_is and a_is.

Inverse kinematics is easy for the Stewart platform.

If the legs of the parallel robot are more general open chains, then we have to solve

an inverse kinematics problem for each leg.

Next let's address the inverse velocity kinematics mapping the end-effector twist to the joint

velocities.

Let v-hat_i be the unit 3-vector aligned with the direction of positive motion of the i-th

axis.

Skipping the straightforward derivation, we can define a screw axis V_i, expressed in

the {s}-frame, with the linear component v-hat_i and the angular component a_is cross v-hat_i.

Then the joint velocity theta-dot_i is equal to the screw axis V_i dotted with the spatial

twist V_s; this calculates the component of V_s along the joint axis.

Repeating this analysis for all the legs, we can write the ith row of the inverse of

the space Jacobian, or J_s-inverse, as the screw axis V_i-transpose.

Now if the Jacobian-inverse is invertible, we have the velocity kinematics and statics

in the {s} frame: the spatial twist V_s equals J_s times theta-dot and the joint forces tau

equals J_s-transpose times F_s, the wrench applied by the end-effector.

One of the difficulties of analyzing closed-chain robots, however, is understanding all the

possible singularities where the Jacobian is not invertible.

Let's consider a simpler robot, the 3-by-RPR parallel mechanism, which is the planar analog

of the Stewart platform.

The platform moves in all three planar degrees of freedom and is driven by three legs.

Each leg has two unactuated revolute joints and one actuated prismatic joint.

If we put the robot at this configuration, it is at a singularity.

From this configuration, if we extend the legs at an equal rate, the platform could

either rotate counterclockwise or clockwise, and we cannot predict which.

Closed-chains can be subject to several types of singularities, described in detail in the

book, some of which have no analogs in open-chain robots.

Examples include configuration-space singularities, actuator singularities, and end-effector singularities.

Some of these singularities occur at configurations where the constraint Jacobian, which is the

matrix of derivatives of the loop-closure equations with respect to the passive and

actuated joint variables, loses rank.

Lastly, we address the forward kinematics problem for closed-chains, which was the first

problem we addressed for open chains.

The forward kinematics problem often involves solving one or more complex nonlinear equations,

and in general the forward kinematics has multiple possible solutions.

The 3-by-RPR robot can have up to 6 possible end-effector configurations given a set of

prismatic joint extensions.

This figure shows two possible solutions when all joint extensions are equal.

The 6-dof Stewart platform can have up to 40 solutions for a given set of leg extensions.

For a given set of leg extensions, usually there are far fewer real solutions.

In practice, it is common to use iterative numerical methods with a nearby solution as

an initial guess, similar to the Newton-Raphson method we developed for the inverse kinematics

of open chains.

In this video I have given you a quick summary of the topics of Chapter 7, which itself is

a quick summary of the kinematic analysis of closed-chain robots.

The design and analysis of closed-chain robots is an active research field, but Chapter 7

should give you a good idea of some of the key issues.

So, as Chapter 7 concludes, so does our kinematic and static analysis of robots.

In Chapter 8 we will begin our study of robot dynamics, which governs how a robot moves

when forces and torques are applied at joints.

This will be our springboard to advanced topics, like the design of time-optimal trajectories

and controllers for robots.