MIT 6.4210 — Lecture 4
Basic Kinematics
§ Task vs. Configuration Space
Recall the distinction between task space and configuration space. For example, given a Kuka IIWA manipulator…
The task space consists of just the position, orientation, and velocity of its end effector.
The configuration space is much larger—it consists of all the angles and velocities at all of its joints.

Last lecture, we discussed how we represent and work with the task space of the end effector. In this lecture, we work in the configuration space—how should we move the joints such that the gripper moves to the state we desire?
Definition. We often talk about the following forms of kinematics.
Forward Kinematics: Given the joint positions, what is the end effector pose?
Inverse Kinematics: Given the final pose, what are the joint positions?
Differential Kinematics: Given the joint positions and velocities, what is the end effector pose and velocity?
Differential Inverse Kinematics: Given the end effector pose and velocity, what are the joint positions and velocities?
§ Forward Kinematics
As one might expect, forward kinematics is purely deterministic and very easy to compute: just compose transforms. To demonstrate, here's how that looks for a simplified 2D Kuka IIWA.

Some observations about the above:
The transforms are pure translations.
The transforms are rotations parametrized by real numbers .
The superscripts on the RHS read out a path , which cleanly collapses to the LHS .
Remark. The pose of a single free body has six parameters—three for its position, and three for its orientation. But in Drake, the pose is represented using seven parameters, because the orientation is expressed using quaternions.
§ Inverse Kinematics
As one might expect, inverse kinematics can have many solutions (or none) and is very hard to compute exactly.
One could use analytic approaches to find one of the (usually many!) exact solutions to an inverse kinematics problem. But for systems with many parameters—such as our Kuka IIWA manipulator—this is not a feasible approach.
Next lecture, we'll discuss numerical approaches for estimating a solution to an inverse kinematics problem.
§ Differential Kinematics: Analytic Jacobian
Back to something easy. From forward kinematics, we know that for any body with parameters that define its pose, there is a map such that . We can now differentiate this map to achieve:
In particular, the analytic Jacobian is a derivative of a pose parametrization. Explicitly,
where depends on the choice of orientation parametrization. For example, roll-pitch-yaw would require , whereas quaternions would yield , and rotation matrices would yield .
It then follows that and look like:
For the simplified 2D Kuka IIWA from earlier (with ), (warning: AI-generated) widget below shows how depends on the choice of orientation parametrization.
§ Differential Kinematics: Geometric Jacobian
There's a nice simplifying trick, though. Whereas orientation has many different parametrizations—all of them flawed—velocity (as in, translational and rotational velocity combined) has a very natural -variable parametrization: the spatial velocity.
Definition. The spatial velocity of relative to is:
where is angular velocity, and is translational velocity.
Remark. Recall that points along the axis of rotation with magnitude given by the angular speed. Equivalently, if
that means the rotation is equivalent to the composition of a rotation with speed about the -axis, a rotation with speed about the -axis, and a rotation with speed about the -axis.
Then is not very hard to compute; the column is an -vector that reads the rotational and translational velocities incurred by changing the parameter .
For example, for revolute joints (i.e., every joint can only rotate about a line ), we have:
When parametrizing velocities in this way, the we achieve is specifically called the Geometric Jacobian.
Notice how each joint gets one column, and the height of the geometric Jacobian is always , independent of how we internally represent the end effector's orientation.
Problem. Recall the simplified 2D Kuka IIWA from earlier, specifically in the case where both rods have length . What is the geometric Jacobian of the tip ?
Solution: There are joints, and they are both revolute joints. Applying the formula above, we find:
Check this for yourself; you can also play around with the (warning: AI-generated) widget below.
Note that the angular speed is not factored into , because it's factored into instead.
You can also check for yourself that the dimensions of the geometric Jacobian of the IIWA are .
§ Inverse Differential Kinematics: Pseudo-Inverse
Inverse differential kinematics is actually not so hard; from the relationship , it follows that .
But this doesn't actually work as written, because need not exist, because the geometric Jacobian might not be square. (In general, its dimensions are , where is the number of joints.)
The fix, in general, is to take inspiration from Lecture 23 of 18.650, on linear regression.
In linear regression, we seek parameters such that is as close to as the column space of allows.
There, has full column rank, but with there is usually no exact solution to .
In this case, the desired parameter is .
In this class, we seek an input such that is as close to as the column space of allows.
Here, usually has full row rank, meaning exact solutions to exist (many, when ).
In this case, the desired input is the exact solution with minimized, and it looks like .
Definition. The Moore-Penrose Pseudo-Inverse of a matrix has two versions, depending on the rank of .
If has full column rank (as in regression), then , a left inverse ().
If has full row rank (as in this class), then , a right inverse ().
Remark. Suppose is full row rank with and has null space . Then the pseudo-inverse must be a bijection from to , as shown in the image below.

CYU: Explain why the map given by projects vectors onto the null space of .
Example. Some examples of whether has full column rank or full row rank.
For the Kuka IIWA, the geometric Jacobian is , so it is usually full row rank, and we use .
For the simplified 2D Kuka IIWA, the geometric Jacobian is , so it is full column rank, and we use .
… but if we isolate only the relevant rows and , the geometric Jacobian is , and now plainly.
And here's the property of that makes it so useful, as in both 18.650 and this class.
Theorem. (Pseudo-Inverse Approximation) For any matrix and vector (with appropriate dimensions), the vector is the vector with minimum magnitude across all vectors that minimize . In particular,
If the column space of does not contain , then is such that is minimized.
If the column space of contains (that is, can be zero), then is the solution to minimizing .
§ Inverse Differential Kinematics: Singularities and Damping
But there's still an issue with the pseudo-inverse as stated above; its values can explode near singularities.
Definition. We say there is a singularity when the rows of for the velocities we want to control are not full row rank.
Example. In the two-rod example from earlier, when considering only the gripper's velocity, one singularity occurs when : both joints can then only move the gripper perpendicular to the arm.
Observe this in the (warning: AI-generated) widget below. When approaches , and the desired points outside the shaded ellipse, the computed values blow up.
The fix for this problem is also inspired by 18.650; it's equivalent to adding a ridge regression term.
Definition. The damped pseudo-inverse of (for any , given ) is:
The term prevents things from exploding when is close to zero in some directions. You can also observe this using the widget above; the sacrifices output accuracy in favor of controlled values.
Remark. The existence of a singularity is not enough to cause concern if that singularity occurs momentarily.
For example, if gradually decreases from to , then there is a moment when and a singularity occurs. But such a moment is instantaneous; the pre-existing momentum of the robot allows it to pass the singularity unharmed.
§ Addendum: Velocities and Change-Of-Frame
The lecture also covers the following information about how velocities change between frames.
Theorem. (Monogram Velocities) The following identities are all true.
(Change of Frame) We have and .
(Additivity) We have and .
(Inverse) We have and .
Proof: The simplified 2D Kuka IIWA example from earlier is a prototype to use when thinking through these identities.
For the identity , for example, recall that only captures the movement of tip in the frame of joint . So if only joint is rotating, then is zero, even though is moving in the frame of .
To account for the movement of tip caused by the rotation of frame , we must add the term . (You can check that the proportionalities make sense.)