FACULTY OF ELECTRICAL ENGINEERING & TECHNOLOGY UNIVERSITI MALAYSIA PERLIS EMJ37303 ROBOTIC SYSTEMS KINEMATICS (PART I) “SPATIAL DESCRIPTIONS AND TRANSFORMATIONS” EMJ37303 ROBOTIC SYSTEMS Introduction 2 EMJ37303 ROBOTIC SYSTEMS Introduction 3 EMJ37303 ROBOTIC SYSTEMS Kinematics Problem (π₯, π¦, π§) • How to make sure the robot can follows required trajectory path? • What are the angles needed to be set to obtain the required position? 4 EMJ37303 ROBOTIC SYSTEMS Reference Frames πΊπ • Σπ€ : World reference frame • Σπ : End-effector reference frame • Σπ : Cylinder reference frame • Σπ : Box reference frame πΊπ πΊπ° πΊπ All joints and object can be described by the position and orientation with the aid of reference frames. 5 EMJ37303 ROBOTIC SYSTEMS Coordinate Systems Left Handed Right Handed π§ π§ π¦ π₯ π¦ π₯ 6 Forward Kinematics EMJ37303 ROBOTIC SYSTEMS Robot Kinematics VS Inverse Kinematics What the differences between both approaches? How to solve both? Which one should be used? 7 (π, π) π½2 Forward Kinematics: EMJ37303 ROBOTIC SYSTEMS Forward Kinematics VS Inverse Kinematics To determine the end-effector position based on joint’s angle (π½1 , π½2 ) π π½1 Forward Kinematics (π, π) Inverse Kinematics: πΏ To determine the joint’s angle based on end-effector position (π, π) Inverse Kinematics (π½1 , π½2 ) 8 • Vector representation EMJ37303 ROBOTIC SYSTEMS Vector Calculus • Transpose • Magnitude 9 EMJ37303 ROBOTIC SYSTEMS Locating Object How to locate an object? • Position π§ P π΄ π·BORG π¦ ππ₯ π = ππ¦ = ππ₯ ππ¦ ππ§ ππ₯ π΄ π·BORG = ππ¦ = ππ₯ ππ§ ππ§ ππ¦ π ππ§ π π₯ 10 EMJ37303 ROBOTIC SYSTEMS Locating Object How to locate an object? • Position • Orientation P ππ΅ β ππ΄ π΄ π π΅ β ππ΄ π΅π = ππ΅ β ππ΄ {B} π΄ π·BORG ππ΄ π παπ΅ ππ΅ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ Dot Product ππ΄ β ππ΅ = ππ΄ ππ© cos (π) Since the magnitude of unit vector is 1, then ππ΄ β ππ΅ = cos (π) 11 EMJ37303 ROBOTIC SYSTEMS Locating Object (General) π΄ π΅ P π΄ π· π΄ π΅ π· π·BORG = ππ΅ππ΄ π· = ππ΅ ππ΅ ππ΅ β ππ΄ π΄ π π΅ β ππ΄ π΅π = ππ΅ β ππ΄ ππ΅ππ΄ ππ΅ πΆπ΅ππ΄ π π ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ π·BORG General Form: π΄ π· = π΅π΄π π΅π· + π΄π·BORG ππ΅ β ππ΄ ππ΄ ππ΄ = ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ππ΄ ππ΅ ππ΅ + ππ΅ππ΄ ππ΅ ππ΅ππ΄ 12 EMJ37303 ROBOTIC SYSTEMS Locating Object (General) π΄ General Form: Conceptual Form: π· = π΅π΄π π΅π· + π΄π·BORG π΄ π· = π΅π΄π π΅π· π΄ π΄ π· = π΅π 1 0 0 0 ππ΅ β ππ΄ ππ΄ π βπ ππ΄ = π΅ π΄ ππ΄ ππ΅ β ππ΄ 1 0 ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ 0 π΄ π·BORG 1 ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ 0 π΅ π· 1 ππ΅ππ΄ ππ΅ππ΄ ππ΅ππ΄ 1 ππ΅ ππ΅ ππ΅ 1 Homogenous Transformation Matrix π΄ π΅π» Homogeneous Transformation Matrix can describe both orientation and position by a single square matrix. Why? • It is much easier to calculate the inverse of square matrices. • To multiply two matrices, their dimensions must match. 13 EMJ37303 ROBOTIC SYSTEMS Transformation • Fixed frame: Fixed or reference frame is referring to a frame that usually used as global reference frame. The frame is static and fixed. • Moving frame Moving or current frame is referring to the frame that is currently moving or operated Moving Frame π§π΅ π¦π΅ π§π΄ π΄ π·π΅ππ πΊ π¦π΄ π₯π΅ π₯π΄ Fixed Frame 14 EMJ37303 ROBOTIC SYSTEMS Pure Translation and Rotation Assume that initial position and orientation of frame B is similar to frame A Pure Translation: π΄ π = π΅π + π΄ππ΅ππ πΊ Pure Rotation: π§π΄ π΄ π = π΅π΄π π΅π π§π΄ π§π΅ π§π΅ π¦π΅ π¦π΄ π¦π΄ π₯π΄ π¦π΅ π₯π΅ 1 0 π΄ π΅π» = 0 0 0 1 0 0 0 ππ΅ππ΄ 0 ππ΅ππ΄ 1 ππ΅ππ΄ 0 1 π₯π΄ π₯π΅ ππ΅ β ππ΄ π π΅ β ππ΄ π΄ π΅π» = ππ΅ β ππ΄ 0 ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ 0 ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ 0 0 0 0 1 15 No rotation, so this part is equal to Identity Matrix EMJ37303 ROBOTIC SYSTEMS Pure Translation Represents the frame before translation This column represents the translation 16 EMJ37303 ROBOTIC SYSTEMS Pure Rotation π 11 π π = 21 π 31 0 π 12 π 22 π 32 0 π 13 π 23 π 33 0 0 0 0 1 17 ππ΅ β ππ΄ π΄ π π΅ β ππ΄ π΅π = ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ ππ΅ β ππ΄ Alternative: Solving based on rotation angle Solve based on current information of orientation EMJ37303 ROBOTIC SYSTEMS Rotation Matrix Alibi Transformation Alias Transformation 18 EMJ37303 ROBOTIC SYSTEMS Rotation Matrix Rotation about π-axis: ππ¨π π§, πΎ π¦ π1 (π₯1 , π¦1 , π§1 ) πΎ π π π0 (π₯0 , π¦0 , π§0 ) π₯ Try solving the rotation matrix around π₯ and π¦ axis. 19 • By assuming the rotation around π₯-, π¦-, and π§-axis as πΌ, π½ and πΎ, the respective rotation matrix are: EMJ37303 ROBOTIC SYSTEMS Rotation Matrix 20 Relative to Fixed Frame EMJ37303 ROBOTIC SYSTEMS Combined Transformations 21 Relative to Fixed Frame π1 = rot(π§, 90°) π2 = rot(π¦, 90°) π = π3 π2 π1 EMJ37303 ROBOTIC SYSTEMS Combined Transformations π3 = trans(4, −3,7) 22 Relative to Fixed Frame EMJ37303 ROBOTIC SYSTEMS Combined Transformations 23 Relative to Fixed Frame π1 = rot(π§, 90°) π2 = trans(4, −3,7) π = π3 π2 π1 EMJ37303 ROBOTIC SYSTEMS Combined Transformations π3 = rot(π¦, 90°) 24 Relative to Moving Frame EMJ37303 ROBOTIC SYSTEMS Combined Transformations 25 Relative to Moving Frame π1 = rot(π, 90°) π2 = trans(4, −3,7) π = π1 π2 π3 EMJ37303 ROBOTIC SYSTEMS Combined Transformations π3 = rot(π, 90°) 26 Relative to Moving & Fixed Frame EMJ37303 ROBOTIC SYSTEMS Combined Transformations 27 Relative to Moving & Fixed Frame EMJ37303 ROBOTIC SYSTEMS Combined Transformations 28 Assume for transformation π1 , π2 , π3 • Transformations relative to Fixed Frame π = π3 π2 π1 • Transformations relative to Moving Frame π = π1 π2 π3 EMJ37303 ROBOTIC SYSTEMS Summary: Combined Transformation Assume for transformation π1 , π2 , π3 , π4 . Where, π1 and π3 are relative to Fixed Frame, while π2 and π4 are relative to Moving Frame. π = π3 π1 π2 π4 29 EMJ37303 ROBOTIC SYSTEMS Inverse Transformation π§π΅ π§π΄ π¦π΅ π΅ π·π¨ππ πΊ π΄ π₯π΄ π¦π΄ π΄ π΅π π΄ −1 π΅π π·π΅ππ πΊ = π΅ π΄π = = π΄ π΄ π΅π 0 0 0 π΄ π π΅π 0 0 0 π₯π΅ π΅ π·BORG 1 π·AORG − π΅π΄π π π΄π·BORG 1 π −1 = π π , π −1 ≠ π π π΅ π΄π 30 EMJ37303 ROBOTIC SYSTEMS Compound Transformations π πΈπ = ππ π π»π π π»πΈπ= πππ πΈππ π π»π =? π −1 π π π» π» −1 π −1 π π π» −1 π π π π π = π π π» πΈ πΈ π π ππ πΈ π πΈ π π π»π = π΄ π΅ −1 π΅ π π΄π =I π −1 π π π» −1 π π ππ πΈ π πΈ π 31 EMJ37303 ROBOTIC SYSTEMS Compound Transformations π΄ π = π΅π΄π π΅π π΅ π π΅ π΄ π= π΄ π= π΄ π΅ π΅π π π΄ π΅ πΆ π΅π πΆ π π ∴ π΅π΄π π΅πΆπ = π΄πΆπ π΄ πΆπ = π΄ π΅ π΅π π·CORG π΄ π΅ π΅π πΆ π 0 0 π = π΅πΆπ πΆπ 0 + π΄π·BORG 1 32 EMJ37303 ROBOTIC SYSTEMS Compound Transformations {C} B C T C D T {B} {D} A B T C E T {A} D E T E A T T CBT CDT DAT = I A B T = CDT DET = CBT −1 ABT −1 EAT −1 C E C B T BAT EAT {E} 33 {C} T = CDT DET EAT ABT EMJ37303 ROBOTIC SYSTEMS Compound Transformations C B C B T C D T {B} {D} A B T {A} D E T E A T {E} T = DET −1 CDT −1 CBT ABT −1 E A I = EAT −1 DET −1 CDT −1 CBT ABT −1 34 EMJ37303 ROBOTIC SYSTEMS Exercise Exercise 1 Solution: π§π΅ Position: π¦π΅ π§π΄ π΄ π·π΅ππ πΊ π¦π΄ π₯π΅ π₯π΄ Frame B is located at 3,4,5 unit from frame A, with yB axis is parallel to yA axis. Its xB and zB at 30 deg relative to xA and zA due to a 30 deg rotation around yB axis. Describe Frame B with respect to frame A. π΄ π·π΅ππ πΊ = 3 4 5 Orientation: cos 30° π΄ π΅π = cos 90° cos 120° π cos 90° cos 0° cos 90° cos 60° cos 90° cos 30° Thus, frame B can be described with respect to frame A by √3 2 π΄ π΅π = 0 −12 0 0 1 0 0 1 2 0 √3 2 0 3 4 5 1 35 EMJ37303 ROBOTIC SYSTEMS Transformation: Summary {B} Description of a frame A ο© A BR T = οͺ B ο«0 0 0 {A} A PBORG {B} B {A} A P A P PBORG A PBORG οΉ οΊ 1 ο» Transform Mapping A P = ABT B P ο© A P οΉ ο© BA R οͺ οΊ=οͺ ο« 1 ο» ο«0 0 0 A PBORG οΉ ο© B P οΉ οΊοͺ οΊ 1 ο»ο« 1 ο» Transform Operator A {A} A P 2 Q A P1 P2 = T A P2 ο©1 ο© A P2 οΉ οͺ0 οͺ οΊ = οͺ0 ο« 1 ο» οͺ οͺ ο«0 0 0 qx οΉ 1 0 q y οΊ ο© A P1 οΉ οΊοͺ οΊ 0 1 qz οΊ ο« 1 ο» οΊ 0 0 1ο» A P2 = A P2 + Q (vector operation) 36