Chapter 3: Forward Kinematics ROBOTICS Outline: • • • • • • • Introduction Link Description Link-Connection Description Convention for Affixing Frames to Links Manipulator Kinematics Actuator Space, Joint Space, and Cartesian Space Example: Kinematics of PUMA Robot 1 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Introduction: • Kinematics: Motion without regarding the forces that cause it (Position, Velocity, and Acceleration). Geometry and Time dependent. • Rigid links are assumed, connected with joints that are instrumented with sensors to the measure the relative position of the connected links. – Revolute Joint Sensor Joint Angle – Prismatic Joint Sensor Joint Offset/Displacement • Degrees of Freedom # of independent position variables which have to be specified in order to locate all parts of the mechanism 2 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Introduction: • Degrees of Freedom Ex: 4-Bar mechanism, # of independent position variables = 1 DoF = 1 • Typical industrial open chain serial robot 1 Joint 1 DoF # of Joints ≡ # of DoF • End Effector: Gripper, Welding torch, Electromagnetic, etc… Faculty of Engineering - Mechanical Engineering Department 3 Chapter 3: Forward Kinematics ROBOTICS Introduction: • The position of the manipulator is described by giving a description of the tool frame (attached to the E.E.) relative to the base frame (non-moving). • Froward kinematics: Given Joint Angles Calculate Joint space (θ1,θ1,…,θDoF) Position & Orientation of the tool frame w. r. t. base frame Cartesian space (x,y,z, and orientation angles) 4 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics Link Description: • Links Numbering: E.E. n-1 ROBOTICS In this chapter: - Rigid links are assumed which define the relationship between the corresponding joint axes of the manipulator. n 2 1 Base 0 5 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Link Description: • Joint axis (i): Is a line in space or direction vector about which link (i) rotates relative to link (i-1) • ai ≡ represents the distance between axes (i & i+1) which is a property of the link (link geometry) ai ≡ ith link length • αi ≡ angle from axis i to i+1 in right hand sense about ai. αi ≡ link twist • Note that a plane normal to ai axis will be parallel to both axis i and axis i+1. Faculty of Engineering - Mechanical Engineering Department 6 Chapter 3: Forward Kinematics ROBOTICS Link Description • Example: consider the link, find link length and twist? a = 7in α = +45o 7 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Joint Description • Intermediate link: Axis i ≡ common axis between links i and i-1 di ≡ link offset ≡ distance along this common axis from one link to the next θi ≡ joint angle ≡ the amount of rotation about this common axis between one link and the other • Important di ≡ variable if joint i is prismatic θi ≡ variable if joint i is revolute Faculty of Engineering - Mechanical Engineering Department 8 Chapter 3: Forward Kinematics ROBOTICS Joint Description • First and last links: – Use a0 = 0 and α0 = 0. And an and αn are not needed to be defined • Joints 1: – Revolute the zero position for θ1 is chosen arbitrarily. d1 = 0. – Prismatic the zero position for d1 is chosen arbitrarily. θ1 = 0. • Joints n: the same convention as joint 1. Zero values were assigned so that later calculations will be as simple as possible 9 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Joint Description • Link parameters Hence, any robot can be described kinematically by giving the values of four quantities for each link. Two describe the link itself, and two describe the link's connection to a neighboring link. In the usual case of a revolute joint, θi is called the joint variable, and the other three quantities would be fixed link parameters. For prismatic joints, d1 is the joint variable, and the other three quantities are fixed link parameters. The definition of mechanisms by means of these quantities is a convention usually called the Denavit—Hartenberg notation 10 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Convention for attaching frames to links • A frame is attached rigidly to each link; frame {i} is attached rigidly to link (i), such that: Intermediate link – 𝑍𝑖 -axis of frame {i} is coincident with the joint axis (i). – The origin of frame {i} is located where the ai perpendicular intersects the joint (i) axis. – 𝑋𝑖 -axis points along ai in the direction from joint (i) to joint (i+1) – In the case of ai = 0, 𝑋𝑖 is normal to the plane of 𝑍𝑖 and 𝑍𝑖+1 . We define α i as being measured in the right-hand sense about 𝑋𝑖 . – 𝑌𝑖 is formed by the right-hand rule to complete the ith frame. 11 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Convention for attaching frames to links First link/joint: – Use frames {0} and {1} coincident when joint variable (1) is zero. (a0 = 0, α0 = 0, and d0 = 0) if joint (1) is revolute (a0 = 0, α0 = 0, and d0 = 0) if joint (1) is revolute Last link/joint: – Revolute joint: frames {n-1} and {n} are coincident when θi = 0. as a result di = 0 (always). – Prismatic joint: frames {n-1} and {n} are coincident when di = 0. as a result θi = 0 (always). 12 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Convention for attaching frames to links • Summary Note: frames attachments is not unique 13 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Convention for attaching frames to links • Example: attach frames for the following manipulator, and find DH parameters… 14 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Convention for attaching frames to links • Example: attach frames for the following manipulator, and find DH parameters… – Determine Joint axes 𝑍𝑖 (in this case out of the page) All αi = 0 – Base frame {0} when θ1 = 0 𝑋0 can be determined. – Frame {3} (last link) when θ3 = 0 𝑋3 can be determined. 15 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Convention for attaching frames to links • Construct the table: 16 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Convention for attaching frames to links • Previous exam question For the 3DoF manipulator shown in the figure assign frames for each link using DH method and determine link parameters. 17 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 3: Forward Kinematics Convention for attaching frames to links • Joint axes 𝑍- directions Zˆ1 , Zˆ 0 Ẑ 3 Ẑ 2 18 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 3: Forward Kinematics Convention for attaching frames to links • 𝑋- directions X̂ 3 Ẑ 3 X̂ 2 Ẑ 2 Zˆ1 , Zˆ0 Xˆ 1 , Xˆ 0 19 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 3: Forward Kinematics Convention for attaching frames to links • Origens X̂ 3 X̂ 2 Ẑ 2 Zˆ1 , Zˆ0 O0 , O1 , O2 O3 Ẑ 3 Xˆ 1 , Xˆ 0 20 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 3: Forward Kinematics Convention for attaching frames to links • 𝑌- directions X̂ 3 Yˆ2 Ẑ 2 X̂ 2 Zˆ1 , Zˆ0 O0 , O1 , O2 Yˆ1 , Yˆ0 Xˆ 1 , Xˆ 0 O3 Ẑ 3 Yˆ3 21 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 3: Forward Kinematics Convention for attaching frames to links • DH parameters… d3 X̂ 3 a2 Yˆ2 Ẑ 2 X̂ 2 Zˆ1 , Zˆ0 O0 , O1 , O2 Yˆ1 , Yˆ0 Xˆ 1 , Xˆ 0 O3 Ẑ 3 Yˆ3 22 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 3: Forward Kinematics Convention for attaching frames to links • DH parameters… i ai-1 αi-1 θi di 1 0 0 θ1 0 2 0 90 θ2 0 3 a2= Const. 90 0 d3 23 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Manipulator Kinematics • Extract the relation between frames on the same link position & orientation of {n} relative to {0} POSITION: Zˆi 1 Yˆi 1 i 1 Zˆi i 1 di POi 1 ,Oi ai 1 di sin i 1 di cos i 1 Faculty of Engineering - Mechanical Engineering Department 24 Chapter 3: Forward Kinematics ROBOTICS Manipulator Kinematics ORIENTATION: Rotation about moving axes: Originally {i-1} and {i} have the same orientation – 1st rotation: rotation about 𝑋𝑖−1 by an angle αi-1. – 2nd rotation: rotation about 𝑍𝑖 by an angle θi i 1 i R Rot ( xˆ , i 1 ) Rot ( zˆ,i ) 0 1 i 1 0 c R i i 1 0 s i 1 s i 1 c i 1 0 ci s i 0 si ci 0 0 0 1 25 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Manipulator Kinematics ORIENTATION: si ci i 1 s c R ci c i 1 i i i 1 si s i 1 ci s i 1 s i 1 c i 1 0 TRANSFORMATION MATRIX: i 1 iR i 1 iT 0 0 0 i 1 POi 1 ,Oi 1 si ci s c ci c i 1 i i 1 i 1 iT si s i 1 ci s i 1 0 0 0 s i 1 c i 1 0 di s i 1 di c i 1 1 ai 1 Faculty of Engineering - Mechanical Engineering Department 26 ROBOTICS Chapter 3: Forward Kinematics Manipulator kinematics • Example: for the previous manipulator find i ai-1 αi-1 transformation matrix for each link. si 0 ai 1 ci s c c c s d s i i 1 i 1 i i 1 i 1 i i 1 iT di c i 1 si s i 1 ci s i 1 c i 1 0 0 1 0 s1 0 a0 c1 s1 c1 s c c c s d s s c1 1 0 1 0 0 1 0 1 0 1T d1c 0 0 0 s1s 0 c1s 0 c 0 0 0 0 1 0 0 s 2 0 (0) c1 c 2 s c(90) c c(90) s (90) (0) s (90) s 2 2 1 1 T 2 s 2 s (90) c 2 s (90) c(90) (0)c(90) 0 0 0 0 1 0 0 a0 0 0 1 0 0 1 θi di 1 0 0 θ1 0 2 0 90 θ2 0 3 a2 90 0 d3 Each matrix is constructed from one row of the table s1 0 a0 c1 0 0 0 1 0 0 0 1 Faculty of Engineering - Mechanical Engineering Department the 27 ROBOTICS Chapter 3: Forward Kinematics Manipulator kinematics • Example: for the previous manipulator find i ai-1 αi-1 transformation matrix for each link. si ci s c ci c i 1 i i 1 i 1 iT si s i 1 ci s i 1 0 0 0 s i 1 c i 1 0 di s i 1 di c i 1 1 ai 1 s (0) 0 a2 1 c(0) s (0)c(90) c(0)c(90) s (90) d s (90) 0 3 2 T 3 d 3c(90) 0 s (0) s (90) c(0) s (90) c(90) 0 0 0 1 0 the θi di 1 0 0 θ1 0 2 0 90 θ2 0 3 a2 90 0 d3 a2 0 1 d 3 1 0 0 0 0 1 0 0 28 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Manipulator kinematics • Concatenating link transformations: T 01T 21T ... 0 n n2 n 1 T n 1 n T Each transformation i 1iT has one variable (θi or di) 0nT is a function of all n-joint variables 29 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Manipulator kinematics • Concatenating link transformations: T 01T 21T ... 0 n n2 n 1 T n 1 n T Each transformation i 1iT has one variable (θi or di) 0nT is a function of all n-joint variables 30 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Example: Kinematics of PUMA Robot 31 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Example: Kinematics of PUMA Robot Frame attachments 32 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Example: Kinematics of PUMA Robot DH parameters 33 Faculty of Engineering - Mechanical Engineering Department Chapter 3: Forward Kinematics ROBOTICS Example: Kinematics of PUMA Robot Transformation matrices Refer to the book for more kinematic equations Faculty of Engineering - Mechanical Engineering Department 34 Chapter 3: Forward Kinematics ROBOTICS Actuator, Joint, and Cartesian Spaces: • Joint Space: Joint variables (θ1/d1, θ2/d2, … θn/dn) • Cartesian Space: Position and orientation of the E.E. relative to the base frame – Direct kinematics: joint variables Position and orientation of the E.E. relative to the base frame. • Actuator Space: In most of cases, actuators are not connected directly to the joints (Gear trains, mechanisms, pulleys and chains …). Moreover, sensors/encoders are mounted on the actuators rather than robot joints. Hence, it will be easier to describe the motion of the robot by actuator variables. 35 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 3: Forward Kinematics Actuator, Joint, and Cartesian Spaces: Inverse Problem Direct Problem Inverse Problem Direct Problem Faculty of Engineering - Mechanical Engineering Department 36 Chapter 3: Forward Kinematics ROBOTICS Frames with standard names: 37 Faculty of Engineering - Mechanical Engineering Department