Motion
Forward Kinematics
Forward kinematics is the calculation that takes a robot's joint angles and computes the resulting position and orientation of the tool center point in Cartesian space.
What it is
Forward kinematics answers a simple question: given where each joint is right now, where does the end of the arm end up? Feed in the six joint angles of a typical articulated robot and it returns the TCP pose, meaning its X, Y, Z position plus its orientation.
It's the direction the controller uses to report where the robot actually is. The pendant position readout you see in world or user frame is forward kinematics running continuously on the joint encoder values.
How it actually works
Each joint contributes a rotation and an offset defined by the arm's mechanical geometry: link lengths, joint axes, and the fixed twists between them. The controller chains those transforms together in order, from the base flange out to the faceplate, then applies the tool offset to land on the TCP. On a 6-axis arm that's six transforms multiplied into one 4x4 matrix describing exactly where the tool sits relative to the base.
The key property is uniqueness. One set of joint angles produces exactly one TCP pose. There is no ambiguity to resolve, no multiple-solution problem, no unreachable case to reject. That's the opposite of the reverse calculation, where a single Cartesian target can have several valid arm configurations or none at all.
How it differs
- Inverse Kinematics · Forward kinematics goes from joint angles to a Cartesian pose and always has one unique answer. Inverse kinematics runs the other way, from a Cartesian target back to joint angles, and it can have several valid solutions (elbow up vs elbow down), a boundary case at a singularity, or no solution when the target is out of reach. Forward is the easy direction; inverse is where the hard math lives.
- Tool Center Point · The TCP is the point whose pose forward kinematics computes. Forward kinematics is the calculation; the TCP is the thing it reports on, once the tool offset is applied past the faceplate.
Where you meet it in the field
- Setting the reference position · The reported Cartesian position comes from joint angles through forward kinematics, so a wrong reference position throws every world-frame readout off even though the math is exact.
- FANUC M-20iD/25 · A 6-axis articulated arm whose TCP pose is computed by forward kinematics from its six joint encoders.
Common questions
- If forward kinematics always has one answer, why is robot programming ever hard?
- Because programming is usually done in Cartesian space, and getting there means running inverse kinematics, the reverse direction. That's the one with multiple solutions, singularities, and reach limits. Forward kinematics is the easy half; it just reports where the joints put you.
- Does forward kinematics depend on mastering being correct?
- Yes, indirectly. The joint angles it uses come from encoder counts referenced against the master position. If mastering is off, the angles the controller believes in are wrong, so the computed TCP pose lands somewhere the tool isn't, even though the math itself is exact.
- Is the pendant position readout forward or inverse kinematics?
- The position readout is forward kinematics: it takes the live joint angles and shows you the resulting Cartesian pose. When you jog in world frame and type a target, that's inverse kinematics working backward to find joint angles.