Transform Graph
Transform Graph
In the figure above, a robot manipulator is trying to pick up a block B. G is the transform from
the block origin to the actual graspng point on the block. Z is the transform from the world coordinate
system to the base of the robot, T 6 is the transform from robot base to end-effector (tool), E is the
end-effector (tool) transform from wrist of robot to gripper.
We can write a frame equation:
Z : T6 : E = B : G (1)
Z : T 6 : E : G−1 = B (2)
If we know the location of robot world frame Z, block B, end effector transform E, and grasp
point on object G, we can solve for the the manipulator transform T6:
T 6 = Z −1 : B : G : E −1 (3)
1
2 Example of Transform Equation
Example 1: Below is a simple assembly problem. We are trying to put the piece labeled block onto
the other piece labeled assembly. Each piece is defined as having its own local, internal coordinate
system. We need to find out what transform will represent the movement of the block so that it will be
aligned with the assembly such that segment rs will be coincident with segment pq.
0 0 −1 8 0 0 1 2 1 0 0 0
R
0 1 0 2
R
0 1 0 −2 R
0
1 0 6
= TRblock =
−1
Tblock = ; (Tblock ) ; T =
1 0 0 −2 0 0 8 assembly 0 0 1 2
−1
0 0 0 1 0 0 0 1 0 0 0 1
(4)
We can now write a frame equation that expresses our desire that the block frame is to be made
block
coincident with the assembly frame. This means finding the transform T assembly . The equation is:
2
R R block
Tassembly = Tblock Tassembly (5)
block R
by multiplying both sides of the equation by (Tblock ) on
−1
We can solve this equation for Tassembly
the left hand side (remember: order is important in multiplying matrices; they are not commutative).
This yields:
R −1 R R −1 R block block
(Tblock ) Tassembly = (Tblock ) Tblock Tassembly = Tassembly (6)
0 0 1 2 1 0 1 0 0 0 1 4
block
0 1 0 −2 0
1 0 6 0 1 0 4
Tassembly = = (7)
0 0 8 0 0 0 2 0 0 8
−1 −1
0 0 0 1 0 0 0 1 0 0 0 1
We can now find the new block position after we move it using our calculated transform:
0 0 −1 8 0 0 1 4 1 0 0 0
R R block
0 1 0 2 0 1 0 4 0 1 0 6
R
Tblock−moved = Tblock Tassembly = = = Tassembly
1 0 0 −2 0 0 8 0 0 1 2
−1
0 0 0 1 0 0 0 1 0 0 0 1
(8)
3
Example 2: A robot work station has been set up with a TV camera (see figure 2. The camera
can see the origin of the base coordinate frame where a 6-jointed robot is attached. It can also see the
center of an object (assumed to be a cube)to be manipulated by the robot. If a local coordinate system
has been established at the center of the cube, this object as seen by the camera can be represented by
cam
a homogenous transform matrix Tobj . The origin of the base coordinate system as seen by the camera
cam
can also be expressed by a homogeneous transform matrix T base .
0 1 0 1 1 0 0 −10
cam
1 0 0 10 cam 0 −1 0
20
Tobj = Tbase =
0 0 −1 9 0 0 −1 10
0 0 0 1 0 0 0 1
base
Find the transform Tobj , and the positon of the center of the cube with respect to the base coordi-
nate frame.
1 0 0 10 0 1 0 1 0 1 0 11
0 −1 0 20 1 0 0 10
−1 0 0 10 base
= = Tobj
0 0 −1 10 0 0 −1 9 0 0 1 1
0 0 0 1 0 0 0 1 0 0 0 1
The position of the center of the cube with respect to the base coordinate system is (11, 10, 1) T ,
base
which is the translation vector of the origin in the transform Tobj .
4