Pose in 3D


In the previous lecture we introduced the notion of pose and poses; a way of describing both the translation and the orientation of one coordinate frame with respect to another. And the notation we used is based on the Greek letter ksi and we used that to represent pose and we used the letter B the subscript to indicate that we're talking about the pose of the coordinate frame B and the leading index, in this case A, to indicate that the pose is with respect to coordinate frame A. So we read this symbol as the pose of B with respect to A.

Things are not much different in 3-dimensions, once again we use this abstract notion of pose represented by Greek letter ksi, and now we represent the translation and orientation of one three-dimensional coordinate frame with respect to another. Later in this lecture we’ll talk about concrete implementations of ksi, what it actually means in terms of things that you can compute with, but for now just consider that as an abstract symbol. The notation is the same as it is for the 2-dimensional case and we read this symbol here as being the pose of coordinate frame B with respect to coordinate frame A. And remembering that pose has got two components, a translational component; that's the distance between the origins of frame A and frame B, and a rotational component; how do I rotate coordinate frame A so that its axes are parallel to the axes of coordinate frame B.

In 3-dimensions it is not as simple to describe the orientation of an object. Consider this airplane. There are a number of ways in which it can move. It can pitch up and down, it can roll to the right or it can roll to the left, and it can yaw to the right or to the left. So there are number of parameters that describe the orientation of this body in space. So the way that we are going to formalise this is again similar to what we did for the 2-dimensional case, and again we attach a coordinate frame to the aircraft.

Another coordinate frame here, a blue one and I'm going to fix it to the aircraft with the x-axis pointing forward and that means that the y-axis points over the wing and the z-axis points upward. So now when it comes to describing the pose of this aircraft it's got a translational component, that's the position of the origin of this coordinate frame with respect to the origin of this coordinate frame, and then there is the orientation of this coordinate frame with respect to this coordinate frame.

The direction of the positive rotation is an important concept, and in a 2-dimensional case rotation was defined as being positive in this direction. If we consider a 2-dimensional coordinate frame, then if we grow a z-axis out of the screen, that is the equivalent right handed 3-dimensional coordinate frame. So this positive angle convention in two dimensions corresponds to a positive rotation about the z-axis which is coming at us out of the screen.

When we are talking about rotations around axes we define the direction of positive rotation again using a right hand rule. So I take my right hand and I point my thumb along the axis - in this case it's the z-axis, and I curl my fingers around, and the direction of the curl, the direction of the tip of my fingers is the positive direction. So this is a positive rotation around the z-axis. Similarly a rotation around the x-axis - this a positive rotation around the x-axis and this is a positive rotation around the y-axis. When we looked previously at the 2-dimensional coordinate frame we also had a rule for the direction of positive rotation in two dimensions. Here's our 2-dimensional coordinate frame again, here is our x and y-axis lying on top. So what we defined as a positive rotation for a 2-dimensional coordinate frame is actually a positive rotation around the z-axis, if you could imagine a z-axis being there.

In robotics, as in many other areas of engineering, it's really useful and important to attach coordinate frames to objects. Now here is an example of a helicopter in flight and where we can attach a right-handed coordinate frame; x-axis pointing forward, a y-axis out to the right, and a z-axis going straight down. Once we have a coordinate frame attached to the vehicle, we can then describe its orientation with respect to another coordinate frame. We can also describe its motion with respect to this particular coordinate frame. Forward is in the x direction, down is in its z direction and so on. In the example of an industrial arm type robot, we might have a 3-dimensional coordinate frame attached to the base of the robot to indicate where it is with respect to the world coordinate frame of the factory and we will attach another 3D coordinate frame to the gripper, and by convention the z-axis points outward in the directions of the fingers, the direction that it might approach an object for describing a pick up. The y-axis by convention is the direction between the finger tips, then we draw in the x-axis so as to create a proper right-handed 3-dimensional coordinate frame.

If we look into the details of very famous engineering projects like the Apollo Lunar Missions, and we look at some of the documentations which are all available online and here we can see the x, y and z axis for the Apollo command module. And similarly for the Lunar module the documentation shows that the x-axis is vertically upwards and the z axis is forward in the direction of the front door. This is a picture of the massive Saturn V rocket which got the astronauts to the moon and back, and again if we look at the documentation carefully, we can see that the axes for the early stages of the rocket are clearly indicated. Some of the coordinate frame conventions are actually painted on the outside of the rocket, and if we look closely at this black ring up here what's called the instrumentation module, which in the flesh is actually quite a massive device, we can see quite clearly here is painted the direction of the positive z direction and the one at the back we can see the direction of its negative y-axis. This module is effectively the inertial measurement unit for the Saturn V rocket, functionality now is probably equivalent to what you have in the phone in your pocket.


There is no code in this lesson.

We extend the idea of relative pose, introduced in the last lecture, to 3D. We learn another right-hand rule that indicates the direction of rotation about an axis, and we see how we can attach 3D coordinate frames to objects to determine their pose in 3D space.

Professor Peter Corke

Professor of Robotic Vision at QUT and Director of the Australian Centre for Robotic Vision (ACRV). Peter is also a Fellow of the IEEE, a senior Fellow of the Higher Education Academy, and on the editorial board of several robotics research journals.

Skill level

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.

More information...

Rate this lesson


Check your understanding


  1. William Jimémez says:

    very well explained, thank you teacher peter

Leave a comment