<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards Trajectory Planning for a 6-Degree-of-Freedom Robot Manipulator Considering the Orientation of the End-efector Using Computer Algebra</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Takumu Okazaki</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Akira Terui</string-name>
          <email>terui@math.tsukuba.ac.jp</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Masahiko Mikawa</string-name>
          <email>mikawa@slis.tsukuba.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Library, Information and Media Science, University of Tsukuba</institution>
          ,
          <addr-line>Tsukuba 305-8550</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Pure and Applied Sciences, University of Tsukuba</institution>
          ,
          <addr-line>Tsukuba 305-8571</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Master's Program in Mathematics, Graduate School of Science and Technology, University of Tsukuba</institution>
          ,
          <addr-line>Tsukuba</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Tokyo</institution>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <fpage>84</fpage>
      <lpage>91</lpage>
      <abstract>
        <p>We consider the trajectory planning of a 6-Degree-of-Freedom (DOF) robot manipulator using computer algebra, with controlling the orientation of the end-efector. As a first step towards the objective, we present a solution to the inverse kinematics problem of the manipulator such that the orientation of the end-efector remains constant using computer algebra. Trajectory planning, Inverse kinematic problem, Robot manipulator, Gröbner basis (M. Mikawa) This paper discusses the trajectory planning of a 6-Degree-of-Freedom (DOF) robot manipulator. A manipulator is a robot resembling a human hand and comprises links that function as a human arm and joints that function as human joints. Each link is connected for movement relative to each other by a joint. The first link is connected to the ground, and the last link called end-efector, contains the hand, which can be moved freely. In this paper, we consider a manipulator called “myCobot 280" [1] (hereafter called “myCobot”) that has six joints connected in series that can only rotate around a certain axis. Note that each joint has one degree of freedom. Therefore, myCobot has at most six degrees of freedom.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>LGOBE
∗Corresponding author.</p>
      <p>(CC BY 4.0).
CEUR
Workshop
Proceedings</p>
      <p>ceur-ws.org
ISSN1613-0073
4
3
1
6

4 5
3
2
1



5
Systems (CGS) and certifying the existence of a solution to the inverse kinematic problem using
the CGS-QE, or the quantifier elimination (QE) based on the CGS computation.</p>
      <p>In this paper, we consider the trajectory planning of a 6-DOF robot manipulator while
controlling the orientation of the end-efector using computer algebra. As a first step towards the
objective, we present a solution to the inverse kinematics problem such that the end-efector’s
orientation remains constant. More precisely, we present a solution to the inverse kinematics
problem under the condition that the end-efector’s local coordinate system overlaps the global
coordinate system by translation.</p>
      <p>The paper is organized as follows. In Section 2, the coordinate system and the notation of the
manipulator are introduced. In Section 3, the analytical solution of general inverse kinematics
problems is first described, followed by the solution in myCobot. In Section</p>
      <sec id="sec-1-1">
        <title>4, future initiatives are described.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <sec id="sec-2-1">
        <title>2.1. Coordinate systems</title>
        <p>For each joint in myCobot, the coordinate system is defined as follows (see Figure
1). Let
each joint be numbered as joint  from the base to the end-efector in increasing order, and the
end-efector be numbered as joint 7. Let  be the coordinate system of joint  . Here, 1 is the
reference (global) coordinate system, while the other coordinate systems are local. The axes
of each coordinate system are defined as follows: the 
 axis in the direction of the joint axis
(rotational axis in the case of a revolute joint),   axis in the direction of the common normal of
the   and +1  axes, and   axis to be a right-handed system.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Notation</title>
        <p>For the index  , the matrices are denoted by   , and vectors are denoted by +1   , in which
subscripts are used to distinguish points, and superscripts denote the local coordinate system to
which they refer (vectors with no superscripts are referenced in 1). If the vector is referenced
with respect to a diferent coordinate system, it is enclosed within brackets, and a separate
superscript is added outside the brackets. (e.g.  [+1   ]). Scalars are expressed in lowercase
variables, and subscripts, such as   , are used where necessary. In  , the origin is denoted by  
and the unit vectors are denoted by</p>
        <p>,</p>
        <p>and    . In vector  , the  -th component is denoted by
 [] .</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. The Denavit-Hartenberg convention</title>
        <p>normal   and the   axis.</p>
        <p>The ‘Denavit-Hartenberg parameters’ [11] are used as a transformation method between
coordinate systems. The following parameters are used in the transformations:   as the length of
the common normal between the   and +1  axes,   as the angle from the   -axis towards the
+1  -axis around the +1  -axis in the clockwise direction,   as the length between the common
normal   and the origin of the coordinate system  , and   as the angle between the common</p>
        <p>Let   be the transformation matrix from +1 and  . Then, as the product of matrices
representing rotation and translation,   is expressed by using the above parameters as
  = ⎜
⎛
cos  
sin  
− sin   cos  
cos   cos  
sin  
0
cos</p>
        <p>0
sin   sin</p>
        <p>cos  
− cos   sin     sin   ⎟ .</p>
        <p>
          1
− 
1
⎞
⎟
⎠
−  sin   ⎟ .
−  cos   ⎟
⎞
⎠
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
+1  =  −1  , where
        </p>
        <p>For expressing the transformation of the coordinate system, afine coordinates are used as
follows: if the coordinates of a point is expressed as  ( ,   , 
) and also as +1 (+1 , +1  , +1 ) ,
they are denoted by  
=  ( ,   ,  , 1) and +1 
= (+1 , +1  , +1 , 1) , respectively, in which the
last coordinates represent translation. Then, by the definition of   , we have   =   +1  and
 −1 = ⎜
⎛
⎝</p>
        <p>cos  
− sin   cos  
⎜ sin   sin  
0</p>
        <p>sin  
cos   cos  
− cos   sin  
0
sin  
cos  
0
0</p>
        <p>If  + 1 coordinate systems are given, there exist  coordinate transformations between
neighboring coordinate systems. Therefore, if the coordinates of a point are given as 7
with
respect to 7 (the end-efector), the coordinates
 of the same point with respect to 1 (the global
1
coordinate system) is obtained by multiplying   in sequence, such that
1
 = Aeq7 ,</p>
        <p>Aeq =  1 2 3 4
 5 6.</p>
        <p>Note that the inverse transformation is given as Aeq−1 =  6−1 5−1 4−1 3−1 2−1 1−1.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Solving the inverse kinematic problem</title>
      <sec id="sec-3-1">
        <title>3.1. The forward kinematics</title>
        <p>We first consider the forward kinematics problem of myCobot. Let  = ⃖⃖⃖⃖⃖⃖⃖⃗7 be the vector
1
from the origin of 1 (position of the root of the manipulator) to the origin of 7 (position of the
end-efector), and let  =  (1,  2,  3) = 1[7  ],</p>
        <p>=  ( 1,  2,  3) = 1[7  ],  =  ( 1,  2,  3) = 1[7  ] be
the vectors that are parallel to the unit vectors on the  ,  , and  axes of 7, respectively. Then,
 ,  ,  ,  is represented with respect to 1 as
⎛

1
⎞
⎜ 3⎟
⎝0⎠</p>
        <p>1
⎛ ⎞
⎜0⎟
⎝0⎠
⎛ 1</p>
        <p>⎞
⎜ 3⎟
⎝ 0 ⎠
⎜ 2⎟ = Aeq ⎜0⎟ ,

⎜ 2⎟ = Aeq ⎜1⎟ ,
⎜ 2⎟ = Aeq ⎜0⎟ ,</p>
        <p>⎜ 2⎟ = Aeq ⎜0⎟ ,
0
⎛ ⎞
⎜1⎟
⎝0⎠
⎛ 1</p>
        <p>⎞
⎜ 3⎟
⎝ 1 ⎠</p>
        <p>0
⎛ ⎞
⎜0⎟
⎝1⎠
0
⎛ ⎞
⎜0⎟
⎝0⎠
⎛ 1</p>
        <p>⎞
⎜ 3⎟
⎝ 0 ⎠
therefore, each component of Aeq and Aeq−1 is obtained as
⎛
⎝0

1  1  1  1
Aeq = ⎜ 2  2  2  2⎟ ,</p>
        <p>2
0
 2  3

3
0</p>
        <p>
          −(1 1 +  2 2 +  3 3)
−( 1 1 +  2 2 +  3 3)⎟ .
−( 1 1 +  2 2 +  3 3) ⎟
1
⎞
⎠
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
As seen in eq. (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ), by putting the angles of the joints  1, … ,  6 into the transformation matrix   ,
the position and orientation of the end-efector are obtained.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. The inverse kinematic problem</title>
        <p>
          To make use of eq. (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) in myCobot, we substitute some of the joint parameters   ,   ,   ,   of
myCobot into the transformation matrix   . As shown in the schematic diagram of myCobot in
taking a positive counterclockwise direction with respect to the   axis, the joint parameters are
given as
{ 1,  2,  3,  4,  5,  6} = { /2, 0, 0,  /2,  /2, 0}, 
1 =  2 =  3 =  4 =  5 =  6 = 0.
        </p>
        <p>
          (
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
        </p>
        <p>
          By substituting the joint parameters in eq. (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) into the transformation matrix   in eq. (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ),
Aeq is calculated. Then, by comparing the components of Aeq with the components of Aeq in
eq. (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ), a system of 12 polynomial equations in the variables   and   ( = 1, … , 6 ) is obtained,
where   = sin   and   = cos   . Each   can be obtained by selecting the appropriate equation(s)
from the above system and finding the solution. However, in the computation of Gröbner
basis, the coeficients of the equations may expand, which makes it dificult to find the solution.
Therefore, we focus on the structure of myCobot and solve its inverse kinematic problem from a
diferent perspective as follows.
3.3. Solving the inverse kinematic problem with a fixed orientation
Inverse kinematics problems for robot manipulators of a certain structure can be solved
analytically [12, 13]. Pieper [13] has pointed out that when the end efector of a 6-DOF manipulator has
a spherical joint, the inverse kinematics problem can be separated into position and orientation
problems of the end-efector. He has further noted that when the rotational axes of three
consecutive rotational joints of a 6-DOF manipulator intersect at a single point, the inverse kinematics
problem can also be separated into position and orientation problems of the end-efector.
        </p>
        <p>Pieper’s argument suggests that if there exists a combination of three consecutive rotational
joints whose rotational axes intersect at a single point, it becomes possible to solve the inverse
kinematics problem analytically. However, unfortunately, in the case of myCobot, there are no
combinations of three consecutive rotational joints whose rotational axes intersect at a single
point, although there are combinations of two consecutive joints whose rotational axes intersect
at a single point. Therefore, following Pieper’s approach, we solve the inverse kinematics problem
by imposing constraints on the orientation of the end-efector.</p>
        <p>
          For simplicity, we solve the inverse kinematic problem with the condition that the orientation
of the end-efector remains constant, i.e. the axis in
7 is parallel to the axis in 1 preserving the
same direction. Let  =  (
          <xref ref-type="bibr" rid="ref1">1, 0, 0</xref>
          ),  =  (
          <xref ref-type="bibr" rid="ref1">0, 1, 0</xref>
          ),  =  (
          <xref ref-type="bibr" rid="ref1">0, 0, 1</xref>
          ), then Aeq and Aeq−1 in eq. (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) become
as
        </p>
        <p>Aeq = ⎜
⎛
Let  be the intersection point of axes 4 and 5 , expressed as
1 = ⃖⃖⃖⃖⃖⃗=
1</p>
        <p>(,  , , 1).
By equating two vectors 7 above, we have
7 =  6−1 5−1 ⎜0⎟ = ⎜</p>
        <p>7 = Aeq−1 ⎜ ⎟ = ⎜
0
⎛ ⎞
⎜0⎟
⎝1⎠
⎛
⎜
⎝
− 5 sin  6
− 5 cos  6⎟ ,
⎞
⎟
⎠
− 6</p>
        <p>1
 1 − 
sin  6 =
, cos  6 =
 2 − 
Note that  is the position of Joint 5. We first express sin   and cos  
( = 1, … , 6) with the
coordinate of the intersection  .</p>
        <p>Let 7 = ⃖⃖⃖⃖⃖⃗, then 7 is expressed in two ways as
7
⎛
⎜
⎜
⎝</p>
        <p>sin  1 ⎞
− cos  1⎟ ,
0
0
⎟
⎠
Let  4 be the unit vector in the direction of 4 -axis. Then,  4 and 7 [ 4] are expressed as
 4 =  1 2 3</p>
        <p>7 [ 4] =  6−1 5−1 4−1 ⎜− sin  6 sin  5⎟ .</p>
        <p>By using 7 [ 4] above and Aeq, we obtain another expression for  4 as</p>
        <p>4 = Aeq7 [ 4] =  (cos  6 sin  5, − sin  6 sin  5, − cos  5, 0).</p>
        <p>
          By comparing each component of  4 in eqs. (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) and (
          <xref ref-type="bibr" rid="ref8">8</xref>
          ), respectively, we have
cos  5 = 0, sin  5 = ±1, cos  1 = ± sin  6 = ±  1 − 
, sin  1 = ± cos  6 = ±  2 −
        </p>
        <p>
          .
⎛ ⎞
⎜ ⎟
⎝1⎠
.

⎛
⎜
⎝
⎛
⎝
 −  1
 −  2⎟ .
⎜ −  3⎟
⎞
⎠
1
cos  6 sin  5 ⎞
− cos  5
0
⎟
⎠
 5
⎟
⎠
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
(9)
(10)
(11)
(12)
(13)
7[ 5] =  6−1 5−1 ⎜0⎟ = ⎜
        </p>
        <p>0
⎛ ⎞
⎜1⎟
⎝0⎠
⎛cos  6⎟ ,</p>
        <p>⎞
⎜ 0 ⎟
⎝ 0 ⎠
Next,  3 = ⃖⃖⃖⃖⃖⃗ is expressed as
1</p>
        <p>⎜
 3 =  1 2 3 ⎜ 4⎟</p>
        <p>⎟ = ⎜
0
0
⎛ ⎞
⎝ 1 ⎠
⎛
⎜
⎝</p>
        <sec id="sec-3-2-1">
          <title>Therefore,</title>
          <p>5
1
 4 sin  1 +  2 cos  1 cos  2 +  3 cos  1(cos  2 cos  3 − sin  2 sin  3) ⎞
− 4 cos  1 +  2 sin  1 cos  2 +  3 sin  1(cos  2 cos  3 − sin  2 sin  3)⎟ .</p>
          <p>1 +  2 sin  2 +  3(sin  2 cos  3 + cos  2 sin  3)
From the third component of  3 and the constraints,we have
 =  2 +  2 + ( −  1)2 =  22 +  32 +  42 + 2 2 3 cos  3.
cos  3 =
 2 +  2 + ( −  1)2 −  22 −  32 −  42
2 2 3</p>
          <p>, sin  3 = ±√1 − (cos  3)2
 1 +  2 sin  2 +  3(sin  2 cos  3 + cos  2 sin  3) = ,
(sin  2)2 + (cos  2)2 = 1.</p>
          <p>
            On the other hand,  3 is also expressed as 1
=  (,  , , 1)
1 [1]2 + 1 [2]2 + (1 [3] −  1)2 =  3[1]2 +  3[2]2 + ( 3[3] −  1)2, then we have
as shown in eq. (
            <xref ref-type="bibr" rid="ref5">5</xref>
            ). Let  =
using 7 [ 5] expressed as
If cos  3, sin  3 is obtained, cos  2, sin  2 is easily found from eq. (12).
          </p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Finally to find</title>
          <p>cos  4 and sin  4, let  5 be the unit vector in the direction of 5 -axis. Then, by
we have the expression for  5 in two ways as</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Next, from eq. (6) and the trigonometric identity, we have</title>
          <p>− 6 =  −  3.
(  1 −  2 ) = 1.</p>
          <p>) + (  2 −  2
 5
 5</p>
          <p>Finally, by equating the first and the third components in the vector in the right-most-hand
of eq. (10) with  and  , respectively, we have
 4 sin  1 +  2 cos  1 cos  2 +  3 cos  1(cos  2 cos  3 − sin  2 sin  3) = ,</p>
          <p>1 +  2 sin  2 +  3(sin  2 cos  3 + cos  2 sin  3) = .</p>
          <p>Then, by substituting sin  1 =  5  1− in eq. (9) into the above equations, assuming
 2− and cos  1 =  5
ifrst that sin  5 = 1, we have the following system of equations in sin  2, cos  2, sin  3, cos  3:
 2 − 
 4  5</p>
          <p>1 − 
+  2  5
cos  2 +  3  1 −5  (cos  2 cos  3 − sin  2 sin  3) = ,
 1 +  2 sin  2 +  3(sin  2 cos  3 + cos  2 sin  3) = ,
(sin  2)2 + (cos  2)2 = 1,
(sin  3)2 + (cos  3)2 = 1,
in which the last two equations are added as trigonometric identities.</p>
          <p>Then, the solution of the system in eq. (16) gives the value of cos  3 as
cos  3 = 2 2 3(11 − ) 2 (− 22 12 −  32 12 +  12 12 +  22 42 + 2 22 1 + 2 32 1 − 2 1 12 − 2 2 4 5
−  22 2 −  32 2 +  12 2 +  52 2 − 2 2 42 + 2 4 5 +  42 2 − 2 12 1 + 4 1 1 − 2 1 2
(14)
(15)
(16)
+  12 2 − 2 1 2 + 2 2). (17)
By putting cos  3 in eq. (17) into the first equation in eq. ( 11) and multiplying both sides by
( 1 − ) 2, we have
 42 12 +  42 22 − 2( 42 1 +  4 5 2) + ( 42 +  52 −  12) 2 + 2 1 3 −  4</p>
          <p>− 2 42 2 + 2 4 5 + ( 42 −  12) 2 + 2 1 2 −  2 2 = 0. (18)
In the case sin  5 = −1, perform the same calculation with sin  1 =  5  1− . In
 2− and cos  1 =  5
this case, the sign in eqs. (17) and (18) changes in part, which gives the following equations.
−  22 2 −  32 2 +  12 2 +  52 2 − 2 2 42 − 2 4 5 +  42 2 − 2 12 1 + 4 1 1 − 2 1 2
+  12 2 − 2 1 2 + 2 2), (19)
 42 12 +  42 22 − 2( 42 1 −  4 5 2) + ( 42 +  52 −  12) 2 + 2 1 3 −  4</p>
          <p>Furthermore, eq. (18) or eq. (20) together with eqs. (14) and (15), we obtain a system of
polynomial equations in , ,  . Solving the system (by using Gröbner basis computation, etc.)
gives the position of the intersection point  .</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Concluding remarks</title>
      <p>In this paper, we have proposed a solution for the inverse kinematic problem of a 6-DOF
manipulator under the condition that the orientation of the end-efector remains constant.</p>
      <p>Our first task from here includes the verification of the solution with the CGS-QE method
and eficiently solving the system of polynomial equations by using CGS, as we have proposed in
the previous work. In addition, the orientation was specified this time for simplicity. However,
orientation is not always constant in real-world manipulators. It is therefore necessary to develop
the problem into an inverse kinematics problem for arbitrary orientations. There are several
conditions on the geometry of the 6-DOF manipulator to be analytically solvable [13], and a
method with computer algebra has been proposed for solving the inverse kinematic problem of
the 6-DOF manipulator [3]. We will look for better solutions with reference to these methods.
[9] S. Otaki, A. Terui, M. Mikawa, A Design and an Implementation of an Inverse Kinematics
Computation in Robotics Using Real Quantifier Elimination based on Comprehensive
Gröbner Systems, Preprint, 2021. doi:10.48550/arXiv.2111.00384, arXiv:2111.00384.
[10] M. Yoshizawa, A. Terui, M. Mikawa, Inverse Kinematics and Path Planning of Manipulator
Using Real Quantifier Elimination Based on Comprehensive Gröbner Systems, in: Computer
Algebra in Scientific Computing: CASC 2023, volume 14139 of Lecture Notes in Computer
Science, Springer, 2023, pp. 393–419. doi:10.1007/978-3-031-41724-5_21.
[11] B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, Robotics: Modelling, Planning and Control,</p>
      <p>Springer, 2008. doi:10.1007/978-1-84628-642-1.
[12] A. A. Brandstötter, Mathias, M. Hofbaur, An analytical solution of the inverse kinematics
problem of industrial serial manipulators with an ortho-parallel basis and a spherical wrist,
in: Proceedings of the Austrian Robotics Workshop 2014, 2014, pp. 7–11.
[13] D. L. Pieper, The kinematics of manipulators under computer control, Stanford University,
1969. URL: https://apps.dtic.mil/sti/citations/AD0680036, accessed 2024-08-05, Ph.D. Thesis.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Elephant</given-names>
            <surname>Robotics</surname>
          </string-name>
          , Inc.,
          <year>2024</year>
          , mycobot 280, URL: https://www.elephantrobotics.com/en/ mycobot-en/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Husty</surname>
          </string-name>
          , Manfred L.,
          <string-name>
            <given-names>H.-P.</given-names>
            <surname>Schröcker</surname>
          </string-name>
          ,
          <article-title>A new and eficient algorithm for the inverse kinematics of a general serial 6R manipulator</article-title>
          ,
          <source>Mehcanism and machine theory 42.1</source>
          (
          <year>2007</year>
          )
          <fpage>66</fpage>
          -
          <lpage>81</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.mechmachtheory.
          <year>2006</year>
          .
          <volume>02</volume>
          .001.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Manocha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Canny</surname>
          </string-name>
          ,
          <article-title>Eficient inverse kinematics for general 6r manipulators</article-title>
          ,
          <source>IEEE Transactions on Robotics and Automation</source>
          <volume>10</volume>
          (
          <year>1994</year>
          )
          <fpage>648</fpage>
          -
          <lpage>657</lpage>
          . doi:
          <volume>10</volume>
          .1109/70.326569.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.-C.</given-names>
            <surname>Faugère</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Merlet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rouillier</surname>
          </string-name>
          ,
          <article-title>On solving the direct kinematics problem for parallel robots</article-title>
          ,
          <source>Research Report RR-5923</source>
          , INRIA,
          <year>2006</year>
          . URL: https://hal.inria.fr/inria-00072366.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C. M.</given-names>
            <surname>Kalker-Kalkman</surname>
          </string-name>
          ,
          <article-title>An implementation of Buchbergers' algorithm with applications to robotics</article-title>
          ,
          <source>Mech. Mach. Theory</source>
          <volume>28</volume>
          (
          <year>1993</year>
          )
          <fpage>523</fpage>
          -
          <lpage>537</lpage>
          . doi:
          <volume>10</volume>
          .1016/
          <fpage>0094</fpage>
          -
          <lpage>114X</lpage>
          (
          <issue>93</issue>
          )
          <fpage>90033</fpage>
          -
          <lpage>R</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Uchida</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. McPhee</surname>
          </string-name>
          ,
          <article-title>Triangularizing kinematic constraint equations using Gröbner bases for real-time dynamic simulation</article-title>
          ,
          <source>Multibody System Dynamics</source>
          <volume>25</volume>
          (
          <year>2011</year>
          )
          <fpage>335</fpage>
          -
          <lpage>356</lpage>
          . doi:
          <volume>10</volume>
          .1007/s11044-010-9241-8.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Uchida</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. McPhee</surname>
          </string-name>
          ,
          <article-title>Using Gröbner bases to generate eficient kinematic solutions for the dynamic simulation of multi-loop mechanisms</article-title>
          ,
          <source>Mech. Mach. Theory</source>
          <volume>52</volume>
          (
          <year>2012</year>
          )
          <fpage>144</fpage>
          -
          <lpage>157</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.mechmachtheory.
          <year>2012</year>
          .
          <volume>01</volume>
          .015.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>N.</given-names>
            <surname>Horigome</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Terui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mikawa</surname>
          </string-name>
          ,
          <article-title>A Design and an Implementation of an Inverse Kinematics Computation in Robotics Using Gröbner Bases</article-title>
          , in: A.
          <string-name>
            <surname>M. Bigatti</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Carette</surname>
            ,
            <given-names>J. H.</given-names>
          </string-name>
          <string-name>
            <surname>Davenport</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Joswig</surname>
          </string-name>
          , T. de Wolf (Eds.),
          <source>Mathematical Software - ICMS 2020</source>
          , Springer International Publishing, Cham,
          <year>2020</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>13</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -52200-
          <issue>1</issue>
          _
          <fpage>1</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>