Kinematic Analysis of the 6R Manipulator of General Geometry

Similar documents
TECHNICAL RESEARCH REPORT

Direct Position Analysis of a Large Family of Spherical and Planar Parallel Manipulators with Four Loops

Homogeneous Transformations

MECH 576 Geometry in Mechanics November 30, 2009 Kinematics of Clavel s Delta Robot

The matrix will only be consistent if the last entry of row three is 0, meaning 2b 3 + b 2 b 1 = 0.

Math 1314 Week #14 Notes

8 Velocity Kinematics

Trajectory-tracking control of a planar 3-RRR parallel manipulator

Core A-level mathematics reproduced from the QCA s Subject criteria for Mathematics document

Linear Algebra. Min Yan

Determine whether the following system has a trivial solution or non-trivial solution:

Chapter 2 Notes, Linear Algebra 5e Lay

DYNAMICS OF PARALLEL MANIPULATOR

Derivation of dual forces in robot manipulators

Kinematics of a UR5. Rasmus Skovgaard Andersen Aalborg University

DYNAMICS OF PARALLEL MANIPULATOR

7.6 The Inverse of a Square Matrix

LS.1 Review of Linear Algebra

MECH 576 Geometry in Mechanics September 16, 2009 Using Line Geometry

Results on Planar Parallel Manipulators with Cylindrical Singularity Surface

Robotics 1 Inverse kinematics

chapter 12 MORE MATRIX ALGEBRA 12.1 Systems of Linear Equations GOALS

7.5 Operations with Matrices. Copyright Cengage Learning. All rights reserved.

Numerical Methods for Inverse Kinematics

SOLVING Ax = b: GAUSS-JORDAN ELIMINATION [LARSON 1.2]

NAME DATE PERIOD. Operations with Polynomials. Review Vocabulary Evaluate each expression. (Lesson 1-1) 3a 2 b 4, given a = 3, b = 2

RAGHAVAN AND ROTH'S SOLUTION

PURE MATHEMATICS AM 27

Linear Algebra. The analysis of many models in the social sciences reduces to the study of systems of equations.

Linear equations in linear algebra

Screw Theory and its Applications in Robotics

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 2: Rigid Motions and Homogeneous Transformations

Robotics & Automation. Lecture 17. Manipulability Ellipsoid, Singularities of Serial Arm. John T. Wen. October 14, 2008

Introduction to Matrices

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 1 x 2. x n 8 (4) 3 4 2

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Bastian Steder

Mobile Robotics 1. A Compact Course on Linear Algebra. Giorgio Grisetti

Linear Algebra and Eigenproblems

Chapter 7. Linear Algebra: Matrices, Vectors,

CSL361 Problem set 4: Basic linear algebra

PURE MATHEMATICS AM 27

The scope of the midterm exam is up to and includes Section 2.1 in the textbook (homework sets 1-4). Below we highlight some of the important items.

Analytical and Numerical Methods Used in Studying the Spatial kinematics of Multi-body Systems. Bernard Roth Stanford University

Harbor Creek School District

1 - Systems of Linear Equations

ROBOTICS: ADVANCED CONCEPTS & ANALYSIS

MATH 2331 Linear Algebra. Section 1.1 Systems of Linear Equations. Finding the solution to a set of two equations in two variables: Example 1: Solve:

Solution of Linear Equations

System of Linear Equations. Slide for MA1203 Business Mathematics II Week 1 & 2

Displacement Analysis of Spherical Mechanisms Having Three or Fewer Loops

ax 2 + bx + c = 0 where

Chapter 1: Systems of Linear Equations

Systems of Linear Equations and Matrices

Intro Vectors 2D implicit curves 2D parametric curves. Graphics 2012/2013, 4th quarter. Lecture 2: vectors, curves, and surfaces

Linear Algebra I Lecture 8

Robotics 1 Inverse kinematics

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity

GEOMETRIC DESIGN OF CYLINDRIC PRS SERIAL CHAINS

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity

Robotics 1 Inverse kinematics

Introduction to Quantitative Techniques for MSc Programmes SCHOOL OF ECONOMICS, MATHEMATICS AND STATISTICS MALET STREET LONDON WC1E 7HX

Systems of Linear Equations and Matrices

Matrices and Matrix Algebra.

Elementary maths for GMT

Solving Systems of Linear Equations Using Matrices

PRECALCULUS BISHOP KELLY HIGH SCHOOL BOISE, IDAHO. Prepared by Kristina L. Gazdik. March 2005

2. Matrix Algebra and Random Vectors

Differential Kinematics

M.SC. PHYSICS - II YEAR

Linear Algebra March 16, 2019

Relationships Between Planes

Robotics I. February 6, 2014

Chapter 1: Systems of linear equations and matrices. Section 1.1: Introduction to systems of linear equations

(Linear equations) Applied Linear Algebra in Geoscience Using MATLAB

Three Types of Parallel 6R Linkages

Functional equations for Feynman integrals

POLI270 - Linear Algebra

Linear Algebra & Geometry why is linear algebra useful in computer vision?

Linear Algebra (Review) Volker Tresp 2017

Linear Algebra. Preliminary Lecture Notes

UNIT 3 MATHEMATICAL METHODS ALGEBRA

Course Name: MAT 135 Spring 2017 Master Course Code: N/A. ALEKS Course: Intermediate Algebra Instructor: Master Templates

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Kinematic Isotropy of the H4 Class of Parallel Manipulators

1111: Linear Algebra I

1.1 Single Variable Calculus versus Multivariable Calculus Rectangular Coordinate Systems... 4

Introduction to Mobile Robotics Compact Course on Linear Algebra. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

MAC Module 2 Systems of Linear Equations and Matrices II. Learning Objectives. Upon completing this module, you should be able to :

Econ Slides from Lecture 7

Linear Independence x

Singular Foci of Planar Linkages

Finite Mathematics Chapter 2. where a, b, c, d, h, and k are real numbers and neither a and b nor c and d are both zero.

Instructional Unit Basic Statistics Algebra II #309 Unit Content Objective Performance Indicator Performance Task State Standards Code:

ACT MATH MUST-KNOWS Pre-Algebra and Elementary Algebra: 24 questions

Practical Linear Algebra: A Geometry Toolbox

Dimensional Synthesis of Bennett Linkages

web: HOMEWORK 1

Kinematic Analysis of a Pentapod Robot

Chapter 8B - Trigonometric Functions (the first part)

MATRICES AND ITS APPLICATIONS

Transcription:

Kinematic Analysis of the 6R Manipulator of General Geometry Madhusudan Raghavan Powertrain Systems Research Lab General Motors R&D Center Warren, MI 48090-9055 and Bernard Roth, Professor Design Division Mechanical Engineering Department Stanford University, CA 94305 1 Introduction This paper presents a new solution to the inverse kinematics problem for the 6R series manipulator of general geometry. Such a manipulator has 6 revolute (R) joints arranged in series. The link lengths, twist angles and offsets, may be arbitrary real numbers. The inverse kinematics problem may be stated as follows : Given (i) the manipulator geometry (i.e. location of the base, link lengths, twist angles, and offsets), (ii) the goal position to which the hand must be moved, Find the values of the joint angles which will place the hand in the goal position. When stated in mathematical terms, this problem reduces to the solution of a principal system of multivariate polynomials (i.e. n polynomials in n unknowns). In this paper we present a new solution procedure based on dialytic elimination. This procedure exploits the structure of the ideal of the closure equations of the 6R manipulator and results in a compact elimination algorithm. The result is a 16 th degree polynomial in the tangent of the half- 1

angle of one of the joint variables. 2 Previous Work The earliest systematic assault upon this problem appears to have been made by PIEPER[1968]. Pieper proposed iterative numerical techniques for complex manipulators of general geometry. He presented closed-form solutions for manipulators with special geometries (e.g. 3 consecutive joint axes intersecting at a point, etc.). For 6R manipulators with general geometry, Pieper showed that a naive elimination strategy would yield a univariate polynomial of degree 524,288. ROTH, RASTEGAR and SCHEINMAN[1973] using synthetic arguments showed that this problem has in general at most 32 solutions, i.e. there are 32 distinct configurations of the manipulator, in which its hand is at the desired goal position. Their proof was non-constructive. ALBALA and ANGELES[1979], using indicial notation, presented the first constructive solution to this problem. Their solution was in the form of a 12 12 determinant whose entries were quartic polynomials in the tangent of the half-angle of one of the joint variables. DUFFY and CRANE[1980] later provided a different solution by combining spherical trigonometry and dialytic elimination to obtain a 32 nd degree polynomial in the tangent of the half-angle of one of the joint variables. Their 32 nd degree polynomial alway yielded extraneous or false roots in addition to the desired values. TSAI and MORGAN[1985] used homotopy continuation to solve the inverse kinematics problem and found only 16 solutions for various 6R manipulators of different geometries. They therefore conjectured that this problem has at most 16 solutions. Recently, LEE and LIANG[1988a and 1988b], used extensions of Duffy s method to obtain by dialytic elimination a 16 th degree polynomial in the tangent of the half-angle of one of the joint variables, thus confirming the 2

conjecture of TSAI and MORGAN[1985]. The solution presented in this paper is the result of our quest for a simpler solution than the procedure used by LEE and LIANG[1988b]. 3 Notational Preliminaries The notation used in this paper is identical to that appearing in the paper by TSAI and MORGAN[1985]. We present the essential features here. The links of the 6R manipulator are numbered from 1 to 7, the fixed or base link being 1, and the outermost link or hand being 7. A coordinate system is attached to each link to facilitate a mathematical description of the linkage and the relative arrangement of the links. The coordinate system attached to the i th link is numbered i. The 4 4 transformation matrix relating coordinate systems i + 1 and i is as follows : A i = c i s i λ i s i µ i a i c i s i c i λ i c i µ i a i s i 0 µ i λ i d i 0 0 0 1 where s i = sinθ i, c i = cosθ i, λ i = cosα i, µ i = sinα i, a i is the length of link i + 1, α i is the twist angle between the axes of joints i and i + 1, d i is the offset distance at joint i, θ i is the joint rotation angle at joint i. The interested reader will find a more detailed description of the notation in the paper by TSAI and MORGAN[1985]. (1) 3

4 The Problem Statement in Mathematical Terms The closure equation for the 6R manipulator is the following matrix equation A 1 A 2 A 3 A 4 A 5 A 6 = A hand (2) A hand is the 4 4 transformation matrix describing the Cartesian coordinate system 7, attached to the hand (or last link) with respect to coordinate system 1, attached to the base link. The entries of this matrix are known because the hand coordinates in the goal position are specified. The lefthand side of the above matrix equation describes coordinate system 7 with respect to coordinate system 1, in terms of the relative arrangements of the intermediate coordinate systems. The quantities a i, d i, λ i, µ i, i = 1,..., 6, appearing in the matrices on the left-hand side of equation ( 2) are all known. The unknown quantities are θ i, i = 1,..., 6, and the above matrix equation must be solved for them. This is the inverse kinematics problem for the 6R series manipulator. 5 The Solution 5.1 Derivation of p 1, p 2, p 3, l 1, l 2, l 3 The matrix equation ( 2), is equivalent to 12 scalar equations. Of these only 6 equations are independent, because the submatrix comprised of the first 3 rows and columns is orthogonal. We perform operations on these multivariate equations and eliminate all but one variable, thus reducing the problem to the solution of a single equation in one variable. This is in the spirit of Gauss Elimination applied to linear systems of equations, except that the equations involved in this problem are non-linear. Equation ( 2) may be rewritten as A 3 A 4 A 5 = A 1 2 A 1 1 A hand A 1 6 (3) 4

Let A hand be equal to l x m x n x ρ x l y m y n y ρ y l z m z n z ρ z 0 0 0 1 The 6 scalar equations obtained from columns 3 and 4 of equation ( 3) are devoid of θ 6. We therefore work with these 6 equations, with the goal of eliminating 4 of the 5 remaining variables. These 6 equations are :. c 3 f 1 + s 3 f 2 = c 2 h 1 + s 2 h 2 a 2 (4) where s 3 f 1 c 3 f 2 = λ 2 (s 2 h 1 c 2 h 2 ) + µ 2 (h 3 d 2 ) (5) f 3 = µ 2 (s 2 h 1 c 2 h 2 ) + λ 2 (h 3 d 2 ) (6) c 3 r 1 + s 3 r 2 = c 2 n 1 + s 2 n 2 (7) s 3 r 1 c 3 r 2 = λ 2 (s 2 n 1 c 2 n 2 ) + µ 2 n 3 (8) r 3 = µ 2 (s 2 n 1 c 2 n 2 ) + λ 2 n 3 (9) f 1 = c 4 g 1 + s 4 g 2 + a 3 f 2 = λ 3 (s 4 g 1 c 4 g 2 ) + µ 3 g 3 f 3 = µ 3 (s 4 g 1 c 4 g 2 ) + λ 3 g 3 + d 3 r 1 = c 4 m 1 + s 4 m 2 r 2 = λ 3 (s 4 m 1 c 4 m 2 ) + µ 3 m 3 r 3 = µ 3 (s 4 m 1 c 4 m 2 ) + λ 3 m 3 g 1 = c 5 a 5 + a 4 g 2 = s 5 λ 4 a 5 + µ 4 d 5 g 3 = s 5 µ 4 a 5 + λ 4 d 5 + d 4 h 1 = c 1 p + s 1 q a 1 h 2 = λ 1 (s 1 p c 1 q) + µ 1 (r d 1 ) h 3 = µ 1 (s 1 p c 1 q) + λ 1 (r d 1 ) 5

m 1 = s 5 µ 5 m 2 = c 5 λ 4 µ 5 + µ 4 λ 5 m 3 = c 5 µ 4 µ 5 + λ 4 λ 5 n 1 = c 1 u + s 1 v n 2 = λ 1 (s 1 u c 1 v) + µ 1 w n 3 = µ 1 (s 1 u c 1 v) + λ 1 w p = l x a 6 (m x µ 6 + n x λ 6 )d 6 + ρ x q = l y a 6 (m y µ 6 + n y λ 6 )d 6 + ρ y r = l z a 6 (m z µ 6 + n z λ 6 )d 6 + ρ z u = m x µ 6 + n x λ 6 v = m y µ 6 + n y λ 6 w = m z µ 6 + n z λ 6 Equations ( 4)-( 9) are the same as equations (41)-(46) in the paper by TSAI and MORGAN[1985]. We rearrange these 6 equations as follows : Equation ( 4) is rewritten as : p 1 : c 3 f 1 + s 3 f 2 + a 2 = c 2 h 1 + s 2 h 2 (10) Equation ( 5) ( λ 2 ) + Equation ( 6) µ 2 gives : p 2 : µ 2 f 3 λ 2 (s 3 f 1 c 3 f 2 ) = s 2 h 1 c 2 h 2 (11) Equation ( 5) µ 2 + Equation ( 6) λ 2 gives : p 3 : µ 2 (s 3 f 1 c 3 f 2 ) + λ 2 f 3 + d 2 = h 3 (12) We rewrite equation ( 7) without any change : l 1 : c 3 r 1 + s 3 r 2 = c 2 n 1 + s 2 n 2 (13) 6

Equation ( 8) ( λ 2 ) + Equation ( 9) µ 2 gives : l 2 : µ 2 r 3 λ 2 (s 3 r 1 c 3 r 2 ) = s 2 n 1 c 2 n 2 (14) Equation ( 8) µ 2 + equation ( 9) λ 2 gives : l 3 : µ 2 (s 3 r 1 c 3 r 2 ) + λ 2 r 3 = n 3 (15) p 1, p 2, p 3, l 1, l 2, and l 3 are labels used to refer to these equations in subsequent derivations. 5.2 The Structure of p 1, p 2, p 3, l 1, l 2, l 3 It is noteworthy that f 1, f 2, f 3, r 1, r 2, and r 3 are linear combinations of the terms s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4, c 4, s 5, c 5, 1. h 1, h 2, h 3, n 1, n 2 and n 3 are linear combinations of the terms s 1, c 1, 1. Equations ( 10)-( 15) may be written in matrix form as : s 4 s 5 s 4 c s 1 s 2 5 s c 4 s 5 1 c 2 c 4 c c 1 s 2 5 c (A) s 4 = (B) 1 c 2 (16) c 4 s 1 s c 1 5 s c 5 2 c 1 2 where A is a 6 9 matrix whose entries are linear combinations of s 3, c 3, 1, B is a 6 8 matrix whose entries are all constants. 5.3 The Ideal of p 1, p 2, p 3, l 1, l 2, l 3 The Ideal generated by a set of polynomials q 1, q 2,..., q r in the variables x 1, x 2,..., x m is the set of all elements of the form q 1 β 1 + q 2 β 2 +... + q r β r, where β 1, β 2,..., β r are arbitrary elements of the set of all polynomials in x 1, x 2,..., x m. The Ideal generated by p 1, p 2, p 3, l 1, l 2, l 3 has the following interesting properties : 7

Property 1 : The function p 2 1 + p 2 2 + p 2 3 has the same power products as equations ( 10)-( 15) i.e. it has the structure : (M) s 4 s 5 s 4 c 5 c 4 s 5 c 4 c 5 s 4 c 4 s 5 c 5 1 = (N) s 1 s 2 s 1 c 2 c 1 s 2 c 1 c 2 s 1 c 1 s 2 c 2 (17) where M is a 1 9 matrix whose entries are linear combinations of s 3, c 3, 1, N is a 1 8 matrix whose entries are constants. By power products, we mean terms (e.g. the power products of the polynomial 5x 2 y + 3xz + 9y 2 + 4z = 0 are x 2 y, xz, y 2, and z). p 2 1 + p 2 2 + p 2 3 : f 2 1 + f 2 2 + f 2 3 + a 2 2 + d 2 2 + 2a 2 (c 3 f 1 + s 3 f 2 ) + 2d 2 (µ 2 (s 3 f 1 c 3 f 2 ) + λ 2 f 3 ) = h 2 1 + h 2 2 + h 2 3 (18) Property 1 is true because f 2 1 + f 2 2 + f 2 3 is a linear combination of s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4, c 4, s 5, c 5, 1, and h 2 1 + h 2 2 + h 2 3 is a linear combination of s 1, c 1, 1. Property 2 : p 1 l 1 + p 2 l 2 + p 3 l 3 has the same power products as equations ( 10)-( 15). p 1 l 1 + p 2 l 2 + p 3 l 3 : f 1 r 1 + f 2 r 2 + f 3 r 3 + a 2 (c 3 r 1 + s 3 r 2 ) + d 2 (λ 2 r 3 + µ 2 (s 3 r 1 c 3 r 2 )) = h 1 n 1 + h 2 n 2 + h 3 n 3 (19) f 1 r 1 +f 2 r 2 +f 3 r 3 is a linear combination of s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4, c 4, s 5, c 5, 1. h 1 n 1 + h 2 n 2 + h 3 n 3 is a linear combination of s 1, c 1, 1. Property 3 : p 1 l 2 p 2 l 1 has the same power products as equations ( 10)- ( 15). p 1 l 2 p 2 l 1 : a 2 (µ 2 r 3 λ 2 (s 3 r 1 c 3 r 2 )) + µ 2 c 3 (f 1 r 3 f 3 r 1 ) + 8

λ 2 (f 1 r 2 f 2 r 1 ) + µ 2 s 3 (f 2 r 3 f 3 r 2 ) = h 2 n 1 h 1 n 2 (20) f 1 r 3 f 3 r 1, f 1 r 2 f 2 r 1, and f 2 r 3 f 3 r 2 are all linear combinations of s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4, c 4, s 5, c 5, 1. h 2 n 1 h 1 n 2 is a linear combination of s 1, c 1, 1. Property 4 : p 2 l 3 p 3 l 2 has the same power products as equations ( 10)- ( 15). p 2 l 3 p 3 l 2 : s 3 (f 3 r 1 f 1 r 3 ) + c 3 (f 2 r 3 f 3 r 2 ) + r 1 d 2 λ 2 s 3 r 2 d 2 λ 2 c 3 r 3 d 2 µ 2 = s 2 (h 1 n 3 h 3 n 1 ) + c 2 (h 3 n 2 h 2 n 3 ) (21) As stated earlier, f 3 r 1 f 1 r 3 and f 2 r 3 f 3 r 2 are linear combinations of s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4, c 4, s 5, c 5, 1. h 1 n 3 h 3 n 1 and h 3 n 2 h 2 n 3 are linear combinations of s 1, c 1, 1. Property 5 : p 3 l 1 p 1 l 3 has the same power products as equations ( 10)- ( 15). p 3 l 1 p 1 l 3 : µ 2 (f 1 r 2 f 2 r 1 ) + λ 2 s 3 (f 3 r 2 f 2 r 3 ) + λ 2 c 3 (f 3 r 1 f 1 r 3 ) + r 1 (d 2 c 3 a 2 µ 2 s 3 ) + r 2 (d 2 s 3 + a 2 µ 2 c 3 ) a 2 λ 2 r 3 = s 2 (h 3 n 2 h 2 n 3 ) + c 2 (h 3 n 1 h 1 n 3 ) (22) f 1 r 2 f 2 r 1, f 3 r 2 f 2 r 3, and f 3 r 1 f 1 r 3 are linear combinations of s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4, c 4, s 5, c 5, 1. h 3 n 2 h 2 n 3 and h 3 n 1 h 1 n 3 are linear combinations of s 1, c 1, 1. Property 6 : (p 2 1 + p 2 2 + p 2 3)l 1 2(p 1 l 1 + p 2 l 2 + p 3 l 3 )p 1 has the same power products as equations ( 10)-( 15). (p 2 1 + p 2 2 + p 2 3)l 1 2(p 1 l 1 + p 2 l 2 + p 3 l 3 )p 1 : f 1 (2(pu + qv + (r d 1 )w)c 3 ) + f 2 (2(pu + qv + (r d 1 )w)s 3 ) + r 1 ( 2d 2 µ 2 a 2 s 3 (p 2 + q 2 + (r d 1 ) 2 a 2 1 + a 2 2 d 2 2)c 3 ) + 9

r 2 ( (p 2 + q 2 + (r d 1 ) 2 + a 2 1 a 2 2 d 2 2)s 3 + 2a 2 d 2 µ 2 c 3 ) + r 3 ( 2a 2 d 2 λ 2 ) + (f 1 r 2 f 2 r 1 )2d 2 µ 2 + (f 2 r 3 f 3 r 2 )( 2d 2 λ 2 s 3 ) + (f 3 r 1 f 1 r 3 )2d 2 λ 2 c 3 + ((f 2 1 + f 2 2 + f 2 3 )r 1 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 1 )c 3 + ((f 2 1 + f 2 2 + f 2 3 )r 2 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 2 )s 3 2a 2 (f 1 r 1 + f 2 r 2 + f 3 r 3 ) + 2a 2 (pu + qv + (r d 1 )w) + δ 1 (c 3 r 1 + s 3 r 2 ) δ 2 (c 3 f 1 + s 3 f 2 + a 2 ) = 2a 1 s 2 (h 2 n 1 h 1 n 2 ) + δ 1 (c 2 n 1 + s 2 n 2 ) δ 2 (c 2 h 1 + s 2 h 2 ) (23) where δ 1 = p 2 + q 2 + (r d 1 ) 2 a 2 1, δ 2 = pu + qv + (r d 1 )w. The functions (f 2 1 + f 2 2 + f 2 3 )r 1 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 1 and (f 2 1 + f 2 2 + f 2 3 )r 2 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 2 are linear combinations of s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4,c 4, s 5, c 5, 1. Property 7 : (p 2 1 + p 2 2 + p 2 3)l 2 2(p 1 l 1 + p 2 l 2 + p 3 l 3 )p 2 has the same set of power products as equations ( 10)-( 15). (p 2 1 + p 2 2 + p 2 3)l 2 2(p 1 l 1 + p 2 l 2 + p 3 l 3 )p 2 : f 1 (2(pu + qv + (r d 1 )w)( λ 2 s 3 )) + f 2 (2(pu + qv + (r d 1 )w)λ 2 c 3 ) + f 3 (2(pu + qv + (r d 1 )w)µ 2 ) + r 1 ( λ 2 s 3 ( p 2 q 2 (r d 1 ) 2 + a 2 1 + a 2 2 + d 2 2)) + r 2 (λ 2 c 3 ( p 2 q 2 (r d 1 ) 2 + a 2 1 + a 2 2 + d 2 2)) + r 3 (µ 2 ( p 2 q 2 (r d 1 ) 2 + a 2 1 + a 2 2 + d 2 2)) + f 1 ( 2λ 2 s 3 (pu + qv + (r d 1 )w)) + f 2 (2λ 2 c 3 (pu + qv + (r d 1 )w)) + f 3 (2(pu + qv + (r d 1 )w)µ 2 ) + (f 1 r 2 f 2 r 1 )2a 2 λ 2 + (f 2 r 3 f 3 r 2 )(2a 2 µ 2 s 3 2d 2 c 3 ) + 10

(f 3 r 1 f 1 r 3 )( 2a 2 µ 2 c 3 2d 2 s 3 ) + ((f 2 1 + f 2 2 + f 2 3 )r 1 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 1 )( λ 2 s 3 ) + ((f 2 1 + f 2 2 + f 2 3 )r 2 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 2 )λ 2 c 3 + ((f 2 1 + f 2 2 + f 2 3 )r 3 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 3 )µ 2 + δ 1 (c 3 r 1 + s 3 r 2 ) δ 2 (c 3 f 1 + s 3 f 2 + a 2 ) = 2a 1 c 2 (h 2 n 1 h 1 n 2 ) + δ 1 (c 2 n 1 + s 2 n 2 ) δ 2 (c 2 h 1 + s 2 h 2 ) (24) The functions (f 2 1 + f 2 2 + f 2 3 )r 1 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 1, (f 2 1 + f 2 2 + f 2 3 )r 2 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 2, and (f 2 1 + f 2 2 + f 2 3 )r 3 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 3 are linear combinations of s 4 s 5, s 4 c 5, c 4 s 5, c 4 c 5, s 4, c 4, s 5, c 5, 1. Property 8 : (p 2 1 + p 2 2 + p 2 3)l 3 2(p 1 l 1 + p 2 l 2 + p 3 l 3 )p 3 has the same set of power products as equations ( 10)-( 15). (p 2 1 + p 2 2 + p 2 3)l 3 2(p 1 l 1 + p 2 l 2 + p 3 l 3 )p 3 : r 1 ((a 2 2 d 2 2)µ 2 s 3 2a 2 d 2 c 3 ) + r 2 ((a 2 2 d 2 2)( µ 2 c 3 ) 2a 2 d 2 s 3 ) + r 3 ((a 2 2 d 2 2)λ 2 ) + (f 1 r 2 f 2 r 1 )( 2a 3 µ 2 ) + (f 2 r 3 f 3 r 2 )2a 2 λ 2 s 3 + (f 3 r 1 f 1 r 3 )( 2a 2 λ 2 c 3 ) + µ 2 s 3 ((f 2 1 + f 2 2 + f 2 3 )r 1 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 1 ) µ 2 c 3 ((f 2 1 + f 2 2 + f 2 3 )r 2 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 2 ) 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )d 2 = (h 2 1 + h 2 2 + h 2 3)n 3 2(h 1 n 1 + h 2 n 2 + h 3 n 3 )h 3 (25) (h 2 1 + h 2 2 + h 2 3)n 3 2(h 1 n 1 + h 2 n 2 + h 3 n 3 )h 3 is a linear combination of s 1, c 1, 1. The existence of Properties 1-8 may be explained as follows : p 1, p 2, p 3 are analogs of l 1, l 2, l 3 (modulo the constant terms) in the sense that, replacing f 1, f 2, f 3, in p 1, p 2, p 3, by r 1, r 2, r 3, yields l 1, l 2, l 3. (p 2 1 + p 2 2 + p 2 3) is an analog of 2(p 1 l 1 + p 2 l 2 + p 3 l 3 ) in the same sense (i.e. replacement of f i by r i ). If we 11

treat (p 1, p 2, p 3, p 2 1 + p 2 2 + p 2 3) and (l 1, l 2, l 3, 2(p 1 l 1 + p 2 l 2 + p 3 l 3 )) as 2 points in 4-space and form the following 4 2 array : p 1 l 1 p 2 l 2 p 3 l 3 p 2 1 + p 2 2 + p 2 3 2(p 1 l 1 + p 2 l 2 + p 3 l 3 ) then, the functions in Properties 3-8, are obtained by taking all possible sub-determinants of the above array in the spirit of Grassmann determinants (KLEIN[1935]). This suggests an underlying connection between the algebraic and geometric points of view, associated with this problem. Before proceeding further, it seems appropriate to summarize what has been done so far. Starting with 6 scalar components of the closure equation, containing the 5 variables θ 1, θ 2, θ 3, θ 4, θ 5 we simply rearranged these equations to get the 6 equations p 1, p 2, p 3, l 1, l 2, l 3. Our goal is to eliminate 4 of the 5 variables. We then demonstrated the existence of 8 higher order equations in the ideal of p 1, p 2, p 3, l 1, l 2, l 3, which are linearly independent of p 1, p 2, p 3, l 1, l 2, l 3, but have the same power products as p 1, p 2, p 3, l 1, l 2, l 3. In the next few sections, we show how all but one variable, can be eliminated using these 8 new equations together with p 1, p 2, p 3, l 1, l 2, l 3. 5.4 Elimination of θ 1 and θ 2 Equations ( 12), ( 15), ( 18), ( 19), ( 20), and ( 25), constitute a set of 6 linearly independent equations in the 4 variables θ 1, θ 3, θ 4, and θ 5. They may be written in matrix form as : (ζ) s 4 s 5 s 4 c 5 c 4 s 5 c 4 c 5 s 4 c 4 s 5 c 5 1 ( ) s1 = (σ) c 1 12 (26)

where ζ is a 6 9 matrix whose entries are linear combinations of s 3, c 3, 1, σ is a 6 2 matrix whose entries are constants. We may use any 2 of the 6 scalar equations in equation ( 26) to eliminate s 1 and c 1 from the remaining 4 equations to bring equation ( 26) to the form : (η) s 4 s 5 s 4 c 5 c 4 s 5 c 4 c 5 s 4 c 4 s 5 c 5 1 = 0 (27) where η is a 4 9 matrix whose entries are linear combinations of s 3, c 3, 1. Equations ( 10), ( 11), ( 13), ( 14), ( 21), ( 22), ( 23), and ( 24) constitute a set of 8 linearly independent equations in the 5 variables θ 1, θ 2, θ 3, θ 4, and θ 5. We may eliminate θ 1 and θ 2 from this set of equations to obtain 2 equations containing just the 3 variables θ 3, θ 4, and θ 5, as follows : µ 2 1 2a 1 {equation( 23) δ 1 equation( 13) + δ 2 equation( 10)} λ 1 µ 1 {equation( 21)} + µ 1 w{equation( 11)} µ 1 (r d 1 ){equation( 14)} gives the following equation : f 1 ( µ2 1 a 1 (pu + qv + (r d 1 )w)c 3 µ 1 wλ 2 s 3 ) + f 2 ( µ2 1 a 1 (pu + qv + (r d 1 )w)s 3 + µ 1 wλ 2 c 3 ) + f 3 (µ 1 µ 2 w) + r 1 { µ2 1 a 1 (( p 2 q 2 (r d 1 ) 2 + a 2 1 a 2 2 + d 2 2)c 3 2d 2 µ 2 a 2 s 3 ) d 2 λ 1 λ 2 µ 1 c 3 µ 1 (r d 1 )λ 2 c 3 } + r 3 { µ2 1 2a 1 ( 2d 2 λ 2 a 2 ) + λ 1 µ 1 d 2 µ 2 µ 1 µ 2 (r d 1 )} + 13

(f 1 r 2 f 2 r 1 )( µ2 1 a 1 d 2 µ 2 ) + (f 2 r 3 f 3 r 2 )( µ2 1 a 1 d 2 λ 2 s 3 λ 1 µ 1 c 3 ) + (f 3 r 1 f 1 r 3 )( µ2 1 a 1 d 2 λ 2 c 3 λ 1 µ 1 s 3 ) + ((f 2 1 + f 2 2 + f 2 3 )r 1 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 1 ) µ2 1 2a 1 c 3 + ((f 2 1 + f 2 2 + f 2 3 )r 2 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 2 ) µ2 1 2a 1 s 3 + (f 1 r 1 + f 2 r 2 + f 3 r 3 )( µ2 1 a 1 a 2 ) + µ 2 1 a 1 a 2 (pu + qv + (r d 1 )w) = 0 (28) µ 2 1 2a 1 {equation( 24)} λ 1 µ 1 {equation( 22)} µ 1 w{equation( 10)}+ µ 1 (r d 1 ){equation( 13)} gives the following equation : f 1 ( µ2 1 a 1 λ 2 s 3 (pu + qv + (r d 1 )w) µ 1 wc 3 ) + f 2 ( µ2 1 a 1 λ 2 c 3 (pu + qv + (r d 1 )w) µ 1 ws 3 ) + f 3 ( µ2 1 a 1 µ 2 (pu + qv + (r d 1 )w)) + r 1 ( µ2 1 2a 1 λ 2 s 3 ( p 2 q 2 (r d 1 ) 2 + a 2 1 + a 2 2 + d 2 2) λ 1 µ 1 (d 2 c 3 a 2 µ 2 s 3 ) + µ 1 (r d 1 )c 3 ) + r 2 ( µ2 1 2a 1 λ 2 c 3 ( p 2 q 2 (r d 1 ) 2 + a 2 1 + a 2 2 + d 2 2) λ 1 µ 1 (d 2 s 3 + a 2 µ 2 c 3 ) + µ 1 (r d 1 )s 3 ) + r 3 ( µ2 1 2a 1 µ 2 ( p 2 q 2 (r d 1 ) 2 + a 2 1 + a 2 2 + d 2 2) + λ 1 µ 1 a 2 λ 2 ) + (f 1 r 2 f 2 r 1 )( µ2 1 a 1 a 2 λ 2 λ 1 µ 1 µ 2 ) + 14

(f 2 r 3 f 3 r 2 )( µ2 1 a 1 (a 2 µ 2 s 3 d 2 c 3 ) + λ 1 µ 1 λ 2 s 3 ) + (f 3 r 1 f 1 r 3 )( µ2 1 a 1 ( a 2 µ 2 c 3 d 2 s 3 ) λ 1 µ 1 λ 2 c 3 ) + ((f 2 1 + f 2 2 + f 2 3 )r 1 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 1 )( µ2 1 2a 1 λ 2 s 3 ) + ((f 2 1 + f 2 2 + f 2 3 )r 2 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 2 )( µ2 1 2a 1 λ 2 c 3 ) + ((f 2 1 + f 2 2 + f 2 3 )r 3 2(f 1 r 1 + f 2 r 2 + f 3 r 3 )f 3 )( µ2 1 2a 1 µ 2 ) µ 1 a 2 w = 0 (29) Equations ( 27), ( 28), and ( 29) constitute a set of 6 linearly independent equations in the 3 unknowns θ 3, θ 4, and θ 5. In matrix form they may be written as : s 4 s 5 s 4 c 5 c 4 s 5 c 4 c 5 (Σ) s 4 = 0 (30) c 4 s 5 c 5 1 where Σ is a 6 9 matrix whose entries are linear combinations of s 3, c 3, 1. 5.5 Elimination of θ 4 and θ 5 We make the following substitutions in equation ( 30) : s 4 2x 4 1 + x 2 4 c 4 1 x2 4 1 + x 2 4 s 5 2x 5 1 + x 2 5 15

where x 4 = tan( θ 4 2 ), x 5 = tan( θ 5 2 ). c 5 1 x2 5 1 + x 2 5 We then multiply each equation by (1+x 2 4) and (1+x 2 5) to clear denominators. Equation ( 30) then takes the form (Σ ) x 2 4x 2 5 x 2 4x 5 x 2 4 x 4 x 2 5 x 4 x 5 x 4 x 2 5 x 5 1 = 0 (31) where Σ is a 6 9 matrix whose entries are linear combinations of s 3, c 3, 1. We make the following substitutions in equation ( 31) : s 3 2x 3 1 + x 2 3 c 3 1 x2 3 1 + x 2 3 We multiply the first 4 scalar equations in equation ( 31) by (1 + x 2 3) to clear denominators. The resulting equation is of the form (Σ ) x 2 4x 2 5 x 2 4x 5 x 2 4 x 4 x 2 5 x 4 x 5 x 4 x 2 5 x 5 1 = 0 (32) 16

where Σ is a 6 9 matrix. The entries in the first 4 rows of Σ are quadratic polynomials in x 3. The entries in the last 2 rows are rational functions of x 3, the numerators being quadratic polynomials in x 3, the denominators being (1 + x 2 3). It is noteworthy that the determinant of the 6 6 array comprised of any set of 6 columns of Σ is always an 8 th degree polynomial and not a rational function. We now eliminate x 4 and x 5 dialytically (see SALMON[1885]) as follows : Multiplying equation ( 32) by x 4, we get the following equation : x 3 4x 2 5 x 3 4x 5 x 3 4 x 2 4x 2 (Σ 5 ) x 2 4x 5 = 0 (33) x 2 4 x 4 x 2 5 x 4 x 5 x 4 Equations ( 32) and ( 33) taken together may be written in matrix form as : x 3 4x 2 5 x 3 4x 5 x 3 4 x 2 4x 2 5 ( ) x 2 4x 5 Σ 0 x 2 0 Σ 4 x 4 x 2 = 0 (34) 5 x 4 x 5 x 4 x 2 5 x 5 1 Equation ( 34) constitutes a set of 12 linearly independent equations in the 12 terms x 3 4x 2 5, x 3 4x 5, x 3 4, x 2 4x 2 5, x 2 4x 5, x 2 4, x 4 x 2 5, x 4 x 5, x 4, x 2 5, x 5, 1. This is clearly an overconstrained linear system. In order for this system to have a nontrivial solution, the coefficient matrix must be singular. The determinant 17

of the coefficient matrix is a 16 th degree polynomial in x 3. The roots of this polynomial give the values of x 3 corresponding to the 16 solutions of the inverse kinematics problem. For each value of x 3 thus obtained, the corresponding value of θ 3 may be computed using the formula θ 3 = 2tan 1 x 3. 5.6 The Remaining Joint Variables For each value of θ 3, we may compute the remaining joint variables as follows : We insert the numerical values of θ 3 in the matrix Σ of equation ( 31). This equation may then be written in the form (Γ) x 2 5 x 5 1 = 0 (35) where Γ is a 6 3 matrix whose entries are quadratic polynomials in x 4. Any 3 scalar equations in equation ( 35) constitute a set of 3 linear equations in the terms x 2 5, x 5, 1. In order for such a system to have a non-trivial solution the 3 3 coefficient matrix must be singular. Its determinant is a 6 th degree polynomial in x 4. The roots of this polynomial will yield upto 6 candidate values of θ 4. Only real roots roots are candidate values. Two candidate values of θ 5 corresponding to each candidate value of θ 4 may be computed by inserting the numerical value of θ 4 in the first scalar equation in equation ( 35) and solving the resulting quadratic in x 5. At the end of these operations, we could have as many as 12 candidate (θ 4, θ 5 ) pairs. We retain only those which satisfy all 6 scalar equations in equation ( 35). We may compute the value of θ 1 corresponding to the candidate (θ 3, θ 4, θ 5 ) tuples obtained so far by substituting values for θ 3, θ 4 and θ 5 in any 2 scalar equations in equation ( 26). The resulting equations may be solved for s 1 and c 1. This determines the corresponding θ 1 uniquely. We may then substitute the candidate (θ 1, θ 3, θ 4, θ 5 ) tuples in equations ( 10) and ( 11) to obtain 2 linear equations in s 2 and c 2. Solving for s 2 and c 2, we may compute a unique corresponding value of θ 2. 18

Finally, substitution of the candidate (θ 1, θ 2, θ 3, θ 4, θ 5 ) tuples into the (1,1) and (2,1) elements of the following equation, A 6 = A 1 5 A 1 4 A 1 3 A 1 2 A 1 1 A hand (36) gives 2 linear equations in s 6 and c 6, which may be solved to determine a unique corresponding value of θ 6. At the end of the above operations, we will have several candidate solution tuples (θ 1, θ 2, θ 3, θ 4, θ 5, θ 6 ). Only one of these will satisfy all scalar equations in equation ( 3), and is the true solution. There may be as many as 16 such true tuples for a given A hand. In practice we find fewer than 16 real tuples for most cases. In the next section, this procedure for computing the solutions to the inverse kinematics problem is illustrated by means of a numerical example. 6 Numerical Example Let the link parameters for a 6R manipulator be : a i d i α i (deg) 0.8 0.9 20.0 1.2 3.7 31.0 0.33 1.0 45.0 1.8 0.5 81.0 0.6 2.1 12.0 2.2 0.63 100.0 Let the hand location at the goal position be : 0.354937475307970 0.461639573991743 0.876709605247149 0.137616185817977 A hand = 0.324653132880913 0.876327957516839 0 0 0.812962663562556 6.82151837150213 0.460914366741046 1.46146704002829 0.355878707125018 5.36950521368663 0 1 19

The numerical values of the matrices ζ and σ in equation ( 26) are as follows : (let ζ i,j be the (i, j) th entry of ζ) ζ 1,1 = 4.8341E 002s 3 ζ 1,2 = 0.2185c 3 + 0.3636 ζ 1,3 = 3.4182E 002c 3 + 5.6889E 002 ζ 1,4 = 0.3090s 3 ζ 1,5 = 1.0682s 3 + 0.6555c 3 + 1.0909 ζ 1,6 = 0.9270s 3 0.7553c 3 1.2571 ζ 1,7 = 0.2158c 3 + 0.3591 ζ 1,8 = 0.0000 ζ 1,9 = 0.1699s 3 0.3017c 3 + 1.0562 ζ 2,1 = 7.5718E 002c 3 + 0.1260 ζ 2,2 = 1.6751E 002s 3 ζ 2,3 = 0.1070s 3 ζ 2,4 = 1.1845E 002c 3 1.9713E 002 ζ 2,5 = 0.4975s 3 ζ 2,6 = 0.3518c 3 0.5855 ζ 2,7 = 0.0000 ζ 2,8 = 7.4786E 002c 3 0.1244 ζ 2,9 = 5.5726E 002c 3 + 0.8456 ζ 3,1 = 0.3577s 3 0.2252c 3 6.1948E 002 ζ 3,2 = 1.0182s 3 + 1.6169c 3 + 3.5396 ζ 3,3 = 0.1592s 3 + 0.2529c 3 + 0.5537 ζ 3,4 = 2.2867s 3 + 1.4400c 3 + 0.3960 ζ 3,5 = 4.8504s 3 + 9.8289c 3 + 11.9878 ζ 3,6 = 10.3802s 3 1.2697c 3 11.0482 ζ 3,7 = 1.0056s 3 1.5970c 3 + 4.0886 20

ζ 3,8 = 2.1600 ζ 3,9 = 2.6637s 3 1.4408c 3 15.0776 ζ 4,1 = 0.1764s 3 + 0.2801c 3 + 0.6132 ζ 4,2 = 6.1980E 002s 3 + 3.9029E 002c 3 + 1.0733E 002 ζ 4,3 = 0.3962s 3 + 0.2494c 3 + 6.8610E 002 ζ 4,4 = 2.7597E 002s 3 4.3826E 002c 3 9.5937E 002 ζ 4,5 = 1.8410s 3 + 1.1593c 3 + 0.3188 ζ 4,6 = 0.8197s 3 1.3018c 3 2.8497 ζ 4,7 = 0.3742 ζ 4,8 = 0.1742s 3 + 0.2767c 3 0.7084 ζ 4,9 = 0.1298s 3 0.2061c 3 + 2.6476 ζ 5,1 = 0.1644s 3 0.3399c 3 0.3064 ζ 5,2 = 0.1096s 3 0.1816c 3 0.2744 ζ 5,3 = 0.5161s 3 0.1698c 3 0.1044 ζ 5,4 = 0.2450s 3 8.1432E 002c 3 0.1761 ζ 5,5 = 1.0721s 3 0.6735c 3 0.2927 ζ 5,6 = 0.6006s 3 + 0.6420c 3 0.1367 ζ 5,7 = 0.1570c 3 0.2613 ζ 5,8 = 7.4786E 002s 3 0.4064c 3 + 0.2560 ζ 5,9 = 5.5726E 002s 3 0.5107c 3 + 1.9591 ζ 6,1 = 2.0411s 3 1.1193c 3 2.1400 ζ 6,2 = 2.1491s 3 1.4159c 3 1.2087 ζ 6,3 = 2.0724s 3 2.8764c 3 0.1921 ζ 6,4 = 2.0994s 3 1.7043c 3 1.1407 ζ 6,5 = 5.8557s 3 14.0583c 3 7.2511 ζ 6,6 = 12.2310s 3 + 3.3148c 3 + 12.6847 ζ 6,7 = 0.4413s 3 + 1.8434c 3 4.7130 ζ 6,8 = 2.1372s 3 1.5535c 3 + 2.1265 ζ 6,9 = 0.6635s 3 1.3177c 3 + 12.3027 21

σ = 1.9376 0.1717 0.2037 1.8978E 002 0.8036 9.0644 4.4390E 002 0.4766 0.5046 2.4622 10.4252 9.6928 Equation ( 28) and ( 29) are respectively, and (3.6518E 002s 3 + 6.4023E 002c 3 0.2570)s 4 s 5 + ( 0.1845s 3 + 0.3376c 3 0.1509)s 4 c 5 + (0.1950s 3 0.1511c 3 5.5346E 002)c 4 s 5 + (0.4357s 3 + 0.1141c 3 3.2619E 002)c 4 c 5 + (0.4444s 3 1.6433c 3 0.3307)s 4 + ( 0.8596s 3 0.3953c 3 + 0.8940)c 4 + ( 7.8657E 002s 3 0.3024c 3 0.2097)s 5 + (0.1161s 3 + 0.2475c 3 + 0.2567)c 5 + ( 0.6323s 3 + 0.5392c 3 0.3468) = 0, ( 0.1312s 3 5.1791E 002c 3 0.1401)s 4 s 5 + ( 0.3451s 3 0.2183c 3 6.4256E 002)s 4 c 5 + (2.8118E 002s 3 + 0.2959c 3 + 8.7621E 003)c 4 s 5 + ( 0.1619s 3 + 0.4665c 3 5.3125E 002)c 4 c 5 + (1.1322s 3 + 0.7809c 3 0.2345)s 4 + (0.5675s 3 0.4617c 3 + 0.7077)c 4 + (0.3335s 3 3.9865E 002c 3 9.9402E 002)s 5 + ( 0.3226s 3 + 3.6251E 002c 3 + 0.1035)c 5 + ( 0.5640s 3 0.6135c 3 6.9881E 002) = 0 The 16 th degree( polynomial ) in x 3 obtained from the determinant of the coefficient matrix Σ 0 0 Σ in equation ( 34) is : x 16 + 0.5103x 15 0.2149x 14 22

+4.7532 13 + 1.7745 12 + 9.8013 11 +14.1216x 10 2.5832x 9 + 15.8339x 8 9.9780x 7 + 3.1607x 6 + 2.6546x 5 1.2420x 4 + 7.1100x 3 + 1.5436x 2 +2.0053x + 1.0870 = 0 The roots of this polynomial are : ±0.7328 + 0.1569 0.4142 ±0.8787 0.0411 0.8077 ± 0.3415 ±0.8677 0.0126 0.7271 ±1.2465 0.1879 1.2843 ± 1.2066 ±0.2041 1.6917 There are only 2 real roots. This implies that for this particular example, there are at most 2 configurations in which the manipulator can reach the goal position. The values of θ 3 corresponding to x 3 = 0.4142, and x 3 = 0.7271, are respectively 44.9999 deg and 72.0441 deg. For θ 3 = 44.9999 deg, we now demonstrate the procedure for computing the other joint variables. Substituting this value of θ 3 in equation ( 31) we get the following equation : 6.3308 0.7855 6.6708 4.7417 1.6913 8.6965 2.2800 0.2171 2.1599 0.3666 0.9506 0.3008 1.1513 0.5418 6.5753 25.5052 11.9936 41.8044 8.2007 0.7953 7.6329 0.4562 3.6907 1.0164 1.5823 0.1592 0.1537 4.7455 1.1134 3.7228 5.9739E 002 1.3158 0.1392 1.1912 0.3938 1.0720 23

6.9844 2.0980 7.1841 0.4014 3.3475E 002 0.6083 32.3873 6.4032 29.2034 0.7111 0.6876 2.0534 1.8912 1.5655 2.1012 1.0234 0.3872 0.7306 The matrix Γ of equation ( 35) is : x 2 4x 2 5 x 2 4x 5 x 2 4 x 4 x 2 5 x 4 x 5 x 4 x 2 5 x 5 1 6.3308x 2 4 + 4.7417x 4 6.9844 2.2800x 2 4 0.3666x 4 0.4014 1.1513x 2 4 + 25.5052x 4 32.3873 8.2007x 2 4 0.4562x 4 0.7111 1.5823x 2 4 4.7455x 4 + 1.8912 5.9739E 002x 2 4 1.1912x 4 1.0234 = 0 (37) 0.7855x 2 4 + 1.6913x 4 + 2.0980 6.6708x 2 4 + 8.6965x 4 7.1841 0.2171x 2 4 + 0.9506x 4 3.3475E 002 2.1599x 2 4 0.3008x 4 0.6083 0.5418x 2 4 11.9936x 4 + 6.4032 6.5753x 2 4 + 41.8044x 4 29.2034 0.7953x 2 4 + 3.6907x 4 + 0.6876 7.6329x 2 4 1.0164x 4 2.0534 0.1592x 2 4 1.1134x 4 1.5655 0.1537x 2 4 3.7228x 4 + 2.1012 1.3158x 2 4 0.3938x 4 0.3872 0.1392x 2 4 1.0720x 4 + 0.7306 We may treat the first 3 rows of equation ( 35) as a system of linear equations in the terms x 2 5, x 5, 1. For a non-trivial solution to exist, the 3 3 coefficient matrix must be singular. Its determinant is : 1.6204x 6 4 7.2619x 5 4 83.2504x 4 4 13.8063x 3 4+35.4224x 2 4+1.5860x 4 +8.9615 = 0 The roots of this polynomial are : ±0.4201i 0.0292, 0.8581, 0.7132, ±6.8084i 2.1390 The values of θ 4 corresponding to the real roots are : x 4 = 0.8581 θ 4 = 81.2665 deg 24

x 4 = 0.7132 θ 4 = 70.9999 deg Substituting each of the candidate x 4 values into the first scalar equation in equation ( 37) gives a quadratic equation in x 5, the roots of which may be used to compute the corresponding values of θ 5. For x 4 = 0.8581, the first scalar equation in equation( 37) becomes : 6.3917x 2 5 + 1.2252x 5 9.7345 = 0 The roots of this equation are ±1.2303i + 0.0958. Clearly θ 4 = 81.2665 deg is no longer a candidate. For x 4 = 0.7132, the corresponding quadratic equation in x 5 is : 0.3811x 2 5 + 3.7041x 5 + 2.4130 = 0 The roots of this equation are 0.6128 and 10.3310. The corresponding values of θ 5 are respectively 63.0000 deg and 168.9424 deg. At the end of these operations, we have the following candidate (θ 4, θ 5 ) pairs : (70.9999, 63.0000), (70.9999, 168.9424) Of these, only the first pair satisfies all 6 scalar equations in equation ( 37) and therefore becomes the sole candidate, i.e. our candidate (θ 3, θ 4, θ 5 ) tuple is ( 44.9999, 70.9999, 63.0000). Substituting these values for θ 3, θ 4 and θ 5 in the first 2 scalar equations in equation ( 26) gives the following 2 equations : Solving we get : 1.9376s 1 + 0.1717c 1 = 0.6354 0.2037s 1 (1.8978E 002)c 1 = 3.0882E 002 s 1 = 0.2419, c 1 = 0.9702, θ 1 = 14.0000 deg Our candidate solution tuple becomes (θ 1, θ 3, θ 4, θ 5 ) = (14.0000, 44.9999, 70.9999, 63.0000). 25

Substituting these values of θ 1, θ 3, θ 4 and θ 5 in equation ( 10) and ( 11) gives : 0.2888s 2 + 4.5755c 2 = 3.8313 Solving, we get : 4.5755s 2 + 0.2888c 2 = 2.5178 s 2 = 0.4954, c 2 = 0.8686, θ 2 = 29.6999 deg Finally, θ 6 may be computed from the following matrix equation : A 6 = A 1 5 A 1 4 A 1 3 A 1 2 A 1 1 A hand Since we have computed θ 1, θ 2, θ 3, θ 4, and θ 5, the right-hand side is known. The (1,1) and (2,1) elements from the above equation give the following 2 scalar equations : s 6 = 0.9848 c 6 = 0.1736 The value of θ 6 satisfying the above 2 relations is 10.0000 deg. Thus one solution to the inverse kinematics problem is the tuple (14.0000, 29.6999, 44.9999, 70.9999, 63.0000, 10.0000). The solution tuple corresponding to the other real root (x 3 = 0.7271) of the 16 th degree polynomial in x 3, is (13.1098, 50.9923, 72.0441, 72.0649, 7.1962, 37.8523) 7 Conclusion In this paper, a new solution procedure for the inverse kinematics problem of the 6R manipulator of general geometry, was presented. This procedure involved a sequential elimination of variables, resulting in a univariate polynomial of degree 16 in the tangent of the half-angle of one of the joint variables. Some new and interesting properties of the ideal of the closure equations of the 6R manipulator were presented. The appearance of extraneous roots, which is common in sequential elimination methods was avoided by exploiting these properties during the elimination procedure. 26

8 Acknowledgement Prof. Bernard Roth gratefully acknowledges the financial support of the System Development Foundation and Control Data Corporation. 9 References ALBALA and ANGELES[1979 ] Albala, H., and Angeles, J., Numerical Solution to the Input-Output Displacement Equation of the General 7R Spatial Mechanism, Proceedings of the Fifth World Congress on Theory of Machines and Mechanisms, pp. 1008-1011. DUFFY and CRANE[1980 ] Duffy, J., and Crane, C., A Displacement Analysis of the General Spatial 7R Mechanism, Mechanisms and Machine Theory, Vol. 15, pp. 153-169. KLEIN[1935 ] Klein, F., Elementary Mathematics from an Advanced Standpoint, Translated from the Third German Edition by E.R. Hedrick and C.A. Noble, The Macmillan Company, New York. LEE and LIANG[1988a ] Lee, H-Y., and Liang, C-G., A New Vector Theory for the Analysis of Spatial Mechanisms, Mechanisms and Machine Theory, Vol. 23, No. 3, pp. 209-217. LEE and LIANG[1988b ] Lee H-Y., and Liang, G-G., Displacement Analysis of the General Spatial 7-Link 7R Mechanism, ibid, pp. 219-226. PIEPER[1968 ] Pieper, D., The Kinematics of Manipulators Under Computer Control, Ph.D. Thesis, Stanford University. ROTH, RASTEGAR and SCHEINMAN[1973 ] Roth, B., Rastegar, J., and Scheinman, V., On the Design of Computer 27

Controlled Manipulators, On the Theory and Practice of Robots and Manipulators, Vol. 1, First CISM-IFToMM Symposium, September, pp. 93-113. SALMON[1885 ] Salmon, G., Lessons Introductory to the Modern Higher Algebra, Chelsea Publishing Co., New York. TSAI and MORGAN[1985 ] Tsai, L-W., and Morgan, A., Solving the Kinematics of the Most General Six- and Five-Degree-of-Freedom Manipulators by Continuation Methods, Transactions of the ASME, Journal of Mechanisms, Transmissions, and Automation in Design, Vol. 107, June, pp. 189-200. 28