Robot Kinematics: Joints, Coordinate Frames, and Gripper Motion

2 minute read

Published:

TL;DR: Forward kinematics maps joint coordinates to the pose of a robot link. Inverse kinematics searches for joint coordinates producing a desired pose. Coordinate frames specify what the numbers mean, and a Jacobian relates small joint changes to task-space motion.

A position always belongs to a frame

Intuition first. A camera sees a cup 30 centimetres ahead. “Ahead” refers to the camera’s axes, which may point sideways relative to the robot base. Sending those coordinates directly to a base-frame controller would describe a different location.

For a point expressed in frame B, its coordinates in frame A are

\[ {}^A p={}^A R_B\,{}^B p+{}^A t_B. \]

The rotation changes the axes and the translation changes the origin. A three-dimensional pose includes both position and orientation. Name the frame and units before comparing a measured point with a desired one.

Forward kinematics is geometry

For a planar arm with two revolute joints and link lengths \(l_1,l_2\),

\[ \begin{aligned} x&=l_1\cos q_1+l_2\cos(q_1+q_2),\\ y&=l_1\sin q_1+l_2\sin(q_1+q_2). \end{aligned} \]

The second joint angle is relative to the first link. This is why the second link’s direction uses \(q_1+q_2\). These equations describe position, without specifying the torque or time needed to reach it. Kinematics foundations.

A two-link arm reaches a point at one metre in each directionA one-metre first link extends horizontally from the base. A one-metre second link extends vertically from the elbow. The gripper is at x equals one, y equals one metre. l₁ = 1 ml₂ = 1 mGripper (1, 1) mq₂ = 90°Basexy
Schematic geometry for the worked example. The first joint is at zero and the elbow bends by 90 degrees.

Worked example: forward, then inverse

Set \(l_1=l_2=1\) metre, \(q_1=0\), and \(q_2=\pi/2\) radians. Then \(x=1+0=1\) metre and \(y=0+1=1\) metre. The gripper orientation in this planar example is \(q_1+q_2=\pi/2\).

Now ask only for the position \((1,1)\). Another solution is \(q_1=\pi/2\) and \(q_2=-\pi/2\): the first link points up and the second points right. It reaches the same position with a different gripper orientation.

Specifying a full pose can rule out a position-only solution. Joint limits, obstacles, and reachability impose further constraints. An inverse-kinematics solver therefore needs a precise target and constraint set.

The Jacobian is a local relationship

For a task-position vector \(p=f(q)\),

\[ \Delta p\approx J(q)\Delta q, \qquad J(q)=\frac{\partial f}{\partial q}. \]

This linear approximation is useful for small corrections. At a fully stretched two-link arm, both joints initially move the tip perpendicular to the arm, and the position Jacobian loses rank. Some desired instantaneous motions become unavailable. Near such a singularity, an inverse calculation can demand large joint changes.

Numerical inverse kinematics uses local relationships iteratively; convergence to a feasible solution is not automatic.

Key Insight: Kinematics connects coordinates and motion geometry. Dynamics and control determine which movements can be produced, how quickly, and with what forces.

Continue with sensing and estimation and feedback control.

References

  1. Lynch, K. M., & Park, F. C. Modern Robotics, chapters 3–6.