Any robotic manipulator can be described using the following components:
- a base
- n joints
- n links
- end effectors
Types of joints
- Revolute: rotates around 1 axis, giving 1 DOF to the robot
- Prismatic: translate along 1 axis, giving 1 DOF to the robot
- Spherical: rotates around a spherical point, giving 3 DOF to the robot
Kinematic parameters
Every link can be defined by two parameters, and . is the link’s length, given by the distance between two joints along the common perpendicular. The first and last joints have an of 0. is the angle between the axes of the joints, measured anti-clockwise around the axis.
Every joint also has its own parameters that together describe every unique configuration of the robot. is the perpendicular distance between the axes of two frames along the -axes. is the angle between the common normal of two joints, measured around the axes. For revolute joints, is the variable that describes the defines of the joint, and likewise for prismatic joints.

These parameters give us a very convenient mapping to a transformation matrix mapping frame to
^{i-1}_{i}T&=R_{X}(\alpha_{i-1})\,D_{X}(a_{i-1})\,R_{Z}(\theta_{i})\,D_{Z}(d_{i})\\ &=\begin{bmatrix}c\theta_{i} & -s\theta_{i} & 0 & a_{i-1} \\ s\theta_{i}c\alpha_{i-1} & c\theta_{i}c\alpha_{i-1} & -s\alpha_{i-1} & -s\alpha_{i-1}d_{i} \\ s\theta_{i}s\alpha_{i-1} & c\theta_{i}s\alpha_{i-1} & c\alpha_{i-1} & c\alpha_{i-1}d_{i} \\ 0 & 0 & 0 & 1 \end{bmatrix}\\ \end{align*}$$