<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">ALAMT</journal-id><journal-title-group><journal-title>Advances in Linear Algebra &amp; Matrix Theory</journal-title></journal-title-group><issn pub-type="epub">2165-333X</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/alamt.2018.81004</article-id><article-id pub-id-type="publisher-id">ALAMT-82865</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  6R Robot Inverse Solution Algorithm Based on Quaternion Matrix and Groebner Base
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Zhensong</surname><given-names>Ni</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ruikun</surname><given-names>Wu</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>School of Electronic and Information Engineering, Fuqing Branch of Fujian Normal University, Fuqing, China</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>460532802@qq.com(ZN)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>09</day><month>01</month><year>2018</year></pub-date><volume>08</volume><issue>01</issue><fpage>33</fpage><lpage>40</lpage><history><date date-type="received"><day>1,</day>	<month>November</month>	<year>2017</year></date><date date-type="rev-recd"><day>4,</day>	<month>March</month>	<year>2018</year>	</date><date date-type="accepted"><day>7,</day>	<month>March</month>	<year>2018</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  This article proposes a new algorithm of quaternion and dual quaternion in matrix form. It applies quaternion in special cases of rotated plane, transforming the sine and cosine of the rotation angle into matrix form, then exporting flat quaternions base in two matrix form. It establishes serial 6
  <em>R</em> manipulator kinematic equations in the form of quaternion matrix. Then five variables are eliminated through linear elimination and application of lexicographic Groebner base. Thus, upper bound of the degree of the equation is determined, which is 16. In this way, a 16-degree equation with single variable is obtained without any extraneous root. This is the first time that quaternion matrix modeling has been used in 6R robot inverse kinematics analysis.
 
</p></abstract><kwd-group><kwd>6R Robot</kwd><kwd> Quaternion Matrix</kwd><kwd> Groebner Base</kwd><kwd> Inverse Kinematics Analysis</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>This article uses quaternion matrix to solve the problem of 6R robot inverse kinematics in the three-dimensional space. In fact, this problem has been solved in 1986 [<xref ref-type="bibr" rid="scirp.82865-ref1">1</xref>] , through Closed Displacement Equation established by Homogeneous Transforms Matrix. It makes use of the product of the closed equation to conduct linear combination and then gets a new series of related equations. Finally, it performs linear elimination according to the linear combination among equations and does final elimination by the resultant, obtaining the 16-degree equation with single variable in the end. The kinematic model of 6R robot can also be built using Dual quaternion or Double quaternion, but there are some problems existed. When Qiao Shuguang [<xref ref-type="bibr" rid="scirp.82865-ref2">2</xref>] used Double quaternion to solve the problem, 8 extraneous roots appear. In order to eliminate the extraneous roots, four 1 + t<sup>2</sup> common factors were extracted in Dixon Resultant. Thus, a 16-degree equation with single variable is obtained. Huang Xiguang [<xref ref-type="bibr" rid="scirp.82865-ref3">3</xref>] and Gan Dongming [<xref ref-type="bibr" rid="scirp.82865-ref4">4</xref>] transformed the sine and cosine of one rotation angle into plural form instead of extracting common factors, but numerical calculation is needed. Because only in that way, &#177;12 degree equation can be transformed to &#177;8 degree equation, and then a 16-degree equation with single variable can be obtained. Even though they have obtained the single-variable equation, the deduction process depends on numerical computation lacking rigorous proof. A new algorithm using quaternion and dual quaternion in matrix form is put forward in this article. It applies quaternion in special cases of rotated plane, transforming the sine and cosine of the rotation angle into matrix form, then exporting flat quaternion base in two matrixes form. It establishes serial 6R manipulator kinematic equations in the form of quaternion matrix. Then five variables are eliminated through linear elimination and application of lexicographic Groebner base. Thus, upper bound of the degree of the equation is determined, which is 16. In this way, a 16-degree equation with single variable is obtained without any extraneous root. This is the first time that quaternion matrix [<xref ref-type="bibr" rid="scirp.82865-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.82865-ref6">6</xref>] modeling has been used in 6R robot inverse kinematics analysis.</p></sec><sec id="s2"><title>2. Homogeneous Transformations in the Form of Quaternion Matrix</title><p>A dual quaternion can be expressed as:</p><p>q ⌢ = a i + b j + c k + d + a 0 i ε + b 0 j ε + c 0 k ε + d 0 ε (1)</p><p>which the last four part can be written as</p><p>a 0 i ε + b 0 j ε + c 0 k ε + d 0 ε = [ d 0 + c 0 i a 0 + b 0 i − a 0 + b 0 i d 0 − c 0 i ] ε</p><p>which the part in the bracket can be transformed to matrix form using the method above, so the matrix form of dual quaternion can be expressed as:</p><p>q ⌢ = a i + b j + c k + d + a 0 i ε + b 0 j ε + c 0 k ε + d 0 ε = [ d + c i a + b i − a + b i d − c i ] + [ d 0 + c 0 i a 0 + b 0 i − a 0 + b 0 i d 0 − c 0 i ] ε</p><p>Using D-H method to build robot coordinate system, the relationship of two adjacent joint coordinate systems i-1 and i, can be described by the parameters in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p><p>In <xref ref-type="fig" rid="fig1">Figure 1</xref>, a new coordinate system can be derived by the coordinate system i-1 rotating on its axis Z with angle θ<sub>i</sub> and transforming s<sub>i</sub> along the same axis. Similarly, by rotating this new coordinate system on its axis X with angle α<sub>i</sub> and transforming a<sub>i</sub> along the same X, the coordinate system i can be obtained. This kinematics can be described in matrix form like this</p><p>Q i − 1 z ( θ i , s i ) Q i − 1 x ( α i − 1 i , a i − 1 i )</p><p>Q i − 1 z ( θ i , s i ) = Z i − 1 + ε Z i − 1 0 = Ζ i − 1 + ε S i − 1 Z i − 1 / 2</p><p>in which:</p><p>Z i − 1 = { 0 , 0 , sin θ 2 K , cos θ 2 } ⇒ ( X 0 0 X &#175; ) , X = cos θ 2 + i sin θ 2 = e i θ 2 , X &#175; = cos θ 2 − i sin θ 2 = e − i θ 2</p><p>s = { 0 , 0 , s 1 , 0 } ⇒ ( i s 1 0 0 − i s 1 ) .</p><p>So</p><p>Q i − 1 z ( θ i , s i ) = [ e i θ i 2 0 0 e − i θ i 2 ] + 1 2 [ i s 1 e i θ i 2 0 0 i s 1 e − i θ i 2 ] ε</p><p>among which the latter one is a conversion related to x-axis.</p><p>Q i − 1 x ( α i − 1 i , a i − 1 i ) = X i − 1 + ε X i − 1 0 = X i − 1 + ε A i − 1 X i − 1 / 2 ,</p><p>in which</p><p>X i − 1 = [ cos α 2 sin α 2 − sin α 2 cos α 2 ]</p><p>A i − 1 = [ 0 a − a 0 ]</p><p>Q i − 1 x ( α i − 1 i , a i − 1 i ) = [ cos α 2 sin α 2 − sin α 2 cos α 2 ] + 1 2 ε [ − a sin α 2 a cos α 2 − a cos α 2 − a sin α 2 ]</p></sec><sec id="s3"><title>3. Closed-Form Kinematics Equations in Term of Double Quaternion Matrix</title><sec id="s3_1"><title>3.1. Mathematical Modeling</title><p>Inverse solution of position of 6R robot in three dimensions is that given the position and gesture and parameter s<sub>i</sub>, a<sub>i</sub>, α<sub>i</sub> , find the input angles ( θ i ( i = 1 , 2 , ⋯ , 6 ) ) of every joints. 6R serial mechanism (<xref ref-type="fig" rid="fig2">Figure 2</xref>) has six joints and it needs 6 three-dimension movements described in <xref ref-type="fig" rid="fig1">Figure 1</xref>. According to basic theories of quaternion matrix, the mathematical model of inverse solution of kinematics position of 6R serial mechanism in three dimensions can be expressed in matrix form:</p><p>Q 1 z ( θ 1 , s 1 ) Q 1 x ( α 12 , a 12 ) Q 2 z ( θ 2 , s 2 ) Q 2 x ( α 23 , a 23 ) ⋯ Q 1 z ( θ 6 , s 6 ) Q 6 x ( α 61 , a 61 ) = M . (2)</p><p>θ<sub>i</sub>, s<sub>i</sub>, α<sub>i</sub> and a<sub>i</sub><sub> </sub>in the equations are structural parameters of 6R robot manipulate arm. Q i Z ( θ i , S i ) and Q i x ( α i , a i ) are quaternion matrix transformations that rotate and move along z-axis and x-axis respectively. M is the expression in quaternion matrix form of the position and gesture of the end of the robot. For general 6R robot, unknown variables are θ i ( i = 1 , 2 , ⋯ , 6 ) and other variable are determined by the structure of robot which are known. Our goal is to find out the six angles. We use T<sub>i</sub> and A<sub>i </sub>to represent Q i Z ( θ i , S i ) and Q i x ( α i , a i ) . As Qiao [<xref ref-type="bibr" rid="scirp.82865-ref2">2</xref>] said that two of the six variables on the left of Equation (2) can be moved to the right and then it can be solved by Dixon resultant. Here, we move three of six variables on the left to the right, then Equation (2) becomes:</p><p>T 1 A 1 T 2 A 2 T 3 = M A 3 − 1 A 4 − 1 T 4 − 1 A 6 − 1 T 6 − 1 A 5 − 1 T 5 − 1 . (3)</p><p>Assume that the left and right part in equation is T<sub>7</sub> and T<sub>8</sub> respectively, which are quaternions in matrix form. Using Mathematic 6.0, we get:</p><p>T 7 = U 1 + ε U 2 = [ u 11 u 13 u 12 u 14 ] + ε [ u 21 u 23 u 22 u 24 ] T 8 = V 1 + ε V 2 = [ v 11 v 13 v 12 v 14 ] + ε [ v 21 v 23 v 22 v 24 ] (4)</p><p>Since u 1 i = v 1 i <sub> </sub>and u 2 i = v 2 i ( i = 1 , 2 , 3 , 4 ) and we assume that e i θ j / 2 = x j , j = 1 , 2 , ⋯ , 6 , we can obtain eight equations below:</p><p>a i 1 x 1 x 2 x 3 + a i 2 x 1 x 2 x 3 − 1 + a i 3 x 1 x 2 − 1 x 3 + a i 4 x 1 − 1 x 2 x 3 +   a i 5 x 1 − 1 x 2 − 1 x 3 + a i 6 x 1 x 2 − 1 x 3 − 1 + a i 7 x 1 − 1 x 2 x 3 − 1 + a i 8 x 1 − 1 x 2 − 1 x 3 − 1 = b i 1 x 4 x 5 x 6 + b i 2 x 4 x 5 x 6 − 1 + b i 3 x 4 − 1 x 5 x 6 + b i 4 x 4 x 5 − 1 x 6     + b i 5 x 4 x 5 − 1 x 6 − 1 + b i 6 x 4 − 1 x 5 − 1 x 6 + b i 7 x 4 − 1 x 5 x 6 − 1 + b i 8 x 4 − 1 x 5 − 1 x 6 − 1       ( i = 1 , 2, ⋯ , 8 ) (5)</p><p>where a<sub>i</sub> and b<sub>i</sub> are known parameters determined by the structure of mechanical arm.</p></sec><sec id="s3_2"><title>3.2. Eliminate x<sub>4</sub>, x<sub>5</sub> and x<sub>6</sub></title><p>Assume the right end of the eight Equations in (5) to be:</p><p>y 1 = x 4 x 5 x 6 ;   y 2 = x 4 x 5 x 6 − 1 ;   y 3 = x 4 x 5 − 1 x 6 ; y 5 = x 4 − 1 x 5 x 6 ;   y 4 = x 4 x 5 − 1 x 6 − 1 ;   y 6 = x 4 − 1 x 5 − 1 x 6 ; y 7 = x 4 − 1 x 5 x 6 − 1 ;   y 8 = x 4 − 1 x 5 − 1 x 6 − 1</p><p>x 4 x 5 x 6 − y 1 = 0 ;   x 4 x 5 − x 6 y 2 = 0 ;   x 4 x 6 − x 5 y 3 = 0 ; x 5 x 6 − x 4 y 4 = 0 ;   x 4 − x 5 x 6 y 5 = 0 ;   x 6 − x 4 x 5 y 6 = 0 ; x 5 − x 4 x 6 y 7 = 0 ;   1 − x 4 x 5 x 6 y 8 = 0. (6)</p><p>Solve y<sub>i</sub> and we can get eight equations below:</p><p>c i 1 x 1 x 2 x 3 + c i 2 x 1 x 2 x 3 − 1 + c i 3 x 1 x 2 − 1 x 3 + c i 4 x 1 − 1 x 2 x 3 + c i 5 x 1 x 2 − 1 x 3 − 1 +   c i 6 x 1 − 1 x 2 x 3 − 1 + c i 7 x 1 − 1 x 2 − 1 x 3 + c i 8 x 1 − 1 x 2 − 1 x 3 − 1 = y i       ( i = 1 , 2 , ⋯ , 8 ) (7)</p><p>where c<sub>i</sub> are known parameters determined by the structure of mechanical arm.</p><p>In (7), we use lexicographic method to order, so x 4 &gt; x 5 &gt; x 6 , then we compute the Groebner base. Use algebraic system to perform symbolic operation, then we get 21 bases. However, 11 bases among them are eliminated because of containing x<sub>4</sub>, x<sub>5</sub> and x<sub>6</sub>. Other ten lower-degree bases are selected as quadric bases:</p><p>− y 6 ∗ y 7 + y 5 ∗ y 8 = 0 ;   − y 4 ∗ y 6 + y 3 ∗ y 8 = 0 ; − y 4 ∗ y 7 + y 2 ∗ y 8 = 0 ;   − y 2 ∗ y 5 + y 1 ∗ y 7 = 0 ; − y 3 ∗ y 5 + y 1 ∗ y 6 = 0 ;   − y 2 ∗ y 3 + y 1 ∗ y 4 = 0 ; − 1 + y 4 ∗ y 5 = 0 ;   − 1 + y 3 ∗ y 7 = 0 ; − 1 + y 1 ∗ y 8 = 0 ;   − 1 + y 2 ∗ y 6 = 0. (8)</p><p>Substitute y<sub>1</sub>~y<sub>8</sub> into Equation (8) and multiply x 1 2 x 2 2 x 3 2 to both sides, then we obtain 10 equations about x 1 2 , x 2 2 , x 3 2 whose degrees are no more than 4:</p><p>d i 1 + d i 2 x 1 2 + ⋯ + d i 27 x 1 4 x 2 4 x 3 4 = 0   ( i = 1 , ⋯ , 10 ) . (9)</p><p>For (9), assume x 1 2 = X 1 , x 2 2 = X 2 , x 3 2 = X 3 and simplify this equation by lexicographic Groebner base. Detailed steps are:</p><p>Use Mathematica on Intel Pentium IV, 2.93 GHz, RAM 1 G, PC and rank the Groebner bases in (9) according to X 1 &gt; X 2 &gt; X 3 . This process cost 5.657 seconds and we obtain 11 bases.</p><p>Seven of the 11 bases are shown below:</p><p>e i 1 + e i 2 X 1 + e i 3 X 1 2 + e i 4 X 2 + e i 5 X 1 X 2 + e i 6 X 2 2 + e i 7 X 2 3     ( i = 1 , 2 , ⋯ , 7 ) . (10)</p><p>Other four bases are abandoned because they have high degree of X<sub>1</sub> and X<sub>2</sub>. The coefficients e<sub>ij</sub> in (10) are 4, 3, 1, 3, 2, 2, 1 algebraic expression of X<sub>3</sub>.</p><p>The seven Equations in (10) can be transformed into matrix form:</p><p>N 7 &#215; 7 T = 0 (11)</p><p>where T = [ 1 , X 1 , X 1 2 , X 2 , X 1 X 2 , X 2 2 , X 2 3 ] T .</p><p>In order to have solutions, the value of determinant of coefficient must be 0, that is</p><p>det ( N 7 &#215; 7 ) = 0 . (12)</p><p>According to the analysis to the degree of X<sub>3</sub>, matrix N<sub>7&#215;7</sub> has 16 degrees about X<sub>3</sub>. So the degree of expansion is no more than 16.</p><p>According to (12), there is no need to extract any common factor and 16-degree input and output equations with single variable X<sub>3</sub> can be obtained:</p><p>∑ i = 0 16 s i X 3 i = 0 (13)</p><p>where s<sub>i</sub> are real coefficients determined by input parameters. Solve (13), 16 solutions will be obtained and through:</p><p>θ 3 = ln X 3 / i (14)</p><p>value of θ 3 is available.</p><p>Substitute x<sub>3</sub> to (8) and extract eight equations to build an equation set; consider X 1 , X 1 2 , X 2 , X 1 X 2 , X 2 2 , X 2 3 as unknown variables and solve it. Then we can get X<sub>1</sub> and X<sub>2</sub>. Through (14), we can get θ<sub>1</sub> and θ<sub>2</sub>. Input θ<sub>1</sub> and θ<sub>2</sub> to (7), y<sub>i</sub> can be solved. Then, by (6) and (14), θ<sub>4</sub>, θ<sub>5</sub> and θ<sub>6</sub> are also available.</p></sec><sec id="s3_3"><title>3.3. Sample Analysis</title><p>Use the parameters in example by Q. Shuguang, which the structural parameters are shown in <xref ref-type="table" rid="table1">Table 1</xref>. According to the parameter above, we obtain the position and gesture matrix of the end of the mechanical arm, which has 16 groups of joint angles.</p><p>The results of back solution are shown in <xref ref-type="table" rid="table2">Table 2</xref>, in which there are four real solutions and the 14<sup>th</sup> solution equals to the initial value. In addition, the result in <xref ref-type="table" rid="table2">Table 2</xref> is exactly the same as the result gained by program in [<xref ref-type="bibr" rid="scirp.82865-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.82865-ref7">7</xref>] and [<xref ref-type="bibr" rid="scirp.82865-ref8">8</xref>] . In this way, this algorithm is correct.</p></sec></sec><sec id="s4"><title>4. Conclusion</title><p>Based on research of quaternion in matrix form, we apply it on the modeling of 6R robot. By using lexicographic Groebner base twice, we eliminate 3 variables</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Structural parameters of 6R robot</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Index i</th><th align="center" valign="middle" >Moving distance along x-axis a<sub>i</sub>/mm</th><th align="center" valign="middle" >Rotation angle around x-axis α<sub>i</sub>/(˚)</th><th align="center" valign="middle" >Moving distance along z-axis s<sub>i</sub>/mm</th><th align="center" valign="middle" >Rotation angle around z-axis θ<sub>i</sub>/(˚)</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >90</td><td align="center" valign="middle" >900</td><td align="center" valign="middle" >80</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >400</td><td align="center" valign="middle" >−90</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >−16</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >800</td><td align="center" valign="middle" >45</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >110</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >125</td><td align="center" valign="middle" >90</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" >70</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >200</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >700</td><td align="center" valign="middle" >−30</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" >50</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" >20</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> 16 groups of solutions of 6R robot</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Index</th><th align="center" valign="middle" >θ<sub>1</sub>(˚)</th><th align="center" valign="middle" >θ<sub>2</sub>(˚)</th><th align="center" valign="middle" >θ<sub>3</sub>(˚)</th><th align="center" valign="middle" >θ<sub>4</sub>(˚)</th><th align="center" valign="middle" >θ<sub>5</sub>(˚)</th><th align="center" valign="middle" >θ<sub>6</sub>(˚)</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >126.904 + 61.1805i</td><td align="center" valign="middle" >−160.617 − 29.2234i</td><td align="center" valign="middle" >162.153 + 80.0235i</td><td align="center" valign="middle" >131.966 − 81.8681i</td><td align="center" valign="middle" >156.188 − 80.3445i</td><td align="center" valign="middle" >−10.6735 + 74.01i</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >126.904 − 61.1805i</td><td align="center" valign="middle" >−160.617 + 29.2234i</td><td align="center" valign="middle" >162.153 − 80.0235i</td><td align="center" valign="middle" >131.966 + 81.8681i</td><td align="center" valign="middle" >156.188 + 80.3445i</td><td align="center" valign="middle" >−10.6735 − 74.01i</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >−154.594 + 3.76672i</td><td align="center" valign="middle" >−56.7362 − 33.2051i</td><td align="center" valign="middle" >−119.269 − 28.7903i</td><td align="center" valign="middle" >165.725 − 1.57149i</td><td align="center" valign="middle" >59.3951 + 71.4594i</td><td align="center" valign="middle" >6.67326 − 40.6869i</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >−154.594 − 3.76672i</td><td align="center" valign="middle" >−56.7362 + 33.2051i</td><td align="center" valign="middle" >−119.269 + 28.7903i</td><td align="center" valign="middle" >165.725 + 1.57149i</td><td align="center" valign="middle" >59.3951−71.4594i</td><td align="center" valign="middle" >6.67326 + 40.6869i</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >80</td><td align="center" valign="middle" >−16</td><td align="center" valign="middle" >110</td><td align="center" valign="middle" >70</td><td align="center" valign="middle" >−30</td><td align="center" valign="middle" >20</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >72.0137</td><td align="center" valign="middle" >3.45572</td><td align="center" valign="middle" >120.785</td><td align="center" valign="middle" >56.4888</td><td align="center" valign="middle" >19.0818</td><td align="center" valign="middle" >−13.9585</td></tr><tr><td align="center" valign="middle" >7</td><td align="center" valign="middle" >−3.33344 − 3.61438i</td><td align="center" valign="middle" >8.78943 − 30.7833i</td><td align="center" valign="middle" >171.434 + 30.7778i</td><td align="center" valign="middle" >76.1364 − 72.1063i</td><td align="center" valign="middle" >3.69214 + 39.4426i</td><td align="center" valign="middle" >−16.8816 − 54.9133i</td></tr><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >−3.33344 + 3.61438i</td><td align="center" valign="middle" >8.78943 + 30.7833i</td><td align="center" valign="middle" >171.434 − 30.7778i</td><td align="center" valign="middle" >76.1364 + 72.1063i</td><td align="center" valign="middle" >3.69214 − 39.4426i</td><td align="center" valign="middle" >−16.8816 + 54.9133i</td></tr><tr><td align="center" valign="middle" >9</td><td align="center" valign="middle" >−69.6973 + 43.8222i</td><td align="center" valign="middle" >15.5748 − 28.126i</td><td align="center" valign="middle" >−160.994 − 16.4298i</td><td align="center" valign="middle" >112.288 − 59.3653</td><td align="center" valign="middle" >8.20624 + 62.8281</td><td align="center" valign="middle" >−16.1271 − 50.7677i</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >−69.6973 − 43.8222i</td><td align="center" valign="middle" >15.5748 + 28.126i</td><td align="center" valign="middle" >−160.994 + 16.4298ii</td><td align="center" valign="middle" >112.288 + 59.3653</td><td align="center" valign="middle" >8.20624−62.8281</td><td align="center" valign="middle" >−16.1271 + 50.7677i</td></tr><tr><td align="center" valign="middle" >11</td><td align="center" valign="middle" >−121.824</td><td align="center" valign="middle" >52.449</td><td align="center" valign="middle" >−46.4873</td><td align="center" valign="middle" >−7.0332</td><td align="center" valign="middle" >55.0851</td><td align="center" valign="middle" >−102.853</td></tr><tr><td align="center" valign="middle" >12</td><td align="center" valign="middle" >34.4192 + 2.54131i</td><td align="center" valign="middle" >94.567 − 5.42461i</td><td align="center" valign="middle" >85.5904 + 5.78504i</td><td align="center" valign="middle" >140.208 − 6.40323i</td><td align="center" valign="middle" >109.799 − 10.493i</td><td align="center" valign="middle" >−33.5871 + 5.78306i</td></tr><tr><td align="center" valign="middle" >13</td><td align="center" valign="middle" >34.4192 − 2.54131i</td><td align="center" valign="middle" >94.567 + 5.42461i</td><td align="center" valign="middle" >85.5904 − 5.78504i</td><td align="center" valign="middle" >140.208 + 6.40323i</td><td align="center" valign="middle" >109.799 + 10.493i</td><td align="center" valign="middle" >−33.5871 − 5.78306i</td></tr><tr><td align="center" valign="middle" >14</td><td align="center" valign="middle" >−110.338</td><td align="center" valign="middle" >105.204</td><td align="center" valign="middle" >−67.5107</td><td align="center" valign="middle" >37.7924</td><td align="center" valign="middle" >−146.258</td><td align="center" valign="middle" >58.386</td></tr><tr><td align="center" valign="middle" >15</td><td align="center" valign="middle" >−41.4745 + 92.6597i</td><td align="center" valign="middle" >173.727 + 9.92687i</td><td align="center" valign="middle" >−48.825 + 311.265i</td><td align="center" valign="middle" >−79.3546 + 5.61266i</td><td align="center" valign="middle" >−139.649 + 83.3555i</td><td align="center" valign="middle" >−139.951 − 275.645i</td></tr><tr><td align="center" valign="middle" >16</td><td align="center" valign="middle" >−41.4745 − 92.6597i</td><td align="center" valign="middle" >173.727 − 9.92687i</td><td align="center" valign="middle" >−48.825 − 311.265i</td><td align="center" valign="middle" >−79.3546 − 5.61266i</td><td align="center" valign="middle" >−139.649 − 83.3555i</td><td align="center" valign="middle" >−139.951 + 275.645i</td></tr></tbody></table></table-wrap><p>and obtain 10 bases in the first time and 11 bases in the second time. Thus, the degree of variables decreases. Using 7 bases among them and resultant elimination, the analytical solution of the 16-degree equation is obtained and the numerical example gets the same result as the literature above. It is a convenient method which can be applied to inverse kinematics analysis of 6R robot in three dimensions, laying a new foundation for real application.</p></sec><sec id="s5"><title>Cite this paper</title><p>Ni, Z.S. and Wu, R.K. (2018) 6R Robot Inverse Solution Algorithm Based on Quaternion Matrix and Groebner Base. Advances in Linear Algebra &amp; Matrix Theory, 8, 33-40. https://doi.org/10.4236/alamt.2018.81004</p></sec></body><back><ref-list><title>References</title><ref id="scirp.82865-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Liao, Q.Z. and Liang, C.G. (1993) Synthesizing Spatial 7R Mechanism with 16-Assembly Configurations. Mechanisms and Machine Theory, 28, 715-720. https://doi.org/10.1016/0094-114X(93)90010-S</mixed-citation></ref><ref id="scirp.82865-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Qiao, S., Liao, Q., Wei, S. and Su, H.J. (2010) Inverse Kinematic Analysis of the General 6R Serial Manipulators Based on Double Quaternions. Mechanism and Machine Theory, 45, 193-197. https://doi.org/10.1016/j.mechmachtheory.2009.05.013</mixed-citation></ref><ref id="scirp.82865-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Huang, X.G. and Liao, Q.Z. (2010) New Algorithm for Inverse Kinematics of 6R Serial Robot Mechanism. Journal of Beijing University of Aeronautics and Astronautics, 36, 295-298.</mixed-citation></ref><ref id="scirp.82865-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Gan, D., Liao, Q., Wei, S., Dai, J.S. and Qiao, S. (2008) Dual Quaternion-Based Inverse Kinematics of the General Spatial 7R Mechanism. Journal of Mechanical Engineering Science, 222, 1593-1598. https://doi.org/10.1243/09544062JMES1082</mixed-citation></ref><ref id="scirp.82865-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Goodson, G.R. (1997) The Inverse-Similarity Problem for Real Orthogonal Matrices. American Mathematical Monthly, 104, 223-230. https://doi.org/10.2307/2974787</mixed-citation></ref><ref id="scirp.82865-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Stephen, J., Wine, S. and Le Bihan, N. (2006) Quaternion Singular Value Decomposition Based on Bidiagonalization to a Real or Complex Matrix Using Quaternion Householder Transformations. Applied Mathematics and Computation, 128, 727-738.</mixed-citation></ref><ref id="scirp.82865-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Ni, Z.S., Liao, Q.Z., Wei, S.M. and Li, R.H. (2009) Dual Four Element Method for Inverse Kinematics Analysis of Spatial 6R Manipulator. Journal of Mechanical Engineering, 45, 25-29. https://doi.org/10.3901/JME.2009.11.025</mixed-citation></ref><ref id="scirp.82865-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Ni, Z.S. (2010) A Study of Geometric Algebro Method on Some Issues for Kinematrics of Mechanisms. Beijing University of Posts and Telecommunications, Beijing.</mixed-citation></ref></ref-list></back></article>