180 likes | 338 Views
ECE 450 Introduction to Robotics. Section: 50883 Instructor: Linda A. Gee 9/30/99 Lecture 09. Inverse Kinematics. Purpose: To generate an arm solution for the manipulator
E N D
ECE 450 Introduction to Robotics Section: 50883 Instructor: Linda A. Gee 9/30/99 Lecture 09
Inverse Kinematics • Purpose: To generate an arm solution for the manipulator • Given 0T6 and the desire is to solve for the values of the joint angles defined by q (q1, q2, q3, q4, q5, q6)T • A variety of methods exist for solving the inverse kinematics problem
Methods for Solving the Inverse Kinematics Problem • Inverse Transform Paul et al. 1981 • Screw Displacement Kohli and Soni 1975 • Dual Matrices Denavit 1956 • Dual Quaternian Young and Freudenstein 1964 • Iterative Uicker et al. 1964 • Geometric Approach Lee and Ziegler 1984
nx sx ax px 0T6 = ny sy ay py nz sz az pz 0 0 0 1 General Information about Inverse Kinematics Arm Transformation Matrix = 0A11A22A33A44A55A6 Expansion of this expression yields: 12 equations and 6 unknowns For the PUMA robot: 6 unknowns correspond to joint angles
Observations • Since there are more equations than unknowns, this implies that there are multiple solutions for the PUMA robot arm and arms that have similarly defined joints • Multiple solutions indicate that additional system information or conditions are necessary to yield a unique solution
Approaches to Finding the Inverse Kinematics Solution • Investigate two specific methods: • Euler Angles Solution • Geometric Approach
nx sx ax = Rz, Ru, Rw, ny sy ay nz sz az Inverse Transform Technique Using Euler Angles 3x3 Rotation Matrix
S C +C C S - S S + C C C -C S S S S C C Inverse Transform Technique cont’d C C -S C S - C S -S C C S S Rz, Ru, Rw, =
Inverse Transform cont’d • Use a one-for-one correspondence to solve for the [n s a]T values • Solve for , , • However, this leads to an ill-conditioned solution due to: • Cosine is an even function • Sine approaches zero when 0 or
Introduce a Consistent Approach • Use atan2(y,x) to solve for tan-1(y/x) expression where 0 /2 for +x and +y /2 for -x and +y = atan2 (y,x) = - -/2 for -x and -y -/2 0 for +x and -y
nx sx ax = Rz, Ru, Rw, ny sy ay nz sz az cos -sin 0 cos -sin 0 1 0 0 = 0 cos -sin sin cos 0 sin cos 0 0 sin cos 0 0 1 0 0 1 Inverse Transform Technique cont’d Use the expression
Useful Transformation Information • Q = R-1 = RT • QR = RTR = R-1R = I3
Inverse Transformation Method • Pre-multiply by Rz,-1 • Equate the elements in the matrix • Solve for , ,
Inverse Transform Method for PUMA Robots • PUMA robots use O, A, T to describe the Euler angles • O: (Orientation) the angle formed from the y0 axis to the projection on the XY plane about the z0 axis • A: (Altitude) the angle formed from the XY plane to the tool a axis about the s axis of the tool • T: (Tool) the angle formed from the XY plane to the tool s axis about the a axis of the tool
Euler Angles Defined for the PUMA Robot *Fu, Page 58
a y0 s n x0 Tool Coordinate System z0 Initial alignment of the tool coordinate system