Chapter 4: Inverse Kinematics ROBOTICS Outline: • • • • • Introduction Solvability Manipulator subspace when n<6 Algebraic vs. Geometric Example: Kinematics of PUMA Robot 1 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Introduction: • Direct kinematics: Given the joint angles calculate the position and orientation of the tool {T} relative to the station {S} • Inverse kinematics: Given the desired position and orientation of the tool {T} relative to the station {S}, how to calculate the set of joint angles that give the desired result? – Find {W} from {T}; WTT Find {B} from {S}; BST – Solve WBT for joint angles Faculty of Engineering - Mechanical Engineering Department 2 Chapter 4: Inverse Kinematics ROBOTICS Solvability: • Nonlinear problem: solve WBT 0nT (1 ,1 ,..., n ) to find the values of • Linear and nonlinear problems? • Ex.: Puma manipulator r11 r 21 0 T n r31 0 r12 r13 r22 r23 r32 r33 0 0 Px Py Pz 1 12 values find 1 ,1 ,..., n 12 equations and 6 unknowns, rotation part (r11 … r33), only 3 independent Faculty of Engineering - Mechanical Engineering Department 3 Chapter 4: Inverse Kinematics ROBOTICS Solvability: • Nonlinear problem: solve WBT 0nT (1 ,1 ,..., n ) to find the values of • Linear and nonlinear problems? • Ex.: Puma manipulator r11 r 21 0 T n r31 0 r12 r13 r22 r23 r32 r33 0 0 Px Py Pz 1 12 values find 1 ,1 ,..., n 12 equations and 6 unknowns, rotation part (r11 … r33), only 3 independent Faculty of Engineering - Mechanical Engineering Department 4 Chapter 4: Inverse Kinematics ROBOTICS Solvability: 3 independent equations for the orientation and 3 independent equations for the position Nonlinear equations that are difficult to solve. – Note that these were for simple links α = 0, 90, -90, … and many (d & a) = 0. – General case (α, d, & a) have other nonzero values More complex case. We must concern on – Existence of solution? – Multiple solutions? – Method of solution? Faculty of Engineering - Mechanical Engineering Department 5 Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Existence of solution) • Existence of solution Existence or nonexistence of a solution defines the workspace of the manipulator. • Workspace (W.S.): (Figure) – The volume of the space that the E.E. of the robot can reach. – A solution to exist the desired position & orientation (goal) must lie in the W.S. • Two types of workspaces: – Dextrous W.S.: volume of the W.S. in which the E.E. can reach with all the orientations. – Reachable W.S.: volume of the W.S. in which the E.E. can reach in 6 at least one orientation. Dextrous W.S. is a subset of the reachable W.S. Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Existence of solution) • Example: if l1 = l2 determine the dextrous and reachable W.S. 8 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Existence of solution) • Example: if l1 = (l2/2) 0 1 90 0 2 180 determine the dextrous and reachable W.S. 9 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Existence of solution) • Factors that affect the W.S. of a robot: – Limitations on joint angles Generally: min < θi < max. Most of the robots have limitations on their joint angles. The W.S. is reduced; this may affect the attained positions or the number of orientations for the attained position. • Ex.: for the previous sketch 0 ≤ θi ≤ 180 sketch the W.S. The same positions can be reached, however in only one orientation. – Limitations on the number of DoF: A 3D-space goal is not attainable by a manipulator of DoF < 6. For the manipulator of the previous example can not attain 10a position of nonzero z-value. Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Multiple Solutions) • The manipulator can reach the goal with different configurations. Ex. The planar 3DoF manipulator shown can reach any goal in the dextrous W.S. in more than one way. • (Problem) the system should be able to calculate all and choose one. 1) A good choice can be based on minimizing the amount that each joint is required to move. Which is almost the same as choosing the solution “closest” to the current configuration. Must be investigated. (energy, path,…) Faculty of Engineering - Mechanical Engineering Department 11 Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Multiple Solutions) • The manipulator can reach the goal with different configurations. Ex. The planar 3DoF manipulator shown can reach any goal in the dextrous W.S. in more than one way. • (Problem) the system should be able to calculate all and choose one. 2) In the case of the existence of an obstacle the configuration free of obstacles is chosen. 12 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Multiple Solutions) • Factors that affect the number of solutions: a) The number of joints (DoF). b) the range of motion of the joint. c) DH parameters (ai, αi, θi, di): (the number of nonzero DH parameters ↑ the number of solutions ↑). Example: For a general 6 rotational joints robot there is a direct relation between # of nonzero ai and the # of solutions 13 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Multiple Solutions) • “For a completely general rotary-jointed manipulator with six degrees of freedom, there are up to sixteen solutions possible” • Example: the Puma robot has 8 different solutions for general goals 14 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Method of Solution) Recall: Nonlinear equations A manipulator is solvable no direct method / algorithm for solving for a given position and orientation the algorithm can find all the sets of joint variables Numerical methods are dismissed as they converge to local solution 15 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Method of Solution) • Two types of solutions: – Closed form solutions – Numerical solutions: 16 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Method of Solution) • Two types of solutions: – Closed form solutions – Numerical solutions: • Iterative much slower • Need initial guess • Converge to local solutions 17 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Method of Solution) • Two types of solutions: – Closed form solutions – Numerical solutions: • Iterative much slower • Need initial guess • Converge to local solutions Out of our scope 18 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Method of Solution) • Two types of solutions: – Closed form solutions: Solution method based on analytic expressions or on the solution of four degrees polynomial or less (no need for iterative methods to reach a solution). – all systems with revolute and prismatic joints having a total of a six DoF in a single series chain are now solvable (numerically). – Analytical solution is for special cases only: • Several intersecting joint axes • Many i equal to zero or 90 – Closed form solution for the robot is a very important designer objective! 19 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS Solvability: (Method of Solution) • Two types of solutions: – Closed form solutions: A condition for closed form solution of a six rev. joints robot is that three consecutive joint axes intersect at a point (most of the new robots). Pieper presented an approach for solving the inverse kinematic of a robot of such condition. See the book for more information. 20 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS The notion of a manipulator subspace (n<6) • A manipulator that has # DoF<6 has a workspace lower than the workspace of a 6-DoF robot of the same topology, i.e. its workspace is a portion or a subspace of higher DoF robot. • A 6-DoF workspace is a subset of space. • A lower DoF robot workspace is a subset of its subspace. Which is also a subset of a 6-DoF robot subspace of the same topology. 21 Faculty of Engineering - Mechanical Engineering Department Chapter 4: Inverse Kinematics ROBOTICS The notion of a manipulator subspace (n<6) Example: The subspace of the two links robot is the plane (x,y), its W.S. is a subset of the plane: circle of radius L1+L2 (reachable) 22 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 4: Inverse Kinematics The notion of a manipulator subspace (n<6) • A way to specify the subspace of a robot is from the expression of its wrist/tool frame (position and orientation relative to the base frame) as a function of the variables of the robot. B i.e. WT as a function of any independent parameters. Example: Find the subspace of the following robot, (x,y) 1 Faculty of Engineering - Mechanical Engineering Department 23 ROBOTICS Chapter 4: Inverse Kinematics The notion of a manipulator subspace (n<6) Solution: This can be done in two ways: 0 1 2 T ( ), T ( ), 1) Find 1 1 2 2 3T (3 ) B 0 0 1 2 T ( , , ) T T ( ) T ( ) Then W 1 2 3 3 1 1 2 2 3T ( 3 ) c123 s 123 B T W 0 0 s123 c123 0 0 0 l1c1 l2 c12 0 l1s1 l2 s12 1 0 0 1 (x,y) 1 24 Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 4: Inverse Kinematics The notion of a manipulator subspace (n<6) Solution: 2) Or, use (x,y,) to calculate WBT , as follows, B ˆ B ˆ B ˆ B X Y Z P B W W OB ,OW W T W 0 0 1 0 cos( ) sin( ) B ˆ X W sin( ) BYˆW cos( ) 0 0 0 x B ˆ ZW 0 B POB ,OW z 1 0 Faculty of Engineering - Mechanical Engineering Department (x,y) 1 25 Chapter 4: Inverse Kinematics ROBOTICS The notion of a manipulator subspace (n<6) Solution: 2) Or, use (x,y,) to calculate WBT , as follows, cos( ) sin( ) 0 x B ˆ B ˆ B ˆ B sin( ) cos( ) 0 y X Y Z P B W W OB ,OW W T W 0 0 1 0 0 0 0 1 0 0 0 1 cos( ) sin( ) B ˆ X W sin( ) BYˆW cos( ) Any wrist frame that does not B have the structure of 0 0 WT lies outside the subspace of this robot 0 x and so lies outside of its W.S. B ˆ ZW 0 B POB ,OW y 26 VERY IMPORTANT 1 0 B Only 3 ind. para. must appear in WT Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 4: Inverse Kinematics The notion of a manipulator subspace (n<6) Example: Give the description of the subspace of WBT for the following 2 three-link robot 0 PO0 ,O2 x y 0 Yˆ0 O0 Ẑ 2 is a unit vector in the direction of 0 PO ,O 0 Zˆ 2 0 PO0 ,O2 0 PO0 ,O2 0 X̂ 0 O2 2 Faculty of Engineering - Mechanical Engineering Department (x,y) X̂ 2 Ẑ 2 27 ROBOTICS Chapter 4: Inverse Kinematics The notion of a manipulator subspace (n<6) 0 0 ˆ Y2 0 1 y x 0 ˆ i X 2 (k ) 2 2 x2 y 2 y x y x 0 ˆ i j X2 2 2 2 2 x y x y y 2 2 y x x 0 ˆ X2 2 2 x y 0 j Yˆ0 O0 X̂ 0 Faculty of Engineering - Mechanical Engineering Department O2 (x,y) X̂ 2 Ẑ 2 28 ROBOTICS Chapter 4: Inverse Kinematics The notion of a manipulator subspace (n<6) y 2 2 x y x 0 2T 2 2 x y 0 0 0 0 x x2 y 2 y x2 y 2 1 0 0 0 x y 0 1 2-DoF only 2 ind. parameters appear in the previous equation (x,y) Yˆ0 O0 X̂ 0 O2 (x,y) X̂ 2 Faculty of Engineering - Mechanical Engineering Department Ẑ 2 29 ROBOTICS Chapter 4: Inverse Kinematics Algebraic VS. Geometric Solutions • Algebraic solution: (example 3-DoF robot) – For this robot if (x, y, ) are known, then one can calculate c s 0 x s c 0 y B WT 0 1 0 0 0 0 0 1 – Also from the DH parameters of this robot c123 s 123 B T W 0 0 s123 c123 0 0 0 l1c1 l2 c12 0 l1s1 l2 s12 1 0 0 1 Faculty of Engineering - Mechanical Engineering Department (x,y) 1 30 ROBOTICS Chapter 4: Inverse Kinematics Algebraic VS. Geometric Solutions • Algebraic solution: (example 3-DoF robot) – For this robot if (x, y, ) are known, then one can calculate c s 0 x s c 0 y B WT 0 1 0 0 0 0 0 1 – Also from the DH parameters of this robot c123 s 123 B T W 0 0 s123 c123 0 0 0 l1c1 l2 c12 0 l1s1 l2 s12 1 0 0 1 Faculty of Engineering - Mechanical Engineering Department (x,y) 1 31 ROBOTICS Chapter 4: Inverse Kinematics Algebraic VS. Geometric Solutions • Algebraic solution: (example 3-DoF robot) – For this robot if (x, y, ) are known, then one can calculate c s 0 x s c 0 y B WT 0 1 0 0 0 0 0 1 – Also from the DH parameters of this robot c123 s 123 B T W 0 0 s123 c123 0 0 0 l1c1 l2 c12 0 l1s1 l2 s12 1 0 0 1 Faculty of Engineering - Mechanical Engineering Department (x,y) 1 32 ROBOTICS Chapter 4: Inverse Kinematics Algebraic VS. Geometric Solutions (Algebraic) l12 c12 2l1l2 c1c12 l22c122 l12 s12 2l1l2 s1s12 l22 s122 x 2 y 2 l12 2l1l2 c1c12 2l1l2 s1s12 l22 x 2 y 2 Note that: c12 c1c2 s1s2 ; s12 s1c2 c1s2 (x,y) l12 2l1l2 c2 l22 x 2 y 2 x 2 y 2 l12 l22 c2 2l1l2 Two possible solutions! x 2 y 2 l12 l22 Note that if 1 A solution exists 2l1l2 Faculty of Engineering - Mechanical Engineering Department 1 33 Chapter 4: Inverse Kinematics ROBOTICS Algebraic VS. Geometric Solutions (Algebraic) • Also, if we calculate01T and 13T , and taking into account that: x 0 y 0 Note that 0 PO0 ,O3 , 3 PO3 ,O3 1 0 1 3 0 0 0T PO0 ,O3 3T PO3 ,O3 1 1 From which one can obtain that: xc1 ys1 l1 l2 c2 a 2 was already calculated xs1 yc1 l2 s2 b Making use of the relation: A tan 2(b, a ) 2 A tan 2( a, b) 1 A tan 2( a, b) A tan 2( x, y ) 34 ? Faculty of Engineering - Mechanical Engineering Department ROBOTICS Chapter 4: Inverse Kinematics Algebraic VS. Geometric Solutions (Geometric) • For a 3D robot decompose the spatial geometry of the arm into several plane geometry. • Example: planner robot (simpler case) Notes! x 2 y 2 l12 l22 c2 2l1l2 cos(180 ) cos( ) 2 35 Faculty of Engineering - Mechanical Engineering Department