ECE5463: Introduction to Lecture Note 6: Forward

Prof. Wei Zhang

Department of Electrical and Computer Engineering Ohio State University Columbus, 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 Chapter 2. Configuration Space 45

40 2.8. Exercises R

U Kinematics U

(a) (b)

R R P

R R U RR R S 148 4.1. Product of Exponentials Formula

(c) (d) Figure 2.16: Mobile manipulator. 5 Figure 2.21: A second collection of spatial parallel mechanisms. S

think of the wheeled baseS4 as the same as the rolling coin in Figure 2.11 – the or does it move? wheel (and base) can spin together about an axis perpendicular to the ground, and the wheel rolls without slipping. The base always remains horizontal. (Left Exercise 2.15 The mechanisms of Figures 2.24(a) and 2.24(b). 6 1 unstated are the meansS to keep the base horizontalS and to spin the wheel and (a) The mechanism of Figure 2.24(a) consists of six identical squares arranged 3 in a single closed loop, connected by revolute joints. The bottombase square about an axis perpendicularS to the ground.) is fixed to ground. Determine the number of degrees of freedom(a) using Ignoring the multi-fingered hand, describe the configuration space of the Gr¨ubler’sformula. mobile manipulator. (b) The mechanism of Figure 2.24(b) also consists of six identical squares(b) Now suppose that the hand rigidly grasps a refrigerator door handle connected by revolute joints, but arranged differently (as shown). Deter-and, with its wheel and base completely2 stationary, opens the door using mine the number of degrees of freedom using Gr¨ubler’sformula. Does S only its arm. With the door open, how many degrees of freedom does the Kinematics is a branchFigure 4.6: of(Left) classical Universalmechanism ’ mechanics formed UR5 6R by robot the arm thatarm. and (Right) describesopen Shown doorhave? at its the zero motion of May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press,position. 2017. http://modernrobotics.org Positive rotations(c) A second about theidentical axes indicated mobile manipulatorare given by the comes usual along, right-hand and after parking its points, bodies (objects),rule. W1 is the and distance systemsmobile along the base, ˆys-direction of also bodies rigidly between grasps(groups thethe anti-parallel refrigerator of axes objects) doorof joints handle. without How many 1 and 5. W = 109 mm, W = 82 mm, L = 425 mm, L = 392 mm, H = 89 mm, 1 degrees2 of freedom1 does the mechanism2 formed1 by the two arms and the considering the massH2 = 95 of mm. each or the forces that caused the motion open refrigerator door have?

0 since e = I. Evaluating,Exercise we 2.7 getThree identical SRS open-chain arms are grasping a common object,0 0 as1 shown 0.089 in Figure 2.17. 0 1 0 0.708 Background Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 3 / 15 0(a) 1 Find− 0 the 0 number of degrees of freedom1 0 of 0 this 0.926 system. e [ 2]π/2 = , e[ 5]π/2 = , − S  1(b) 0 Suppose 0 0.089 there are nowS a total of−0n such 0 1arms 0 grasping the object. How  0 0many 0 degrees 1  of freedom does this0 system 0 0 have? 1       (c) Suppose the spherical wrist joint in each of the n arms is now replaced by where the linear units are meters, and

May 2017 preprint of Modern Robotics, Lynch0 and1 Park, 0 Cambridge0.095 U. Press, 2017. http://modernrobotics.org 1− 0 0 0.109 T (θ) = e [ 2]π/2e[ 5]π/2M = − S S  0 0 1 0.988   0 0 0 1      as shown in Figure 4.7.

4.1.3 Second Formulation: Screw Axes in the End-Effector Frame

1 M − PM 1 P The matrix identity e = M − e M (Proposition 3.10) can also be ex- 1 pressed as MeM − PM = eP M. 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 Chapter 4. Forward Kinematics 151

Kinematics of Roboticˆzb Manipulator

ˆxb L 3 = 60 mm Wrist J5,J6,J7 L 2 = 300 mm Forward Kinematics: calculation of the position • W 1 = 45 mm p and orientation R of the end-effector frame Elbow J4 from its joint variables θ = (θ , . . . , θ ) L 1 = 550 mm 1 n ˆzs Shoulder

ˆxs J1,J2,J3 Two commonly adopted approaches •

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 are

aligned with ˆys out of the page. Positive rotations are given by the right-hand rule. AxesApproach 1, 2, and 3 intersect at 1: the origin Assign of s and axes a 5,frame 6, and 7 intersect at at a pointeach link, typically at the joint axis, then { } • 60mm from b . The zero configuration is singular, as discussed in Section 5.3. calculate{ } the end-effector configuration through intermediate frames. Also, some joints of the WAM are driven by motors placed at the base of the- robot,Denavit-Hartenberg reducing the robot’s moving mass. Torquesparameters: are transferred from most widely adopted convention for frame the motors to the joints by cables winding around drums at the joints and motors.assignment Because the moving mass is reduced, the motor torque requirements are decreased, allowing low (cable) gear ratios and high speeds. This design is in contrast with that of the UR5, where the motor and harmonic drive gearing for each joint are directly at the joint. Figure 4.8 illustrates the WAM’s end-effector frame screw axes 1,..., 7 when the robot is at its zero position. The end-effector frame b inB the zeroB Approach 2: Product of Exponential{ } (PoE) formula: directly compute the • end-effector frame configuration relative to the fixed frame through screw

Maymotion 2017 preprint of Modern along Robotics, Lynch andthe Park, Cambridge screw U. Press, 2017. axis http://modernrobotics.org 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 of • freedom 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 T (θ , . . . , θ ) • sb 1 n

Background Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 5 / 15 138 A Simple Example: Approach 1 (D-H Parameters)

4 φ { }

L 3 (x, y) 3 { } θ3

L 2 2 { } L 1 1 θ2 { } 0 { } θ1

Figure 4.1: Forward kinematics of a 3R planar open chain. For each frame, the ˆx- and ˆy-axisis shown; the ˆz-axesare parallel and out of the page. where

cos θ1 sin θ1 0 0 cos θ2 sin θ2 0 L1 sin θ −cos θ 0 0 sin θ −cos θ 0 0 T = 1 1 ,T = 2 2 , 01  0 0 1 0  12  0 0 1 0   0 0 0 1   0 0 0 1          cos θ3 sin θ3 0 L2 1 0 0 L3 sin θ −cos θ 0 0 0 1 0 0 T = 3 3 ,T = . (4.5) 23  0 0 1 0  34  0 0 1 0   0 0 0 1   0 0 0 1          Observe that T34 is constant and that each remaining Ti 1,i depends only on − the joint variable θi. As an alternative to this approach, let us define M to be the position and orientation of frame 4 when all joint angles are set to zero (the “home” or “zero” position of the{ robot).} Then

Illustrating1 0 Example 0 L1 + L2 + L3 Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 6 / 15 0 1 0 0 M = , (4.6)  0 0 1 0   0 0 0 1     

May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org 138 A Simple Example: Approach 2 (PoE Formula)

4 φ { }

L 3 (x, y) 3 { } θ3

L 2 2 { } L 1 1 θ2 { } 0 { } θ1

Figure 4.1: Forward kinematics of a 3R planar open chain. For each frame, the ˆx- and ˆy-axisis shown; the ˆz-axesare parallel and out of the page. where

cos θ1 sin θ1 0 0 cos θ2 sin θ2 0 L1 sin θ −cos θ 0 0 sin θ −cos θ 0 0 T = 1 1 ,T = 2 2 , 01  0 0 1 0  12  0 0 1 0   0 0 0 1   0 0 0 1          cos θ3 sin θ3 0 L2 1 0 0 L3 sin θ −cos θ 0 0 0 1 0 0 T = 3 3 ,T = . (4.5) 23  0 0 1 0  34  0 0 1 0   0 0 0 1   0 0 0 1          Observe that T34 is constant and that each remaining Ti 1,i depends only on − the joint variable θi. As an alternative to this approach, let us define M to be the position and orientation of frame 4 when all joint angles are set to zero (the “home” or “zero” position of the{ robot).} Then

Illustrating1 0 Example 0 L1 + L2 + L3 Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 7 / 15 0 1 0 0 M = , (4.6)  0 0 1 0   0 0 0 1     

May 2017 preprint of Modern Robotics, Lynch and Park, Cambridge U. Press, 2017. http://modernrobotics.org 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 IdeaChapter 4. Forward Kinematics 141

θ1 θn 2 θn 1 − Goal: Derive Tsb(θ , . . . , θn) θn − • 1 First choose a zero position (“home” position): M • 0 0 [ ]θ θ1 = θ1, . . . , θn = θn such that e Sn n M 0 0 M , Tsb(θ1, . . . , θn) can be easily found.

[ n 1]θn 1 [ n]θn e − − e M Without loss of generality, suppose home S S

[ n 2]θn 2 [ n 1]θn 1 [ n]θn 0 e S − − e S − − e S M position is given by θi = 0, i = 1, . . . , n. Figure 4.2: Illustration of the PoE formula for an n-link spatial open chain. Let be the screw axes expressed in s , corresponding to the joint 1,..., n interested in the kinematics, or (2) refer to s as frame 0 , use frames i for • S S {i =} 1, . . . , n (the frames for links i at joints {i),} and use one{ } more frame {n }+ 1 motions when the robot is at its home position (corresponding to b ) at the end-effector. The frame n + 1 (i.e., { b ) is} fixed relative to n{ ,} but it is at a more convenient location{ to} represent{ } the { } configuration[Sn of] theθn end-effector. In some cases we dispense with frame n + 1 Apply screw motion to joint n: Tsb(0,..., 0, θn)and = simplye refer to nMas the end-effector frame b . { } • { } { } Apply screw motion to joint n 1 to obtain: 4.1.1 First Formulation: Screw Axes in the Base Frame • − The key concept behind the PoE formula is to regard each joint as applying a screw motion to all the outward links. To illustrate this consider a general [Snspatial1]θ openn chain1 like[Sn the]θ onen shown in Figure 4.2, consisting of n one-dof joints Tsb(0,..., 0, θn−1, θn) = e that− are connected− e serially. ToM apply the PoE formula, you must choose a fixed base frame s and an end-effector frame b attached to the last link. Place the robot in its{ zero} position by setting all joint{ } values to zero, with the direction of positive displacement (rotation for revolute joints, translation for prismatic After n screw motions, the overall forward kinematics:joints) for each joint specified. Let M SE(3) denote the configuration of the • end-effector frame relative to the fixed∈ base frame when the robot is in its zero position. [S1]θ1 [S2]θNow2 suppose[S thatn] jointθn n is displaced to some joint value θ . The end- Tsb(θ1, . . . , θn) = e e e M n ···

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) 9 / 15 Forward Kinematics: Steps forChapter PoE 4. Forward Kinematics 141

θ1 θn 2 θn 1 − θn − Goal: Derive Tsb(θ1, . . . , θn) • M

Step 1: Find the configuration of [ n]θn • e S M b at the home position { }

[ n 1]θn 1 [ n]θn e S − − e S M M = Tsb(0,..., 0)

[ n 2]θn 2 [ n 1]θn 1 [ n]θn e S − − e S − − e S M

Figure 4.2: Illustration of the PoE formula for an n-link spatial open chain.

Step 2: Find screw axes 1,..., ninterestedexpressed in the kinematics, in s or, (2) corresponding refer to s as frame 0 to, use the frames i for • S S { } { } { } { } joint motions when the robot is at itsi = 1, home . . . , n (the position 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 ) is} fixed relative to n{ ,} but it is at a more convenient location{ to} represent{ } the configuration of the{ } end-effector. In some cases we dispense with frame n + 1 and simply refer to n as the end-effector frame b . { } Forward kinematics: { } { } • 4.1.1 First Formulation: Screw Axes in the Base Frame [ 1]θ1 [ 2]θ2 [ n]θn Tsb(θ1, . . . , θn) = eTheS key concepte S behind thee PoES formulaM is to regard each joint as applying a screw motion to all··· the outward links. To illustrate this consider a general spatial open chain like the one shown in Figure 4.2, consisting of n one-dof joints that are connected serially. To apply the PoE formula, you must choose a fixed base frame s and an end-effector frame b attached to the last link. Place the robot in its{ zero} position by setting all joint{ } values to zero, with the direction of positive displacement (rotation for revolute joints, translation for prismatic joints) for each joint specified. Let M SE(3) denote the configuration of the PoE Formula Lecture 6 (ECE5463end-effector Sp18) frame relative to the fixed∈ base frameWei when Zhang(OSU) the robot is 10 in/ its 15 zero position. 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 PoE: Screw Motions in Different Order (1/2)

PoE was obtained by applying screw motions along screw axes , , .... • n n 1 What happens if the order is changed? S S −

For simplicity, assume that n = 2, and let us apply screw motion along 1 • first: S [S1]θ1 - Tsb(θ1, 0) = e M

- Now screw axis for joint 2 has been changed. The new axis 0 is given by: S2

PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 11 / 15 PoE: Screw Motions in Different Order (2/2)

[S0 ]θ2 - Tsb(θ1, θ2) = e 2 Tsb(θ1, 0)

PoE Formula Lecture 6 (ECE5463 Sp18) Wei Zhang(OSU) 12 / 15 PoE Example: 3R Spatial OpenChapter Chain 4. Forward Kinematics 143

θ1

ˆz1 ˆy1 ˆz0 L1 ˆy0 ˆy2 ˆx1 ˆz2 ˆx0 ˆx2

θ2 L2 ˆy3

ˆz3

θ3 ˆx3

Figure 4.3: A 3R spatial open chain.

4.1.2 Examples We now derive the forward kinematics for some common spatial open chains using 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). Choose the 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 1 e S2 2 e S3 3 M,

where M SE(3) is the end-effector frame configuration when the robot is in its zero position.∈ By inspection M can be obtained as

0 0 1 L1 0 1 0 0 M = .  1 0 0 L  − − 2  0 0 0 1    PoE Formula Lecture 6 (ECE5463 Sp18)  Wei Zhang(OSU) 13 / 15 The screw axis = (ω , v ) for joint axis 1 is then given by ω = (0, 0, 1) S1 1 1 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 Body Form of PoE Formula

1 1 M − PM 1 P M − PM P Fact: e = M − e M Me = e M • ⇒ Let be the screw axis of joint i expressed in end-effector frame when the • i robotB is at zero position

Then body-form of the PoE formula is: •

[ ]θ [ ]θ [ n]θn T (θ , . . . , θ ) = Me B1 1 e B2 2 e B sb 1 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