The Proof Of The Pudding
The surprising Nobel connection between black holes and robot programming.
2020-10-11 Previous Home Next

The Nobel prize in Physics this week was divided equally between a theoretical physicist who proved the existence and structure of black holes, and two experimental physicists whose teams have been studying a black hole at the center of our galaxy.

Penrose Triangle

The theoretician, Roger Penrose, has always loved to tinker with math. The triangular sculpture above is an "impossible shape," an optical illusion, that he wrote about while in college. You might have seen versions of it in paintings by artist M.C. Escher.

Mathematicians deal with abstract things, but they often invent tools with very practical uses. Around the same time as the triangle, Penrose invented a mathematical operation called the Moore-Penrose inverse. And the robotics industry is thankful that he did.

This invention is used to program industrial robot arms.

Robot arms and human arms

Cars are designed by people, but they are built to a large extent by industrial robots. The automotive and metalworking industries over the years have deployed hundreds of thousands of robot arms on the factory floor.

These arms cut, weld, grip, inspect, and generally manipulate parts and assemblies, day in and day out. (See Industrial Safety for how they are deployed.)

The arms are equipped with motors that turn their sections at their joints, just as your muscles rotate your own bones at your shoulders and elbows.

To reach for things with your arms, your brain needs to solve a mathematical problem.

Imagine these situations:

You learned to solve these kinds of problems using trial and error as a child. With some practice, you are able to do them without thinking.

You use your spatial sense to reach for an object. You know how long your upper arm is, and how moving it at your shoulder makes your wrist swing. In mathematics, we refer to this kind of knowledge as kinematics, the "geometry of motion."

We don't actually know how people's brains do these tasks. It's an area of active research. But we do know how hard they are to program a computer to do.

Angles and positions

To get your hand or your tennis racket to reach a certain position, you need to bend your joints at just the right angles. Your sense of the kinematics of your own skeletal system lets you imagine these angles in some way. This is how little Jimmy reaching for the cookie jar on the top shelf knows to raise his arms straight up.

Similarly, a robot that needs to position its screwdriver also needs to decide at what angle each of its joints needs to bend. The calculation of these angles is called inverse kinematics.

And this is the operation that is made easier by the Moore-Penrose inverse.

Programming robot arms

Mathematical problems can sometimes be solved with a formula. For example, if you want to calculate the interest rate a vendor is charging you based on the monthly payments, you can plug in the numbers into a formula and out comes the answer. Commercial spreadsheet programs have these formulas already built in.

But some problems are too complicated for a single formula. Computer programs to solve such problems use a variety of mathematical tricks and computing techniques.

Inverse kinematics can be a problem of the second type, depending on how many joints your robot has and their exact shape. To reach for a given position, the joints can be bent at many possible combinations of angles, i.e., there can be many solutions to the problem, like forehand or backhand to hit the same ball.

Every industrial robot arm uses built-in software to do inverse kinematics, and much of this software depends on Penrose's invention from the 1950s.

Manufacturers produce millions of cars every year using robots. Whatever else Roger Penrose might have invented, this mathematical operation has proved its worth many times over. The proof of the pudding is in the eating.