Robot Engineering Inverse Kinematics By Vasfi Emre Ömürlü, Ph.D. Introduction to Inverse Kinematics In this lecture, you will learn: - Define inverse kinematics problem - Define tool configuration space and joint space - Find tool configuration vector - Find the task configuration vector - The IK of a three axis planar robot By Vasfi Emre Ömürlü, Ph.D., 2007 2 IK Problems Given the desired position p and orientation R for the tool, solve R(q) tool Tbase (q) 0 0 0 p(q ) 1 for q We want the transformation of cartesian coordinates into joint coordinates. It is necessary for real time control of robot manipulators. The desired motion of the tool is specified in the workspace, Find the corresponding joint angle motion. By Vasfi Emre Ömürlü, Ph.D., 2007 3 Example Specify a homogeneous transformation matrix that will position tool the peg just above the hole, find . Note that the peg Tbase extends 2 cm beyond the jaws of the gripper. . By Vasfi Emre Ömürlü, Ph.D., 2007 4 Configuration of the tool refers to Direct Kinematics problem Inverse Kinematics Problem . By Vasfi Emre Ömürlü, Ph.D., 2007 5 General Properties of Solutions A closed-form solution to the inverse kinematics problem exists only for certain classes of robotic mechanisms and the solution is not unique. Why multiple solutions? Kinematics Redundancy Multiple solutions may even exist with a Non-redundant robot. By Vasfi Emre Ömürlü, Ph.D., 2007 6 Tool Configuration Vector Specifies tool configuration without using p and R. Tool Orientation Recall, R=[r1,r2,r3] Strategy: attach roll angle information to the approach vector by scaling the approach vector by some function of the roll angle. Note: r3 is a unit vector Try f (qn)= By Vasfi Emre Ömürlü, Ph.D., 2007 7 Task Configuration Vector Def: Let p and R denote the position and orientation of the tool frame relative to the base frame and let qn represent the roll angle. Show how qn can be recovered from w . By Vasfi Emre Ömürlü, Ph.D., 2007 8 Example: SCARA Robot Find the tool configuration vector for a four axis SCARA robot. Ans: w p1 p2 p3 0 0 e qk / T From w, how many DOFs does this robot have? Why are there two zeros in w? By Vasfi Emre Ömürlü, Ph.D., 2007 9 Inverse Kinematics of a Three-Axis Planar Articulated Robot Derive the kinematic equations for the robot below and then solve the IK equations. Find the link coordinate diagram 1. Number the joints from 1 to n starting from the base 2. Assign x0 , y0 , z0 so that z0 aligns the axis of joint 1. 3. Align zk with the axis of joint k+1 . By Vasfi Emre Ömürlü, Ph.D., 2007 10 Inverse Kinematics of a Three-Axis Planar Articulated Robot 4. Since zk and zk-1 do not intersect, locate the origin of Lk at the intersection of zk with a normal between zk and zk-1. 5. Since zk and zk-1 are in parallel, point xk away from zk-1 . 6. Select yk to make a right handed coordinate system. By Vasfi Emre Ömürlü, Ph.D., 2007 11 Inverse Kinematics of a Three-Axis Planar Articulated Robot 7. 8. Done for all joints Tool tip is L3 . Align z3 with approach vector and y3 with the sliding vector. 9-14. . By Vasfi Emre Ömürlü, Ph.D., 2007 12 Inverse Kinematics of a Three-Axis Planar Articulated Robot The Arm Matrix tool Tbase T01T12T23 ; use Tkk1 C k S k 0 0 C k S k C k C k S k 0 By Vasfi Emre Ömürlü, Ph.D., 2007 S k S k C k S k C k 0 a k C k a k S k dk 1 13 Inverse Kinematics of a Three-Axis Planar Articulated Robot Final Result tool Tbase C123 S 123 0 0 S123 C123 0 0 0 a 2 C12 a1C1 0 a 2 S12 a1 S1 1 d3 0 1 The tool configuration vector is w = (w1 w2)T p is obtained from the last column of the arm matrix, By Vasfi Emre Ömürlü, Ph.D., 2007 14 Inverse Kinematics of a Three-Axis Planar Articulated Robot Shoulder Joint ans: w 2 w2 2 a1 2 a1 2 q 2 cos 1 1 2a1 a 2 Distance from L0 to L2 depends only on q2 By Vasfi Emre Ömürlü, Ph.D., 2007 15 Inverse Kinematics of a Three-Axis Planar Articulated Robot Base Joint ans: q1 a tan 2(a1 a2 C2 ) w2 a2 S 2 w1 , (a1 a2 C2 ) w1 a2 S 2 w2 We know q2 , solve for q1 now, By Vasfi Emre Ömürlü, Ph.D., 2007 16 Inverse Kinematics of a Three-Axis Planar Articulated Robot Base Joint: singularity If a1 = a2 = a, then C1 = and S1= Now, if q2 = π, C1 = S1 = Otherwise, q1= Def: atan2(y,x) = x 0 tan 1 ( y / x) sgn( y) / 2 x 0 1 x 0 tan ( y / x) sgn( y ) atan2(y,x) = tan-1(y/x) while keeping track of what quadrant y and x are in. By Vasfi Emre Ömürlü, Ph.D., 2007 17 Inverse Kinematics of a Three-Axis Planar Articulated Robot Tool Roll Joint w6 e ( q3 / ) so q3 This solution assumes that w is given, perhaps from a trajectory planner or knowledge about the task. By Vasfi Emre Ömürlü, Ph.D., 2007 18 Formulation Collection Fundamental Rotations PF RPM 1 0 Rot ( x, ) 0 C 0 S 0 S C C Rot ( y, ) 0 S Inverse Homogeneous Transformation T 1 0 S 1 0 0 C RT 0 0 C Rot ( z , ) S 0 S C 0 RT p 0 1 Kinematic Parameters: 2 joint (Joint angle (θ ) ve Joint distance (d )) + 2 link (Link length (a ) ve Twist angle (α )) k k k k By Vasfi Emre Ömürlü, Ph.D., 2007 19 0 0 1 Formulation Collection Screw transformation= screw (dk ,θk, 3) . screw (ak ,αk, 1) Tkk1 ( k , d k , a k , k ) q k 1 Link Coordinate Transformation Tkk1 Arm Matrix C k S k 0 0 C k S k C k C k S k 0 T tool base S k S k C k S k C k 0 Tkk1 q k a k C k a k S k R p dk 1 0 0 0 1 (q ) By Vasfi Emre Ömürlü, Ph.D., 2007 20