Let's summarise some of the big ideas from this lecture. The first thing that I want to say, and I can't say this strongly enough, is the coordinate frames are your friend. They make it very easy to decompose and understand complex problems. So we assign coordinate frames to everything in the robot's environment and write down the relationships between the coordinate frames through rigorous approach and will ultimately save you a lot of time. Don't be afraid to use lots of coordinate frames.
Coordinate frames follow the right-handed convention, the X axis and the Y axis are related like this. If we have 2 coordinate frames the relative rotation between them is defined like this, angle increases positively in the anti-clockwise direction. Points can be represented as vectors with respect to particular coordinate frames and in our notation we denote a vector by lower case p, and the preceding label indicates the frame that the vector is with respect to, and the trailing label indicates the destination of that vector. So in this case the A denotes the fact that the vector starts at the origin of frame A and it goes to the point B.
We can describe the relationship between two coordinate frames in terms of pose. And pose is something that has got three parameters: it's got a translation, the X and Y component and the rotation which is the theta component. We can consider it as a simple motion, a translation and a rotation. Graphically we denote pose by a thick vector with a triangular head. Symbolically we represent it by the Greek letter ksi. The left-hand label indicates the frame of reference and the right-hand label indicates the destination pose. So in this case there's a saying this is the relative pose from coordinate frame A to coordinate frame B.
We can describe a point in terms of vectors with respect to different coordinate frames. In this case the point D, we can describe with a vector in coordinate frame C attached to the car or coordinate frame W which is fixed within the world. We can transform a vector from one coordinate frame to another by applying the dot operator and the pose, which describes the relationship between the two coordinate frames. We can't simply add vectors and poses because they are different mathematical objects.
We can combine poses. So if we know the pose from frame A to frame B and the pose from frame B to frame C then we use the O+ operator to compose them into the relative pose from frame A to frame C, and we can extend this approach indefinitely. This process is sometimes called compounding or composition.
We can rewrite a complex set of spatial relationships defined in terms of coordinate frames, in terms of a bit tidier, a pose graph. And we can use the pose graph to write spatial relationships that describe relative poses in terms of other relative poses.
We introduced a spatial algebra. The important things is to note are that we can compose or compound two relative poses using the O+ operator. The O+ operator is not commutative so ksi 1 O+ ksi 2 is not equal to ksi 2 O+ ksi 1.
We have a concept of a no pose that's a zero relative motion. If we add it or we subtract it from a pose it makes no difference, the original pose is unchanged. And we introduced a negation operator, the O- symbol, and that is equivalent to the inverse motion of X ksi Y, the motion from frame X to frame Y, the negation of that is motion from frame Y to frame X.
And we also introduced the dot operator which transforms a vector from one coordinate frame to another.
These are all very abstract concepts. We've introduced a lot of symbols, we've introduced ksi to represents a pose, O+, O- and the dot.
The next step is to turn this into real mathematical objects and we can describe rotation in terms a 2 x 2 matrix that transforms a vector from one coordinate frame to another coordinate frame if the origins of those two frames are identical. The 2 x 2 rotation matrix is an orthogonal or orthonormal matrix, its inverse is the same as its transpose and is determinant and is always +1. We say that such matrices belong to the special orthogonal group of dimension 2. The matrix transforms a vector from coordinate frame B to coordinate frame A, but it is defined in terms of the angle from coordinate frame A to coordinate frame B.
Finally we can describe pose in terms of a concrete mathematical object and that is a 3 x 3 homogeneous transformation matrix which belongs to the special Euclidean group of dimension 2. The homogeneous transformation matrix contains the rotation matrix and it also contains the translation - that's the vector from the origin frame A to the origin of frame B. So this homogeneous transformation matrix is equivalent to the abstract symbol ksi that we've used earlier. Points to describe in terms of vectors, but when we use the homogeneous transformation, we describe points in terms of homogeneous vectors. We take the original vector with two elements and we append the one element to that.
Composition of poses for which we introduce the abstract O+ operator is performed by matrix multiplication. We multiply the two 3 x 3 matrices together to yield a new 3 x 3 matrix.
Negation which we described previously by the abstract by the O- operator is the inverse of the homogeneous transformation matrix, and remember that the inverse for a homogeneous matrix is not equal to its transpose. That property only belongs to a rotation matrix which is just a little part of the homogeneous transform matrix.
The abstract operated dot which we used to transform a vector from one coordinate frame to another is implemented by multiplying the homogeneous transformation matrix by homogeneous representation of that vector.
We summarise the important points from this lecture.
This content assumes high school level mathematics and requires an understanding of undergraduate-level mathematics; for example, linear algebra - matrices, vectors, complex numbers, vector calculus and MATLAB programming.