ECE5463: Introduction to Robotics
Lecture Note 6: Forward Kinematics
Prof. Wei Zhang
Department of Electrical and Computer EngineeringOhio State UniversityColumbus, Ohio, USA
Spring 2018
Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 1 / 15
Outline
• Background
• Illustrating Example
• Product of Exponential Formula
• Body Form of the PoE Formula
Outline Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 2 / 15
Kinematics
Chapter 2. Configuration Space 45
UU
R
U
R
(a) (b)
R
U
S
(c)
R
RR
RR
R
P
(d)
Figure 2.21: A second collection of spatial parallel mechanisms.
or does it move?
Exercise 2.15 The mechanisms of Figures 2.24(a) and 2.24(b).(a) The mechanism of Figure 2.24(a) consists of six identical squares arranged
in a single closed loop, connected by revolute joints. The bottom squareis fixed to ground. Determine the number of degrees of freedom usingGrubler’s formula.
(b) The mechanism of Figure 2.24(b) also consists of six identical squaresconnected by revolute joints, but arranged differently (as shown). Deter-mine the number of degrees of freedom using Grubler’s formula. Does
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
40 2.8. Exercises
Figure 2.16: Mobile manipulator.
think of the wheeled base as the same as the rolling coin in Figure 2.11 – thewheel (and base) can spin together about an axis perpendicular to the ground,and the wheel rolls without slipping. The base always remains horizontal. (Leftunstated are the means to keep the base horizontal and to spin the wheel andbase about an axis perpendicular to the ground.)
(a) Ignoring the multi-fingered hand, describe the configuration space of themobile manipulator.
(b) Now suppose that the robot hand rigidly grasps a refrigerator door handleand, with its wheel and base completely stationary, opens the door usingonly its arm. With the door open, how many degrees of freedom does themechanism formed by the arm and open door have?
(c) A second identical mobile manipulator comes along, and after parking itsmobile base, also rigidly grasps the refrigerator door handle. How manydegrees of freedom does the mechanism formed by the two arms and theopen refrigerator door have?
Exercise 2.7 Three identical SRS open-chain arms are grasping a commonobject, as shown in Figure 2.17.
(a) Find the number of degrees of freedom of this system.(b) Suppose there are now a total of n such arms grasping the object. How
many degrees of freedom does this system have?(c) Suppose the spherical wrist joint in each of the n arms is now replaced by
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
148 4.1. Product of Exponentials Formula
S1
S2
S6
S5
S4
S3
Figure 4.6: (Left) Universal Robots’ UR5 6R robot arm. (Right) Shown at its zeroposition. Positive rotations about the axes indicated are given by the usual right-handrule. W1 is the distance along the ys-direction between the anti-parallel axes of joints1 and 5. W1 = 109 mm, W2 = 82 mm, L1 = 425 mm, L2 = 392 mm, H1 = 89 mm,H2 = 95 mm.
since e0 = I. Evaluating, we get
e−[S2]π/2 =
0 0 −1 0.0890 1 0 01 0 0 0.0890 0 0 1
, e[S5]π/2 =
0 1 0 0.708−1 0 0 0.9260 0 1 00 0 0 1
,
where the linear units are meters, and
T (θ) = e−[S2]π/2e[S5]π/2M =
0 −1 0 0.0951 0 0 0.1090 0 1 0.9880 0 0 1
as shown in Figure 4.7.
4.1.3 Second Formulation: Screw Axes in the End-EffectorFrame
The matrix identity eM−1PM = M−1ePM (Proposition 3.10) can also be ex-
pressed as MeM−1PM = ePM . Beginning with the rightmost term of the pre-
viously derived product of exponentials formula, if we repeatedly apply this
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
Kinematics is a branch of classical mechanics that describes the motion ofpoints, bodies (objects), and systems of bodies (groups of objects) withoutconsidering the mass of each or the forces that caused the motion
Background Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 3 / 15
Kinematics of Robotic ManipulatorChapter 4. Forward Kinematics 151
xb
zb
xs
zsL = 550 mm1
L = 60 mm3
L = 300 mm2
Elbow J4
ShoulderJ1,J2,J3
WristJ5,J6,J7
W = 45 mm1
Figure 4.8: Barrett Technology’s WAM 7R robot arm at its zero configuration (right).At the zero configuration, axes 1, 3, 5, and 7 are along zs and axes 2, 4, and 6 arealigned with ys out of the page. Positive rotations are given by the right-hand rule.Axes 1, 2, and 3 intersect at the origin of {s} and axes 5, 6, and 7 intersect at a point60mm from {b}. The zero configuration is singular, as discussed in Section 5.3.
Also, some joints of the WAM are driven by motors placed at the base ofthe robot, reducing the robot’s moving mass. Torques are transferred fromthe motors to the joints by cables winding around drums at the joints andmotors. Because the moving mass is reduced, the motor torque requirementsare decreased, allowing low (cable) gear ratios and high speeds. This design isin contrast with that of the UR5, where the motor and harmonic drive gearingfor each joint are directly at the joint.
Figure 4.8 illustrates the WAM’s end-effector frame screw axes B1, . . . ,B7
when the robot is at its zero position. The end-effector frame {b} in the zero
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
• Forward Kinematics: calculation of the positionp and orientation R of the end-effector framefrom its joint variables θ = (θ1, . . . , θn)
• Two commonly adopted approaches
• Approach 1: Assign a frame at each link, typically at the joint axis, thencalculate the end-effector configuration through intermediate frames.
- Denavit-Hartenberg parameters: most widely adopted convention for frameassignment
• Approach 2: Product of Exponential (PoE) formula: directly compute theend-effector frame configuration relative to the fixed frame through screwmotion along the screw axis associated with each joint.
Background Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 4 / 15
Forward Kinematics: Basic Setup
• Suppose that the robot has n joints and n links. Each joint has one degree offreedom represented by joint variable θ
- Revolute joint: θ represents the joint angle
- Primatic joint: θ represents the joint displacement
• Specify a fixed frame {s}: also referred to as frame {0}
• Attach frame {i} to link i at joint i, for i = 1, . . . , n
• Use one more frame {b} at the end-effector: sometimes referred to as frame{n+1}
• Goal: Find an analytical expression of Tsb(θ1, . . . , θn)
Background Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 5 / 15
A Simple Example: Approach 1 (D-H Parameters)138
{0}
{1}
{2}
{3}
{4}
θ1
θ2
θ3
(x, y)
φ
L 1
L 3
L 2
Figure 4.1: Forward kinematics of a 3R planar open chain. For each frame, the x-and y-axis is shown; the z-axes are parallel and out of the page.
where
T01 =
cos θ1 − sin θ1 0 0sin θ1 cos θ1 0 0
0 0 1 00 0 0 1
, T12 =
cos θ2 − sin θ2 0 L1
sin θ2 cos θ2 0 00 0 1 00 0 0 1
,
T23 =
cos θ3 − sin θ3 0 L2
sin θ3 cos θ3 0 00 0 1 00 0 0 1
, T34 =
1 0 0 L3
0 1 0 00 0 1 00 0 0 1
. (4.5)
Observe that T34 is constant and that each remaining Ti−1,i depends only onthe joint variable θi.
As an alternative to this approach, let us define M to be the position andorientation of frame {4} when all joint angles are set to zero (the “home” or“zero” position of the robot). Then
M =
1 0 0 L1 + L2 + L3
0 1 0 00 0 1 00 0 0 1
, (4.6)
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
Illustrating Example Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 6 / 15
A Simple Example: Approach 2 (PoE Formula)138
{0}
{1}
{2}
{3}
{4}
θ1
θ2
θ3
(x, y)
φ
L 1
L 3
L 2
Figure 4.1: Forward kinematics of a 3R planar open chain. For each frame, the x-and y-axis is shown; the z-axes are parallel and out of the page.
where
T01 =
cos θ1 − sin θ1 0 0sin θ1 cos θ1 0 0
0 0 1 00 0 0 1
, T12 =
cos θ2 − sin θ2 0 L1
sin θ2 cos θ2 0 00 0 1 00 0 0 1
,
T23 =
cos θ3 − sin θ3 0 L2
sin θ3 cos θ3 0 00 0 1 00 0 0 1
, T34 =
1 0 0 L3
0 1 0 00 0 1 00 0 0 1
. (4.5)
Observe that T34 is constant and that each remaining Ti−1,i depends only onthe joint variable θi.
As an alternative to this approach, let us define M to be the position andorientation of frame {4} when all joint angles are set to zero (the “home” or“zero” position of the robot). Then
M =
1 0 0 L1 + L2 + L3
0 1 0 00 0 1 00 0 0 1
, (4.6)
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
Illustrating Example Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 7 / 15
Outline
• Background
• Illustrating Example
• Product of Exponential Formula
• Body Form of the PoE Formula
PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 8 / 15
Product of Exponential: Main Idea
• Goal: Derive Tsb(θ1, . . . , θn)
• First choose a zero position (“home” position):θ1 = θ01, . . . , θn = θ0n such thatM , Tsb(θ
01, . . . , θ
0n) can be easily found.
Without loss of generality, suppose homeposition is given by θ0i = 0, i = 1, . . . , n.
Chapter 4. Forward Kinematics 141
M
θnθn−1
θn−2θ1
e[Sn]θnM
e[Sn−1]θn−1e[Sn]θnM
e[Sn−2]θn−2e[Sn−1]θn−1e[Sn]θn M
Figure 4.2: Illustration of the PoE formula for an n-link spatial open chain.
interested in the kinematics, or (2) refer to {s} as frame {0}, use frames {i} fori = 1, . . . , n (the frames for links i at joints i), and use one more frame {n+ 1}(corresponding to {b}) at the end-effector. The frame {n + 1} (i.e., {b}) isfixed relative to {n}, but it is at a more convenient location to represent theconfiguration of the end-effector. In some cases we dispense with frame {n+ 1}and simply refer to {n} as the end-effector frame {b}.
4.1.1 First Formulation: Screw Axes in the Base Frame
The key concept behind the PoE formula is to regard each joint as applyinga screw motion to all the outward links. To illustrate this consider a generalspatial open chain like the one shown in Figure 4.2, consisting of n one-dof jointsthat are connected serially. To apply the PoE formula, you must choose a fixedbase frame {s} and an end-effector frame {b} attached to the last link. Place therobot in its zero position by setting all joint values to zero, with the directionof positive displacement (rotation for revolute joints, translation for prismaticjoints) for each joint specified. Let M ∈ SE(3) denote the configuration of theend-effector frame relative to the fixed base frame when the robot is in its zeroposition.
Now suppose that joint n is displaced to some joint value θn. The end-
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
• Let S1, . . . ,Sn be the screw axes expressed in {s}, corresponding to the jointmotions when the robot is at its home position
• Apply screw motion to joint n: Tsb(0, . . . , 0, θn) = e[Sn]θnM
• Apply screw motion to joint n− 1 to obtain:
Tsb(0, . . . , 0, θn−1, θn) = e[Sn−1]θn−1e[Sn]θnM
• After n screw motions, the overall forward kinematics:
Tsb(θ1, . . . , θn) = e[S1]θ1e[S2]θ2 · · · e[Sn]θnM
PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 9 / 15
Forward Kinematics: Steps for PoE
• Goal: Derive Tsb(θ1, . . . , θn)
• Step 1: Find the configuration of{b} at the home position
M = Tsb(0, . . . , 0)
Chapter 4. Forward Kinematics 141
M
θnθn−1
θn−2θ1
e[Sn]θnM
e[Sn−1]θn−1e[Sn]θnM
e[Sn−2]θn−2e[Sn−1]θn−1e[Sn]θn M
Figure 4.2: Illustration of the PoE formula for an n-link spatial open chain.
interested in the kinematics, or (2) refer to {s} as frame {0}, use frames {i} fori = 1, . . . , n (the frames for links i at joints i), and use one more frame {n+ 1}(corresponding to {b}) at the end-effector. The frame {n + 1} (i.e., {b}) isfixed relative to {n}, but it is at a more convenient location to represent theconfiguration of the end-effector. In some cases we dispense with frame {n+ 1}and simply refer to {n} as the end-effector frame {b}.
4.1.1 First Formulation: Screw Axes in the Base Frame
The key concept behind the PoE formula is to regard each joint as applyinga screw motion to all the outward links. To illustrate this consider a generalspatial open chain like the one shown in Figure 4.2, consisting of n one-dof jointsthat are connected serially. To apply the PoE formula, you must choose a fixedbase frame {s} and an end-effector frame {b} attached to the last link. Place therobot in its zero position by setting all joint values to zero, with the directionof positive displacement (rotation for revolute joints, translation for prismaticjoints) for each joint specified. Let M ∈ SE(3) denote the configuration of theend-effector frame relative to the fixed base frame when the robot is in its zeroposition.
Now suppose that joint n is displaced to some joint value θn. The end-
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
• Step 2: Find screw axes S1, . . . ,Sn expressed in {s}, corresponding to thejoint motions when the robot is at its home position
• Forward kinematics:
Tsb(θ1, . . . , θn) = e[S1]θ1e[S2]θ2 · · · e[Sn]θnM
PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 10 / 15
PoE: Screw Motions in Different Order (1/2)
• PoE was obtained by applying screw motions along screw axes Sn, Sn−1, . . ..What happens if the order is changed?
• For simplicity, assume that n = 2, and let us apply screw motion along S1first:
- Tsb(θ1, 0) = e[S1]θ1M
- Now screw axis for joint 2 has been changed. The new axis S ′2 is given by:
PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 11 / 15
PoE: Screw Motions in Different Order (2/2)- Tsb(θ1, θ2) = e[S
′2]θ2Tsb(θ1, 0)
PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 12 / 15
PoE Example: 3R Spatial Open ChainChapter 4. Forward Kinematics 143
x0
y0
z0
x1
y1
z1
x2
y2z2
x3
y3
z3
θ1
θ2
θ3
L1
L2
Figure 4.3: A 3R spatial open chain.
4.1.2 Examples
We now derive the forward kinematics for some common spatial open chainsusing the PoE formula.
Example 4.1 (3R spatial open chain). Consider the 3R open chain of Fig-ure 4.3, shown in its home position (all joint variables set equal to zero). Choosethe fixed frame {0} and end-effector frame {3} as indicated in the figure, and ex-press all vectors and homogeneous transformations in terms of the fixed frame.The forward kinematics has the form
T (θ) = e[S1]θ1e[S2]θ2e[S3]θ3M,
where M ∈ SE(3) is the end-effector frame configuration when the robot is inits zero position. By inspection M can be obtained as
M =
0 0 1 L1
0 1 0 0−1 0 0 −L2
0 0 0 1
.
The screw axis S1 = (ω1, v1) for joint axis 1 is then given by ω1 = (0, 0, 1)and v1 = (0, 0, 0) (the fixed frame origin (0,0,0) is a convenient choice for the
May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org
PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 13 / 15
Body Form of PoE Formula
• Fact: eM−1PM =M−1ePM ⇒ MeM
−1PM = ePM
• Let Bi be the screw axis of joint i expressed in end-effector frame when therobot is at zero position
• Then body-form of the PoE formula is:
Tsb(θ1, . . . , θn) =Me[B1]θ1e[B2]θ2 · · · e[Bn]θn
Body Form PoE Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 14 / 15
More Discussions
•
Body Form PoE Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 15 / 15