Forward and inverse kinematics, frames, rotations
Forward vs inverse kinematics
Section titled “Forward vs inverse kinematics”Forward kinematics is used to establish the position of the effector based on the configuration of the robot. The individual angles of the arms are parameters that we know and can control.
Inverse kinematics is used in the case where we need to move the robot’s arm from a starting position that we know, to a final one, for which we need to calculate the new angle values.
In case is not known, inverse kinematics returns 2 possible arm configurations to reach the same point:
Generally speaking, given a manipulator with joints, a vector of joint variables , and the position of the effector:
- Forward kinematics is about finding ;
- Inverse kinematics is about finding
Reference frames
Section titled “Reference frames”From now on, we will use the following convention: given reference frame , the point ′s coordinates will be relative to that reference frame (the superscript denotes the frame).
The same point can of course be associated with different coordinates relative to another reference frame, and in that case it will be denoted .
A frame is uniquely identified by the position of its origin and by the coordinates of the three unit vectors.
Rotation matrices
Section titled “Rotation matrices”Let’s take 2 reference frames, with the same origin and one rotated by an angle with respect to the other.
We will eventually find that:
which means:
This matrix, which is orthogonal (the columns have unit norm and are mutually orthogonal), is easily invertible, since the transpose is equal to the inverse.
Generalization of rotation matrices
Section titled “Generalization of rotation matrices”Let’s consider a point belonging to the body. Let be the vector joining the origin with the point in a reference frame with basis , and the vector joining with the point on a reference frame with basis . Let be the vector joining the two origins.
We have:
Which in more compact form is written:
where:
If we compute we obtain , which means that . So the rotation matrix is an orthogonal matrix with for right-handed frames and for left-handed frames.
Properties of rotation matrices
Section titled “Properties of rotation matrices”- Composing (e.g. multiplying) two rotation matrices produces another rotation matrix.
- Rotations are associative:
- Every rotation matrix has a unique inverse matrix.
- Rotations are not commutative.
is the set of all rotation matrices.