# A Solution of the Inverse Kinematics Problem for a 7-Degrees-of-Freedom Serial Redundant Manipulator Using Gröbner Bases Theory

Authors: Sérgio Ricardo Xavier da Silva; Leizer Schnitman; Vitalino Cesca Filho
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

This article presents a solution of the inverse kinematics problem of 7-degrees-of-freedom serial redundant manipulators. A 7-degrees-of-freedom (7-DoF) redundant manipulator can avoid obstacles and thus improve operational performance. However, its inverse kinematics is difficult to solve since it has one more DoF than that necessary for reaching the whole workspace, which causes infinite solutions. In this article, Gröbner bases theory is proposed to solve the inverse kinematics. First, the Denavit–Hartenberg model for the manipulator is established. Second, different joint configurations are obtained using Gröbner bases theory. All solutions are confirmed with the aid of algebraic computing software, confirming that this method is accurate and easy to be implemented.


---

## Body

## 1. Introduction

Two well-known classic problems in the kinematics of robotic manipulators are forward and inverse kinematics. The solution of the forward kinematic problem is independent of the geometry of the robot. The same does not occur with the inverse kinematics problem since the procedure to obtain the equations depends exclusively on the geometric configuration of the robotic manipulator. This limitation makes this problem much more complicated due to the difficulty in finding a sequence of steps that facilitate resolution.Denavit and Hartenberg [1] presented a convention to standardize the reference coordinate systems for spatial links; after ten years, the same authors developed the algorithm for solving the forward and inverse kinematics problems of articulated systems [2]. The importance of this algorithm for the kinematics analysis of robotic manipulators was presented by Paul [3] sixteen years after.According to Sciavicco and Siciliano [4], when inverse kinematics is solved from the homogeneous transformation matrix, the following issues can be encountered: the need for additional methods and algorithms to solve the problem and the complexity of matrix calculations, which require more considerable computational efforts. An alternative method for the solution of inverse kinematics will be used in this article, namely, Gröbner bases theory.The Gröbner bases theory consists of an algebraic algorithm that can be applied to a given set of nonzero polynomials, producing a finite set of generators so that it is possible to identify, from these generators when a specific polynomial belongs to the original given set [5]. When finding solutions for this set of generators, those are also solutions for the whole set. With the help of algebraic computing software, all these solutions can be calculated, including cases which are not so easily solved using matrix algebra or geometric applications due to the complexity of the geometry of some manipulator robots.An analysis of computational efficiency in the solution of the inverse kinematics problem of an anthropomorphic robot can be obtained in a previous publication [6]. Two approaches were investigated: the first approach used Paul’s method and the second approach used Gröbner bases theory. Based on the computational performance data obtained, Gröbner bases theory is more efficient than Paul’s method for solving the inverse kinematics of 6-degrees-of-freedom anthropomorphic robots.However, the present work intends to go further. It brings an efficient procedure to solve the inverse kinematic problem of a 7-DoF serial redundant manipulator using Gröbner bases theory.A 7-DoF redundant manipulator has one more degree of freedom than that necessary for achieving a position and orientation of the robotic manipulator end effector. This extra DoF can be used to improve operational performance, such as avoid obstacles and prevent joint limits. Meanwhile, their inverse kinematics solution is challenging because of the extra degree of freedom, which causes infinite solutions.Tolani et al. [7] presented a set of inverse kinematic real-time algorithms for a 7-DoF nonoffset serial arm. The authors presented a work using joint limit avoidance as a primary strategy for redundancy resolution, and two algorithms were introduced to address the inverse kinematics problem of under-constrained orientation and aiming, based on numerical approaches.Kuhlemann et al. [8] presented a robust inverse kinematics algorithm that controls the manipulator elbow redundancy. Their work, however, only addresses the inverse kinematic computation and does not allude to joint limit avoidance methods.With the development of intelligent algorithms, genetic algorithms and neural networks are used to solve the inverse kinematics of redundant manipulators. However, these two algorithms are complex and require many calculations, which is hard to implement in real-time systems. Furthermore, it is not possible to guarantee calculation accuracy.The main goal of this article is to solve the problem of the inverse kinematics of redundant manipulators using Gröbner bases theory, which will demonstrate that the proposed method is precise and computationally efficient.


## 2. Gröbner Bases Theory

The core of Gröbner bases theory is an algorithm used to solve systems of polynomial equations. It is known as Buchberger’s algorithm and applies computational algebra techniques to polynomial ideals, producing a so-called Gröbner basis, a new polynomial set [6].According to Cox et al. [9], briefly, a Gröbner basis for a polynomial equation system is a new collection of polynomials in which the null set coincides with the solution set of the original system; however, this new system is simpler to solve.According to Sturmfels [10], a Gröbner basis can be computed so that the polynomials have a property known as the elimination property. This elimination property makes the computation of solutions of a polynomial system, which is a Gröbner basis to be mathematically efficient. Through retroactive substitutions, a solution can be found for the remaining set of variables.It can be seen in Figure1 that all variables can be solved consecutively because the obtained Gröbner basis is a triangular equation system.Figure 1
Input and output of Buchberger’s algorithm [6].Buchberger’s algorithm receives as input a finite setF=f1,f2,…,fn of polynomials and provides a set G, which is a Gröbner basis of F. This algorithm is shown in Figure 2.Figure 2
Algorithm for computing Gröbner bases [11].The combinationSf,g=L/ltff−L/ltgg is called the S-polynomial of f and g, where lt stands for the leading term of each polynomial, and L=lcmlpf,lpg, the least common multiple among the leading power products lp of polynomials.Faugère [12] developed an efficient algorithm for computing Gröbner bases: the F4 algorithm. This algorithm computes successive truncated Gröbner bases, and it replaces the classical polynomial reduction found in Buchberger’s algorithm by the simultaneous reduction of several polynomials.In the present article, the Gröbner bases were computed on an extension of the field of rational numbers, namely, the rational numbers with specific square roots included. This procedure is run automatically by the software MAPLE when square roots are written in the input. Therefore, the approximation is made only in the final evaluation of solutions, so the Gröbner bases computation does not get affected. Ten decimals were used in the approximation of the final solution.With the aid of algebraic computing software, a Gröbner basis can be calculated more quickly. Many algebraic computing systems include packages to deal with Gröbner bases, e.g., MAPLE, Singular, AXIOM, muMath, Macaulay, Mathematica, Reduce, and CoCoA.


## 3. The Denavit–Hartenberg Model of a 7-Degrees-of-Freedom Redundant Manipulator

The LBR iiwa 7 R800 from KUKA AG is an example of a robotic manipulator with 7-DoF and having only rotary joints, i.e., it is a 7R redundant manipulator. This redundant manipulator is shown in Figure3, with its seven frames attached to the links.Figure 3
Establishing coordinate frames for the Kuka LBR iiwa 7 R800.For a kinematic chain withn joints and n−1 links, each joint is assigned with a coordinate system x,y,z. Each coordinate system can be aligned through a series of rotations and translations. Thus, each joint may be represented by a homogeneous transformation matrix that describes the specific rotation or translation required to align the joint i−1 with the joint i, which can be the combination of a rotation and a translation matrix. The product of these matrices determines the final position of the nth joint, which represents the end effector of the robotic manipulator.A homogeneous matrix (1) is used to describe the direction vectors for the axes x2, y2, and z2 and a reference system 2 in terms of the direction vectors for the axes x1, y1, and z1 of a reference system 1:(1)nxoxaxxnyoyayynzozazz0001.The two coordinate systems are represented in Figure4.Figure 4
Two coordinate frames displaced in the same three-dimensional space.Transformation operators (rotation and translation) are used to align frames.Amn represents the homogeneous transformation matrix that relates points in the reference system n to the reference system m. In this way, A0n=A01⋅A12⋅A23⋅…⋅An−1n.A Cartesian coordinate system must be assigned to each joint of the manipulator robot so that each connected link is assigned with a specific coordinate axis. Each coordinate system is determined based on the following rules: thezk−1 axis lies along the axis of motion (rotation or translation) of the joint k; the xk axis is perpendicular to the zk−1 axis, with its positive direction being towards the zk axis direction, and the yk axis is chosen so that the three axes form an orthogonal system satisfying the right-hand rule [13].The four parametersak, dk, αk, and θk shown in Figure 5 represent ak, the distance along xk, from the origin Ok to the intersection of the axes xk and zk−1, dk, the distance along zk−1, from Ok−1 to the intersection of the axes xk and zk−1, αk, the angle of the zk−1 axis towards the zk axis, measured around the xk, and θk, the angle of the xk−1 axis towards the xk axis, measured around the zk−1 axis (signal obtained by the right-hand rule).Figure 5
Representation of Denavit–Hartenberg parameters [14].According to Tsai [15], in the representation of Denavit–Hartenberg, each matrix is given by the product of four fundamental transformations involving rotations R and translations Tr, as can be observed in (2). We use sθk for sinθk and cθk for cosθk:(2)Ak−1k=Rzk,θk⋅Trzk,dk⋅Trxk,ak⋅Rxk,αk=cθk−sθk00sθkcθk0000100001⋅10000100001dk0001⋅100ak010000100001⋅10000cαk−sαk00sαkcαk00001.The termRzk,θk represents the rotation θk around the zk axis, Trzk,dk is the translation dk along the zk axis, Trxk,ak is the translation ak along the xk axis, and, finally, Rxk,αk represents the rotation αk around the xk axis.This operation results in the matrix represented by (3). This matrix defines the mapping of coordinates between two consecutive manipulator links of the robot:(3)k−1Ak=cθk−sθkcαksθksαkakcθksθkcθkcαk−cθksαkaksθk0sαkcαkdk0001.Two of the four parameters used as a reference have a direct relationship with the component of the joint variables. For rotational joints, the joint variable is the angleθk, while the joint variable is the distance between the links dk if it is prismatic. These parameters are obtained from the algorithm proposed by Denavit and Hartenberg.By multiplying all the transformation matrices obtained by the Denavit–Hartenberg algorithm, we obtain the homogeneous transformation matrix that goes from the base to the end effector, that is, by varyingk from 0 to n. This resulting matrix can be considered as the solution to the forward kinematics problem. Briefly, for a manipulator with n degrees of freedom,(4)T=A0n=A01⋅A12⋅A23⋅…⋅An−1n=nxoxaxxnyoyayynzozazz0001,where each matrix Aij is a Denavit–Hartenberg matrix, defined in (3).All Denavit–Hartenberg parameters of this manipulator are listed in Table1, where i represents the joint number.Table 1
Denavit–Hartenberg parameters of 7-DoF redundant manipulator.
iαiradai (mm)di (mm)θi (rad)1−π20d1θ12π200θ23−π20d3θ34π200θ45−π20d5θ56π200θ6700d7θ7After constructing all the transformation matrices (5) to (11) using the Denavit–Hartenberg parameters and multiplying them (12), we obtain the homogeneous transformation matrix (13), solution of the 7-DoF redundant manipulator forward kinematics problem. We now use sk for sinθk and ck for cosθk:(5)A01=c10−s10s10c100−10d10001,(6)A12=c20s20s20−c2001000001,(7)A23=c30−s30s30c300−10d30001,(8)A34=c40s40s40−c4001000001,(9)A45=c50−s50s50c500−10d50001,(10)A56=c60s60s60−c6001000001,(11)A67=c7−s700s7c700001d70001,(12)T=A01⋅A12⋅A23⋅A34⋅A45⋅A56⋅A67,(13)T=nxoxaxxnyoyayynzozazz0001,where the entries of T are given by(14)nx=c1c2c3−s1s3c4−c1s2s4c5+−c1c2s3−c3s1s5c6+−c1c2c3−s1s3s4−c1s2c4s6c7+−c1c2c3−s1s3c4−c1s2s4s5+−c1c2s3−c3s1c5s7,(15)ny=c2c3s1+c1s3c4−s1s2s4c5+−c2s1s3+c1c3s5c6+−c2c3s1+c1s3s4−s1s2c4s6c7+−c2c3s1+c1s3c4−s1s2s4s5+−c2s1s3+c1c3c5s7,(16)nz=−c3c4s2−c2s4c5+s2s3s5c6+c3s2s4−c2c4s6c7+−−c3c4s2−c2s4s5+s2s3c5s7,(17)ox=−c1c2c3−s1s3c4−c1s2s4c5+−c1c2s3−c3s1s5c6+−c1c2c3−s1s3s4−c1s2c4s6s7+−c1c2c3−s1s3c4−c1s2s4s5+−c1c2s3−c3s1c5c7,(18)oy=−s1c2c3+c1s3c4−s1s2s4c5+−s1c2s3+c1c3s5c6+−s1c2c3+c1s3s4−s1s2c4s6s7+−s1c2c3+c1s3c4−s1s2s4s5+−s1c2s3+c1c3c5c7,(19)oz=−−c3c4s2−c2s4c5+s2s3s5c6+c3s2s4−c2c4s6s7+−−c3c4s2−c2s4s5+s2s3c5c7,(20)ax=c1c2c3−s1s3c4−c1s2s4c5+−c1c2s3−c3s1s5s6−−c1c2c3−s1s3s4−c1s2c4c6,(21)ay=c2c3s1+c1s3c4−s1s2s4c5+−c2s1s3+c1c3s5s6−−c2c3s1+c1s3s4−s1s2c4c6,(22)az=−c3c4s2−c2s4c5+s2s3s5s6−c3s2s4−c2c4c6,(23)x=c1c2c3−s1s3c4−c1s2s4c5+−c1c2s3−c3s1s5s6−−c1c2c3−s1s3s4−c1s2c4c6d7+c1c2c3−s1s3s4+c1s2c4d5+c1s2d3,(24)y=c2c3s1+c1s3c4−s1s2s4c5+−c2s1s3+c1c3s5s6−−c2c3s1+c1s3s4−s1s2c4c6d7+c2c3s1+c1s3s4+s1s2c4d5+s1s2d3,(25)z=−c3c4s2−c2s4c5+s2s3s5s6−c3s2s4−c2c4c6d7+−c3s2s4+c2c4d5+c2d3+d1.For the solution of inverse kinematics of a robotic manipulator with seven degrees of freedom, we have 12 equations and seven unknowns. However, among the nine equations that arise from the portion of the rotational matrix ofT, only three are independent. These added to the equations of the portion of the position vector of T, which results in six equations with seven unknowns. Such equations are nonlinear and transcendental, which can be quite tricky to solve.According to Ghosal [16], in a redundant manipulator, the number of joint variables will always be higher than the number of equations.For three-dimensional space, six variables can describe the position and orientation of the robotic manipulator end effector. Therefore, a manipulator with six degrees of freedom can reach any given joints configuration in its working space. However, this kind of manipulator cannot reach a given pose if its link paths have obstacles or fail to realize a desired directional motion if its end effector is close to the singularity.


## 4. Inverse Kinematics Using Gröbner Bases Theory

The inverse kinematics problem consists of finding all combinations of joint configurations that will position the end effector of a robot at a given point in space [17]. To solve this problem, one must determine polynomial equations that model the movement of the robotic arm in each joint configuration. With all these elements, one must seek a set of solutions from the possible movements of each joint.To determine all joint configurations to position and orient the end effector on a given point in space, the following joint values,θ=π/6,π/4,π,π,π/3,π/3,−π/3 radians, and the nonzero parameters, d1=380, d3=328, d5=323, and d7=80, were replaced in (12), thus obtaining(26)T=73+6232−316516+63−323232+23−2216152+30−3564316+23+7232326−2−10323−2216−338−30+523−3524−7216+6861+2316−22+38380−106−35220001.From this point, equations (14) to (25) are rewritten by substituting nx, ny, nz, ox, oy, oz, ax, ay, az, x, y, and z by the respective values of the obtained numerical matrix, which exactly equals to matrix (26). All these 12 polynomials, added to the seven polynomials obtained from the fundamental trigonometric relation for each joint variable, are used to generate a Gröbner basis. The lexicographic order c7≻s7≻c6≻s6≻c5≻s5≻c4≻s4≻c3≻s3≻c2≻s2≻c1≻s1 was selected for this robot.Performing 3511 floating-point operations (169 additions, 606 multiplications, and 342 functions), we obtain the following Gröbner basis consisting of 20 polynomials:(27)g1=16s14−8s12+1,(28)g2=83s13−53s1+3c1,(29)g3=−4s132+4s12s2+2s1−s2,(30)g4=−2s1s22+2s12+s22,(31)g5=−42s12+8s1s2−32+4c2,(32)g6=4s36s12−83s1s2s3+s36+4c3s12−c3,(33)g7=283s13s32+66s2s32−43s13−193s1s32−62c3s1s3+6c3s2s3+3s1,(34)g8=c32+s32−1,(35)g9=1406s13s3−956s1s3+603s2s3+30c3s22−60c3s1+1938s4,(36)g10=c4+1,(37)g11=1646−9843+9692−5814+−6566−39363−38762s12+39366s1s2−38763c3s3+104963+77522−15504s12s32+7752s52+−104966+155042s32s2s1+26243−19382s32,(38)g12=−92−1c5s1+36−3s1s5+6c5s2+122+4s13c5+−46+43s13s5−23s2s5,(39)g13=3236+19383+3282−1968s5+9692−5814c5−7752c3s3s5+78722s5s1s2+−12926−13122−7872s12s5−38762c5s12+7752c5s32,(40)g14=−45926−7752s12s3s5+3236+9693c5s3+−8206+969s3s5+−9693+1968c3s5+2907c3c5−12926c5s12s3+78723+77522s5s3s2s1−39362c3s1s2s5,(41)g15=−3236−19383+11482+984+12926−45922+3936s12−3936s1s22+3876c3s3+7752c5s5+−25846−155043+52482s12s32+155046s1s2s23+6466−13122s32,(42)g16=−1646+9843−9692−1938+6566+39363+38762s12−39366s1s2+7752c52+38763c3s3+−104963−77522+15504s12s32+104966−155042s32s2s1+−26243+19382s32,(43)g17=−6566−9692−17442c5s3s1+−19386−116283−39362+11808s2s3s5+−39363+11628c3s1s5+5814s6+19686c3s2s5+−232566−77523+275522−15744s13s3s5+26246+38762+23256c5s13s3+174426+58143−186962+11808s1s3s5,(44)g18=416−823−323+646c6+−1646−3283s12+3286s1s2,(45)g19=3232+5814c5s3s1+6466+38763+1968s2s3s5+−6563−3876c3s1s5+1938s7+3286c3s2s5+77526+25843+45922s13s3s5+−12922−7752c5s13s3+−58146−19383−31162s1s3s5,(46)g20=−3236−58143c5s3s1+137763−19382−11628s2s3s5+38763−13776c3s1s5+5814c7+68882c3s2s5+321446−232562−7752s13s3s5+12926+77523c5s13s3+−218126+174422+5814s1s3s5.To determine all the values ofθ=θ1,θ2,θ3,θ4,θ5,θ6,θ7, which allow the robot to assume the configuration (position + orientation) given by (26), the solve command is used in MAPLE.Performing 5191 floating-point operations (169 additions, 606 multiplications, and 552 functions), four different joint configurations are obtained, as shown in Table2.Table 2
Joints configurations of 7-DoF redundant manipulator obtained from Gröbner bases theory.
θ1 (rad)θ2 (rad)θ3 (rad)θ4 (rad)θ5 (rad)θ6 (rad)θ7 (rad)−2.617993878−0.785398163503.1415926541.0471975511.047197551−1.0471975510.52359877580.78539816353.1415926543.1415926541.0471975511.047197551−1.0471975510.52359877580.785398163503.1415926541.047197551−1.0471975512.094395103−2.617993878−0.78539816353.1415926543.1415926541.047197551−1.0471975512.094395103The set of angles designated in this section can be seen in line 2 of Table2. The corresponding postures for the four inverse kinematic solutions are shown in Figure 6.Figure 6
Postures for the four inverse kinematic solutions of the Kuka LBR iiwa 7 R800.
(a)(b)(c)(d)Adding the 3511 floating-point operations to obtain the Gröbner basis to the number of floating-point operations to obtain the four different joint configurations from the generated Gröbner basis (5191 flop), 8702 floating-point operations are obtained.In computing, floating-point operations per second (FLOPS, flops, or flop/s) is a measure of computer performance, useful in fields of scientific computations that require floating-point calculations. For such cases, it is a more accurate measure than measuring instructions per second. The similar term FLOP is often used for floating-point operations, for example, as a unit of counting floating-point operations carried out by an algorithm or computer hardware.To confirm the computational efficiency for the solution of the inverse kinematics of 7-degrees-of-freedom serial redundant manipulators using Gröbner bases theory, a new configuration of joints will be analyzed. To meet this goal, they are replaced arbitrarily, and the following joint values,θ=π/6,0,π,−π/6,π/3,−π/3,π/6 radians, and the nonzero parameters, d1=380, d3=328, d5=323, and d7=80, were replaced in (12), thus obtaining(47)T=3/16+3/832+3316+18−332−316+33/8+1/432−−3/8+3/432+38−40−3/8+3/43+363343/16−3/832+316−38−332+316+3/8−3/432−−3/8−3/432+183634−40−38−3435316−131638708+343320001.From this point, equations (14) to (25) are rewritten by substituting nx, ny, nz, ox, oy, oz, ax, ay, az, x, y, and z by the respective values of obtained numerical matrix, which exactly equals to matrix (47). All these 12 polynomials, added to the seven polynomials obtained from the fundamental trigonometric relation for each joint variable, are used to generate a Gröbner basis. Precisely, as in the previous configuration, the lexicographic order c7≻s7≻c6≻s6≻c5≻s5≻c4≻s4≻c3≻s3≻c2≻s2≻c1≻s1 was also selected for this robot.Performing 5753 floating-point operations (408 additions, 2161 multiplications, and 398 functions), we obtain the following Gröbner basis consisting of 26 polynomials:(48)g1=c12+s12−1,(49)g2=k1s14s22+k2c1s12s2+k3s13s2+k4s12s22+k5c1s12s2+k6s13s2+k7s22s12+k8c1s2+k9s1s2+k10s22+k11c1s2+k12s1s2+k13s22,(50)g3=k14s13s22+k15s13s22+k16c1s1s2+k17s12s2+k18s1s22+k19c1s1s2+k20c1s22+k21s12s2+k22s22s1+k23s2+k24s2,(51)g4=k25c1s2+k26s1s2+k27c1s2+k28s1s2+k29c2+k30,(52)g5=k31c1s1−2s12+4s32−1,(53)g6=k32s12s3c1s2+k33s13s3s2+k34s12s3c1s2+k35s13s2s3+k36s3c1s2+k37s1s2s3+k38c1s1s3+k39s3c1s2+k40c3s12+k41s1s2s3+k42s3+k43c3,(54)g7=k44s1s3c1s2+k45s3s12s2+k46c1s1s2s3+k47s3s12s2+k48s3c1+k49c3s1+k50s2s3+k51c1c3+k52s1s3+k53s2s3,(55)g8=k54s3s12s22+k55s3s22s12+k66s3c1s2+k67c3s1s2+k68s1s2s3+k69s22s3+k70s3c1s2+k71c3s1s2+k72c3s22+k73s1s2s3+k74s22s3,(56)g9=k75c1s12s2+k76c1s12s2+k77c1s2+k78s12+k79s1s2+k80c1s1+k81c1s2+k82c3s3+k83s1s2+k84,(57)g10=k85c1s1+4c32+2s12+k86,(58)g11=k87s1s3c1s2+k88s3s12s2+k89c1s1s2s3+k90s3s12s2+k91c3s2+k92s2s3+k93c1s3+k94c3s1+k95c3s2+k96s2s3+k97s4,(59)g12=k98c4+k99,(60)g13=k100s14c1s2+k101c1s18s2+k102s1s2+k103c1s2+k104c1s16s2+k105s17s2+k106s12s52+k107s18s52+k108s16s52+k109s12s52+k110s14+k111s16+k112s12s52+k113s15s2+k114s19s2+k115s16s52+k116s17s2+k117s52+k118s18+k119s16+k120s12+k121s52+k122c1s16s2+k123c1s2+k124s1s2+k125s13s2+k126c1s18s2+k127s12+k128c1s12s2+k129s14s52+k130s15s2+k131c1s14s2+k132c1s12s2+k133s14+k134+k135s13s2+k136s19s2+k137,(61)g14=k138s1+k139s17s52+k140s15+k141s17+k142s2+k143c1+k144s14s2+k145s15s52+k146s16s2+k147s15s52+k148s17s52+k149s18s2+k150s17+k151s1s52+k152s13s52+k153s17+k154c1s1s2+k155c1s17s2+k156c1s15s2+k157s13c1s2+k158c1s52+k159s1s52+k160s12s2+k161s18s2+k162s2+k163s1+k164s13+k165s52s13+k166s13+k167c1s1s2+k168s12s2+k169s16s2+k170c1s17s2+k171c1s15s2+k172s14s2+k173s13c1s2,(62)g15=k174s1+k175s17s52+k176s2s52+k177s15+k178s17+k179s2+k180s14s2+k181s15s52+k182s16s2+k183s15s52+k184s17s52+k185s18s2+k186s15+k187s1s52+k188s13s52+k189s17+k190c1s1s2+k191c1s17s2+k192c1s15s2+k193s13c1s2+k194s1s52+k195s12s2+k196s18s2+k197s2+k198s1+k199s13+k200s52s13+k201s13+k202c1s1s2+k203s12s2+k204s16s2+k205c1s17s2+k206c1s15s2+k207s14s2+k208s13c1s2,(63)g16=k209s3c1s16s2+k210s3s52+k211s3+k212c3+k213s1s2s3+k214c3s1s2+k215s3s52+k216s12s3+k217s3s16+k218s3s14+k219c3s52+k220s12s3s52+k221s12s3+k222s3+k223s3s16+k224c1s14s2s3+k225s12s3c1s2+k226s15s2s3+k227s14s3s52+k228s3c1s2+k229s1s2s3+k230s13s3s2+k231s3s17s2+k232s3s16s52+k233c3s1s2+k234s15s2s3+k235s3s14s52+k236s3c1s16s2+k237s12s3s52+k238s3c1s2+k239s3s17s2+k240s3s16s52+k241c1s14s2s3+k242s14s3+k243s13s2s3+k244s12s3c1s2,(64)g17=k245c1s14s2s5+k246s15s2s5+k247c1s14s2s5+k248s15s2s5+k249s12s5c1s2+k250s14s5+k251s13s2s5+k252c1s12s2s5+k253c5s14+k254s13s2s5+k255s5c1s2+k256c5s12+k257s12s5+k258s1s2s5+k259c1s2s5+k260c5s12+k261s12s5+k262s1s2s5+k263c5+k264s5+k265c5+k266s5,(65)g18=k267c1s13s2s5+k268s14s2s5+k269c1s13s2s5+k270s14s2s5+k271c1s1s2s5+k272c5s13+k273s13s5+k274s12s2s5+k275c1s1s2s5+k276c5s13+k277s13s5+k278s12s2s5+k279s5c1+k280c5s1+k281s1s5+k282s2s5+k283c1c5+k284c5s1+k285s1s5+k286s2s5,(66)g19=k287c1s13s2s5+k288s14s2s5+k289c1s13s2s5+k290s14s2s5+k291c1s1s2s5+k292c5s13+k293s13s5+k294s12s2s5+k295c1s1s2s5+k296c5s13+k297s13s5+k298s12s2s5+k299c5s1+k300s1s5+k301s2s5+k302c5s1+k303c5s2+k304s1s5+k305s2s5,(67)g20=k306c1s12s2s3s5+k307s13s2s3s5+k308c1s12s2s3s5+k309s13s2s3s5+k310s3c1s2s5+k311c3s1s2s5+k312c5s12s3+k313s12s3s5+k314s1s2s3s5+k315s3c1s2s5+k316c3s1s2s5+k317c5s12s3+k318s12s3s5+k319s1s2s3s5+k320c3s5+k321c5s3+k322s3s5+k323c3c5+k324c5s3+k325s3s5,(68)g21=k326s14c1s2+k327s1s2+k328c1s2+k329c1s16s2+k330s17s2+k331s12s52+k332s16s52+k333s12s52+k334s14+k335s16+k336s14s52+k337s15s2+k338s16s52+k339s17s2+k340s52+k341s16+k342s12+k343s52+k344c5s5+k345c1s16s2+k346c1s2+k347s1s2+k348s13s2+k349s12+k350c1s12s2+k351s14s52+k352s15s2+k353c1s14s2+k354c1s12s2+k355s14+k356+k357s13s2+k358,(69)g22=c52+s52−1,(70)g23=k359c1s13s2s3s5+k360s14s2s3s5+k361c1s13s2s3s5+k362s14s2s3s5+k363c1s1s2s3s5+k364c5s13s3+k365s13s3s5+k366s12s2s3s5+k367c1s1s2s3s5+k368c5s13s3+k369s13s3s5+k370s12s2s3s5+k371c3s2s5+k372c5s1s3+k373s1s3s5+k374s2s3s5+k375c1s3s5+k376c3s1s5+k377c3s2s5+k378c5s1s3+k379s1s3s5+k380s2s3s5+k381s6,(71)g24=k382c1s2+k383s1s2+k384c1s2+k385s1s2+k386c6+k387,(72)g25=k388c1s13s2s3s5+k389s14s2s3s5+k390c1s13s2s3s5+k391s14s2s3s5+k392c1s1s2s3s5+k393c5s13s3+k394s13s3s5+k395s12s2s3s5+k396c1s1s2s3s5+k397c5s13s3+k398s13s3s5+k399s12s2s3s5+k400c1s3s5+k401c3s1s5+k402c3s2s5+k403c5s1s3+k404s1s3s5+k405s2s3s5+k406c3s2s5+k407c5s1s3+k408s1s3s5+k409s2s3s5+k410s7,(73)g26=k411c1s13s2s3s5+k412s14s2s3s5+k413c1s13s2s3s5+k414s14s2s3s5+k415c1s1s2s3s5+k416c5s13s3+k417s13s3s5+k418s12s2s3s5+k419c1s1s2s3s5+k420c5s13s3+k421s13s3s5+k422s12s2s3s5+k423c3s2s5+k424c5s1s3+k425s1s3s5+k426s2s3s5+k427c1s3s5+k428c3s1s5+k429c3s2s5+k430c5s1s3+k431s1s3s5+k432s2s3s5+k433c7.The 433 numerical coefficientski can be up to 92 digits, which is why they are not shown in this study. To determine all the values of θ=θ1,θ2,θ3,θ4,θ5,θ6,θ7, which allow the robot to assume the configuration (position + orientation) given by (47), the solve command is used in MAPLE.Performing 14089 floating-point operations (408 additions, 2161 multiplications, and 1440 functions), twelve different joint configurations are obtained, as can be seen in Table3.Table 3
Joints configurations of 7-DoF redundant manipulator obtained from Gröbner bases theory (2nd case).
θ1 (rad)θ2 (rad)θ3 (rad)θ4 (rad)θ5 (rad)θ6 (rad)θ7 (rad)2.0943951030−1.5707963270.52359877571.0471975511.047197551−2.6179938782.09439510301.570796327−0.52359877571.047197551−1.0471975510.52359877550.5235987755000.52359877581.0471975511.047197551−2.617993878−0.523598775501.0471975510.52359877581.0471975511.047197551−2.6179938780.523598775503.141592654−0.52359877581.047197551−1.0471975510.5235987758−0.52359877550−2.094395102−0.52359877581.047197551−1.0471975510.52359877580.190125603300.33347317230.52359877581.0471975511.047197551−2.6179938782.0943951030−1.5707963270.52359877571.0471975511.047197551−2.6179938782.09439510301.570796327−0.52359877571.047197551−1.0471975510.5235987755000.52359877570.52359877581.0471975511.047197551−2.61799387800−2.617993878−0.52359877581.047197551−1.0471975510.5235987758(1.047197537 + 2.035571560i)0(2.617993862–−2.035571554i)(−0.5235988062 + 4.966308677 × 10−9i)1.047197551(−1.047197582 + 4.931548679 × 10−9i)(0.5235987148 + 4.668696827 × 10−8i)The set of angles designated can be seen in line 5 of Table3. The 12th joint configuration does not represent a real solution; thus, there are eleven possible configurations. The corresponding postures for the eleven inverse kinematic solutions are shown in Figure 7.Figure 7
Postures for the 11 inverse kinematic solutions of the Kuka LBR iiwa 7 R800.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)Adding the 5753 floating-point operations to obtain the Gröbner basis to the number of floating-point operations to obtain the eleven different joint configurations from the generated Gröbner basis (14089 flop), 19842 floating-point operations are obtained.One notes that the solve command is not used directly to solve the inverse kinematics problem, since it does not involve the Gröbner bases theory in its algorithms. Besides that, the solution is obtained not only by computing the Gröbner basis but also by applying the solve command. For instance, the variablessk and ck were assigned for sinθk and for cosθk, new polynomials were included in the computation of the basis (related to the fundamental trigonometric relation), and a monomial order was chosen.


## 5. Conclusions

When using the Gröbner bases theory for the solution of inverse kinematics of 7-degrees-of-freedom serial redundant manipulators, one notes in the tests performed during this research that it is computationally efficient since the equations produced for determination of seven variables are mathematically simpler to be solved. Since through retroactive substitutions, all solutions can be determined to position and orient the robotic manipulator end effector in space.The original equations that model the inverse kinematics of these manipulators cannot be solved at once using the solve command in MAPLE. Hence, in order to produce a new set of equations, Gröbner bases theory is studied. The choice of the monomial order in the Gröbner bases enables the solve command to compute the solutions of this problem with these new equations.In the future work, it is intended to demonstrate that this method can also be computationally efficient when compared to other methods for solving the inverse kinematic problem of other classes of robotic manipulators, e.g., hyper-redundant robots.All solutions are confirmed with the aid of MAPLE, confirming that this method is accurate and easy to implement.



---

*Source: 6680687-2021-07-28.xml*