Introduction to ROBOTICS Robot Kinematics I Dr. Alex Ramirez-Serrano Department of Mech. & Manuf Engineering University of Calgary [email protected] 1 Outline • Review – Manipulator Specifications • Precision, Repeatability – Homogeneous Matrix • Denavit-Hartenberg (D-H) Representation • Kinematics Equations • Inverse Kinematics 2 Review • Manipulator, Robot arms, Industrial robot – A chain of rigid bodies (links) connected by joints (revolute or prismatic) • Manipulator Specification – DOF, Redundant Robot – Workspace, Payload How accurately a specified point can be reached – Precision accurately the same position can be reached – Repeatability How if the motion is repeated many times 3 Review • Manipulators: Cartesian: PPP Cylindrical: RPP Spherical: RRP Hand coordinate: Articulated: RRR SCARA: RRP n: normal vector; s: sliding vector; (Selective Compliance Assembly Robot Arm) a: approach vector, normal to the tool mounting plate 4 Review • Basic Rotation Matrix px i x i u Pxyz p y jy i u p z k z i u Pxyz RPuvw i x jv jy jv k z jv i x k w pu jy k w pv RPuvw k z k w pw z w P v Puvw QPxyz Q R 1 RT u y x 5 Basic Rotation Matrices – Rotation about x-axis with 1 0 Rot ( x, ) 0 C 0 S 0 S C – Rotation about y-axis with C Rot ( y, ) 0 S – Rotation about z-axis with Pxyz RPuvw C Rot ( z, ) S 0 S 1 0 0 C 0 S C 0 0 0 1 6 Review • Coordinate transformation from {B} to {A} r ARB B r P Ar o' A P A r P A RB 1 013 B P r r 1 1 A o' • Homogeneous transformation matrix RB TB 013 A A r R33 1 0 A o' P31 1 Rotation matrix Position vector Scaling 7 Review • Homogeneous Transformation – Special cases 1. Translation I 33 A TB 013 A o' r 1 A RB A TB 013 031 1 2. Rotation 8 Review • Composite Homogeneous Transformation Matrix • Rules: – Transformation (rotation/translation) w.r.t. (X,Y,Z) (OLD FRAME), using pre-multiplication – Transformation (rotation/translation) w.r.t. (U,V,W) (NEW FRAME), using post-multiplication 9 Review • Homogeneous Representation – A point in R 3 space px p P y Homogeneous coordinate of P w.r.t. OXYZ pz P( p x , z 1 a s – A frame in R space 3 nx n s a P n y F 0 0 0 1 nz 0 p y , pz ) sx sy ax ay sz 0 az 0 px p y pz 1 n y x 10 Review • Orientation Representation (Euler Angles) – Description of Roll-Pitch-Yaw • A rotation of about the OX axis ( Rx , ) -- yaw • A rotation of about the OY axis ( R y , ) -- pitch • A rotation of about the OZ axis ( Rz , ) -- roll Z Y X 11 Quiz 1 • How to get the resultant rotation matrix for YPR? T Rz , Ry , Rx, C S 0 0 S C 0 0 0 0 C 0 0 0 1 0 S 0 1 0 Z X 0 1 S 0 0 0 0 1 0 C 0 0 1 0 0 C 0 S 0 0 0 S C 0 0 0 0 1 Y 12 Quiz 2 • Geometric Interpretation? R33 T 0 P31 1 Orientation of OUVW coordinate frame w.r.t. OXYZ frame Position of the origin of OUVW coordinate frame w.r.t. OXYZ frame • Inverse Homogeneous Matrix? T T Inverse of the rotation submatrix R R P 1 is equivalent to its transpose T Position of the origin of OXYZ 1 reference frame w.r.t. OUVW frame 0 T R T 1T 0 R T P R P R T R 0 I 44 1 0 1 0 1 13 Kinematics Model • Forward (direct) Kinematics q (q1 , q2 ,qn ) Joint variables Direct Kinematics z Position and Orientation of the end-effector y x Inverse Kinematics Y ( x, y, z, , , ) • Inverse Kinematics 14 KINEMATICS The science of motion that treats the subject without regards to the forces that cause it. Here we study the: Position, Velocity, Acceleration and other high order derivatives….. ai-1 vi-1 vi ai Dr. A. Ramirez-Serrano Types of joints in manipulators Basic distinction: what kinds of joints extend from base to end. “RR” or “2R” “PR” arm All manipulators can be represented as chains of P (prismatic) and R (rotational) joints. Joints with singly DOF ! The six possible robot lower-pair joint types Dr. A. Ramirez-Serrano Robot Links and Joints Links 17 Denavit-Hartenberg (D-H) Convention • Number the joints from 1 to n starting with the base and ending with the end-effector. • Establish the base coordinate system. Establish a right-handed orthonormal coordinate system ( X 0 , Y0 , Z 0 ) at the supporting base with Z 0 axis lying along the axis of motion of joint 1. • Establish joint axis. Align the Zi with the axis of motion (rotary or sliding) of joint i+1. • Establish the origin of the i-th coordinate system. Locate the origin of the i-th coordinate at the intersection of the Zi & Zi-1 or at the intersection of common normal between the Zi & Zi-1 axes and the Zi axis. • Establish Xi axis. Establish X i (Zi 1 Zi ) / Zi 1 Zi or along the common normal between the Zi-1 & Zi axes when they are parallel. • Establish Yi axis. Assign Yi (Zi X i ) / Zi X i to complete the right-handed coordinate system. • Find the link and joint parameters 18 Example: • 3 Revolute Joints Z3 Z1 Z0 Y0 O3 Y1 Link 1 Joint 1 Joint 3 O0 X0 Joint 2 X3 d2 Link 2 O1 X1 O2 X2 Y2 a0 a1 19 Link Coordinate Frames • Assign Link Coordinate Frames: – To describe the geometry of robot motion, we assign a Cartesian coordinate frame (Oi, Xi,Yi,Zi) to each link, as follows: • establish a right-handed orthonormal coordinate frame O0 at the supporting base with Z0 lying along joint 1 motion axis. • the Zi axis is directed along the axis of motion of joint (i + 1), that is, link (i + 1) rotates about or translates along Zi; Z3 Z1 Z0 Y0 O3 Y1 Link 1 Joint 1 Joint 3 O0 X0 Joint 2 X3 d2 Link 2 O1 X1 O2 X2 Y2 a0 a1 20 Link Coordinate Frames – Locate the origin of the ith coordinate at the intersection of the Zi & Zi-1 or at the intersection of common normal between the Zi & Zi-1 axes and the Zi axis. – the Xi axis lies along the common normal from the Zi-1 axis to the Zi axis X i (Zi 1 Zi ) / Zi 1 Zi , (if Zi-1 is parallel to Zi, then Xi is specified arbitrarily, subject only to Xi being perpendicular to Zi); Z3 Z1 Z0 Y0 Joint 3 O3 Y1 X3 d2 Joint 1 O0 X0 Joint 2 O1 X1 O2 X2 Y2 a0 a1 21 Link Coordinate Frames – Assign Yi (Zi X i ) / Zi X i to complete the righthanded coordinate system. • The hand coordinate frame is specified by the geometry On of the end-effector. Normally, establish Zn along the direction of Zn-1 axis and pointing away from the robot; establish Xn such that it is normal to both Zn-1 and Zn axes. Assign Yn to complete the right-handed coordinate system. Z3 Z1 Z0 Y0 Joint 3 O3 Y1 X3 d2 Joint 1 O0 X0 Joint 2 O1 X1 O2 X2 Y2 a0 a1 22 Example I Z3 Z1 Z0 Y0 Joint 3 O3 Y1 X3 d2 Joint 1 O0 X0 Joint 2 O1 X1 O2 X2 Y2 a0 a1 i : rotation angle from Zi-1 to Zi about Xi ai : distance from intersection of Zi-1 & Xi D-H Link Parameter Table Joint i i ai di i 1 0 a0 0 0 2 -90 a1 0 1 3 0 0 d2 2 to origin of i coordinate along Xi di : distance from origin of (i-1) coordinate to intersection of Zi-1 & Xi along Zi-1 i : rotation angle from Xi-1 to Xi about Zi-1 City College of New York 23 Joint and Link Parameters LINK length: ai-1 Distance along a line that is mutually perpendicular to both axes (i & i-1). Unique or infinite-Parallel axes. LINK twist: i-1 The relative location of the two axes (i & i-1) . LINK offset: di Neighboring links have a common axis between them. Distance along this common axis from one link to the next (Link i & i-1). JOINT angle: i Amount or rotation about the common axis between one link and the next (Link i & i-1). 24 Link and Joint Parameters • Joint angle i : the angle of rotation from the Xi-1 axis to the Xi axis about the Zi-1 axis. It is the joint variable if joint i is rotary. • Joint offset d i : the distance from the origin of the (i-1) coordinate system to the intersection of the Zi-1 axis and the Xi axis along the Zi-1 axis. It is the joint variable if joint i is prismatic. • Link length ai : the distance from the intersection of the Zi-1 axis and the Xi axis to the origin of the ith coordinate system along the Xi axis. • Link twist angle i : the angle of rotation from the Zi-1 axis to the Zi axis about the Xi axis. 25 Summary: DH Link Parameter Table The Denavit-Hartenberg convention (DH convention) is commonly used to define reference frames for robotic serial arms. This convention is based on two assumptions: DH1 : The z-axis will lie along the joint. According to many authors, axis zi-1 lies along joint i. For example, the axis x1 is perpendicular to the axis zo . DH2 : The x-axes lie along the common normals between the joint axes. According to many authors, axis zi-1 lies along joint i. For example, the axis x 1 intersects the axis z0 . Link i αi ai di Θi 1 Angle between zo and z1 measured about x1 Distance from zo to z1 measured along x1 Distance from xo to x1 measured along zo Angle between xo and x1 measured about zo 2 Angle between z1 and z2 measured about x2 Distance from z1 to z2 measured along x2 Distance from x1 to x2 measured along z1 Angle between x1 and x2 measured about z1 n Angle between zn and zn+1 measured about xn+1 Distance from zn to Distance from xn zn+1 measured along to xn+1 measured xn+1 along zn Angle between xn and xn+1 measured about zn 26 Example: Z3 Z1 Z0 Y0 Joint 3 O3 Y1 X3 d2 Joint 1 O0 X0 Joint 2 O1 X1 O2 X2 Y2 a0 a1 i : rotation angle from Zi-1 to Zi about Xi ai : distance from intersection of Zi-1 & Xi D-H Link Parameter Table Joint i i ai di i 1 0 a0 0 0 2 -90 a1 0 1 3 0 0 d2 2 to origin of i coordinate along Xi di : distance from origin of (i-1) coordinate to intersection of Zi-1 & Xi along Zi-1 i : rotation angle from Xi-1 to Xi about Zi-1 27 Example II: PUMA 260 1 2 Z1 3 O1 1. Number the joints 2. Establish base frame 3. Establish joint axis Zi 4. Locate origin, (intersect. of Zi & Zi-1) OR (intersect of common normal & Zi ) X1 Z2 Z6 5. Y1 O2 Y3 Z Z4 O3 X 2 5 6 Y6 Y2 5 O 6 Z0 Y5 Y X3 4 t O5 X5 X6 O4 Z 3 X4 Establish Xi,Yi X i (Zi 1 Zi ) / Zi 1 Zi Yi (Zi X i ) / Zi X i 4 PUMA 260 City College of New York 28 Link Parameters 1 J 2 1 Z1 2 3 O1 3 X1 Z2 Z6 Y1 O Y3 2 Z Z4 O3 X 2 5 6 Y6 Y2 5 O 6 Z0 Y5 Y X3 4 O5 X5 X6 O4 Z 3 X4 Joint distance 4 4 5 6 i 1 2 3 4 5 6 i ai d i -90 0 13 0 8 0 90 0 -90 0 -l 8 90 0 0 0 0 t i : angle from Xi-1 to Xi about Zi-1 i : angle from Zi-1 to Zi about Xi ai : distance from intersection of Zi-1 & Xi to Oi along Xi d i : distance from Oi-1 to intersection of Zi-1 & Xi along Zi-1 City College of New York 29 Transformation between i-1 and i • Four successive elementary transformations are required to relate the i-th coordinate frame to the (i-1)-th coordinate frame: – Rotate about the Z i-1 axis an angle of i to align the X i-1 axis with the X i axis. – Translate along the Z i-1 axis a distance of di, to bring Xi-1 and Xi axes into coincidence. – Translate along the Xi axis a distance of ai to bring the two origins Oi-1 and Oi as well as the X axis into coincidence. – Rotate about the Xi axis an angle of αi ( in the right-handed sense), to bring the two coordinates into coincidence. 30 Transformation between i-1 and i • D-H transformation matrix for adjacent coordinate frames, i and i-1. – The position and orientation of the i-th frame coordinate can be expressed in the (i-1)th frame by the following homogeneous transformation matrix: Source coordinate Ti i 1 T ( zi 1 , d i ) R ( zi 1 , i )T ( xi , ai ) R ( xi , i ) Reference Coordinate C i S i 0 0 C i S i C i C i S i S i S i C i S i 0 C i 0 ai C i ai S i di 1 31 Kinematic Equations q (q1 , q2 ,qn ) • Forward Kinematics – Given joint variables – End-effector position & orientation Y ( x, y, z, , , ) n • Homogeneous matrix T0 – specifies the location of the ith coordinate frame w.r.t. the base coordinate system – chain product of successive coordinate transformation matrices of Ti i 1 T T T T n 0 Orientation matrix R0n 0 1 2 0 1 n n 1 Position vector P0n n s a P0n 1 0 0 0 1 32 Forward Kinematics Exercise: Problem: Obtain the kinematic equations of motion for the two joint arm show on the left. The robot has on revolute joint at the base, followed by a prismatic joint, followed by a revolute joint for the hand. Figure: Robot Manipulator NOTE: For a revolute joint, the joint is the axis of rotation. For a prismatic joint, the joint is on the motion path of the joint. Step # 1: Assign the robot’s joint and frames of reference and obtain the corresponding parameters (e.g., link length, link twist, etc). Figure 2: Robot with Joint & Frame Assignments 33 Forward Kinematics Exercise: Figure 2: Robot with Joint & Frame Assignments Step # 2: From the joints and frames obtained in Step 1 build the robot’s DH Table. Link i αi ai di Θi Ti i-1 1 90 0 d1 Θ 1* T 1o 2 0 0 d2* 0 T 21 3 0 0 d3 Θ 3* T 32 Note: * denotes variable joint parameters. For each link, only one unknown joint variable can exist for each joint axis. 34 Forward Kinematics Exercise: Link i αi di Θi Ti i-1 1 90 0 d1 Θ 1* T 1o 2 0 0 d2* 0 3 0 0 d3 ai Θ 3* T 21 T 32 Step # 3: From the DH table obtain the corresponding homogeneous transformations. The resulting transformation matrices for the manipulator are given below: 35 Kinematics Equations • Other representations – reference from, tool frame 0 Treftool Bref T0n H ntool – Roll-Pitch-Yaw representation for orientation T Rz , Ry , Rx, C S 0 0 S C 0 0 0 0 C 0 0 0 1 0 S 0 1 0 0 1 S 0 0 C 0 0 0 0 0 1 1 0 0 C 0 S 0 0 0 S C 0 0 0 0 1 36 Solving forward kinematics • Forward kinematics 1 2 3 4 5 6 px p y pz • Transformation Matrix nx n T y nz 0 sx sy ax ay sz 0 az 0 px p y pz 1 37 Solving forward kinematics • Roll-Pitch-Yaw representation for orientation CC CSS SC SC SSS CC T0n S CS 0 0 nx n T0n y nz 0 Problem? sx sy ax ay sz 0 az 0 px p y pz 1 CSC SS SSC CS CC 0 sin 1 (nz ) px p y pz 1 az cos ( ) cos nx 1 cos ( ) cos 1 Solution is inconsistent and ill-conditioned!! 38 atan2(y,x) y x 0 90 for x and y for x and y 90 180 a tan 2( y, x) 180 90 for x and y 90 0 for x and y 39 Roll-Pitch-Yaw Representation T Rz , Ry , Rx, C S 0 0 S C nx n y nz 0 sx sy ax ay sz 0 az 0 0 0 0 0 C 0 0 0 1 0 S 0 1 0 0 1 S 0 0 C 0 0 0 0 0 1 1 0 0 C 0 S 0 0 0 S C 0 0 0 0 1 0 0 0 1 40 Roll-Pitch-Yaw Representation 1 z , R T Ry , Rx, C S 0 0 C 0 S 0 S C 0 0 0 1 0 0 n x 0 0 n y 1 0 n z 0 1 0 S 0 0 C 0 0 0 0 0 1 sx sy ax ay sz 0 az 0 1 0 0 C 0 S 0 0 0 S C 0 0 0 0 1 (Equation A) 0 0 0 1 41 Roll-Pitch-Yaw Representation • Compare LHS and RHS of Equation A, we have: sin nx cos ny 0 a tan 2(ny , nx ) cos nx sin n y cos nz sin a tan 2(nz , cos nz sin ny ) sin s x cos s y cos sin ax cos a y sin a tan 2(sin ax cos a y , sin sx cos s y ) 42 Kinematic Model • Steps to derive kinematics model: – – – – – Assign D-H coordinates frames Find link parameters Transformation matrices of adjacent joints Calculate Kinematics Matrix When necessary, Euler angle representation 43 Example: Z3 Z1 Z0 Y0 Joint 3 O3 Y1 X3 d2 Joint 1 O0 X0 Joint 2 O1 X1 O2 X2 Y2 a0 a1 Joint i i ai di i 1 0 a0 0 0 2 -90 a1 0 1 3 0 0 d2 2 44 Example: Joint i i ai di i 1 0 a0 0 0 Ti i 1 2 -90 a1 0 1 3 0 0 d2 2 C i S i 0 0 C i S i C i C i S i S i S i C i S i 0 C i 0 T03 (T 01)(T 21)(T 23) ai C i ai S i di 1 cosθ 0 1 sinθ 0 T 0 0 0 cosθ1 2 sinθ1 T 1 0 0 cosθ 2 3 sin 2 T 2 0 0 0 a0 cos 0 0 a0 sin 0 1 0 0 1 sinθ 0 cosθ 0 0 0 0 0 sin 1 cos 1 1 0 0 0 sinθ 2 cos 2 0 0 a1 cos 1 a1 sin 1 0 1 0 0 1 d2 0 1 0 0 45 Example: Puma 560 46 Example: Puma 560 47 Link Coordinate Parameters PUMA 560 robot arm link coordinate parameters Joint i i i 1 1 -90 2 2 0 431.8 149.09 3 3 90 -20.32 0 4 5 4 5 -90 90 0 0 433.07 0 6 6 0 0 56.25 ai(mm) di(mm) 0 0 48 Example: Puma 560 49 Example: Puma 560 50 Inverse Kinematics • Given a desired position (P) & orientation (R) of the endz effector q (q1 , q2 ,qn ) • Find the joint variables which can bring the robot to the desired configuration y x 51 Inverse Kinematics • More difficult – Systematic closed-form solution in general is not available – Solution not unique (x , y) • Redundant robot • Elbow-up/elbow-down configuration – Robot dependent 52 Inverse Kinematics • Transformation Matrix nx n T y nz 0 sx sy ax ay sz 0 az 0 px p y T01T12T23T34T45T56 pz 1 1 2 3 4 5 6 Special cases make the closed-form arm solution possible: 1. Three adjacent joint axes intersecting (PUMA, Stanford) 2. Three adjacent joint axes parallel to one another (MINIMOVER) 53 Thank you! Homework # 2 posted on the web. Due: Feb. 27, 2014 Next class: Jocobian Matrix, Trajectory planning z z z y y x z x y x y x 54
© Copyright 2024 ExpyDoc