# State Estimation of Over-Sensored Systems Applied to a Low-Cost Robotic Manipulator
## 2 Models
### Robot Kinematics  
Kinematics is the field of study of the motion of objects. In the case of robotic arms, this field is divided into two: forward and inverse kinematics. Forward kinematics is a tool for determining the position and orientation of any point of an arm in terms of the angles of the robot's joints. Inverse kinematics does the exact opposite: it finds out which angles should be in each joint in order to place a link in a certain position with a certain orientation.  
An important aspect of robotic arms is the number of degrees of freedom (DOF). This number defines how many ways a manipulator can position and orient itself. The number of degrees of freedom a robotic arm has is equal to its number of joints. Considering there are only 3 spatial dimensions, a 6-DOF manipulator is already capable of positioning and orienting itself in (almost) any way.  
The equations defining the forward kinematics of a manipulator are usually translated into matrices. These matrices correspond to linear transformations between two Cartesian referentials. Each of the matrices represents a rotation and a translation.  
\[i-1\overset{i}{T}=\begin{bmatrix}i-1\overset{i}{R}&i-1\overset{i}{t}_{i}\\ 0_{1\times 3}&1\end{bmatrix} \tag{15}\]  
\(i-1\overset{i}{R}\) is a 3 \(\times\) 3 matrix representing the rotation, and \(i-1\overset{i}{t}_{i}\) is a 3 \(\times\) 1 vector representing the translation.  
If one of these transformations is used to find the position of a link with respect to the previous one, several of these transformations can be chained to find the position of any link with respect to any other. For example, the transformation that relates link \(n\) with the base of the arm is:  
\[\overset{n}{0}T=\overset{1}{0}T\overset{2}{1}T\cdots\overset{n}{n-1}T \tag{16}\]  
where \(i-1\overset{i}{T}\) is the transformation between referentials \(i-1\) and \(i\).  
Out of the many different ways of determining the individual transformations (\(i-1\overset{i}{T}\)), one of the most used is the Denavit-Hartenberg method [9]. This systematic method of finding the entries of a transformation matrix takes only 4 parameters:  
* \(a-\)distance between the previous \(z\) axis and the current one (translation along the \(x\) axis);
* \(a-\)angle between the previous \(z\) axis and the current one (rotation along the \(x\) axis);
* \(d-\)distance between the previous \(x\) axis and the current one (translation along the \(z\) axis);
* \(\theta-\)angle between the previous \(x\) axis and the current one (rotation along the \(z\) axis).  
These parameters should be applied in the previously described order, as is presented in Figure 1. However, it is indifferent about whether the translations and the rotations along the same axis are applied in reverse order.  
Once the parameters are determined, the transformation matrix is built from them.  
\[\underset{i-1}{i}T=\begin{bmatrix}\cos\theta&-\sin\theta\cos\alpha&\sin\theta \sin\alpha&a\times\cos\theta\\ \sin\theta&\cos\theta\cos\alpha&-\cos\theta\sin\alpha&a\times\sin\theta\\ 0&\sin\alpha&\cos\alpha&d\\ 0&0&0&1\end{bmatrix} \tag{17}\]