Analytical and Numerical Methods Used in Studying the Spatial kinematics of Multi-body Systems Bernard Roth Stanford University
Closed Loop Bound on number of solutions=2 6 =64
Open chain constraint
C-C dyad and equivalent screw
Overconstrained 6R linkage chains
Bennett four-bar
DLR Arm Puma Barrett WAM
θ7
z 1 (x lg2 -x 1G3 ) 2 + (y lg2 -y 1G3 ) 2 + (z 1G2 - z 1G3 ) 2 = (G 2 G 3 ) 2 x lg2 =a 1 cosφ; x 1G3 =-a 4 +a 3 cosφ; y lg2 =a 1 sinφ; y 1G3 = -s 4 sinα 4 +a 3 sinψ cosα 4 z 1G2 =s 1 ; z 1G3 =-s 4 cosα 4 a 3 sinψ sinα 4 ; (G 2 G 3 )=a 2 By application of trigonometric identities and ordering of terms this becomes A sinψ + B cosψ = C A = - cosα 4 sinφ + s 1 sinα 4 /a 1 B = -a 4 /a 1 cosφ C =-(a 12 -a 22 + a 32 + a 42 + s 12 + s 42 + 2 s 1 s 4 cosα 4 )/2a 1 a 3 -a 4 cosφ/a 3 -s 4 sinα 4 sinφ/a 3
Manipulator Kinematics Link Description Denavit-Hartenberg Notation Forward Kinematics Inverse Kinematics
Link Description Axis i Axis (I-1) Link I-1 a i-1 == α i-1 ==
Kinematic Chain jointi 1 joint 1 Linki 2 Link i z i joint i Link 1 zi 1 Linki 1 R i y i z, z 0 1 Link 0 y 1 Ri 1 yi 1 xi 1 x i Link n R n z n joint n θ R0 1 y0 x R 0 1 x 1 Linkn 1 x n y n
Forward Kinematics Axis (i-1) Axis i Link i Link i-1 z i x i a i } d i z i-1 x i-1 a i-1 θ i α i-1 i - 1 T = 1 cθ i -sθ i 0 a i-1 sθ i cα i-1 cθ i cα i-1 -sα i-1 -sα i-1 d i sθ i sα i-1 cθ i sα i-1 cα i-1 cα i-1 d i 0 0 0 1
Forward Kinematics Axis (i-1) Axis i Link i Link i-1 z i x i a i } d i z i-1 x i-1 a i-1 θ i α i-1 Forward Kinematics: 0 N 0 T = T T... T 1 1 2 N-1 N
Stanford Scheinman Arm
Example - RPRR L 5 Z 1 Z 3 O 3 O 4 L 2 O 0,O 1 O 2 Z 2 Z 4 L 4 O 5 z 5 x 5 i α i-1 a i-1 d i θ i 1 0 0 0 θ 1 2-90 0 d 2-90 3-90 L 2 0 θ 3 4 90 0 L θ 5 4 5 0 L 4 0 0
T= 0 6 L NM XXcccs sss+ css cds sd XXsccs+ css+ ssc sds+ cd 1245 145 125 132 12 1245 145 125 132 12 XX scs 245+ cc 5 2 dc 3 2 0 0 0 1 O QP d 2 Z 0 Y 0 X 6 X 0 d 3 Z 6 Y 6 x x P r1 = r 2 = r3 CSd SSd C [ C ( C C C S S ) S S C ] S ( S C C + C S ) 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6 S [ C ( C C C S S ) S S C ] + C ( S C C + C S ) 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6 S ( C C C S S ) C S C 2 4 5 6 4 6 2 5 6 C[ C( CCS + SC) + SSS] S( SCS + CC) 1 2 4 5 6 4 6 2 5 6 1 4 5 6 4 6 S [ C ( C C S + S C ) + S S S ] + C ( SCS + CC) 1 2 4 5 6 4 6 2 5 6 1 S ( C C S + S C ) + C S S 2 4 5 6 4 6 2 5 6 C ( C C S + S C ) S S S 1 2 4 5 2 5 1 4 5 S ( C C S + S C ) + C S S 1 2 4 5 2 5 1 4 5 C d Sd 1 2 3 1 2 + Cd 1 2 3 1 2 2 3 SCS + CC 2 4 5 2 5 4 5 6 4 6
Inverse Kinematics Finding joint positions given end-effector position and orientation Solvability, Existence, Multiplicity Closed Form/Numerical Solutions
Analytic, Synthetic and Numerical Geometry in Mechanism Science A Long family history Analytic geometry classic approach Synthetic geometry pre-classic approach Numerical geometry neo-classic approach
Methods for solving equations Elimination (resultants) Continuation (homotopy) Gröbner bases (standard) Symbolic Number of Solutions Bezout count M-homogenous count BKK bound Linear product decomposition
Methods to get polynomials Tangent half-angle substitution cosθ 1 x 1 x 2 = + 2 sin 2 2x θ θ = x = tan 1 + x 2 Additional equations cosα sinβ 3= 0 xy 3= 0 1 2 cosβsinα 5= 0 xy 5= 0 x x 2 1 2 2 1 + y1 = 1 2 2 2 + y2 = 1
Advanced methods to avoid sines and cosines Isotropic coordinates in the plane Mappings Quaternions in 3-D Soma coordinates Rodriques parameters Euler parameters Matrix exponents (Lie groups)
Elimination Methods Methods require an eliminant (or a resultant), which, at best, is a polynomial in a single unknown. Advantages: Gives all solutions to a set of nonlinear equations. Gives analytical means to determine the influence of the system parameters on the number and character of the solutions.
f 1 : Example 2 equations, 2 unknowns; nonlinear 2 2 1 1 2 1 f :3x x + 2x + 9= 0 f :6x x + x + 8= 0 2 1 2 1 2 equations, 3 unknowns; linear if each power product is considered an unknown (3 x ) x + (2) x + (9)1 = 0 2 2 2 1 1 (6x + 1) x + (8)1 = 0 2 1 3 equations, 3 unknowns; linear and linearly independent equations (3 x ) x + (2) x + (9)1 = 0 2 2 2 1 1 (6x + 1) x + (8)1 = 0 2 1 (6x + 1) x + (8) x = 0 2 2 1 1
2 2 3x2 2 9 x 1 0 0 6x + 1 8 x = 0 6x + 1 8 0 1 0 2 1 2 Determinant is Sylvester type resultant det 516x 12x + 7 = 0 x 2 2 2 2 2 = 0.129; x = 0.105 2 2 3x 9 2 2 x 1 = 0 6x 1 x 8 + 2 1 x = 35.1; x = 4.90 1 1
Objective: Find minimal number of new power products.
ELIMINATION PROCEDURE 1. Rewrite equations with one variable suppressed. 2. Define the remaining power products as new linear unknowns. 3. Use the original equations to manufacture new linearly independent equations so as to have as many linearly independent homogeneous equations as linear unknowns. 4. Set the determinant of the coefficient matrix to zero, and obtain a polynomial in the suppressed variable. (If interested in only numerical solutions, this step can be omitted if we calculate eigenvalues in Step 5.) 5. Determine the roots of the characteristic polynomial of the matrix, or the eigenvalues of a derived matrix. (This yields all possible values for the suppressed variable.) 6. Substitute (one of the roots or eigenvalues) for the suppressed variable and solve the linear system for the remaining unknowns. Repeat this for each value of the suppressed variable. Note: Step 3 is the big issue!
Minumum n Minimum n not easy to determine. When n is known, it is not easy to determine the equations. Size of nxn system is not directly related to the degree of suppressed variable. 3 2 3 2 ( ax + c) y + ( dx ) y + ( bx + ex + f ) = 0 Example: suppress x 3 2 4 3 2 power products balance occurs at n Suppress y 3 2 3 3 ( hx) y + ( kx) y + ( gx + ix + jx + lx + m) = 0 4 = 6 ( b) x + ( dy + e) x + ( ay ) x + ( cy + f ) = 0 gx+ ix+ jx+ hy+ ky + lx+ m= 5 power products balance occurs at n=7. 4 3 2 3 2 ( ) ( ) ( ) ( ) 0
x cosθ1 sinθ1 0 0 cosθ2 sinθ2 0 a1 a2 y sinθ1 cosθ1 0 0 sinθ2cosα cosθ2cosα sinα sinαs 2 0 = z 0 0 1 0 sinθ2sinα cosθ2sinα cosα cosαs 2 0 1 0 0 0 1 0 0 0 1 1 x= a cosθ cosθ a cosαsinθ sinθ + s sinαsinθ + a cosθ 2 1 2 2 1 2 2 1 1 1 y = a sinθ cosθ + a cosαcosθ sinθ s sinαcosθ + a sinθ 2 1 2 2 1 2 2 1 1 1 z = a sinαsinθ + s cosα 2 2 2 x = a cos θ cos θ + a cos αsin θ sin θ + s sin αsin θ + a cos θ 2a cosθ cosθ sinθ sinθ + 2a s sinαcosθ cosθ sinθ + 2aa cos θ cosθ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 1 1 1 2 1 2 1 2 2 2 1 2 1 1 2 1 2 2as cosαsinαsin θ sinθ 2aa cosαcosθ sinθ sinθ + 2sa sinαsinθ cosθ1 2 2 2 1 2 1 2 1 1 2 2 2 1 x + y = a cos θ + a cos αsin θ + ( s sin α + a ) + 2aa cosθ 2a s cosαsinαsinθ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 x + y + z = ( a + a + s ) + 2 a ( a s )sinαcosαsinθ + 2aa cosθ 2 2 2 2 2 2 1 2 2 2 2 2 2 1 2 2
x= a cosθ cosθ a cosαsinθ sinθ + s sinαsinθ + a cosθ 2 1 2 2 1 2 2 1 1 1 y = a sinθ cosθ + a cosαcosθ sinθ s sinαcosθ + a sinθ 2 1 2 2 1 2 2 1 1 1 z = a sinαsinθ + s cosα 2 2 2 ( a cos θ ) cosθ ( a cosαsin θ ) sinθ + ( s sinαsinθ + a cos θ x) 1 = 0 2 1 2 2 1 2 2 1 1 1 ( a sin θ ) cosθ + ( a cosαcos θ ) sinθ ( s sinαcosθ + a sin θ y) 1 = 0 2 1 2 2 1 2 2 1 1 1 ( a sin α) sinθ + ( s cos α z) 1 = 0 2 2 2 ( a cos θ ) ( a cosαsin θ ) ( s sinαsinθ + a cos θ x) 2 1 2 1 2 1 1 1 ( a sinθ ) ( a cosαcos θ ) ( s sinαcosθ + a sin θ y) 2 0 1 2 1 2 2 1 2 1 1 1 ( a cosα cos θ ) ( s cosα z) = 0 xa sinα sinθ + ya sinαcos θ + a ( s zcos α) = 0 2 2 2 2 1 2 1 2 2 Asinθ + Bcosθ + C = 0 1 1
General 6-degree-of-freedom 0 = 0 1 2 3 4 5 hand 1 2 3 4 5 hand T T T T T T T 2 TTT 3 4 = 1 T 1 0 T 1 0 T 5 T 1 3 4 5 2 1 hand hand
Original 6 equations: L P Manufactured 8 new equations L P, L P, P P, ( P P) L 2( L P) P Total 14 scalar eqations with the same power products
Direct kinematics of platform manipulator
For In-Parallel Mechanisms The general 6/6 platform mechanism has, at most, 40 different poses associated with a set of leg lengths. For different special geometries derived from the 6/6 platform there may be, at most, 4, 8, 12, 16, 24 poses for a given set of leg lengths.
Planar and similar platforms 16 solutions but polynomial degree=2
Multi-step Elimination f ( x, y, z) = 0 h( z) = 0 1 1 * g1( x, y) = 0 h1 ( y) = 0 * 2 2 * g2( x, y) = 0 h2( y) = 0 3 = 3 = f ( x, y, z) = 0 h ( z) = 0 g ( x) = 0 f ( x, y, z) 0 h ( z) 0 solve x suppress x eliminate y suppress x& y eliminate z
Multivariate Problems -resultants Dixon (1908)-resultant is a determinant, gotten by introducing dummy parameters Maccaulay (1916) resultant is ratio of two determinants Sturmfels and Zelevinski (1994) r groups of variables; multiply each equation by all variables of only one group; yields Sylvester type resultant. Emris (1993, 1994) Use of Newton polytopes of equations to construct sparse mixed resultant.
Multihomogeneous Sturmfels & Zelevinsky π( j) < π( k) mk = ( dk 1) lk + d k Multiply each equation by all terms of degree m k in the variable groups x k. Example: 3xxx 1 2 3+ 5xx 1 3+ 2x2+ 6= 0 6xx + 6x xx 5= 0 1 2 1 2 2 2 1 2 3 1 2 7xxx 8x + 2x 3= 0 l k j = l j d k = degree # of variables (3 x ) x x + (5 x ) xw + (2) wx + (6) ww = 0 3 1 2 3 1 2 1 2 1 2 (6) xx + (6) xw + ( x) wx + ( 5) ww = 0 1 2 1 2 3 1 2 1 2 (7 x ) x x + ( 8) xw + (2) wx + ( 3) ww = 0 2 3 1 2 1 2 1 2 1 2
x m m { } { } 1 1 1 2 2 2 1 2 = x, w, x = x, w = (1 1)1+ 1(0) = 0 = (1 1)1 + 1(1) = 1 2 0 0 3x3 2 5x3 6 xx 1 2 0 2 0 0 6 x3 6 5 0 wx 1 2 2 0 0 7x3 2 8 3 xxw 0 1 2 2 = 3x3 2 5x3 6 0 0 wxw 0 1 2 2 2 6 x3 6 5 0 0 xw 0 1 2 2 2 7x 3 2 8 3 0 0 ww 0 1 2
Homotopy
Polynomial continuation To solve F 1 (X) =0 Solve instead: F m (X)=(1-t)F 0 (X)+tF 1 (X) =0 Start with F 0 (X)=0, with known solutions. t is varied in steps from 0 to 1. Use solution at each step as an initial guess for the equations of the next step Disadvantages: Tracks one solution at a time, and no advantage to having other solutions. Tracks unwanted solutions at infinity.
2 2 1 1 2 1 2 1 2 1 Polynomial Continuation Example f : 3x x + 2x + 9= 0 f : 6x x + x + 8= 0 g : x 1 = 0 x = 1, 1, i, i 4 1 1 1 g : x 1= 0 x = 1, 1 2 2 2 2 H ( x, t) = (1 t) e ( x 1) + t(3xx+ 2x+ 9) = 0 iθ 4 1 1 H ( x, t) = (1 t) e ( x 1) + t(6xx+ x+ 8) = 0 iθ 2 2 2 at t = 0, we know 8 solutions: (1,1),(1, 1),( 1,1), ( 1, 1), ( i,1), ( i, 1), ( i,1), ( i, 1)
Important results with continuation First proof that the 6R manipulators has 16 solutions for the inverse kinematics First proof that the generalized Stewart Platform has 40 solutions for the direct kinematics problem First synthesis for 9 points on coupler curve of planar 4-bar
Continuous functions In an n-dimensional space Algebraic set of dimension k and deg. d Intersects a linear subspace of dimension n-k In d points Examples: Curve (k=1) of deg. d, in the 3 space plane (n=2) (n=3) Intersects a line (n-k=1) in d points plane (n-k=2)
The procedure in genereral Take (n-k) to determine the dimension of the generic linear subset that does the cutting. (This is the co-dimension of the original space.) The generic (n-k)-dimensional linear subset is gotten by using k hyperplanes
Dummy variable added to n x n system f 1 (x 1, x 2, x 3,.., x n,x (n+1) )=0 f 2 (x 1, x 2, x 3,.., x n,x (n+1) )=0 f 3 (x 1, x 2, x 3,.., x n,x (n+1) )=0... f n (x 1, x 2, x 3,.., x n,x (n+1) )=0 a 1 x 1 +a 2 x 2 +a 3 x 3 + +a n x n +a (n+1) x (n+1) =0
Abreviated procedure For ordinary continuation, dimension=zero, we get isolated points. To find a curve, dimension=1, we use a hyperplane, and vary it. To find a surface, dimension=2, we need two hyperplanes (hyperline). To find a volume, dimension=3, we need three hyperplanes. Etc.
Witness points Find the d points of intersection using polynomial continuation. These d points are named witness points. Repeatedly vary the planes in n-space to get a large set of witness points. Fit these witness points to a polynomial of degree d ( or use a projection to a lower dimension, or use Monodromy algorithm.) (See Sommese, Vershelde, Wampler)
Current Situation Continuation methods for isolated solutions Highly developed in 1980 s, 1990 s Numerical algebraic geometry started 1995 Builds on the methods for isolated roots Treats positive-dimensional sets Witness sets are the key construct Bertini-beta is available Isolated solutions: multi-homogeneous homotopy Positive-dimensional: irreducible decomposition Multiple precision for high-degree systems
Gröbner Bases Uses the ideas similar to Gaussian elimination to produce a triangular set of equations. Ideally resulting in one equation is one unknown. Determines a simple set of equations with same ideal as original set.
Symbolic Mathematica Maple Etc Is there a general theory for symbolic solution generation? How to deal with trade-offs of degree and number? How to deal with getting simplifications?
Thank you!