1. Introduction
6R serial robotic manipulators are widely utilized in industrial automation and intelligent equipment fields due to their flexible workspace and high-precision motion control capabilities. As the core actuating mechanism of robotic systems, their kinematic performance directly determines the robot’s operational competence. Among these, inverse kinematic analysis, serving as the theoretical foundation for trajectory planning, real-time control, and performance optimization, has long been a central and challenging topic in robotics research. Although inverse kinematics has been extensively studied, developing efficient solution methods for different configurations of 6R manipulators remains a key concern in both academia and industry [Reference Niu, Zhao, Liang and Xing1–Reference Cui and Dai3].
From the perspective of wrist structure characteristics, 6R manipulators can be clearly categorized into two major types: spherical-wrist and non-spherical-wrist manipulators, which exhibit significant differences in structural design, motion performance, and application scenarios. Spherical-wrist manipulators represent the mainstream configuration in current industrial robotics. Their theoretical basis stems from Pieper’s classical conclusion: a sufficient condition for the existence of closed-form solutions for a 6-degree-of-freedom (DOF) revolute-joint robot is that three consecutive joint axes intersect at a common point. The spherical wrist perfectly satisfies this condition, allowing the position and orientation equations to be decoupled, thereby enabling direct derivation of analytical solutions. This characteristic greatly simplifies offline programming and real-time control, establishing their dominant position in industrial applications.
In sharp contrast, non-spherical-wrist manipulators are characterized by the fact that the axes of their last three joints do not intersect at a single point. While this structure may offer potential advantages such as a larger workspace or enhanced stiffness, it also introduces a fundamental challenge: the position and orientation equations are highly coupled and difficult to decouple. Consequently, general non-spherical-wrist manipulators do not possess simple, universal closed-form analytical solutions like their spherical-wrist counterparts. Currently, their inverse kinematics solutions primarily revolve around two technical approaches: analytical elimination methods based on symbolic computation and numerical methods.
Significant progress has been made in analytical elimination methods based on symbolic computation. Zhang et al. [Reference Zhang, Huang and Liao4] introduced four-dimensional space theory, combined with linear elimination and Sylvester resultant methods, transforming the problem into a 16th-order matrix eigenvalue problem. Chen et al. [Reference Chen and Ju5–Reference Chen, Ju and Liu7] proposed an enhanced Dixon elimination method, optimizing the elimination process by constructing a non-redundant vector polynomial system. Arikawa et al. [Reference Arikawa8] presented a symbolic constraint simplification algorithm that reduces the problem to solving the determinant of a 16th-order univariate polynomial. Leotolm et al. [Reference Leotolm, Hsiao and Betancourt9] expanded the solvability scope of inverse kinematics for 6R manipulators based on screw theory by proposing new geometric sub-problems, enriching the theoretical framework for inverse kinematics solutions. However, these studies also reflect the limitations of current inverse kinematics analysis methods. Their core solution strategy essentially involves transforming the inverse kinematics problem into high-order nonlinear algebraic equations and solving them through intricate simplification and elimination steps. Such methods not only demand high mathematical expertise but also involve lengthy and complex procedures, making them difficult for engineering practitioners to master and apply effectively.
Extensive research also exists in numerical methods. As simple analytical solutions are typically unavailable for non-spherical wrists, numerical methods have become a practical choice, yet they face inherent challenges. Kucuk et al. [Reference Kucuk and Bingul10] noted that for 6R offset-wrist robots, inverse kinematics solutions are extremely difficult, and numerical methods are often relied upon in practice. However, Newton-type algorithms are sensitive to initial guesses and prone to divergence near singularities. To address this, various improvement strategies have been proposed: Zhou et al. [Reference Zhou, Xian, Chen and Chen11] developed an initial-guess-free hybrid solving framework combining “analytical reconstruction and Newton iteration”; Pan et al. [Reference Pan, Fu, Chen and Feng12] introduced an offset correction method; Xu et al. [Reference Xu, Song and He13] devised a hierarchical iterative algorithm; Luo et al. [Reference Luo, Wang and Zhang14] combined approximate analytical methods with numerical iteration to reduce dependency on initial guesses; Toz [Reference Toz15] utilized an optimized chaotic vortex search algorithm for solutions. Ojer et al. [Reference Ojer, Etxezarreta and Kortaberria16] proposed a forward hybrid modeling approach integrating classical kinematic models with data-driven neural networks; Xiao et al. [Reference Xiao, Li, Jiang and Xie17] achieved efficient derivation of inverse kinematic formulas for 6-DOF manipulators with simple geometric shapes using an improved disconnection–reconnection method, with the notable advantage that the wrist joint variable solutions are unaffected by singularities, enhancing algorithm stability. Furthermore, intelligent optimization algorithms, such as improved particle swarm optimization [Reference Zhang, Li, Ren and Ren18] and multi-strategy dung beetle optimization algorithms [Reference Lv, Li and Zhu19], have been introduced to improve convergence accuracy and robustness. For more complex 7R 6-DOF offset-wrist robots, the mainstream strategy employs combined algorithms: first obtaining approximate solutions via equivalent models and then refining them through iterative methods [Reference Li, Yu, Shen, Zhong, Lu and Fan20–Reference Liao, Yang, Miao, Ying and Chen22]. Nevertheless, existing numerical methods generally still suffer from issues such as convergence dependency on initial values, susceptibility to local optima, and difficulties in balancing computational efficiency with real-time performance.
Therefore, developing an inverse kinematics solving method that maintains geometric intuitiveness while achieving high computational efficiency remains a critical scientific challenge in this field. Conformal geometric algebra (CGA), as a unified mathematical framework integrating multiple tools such as vector algebra, complex numbers, quaternions, and exterior algebra, has demonstrated significant application potential in recent years within fields like robotics, computer vision, and graphics. Its strength lies in the ability to represent geometric objects – such as points, lines, planes, and spheres – as well as motion transformations like rotations and translations, in an intuitive and unified manner, offering a powerful mathematical tool for robot kinematic modeling. Compared with traditional approaches, CGA-based methods are characterized by concise expressions and clear geometric interpretations, presenting a promising new pathway for inverse kinematics solving.
Currently, numerous studies have employed CGA methods for robot kinematics analysis. CGA has demonstrated unique advantages in kinematic studies of various mechanisms, including parallel robots [Reference Li, Zhang, Zhang and Zhang23], serial robots, and hybrid robots [Reference Hu, Huo, Gao and Zhang24]. Tich et al. [Reference Tich25] elaborated on an inverse kinematics analysis method for a 5-DOF robot based on CGA, showcasing its potential in handling moderately complex mechanisms. Huang Xiguang et al. [Reference Huang, Liu and Huang26, Reference Huang, Liu and Liu27] successfully applied CGA methods to the inverse kinematics analysis of 6-DOF robotic arms, validating the method’s effectiveness. Wang et al. [Reference Wang, Shao and Guan28] achieved a step-by-step solution for 6-DOF manipulator inverse kinematics by integrating analytical methods with CGA, demonstrating the possibility of combining CGA with traditional approaches. Sondre et al. [Reference Sondre, Geir and Ilya29] utilized multivariate coefficient techniques to extract correct signs for joint angles; while successful, the selection of these coefficients still requires complex judgment, highlighting remaining challenges in CGA application. Zhu et al. [Reference Zhu, Zhang and Li30] systematically analyzed the inverse kinematics of three-axis orthogonal and three-axis parallel manipulators, proving the significant advantages of CGA methods in handling complex mechanisms. Feng et al. [Reference Zhang, Feng and Li31] proposed a swivel-angle parameterization method based on CGA for solving the inverse kinematics of 7-DOF robotic arms, providing an innovative approach for analyzing more complex structures.
However, despite the widespread application of CGA in robot kinematics, existing CGA-based research on 6R serial manipulators has primarily focused on configurations satisfying Pieper’s criterion. Studies on the application of CGA to structurally more complex non-spherical-wrist manipulators remain relatively insufficient. Fu et al. [Reference Fu, Yang and Yang32] applied CGA theory to the kinematic modeling of a 6R non-spherical-wrist manipulator. By employing symbolic elimination techniques to reformulate the problem as a generalized eigenvalue problem, they successfully derived a complete set of 16 analytical solutions, demonstrating CGA’s capability in solving complex problems. Nonetheless, this method still relies heavily on traditional elimination concepts, failing to fully leverage CGA’s geometric intuitiveness. Therefore, there is an urgent need to explore more direct and efficient analytical pathways.
Addressing the aforementioned shortcomings, this paper proposes a novel method for inverse kinematics analysis of non-spherical-wrist manipulators based on CGA. This method fully utilizes the powerful geometric computation capabilities of CGA. By directly modeling and analyzing the geometric structure of the manipulator, it achieves efficient solving of the inverse kinematics problem for non-spherical-wrist manipulators. Specifically, the method requires introducing only one joint variable to construct the positional expressions of joint points. It then utilizes the geometric constraint relationships of the manipulator to perform inner product calculations, constructing polynomial equations related to the joint variable. Finally, all joint angle values are obtained by solving these equations.
To verify the effectiveness of the proposed method, a non-spherical-wrist manipulator is selected as a test case. Specific numerical examples are analyzed, demonstrating the feasibility and superiority of the method. The results indicate that the CGA-based inverse kinematics analysis method for non-spherical-wrist manipulators offers significant advantages, including high precision and clear geometric interpretation, providing a new theoretical tool and practical methodology for research in robotic inverse kinematics.
2. Foundations of CGA
CGA, as a branch of geometric algebra, ingeniously incorporates the three-dimensional Euclidean space into the five-dimensional Minkowski space. Within this framework, five mutually orthogonal basis vectors
$\{\boldsymbol{e}_{1},\boldsymbol{e}_{2},\boldsymbol{e}_{3},\boldsymbol{e}_{+},\boldsymbol{e}_{-}\}$
satisfy specific conditions:
\begin{equation} \begin{array}{l} \boldsymbol{e}_{i}\boldsymbol{e}_{j}=\left\{\begin{array}{l} 1\\[3pt] \boldsymbol{e}_{i}\wedge \boldsymbol{e}_{j}=-\boldsymbol{e}_{j}\wedge \boldsymbol{e}_{i} \end{array}\begin{array}{l} \\[3pt] \end{array}\begin{array}{l} i=j\\[3pt] i\neq j \end{array}\right.\left(i=1,2,\cdots ,n\right)\\[3pt] \quad\qquad\qquad{\boldsymbol{e}}_{+}^{2}=1,{\boldsymbol{e}}_{-}^{2}=-1\\[3pt] \quad\qquad\boldsymbol{e}_{i}\cdot \boldsymbol{e}_{+}=\boldsymbol{e}_{i}\cdot \boldsymbol{e}_{-}=\boldsymbol{e}_{+}\cdot \boldsymbol{e}_{-}=0 \end{array} \end{equation}
Introducing two orthogonal vectors: the zero vector
$\boldsymbol{e}_{0}$
and the vector
$\boldsymbol{e}_{\mathrm{\infty }}$
representing the point at infinity:
Thus, the orthogonal basis vectors in the conformal space become
$\{\boldsymbol{e}_{1},\boldsymbol{e}_{2},\boldsymbol{e}_{3},\boldsymbol{e}_{0},\boldsymbol{e}_{\mathrm{\infty }}\}$
.
CGA includes several important operations: the inner product, the outer product, and the geometric product, with specific operational relationships among them:
2.1. Basic geometric objects of CGA
CGA offers a way to represent fundamental geometric entities, including points, lines, planes, circles, spheres, etc., showcasing its unique mathematical expressiveness. Table I presents two forms of expression for geometric entities: the inner product expression and the dual expression.
Basic geometric objects of conformal geometric algebra.

Table I Long description
The table presents a comparison of inner product and dual expressions for fundamental geometric entities, including points, lines, planes, circles, and spheres. It consists of five rows and three columns. The first column lists the geometric objects: Point, Line, Plane, Circle, and Sphere. The second column provides the inner product expressions for each object, and the third column provides the dual expressions. For example, a point is represented as P equals p plus one-half p squared e infinity plus e zero in the inner product expression, and as P star equals S one and S two and S three and S four in the dual expression. Similarly, a line is represented as L equals pi one and pi two in the inner product expression, and as L star equals P one and P two and e infinity in the dual expression. The table highlights the unique mathematical expressiveness of conformal geometric algebra in representing these geometric entities.
Note that in Table I and the subsequent text, formulas marked with the symbol (*) specifically refer to the dual expressions.
When the expression for a point pair
${\boldsymbol{P}}_{p}^{\mathrm{*}}$
is known, the point can be calculated using the following point pair separation formula:
\begin{equation} \left\{\boldsymbol{P}_{1},\boldsymbol{P}_{2}\right\}=\frac{\pm \sqrt{{\boldsymbol{P}}_{p}^{\ast }\cdot {\boldsymbol{P}}_{p}^{\ast }}+{\boldsymbol{P}}_{p}^{\ast }}{\boldsymbol{e}_{\infty }\cdot {\boldsymbol{P}}_{p}^{\ast }} \end{equation}
When a point
$\boldsymbol{P}$
in conformal space is given, and its inner product is 0:
The projection operation of the outer tensor
$\boldsymbol{A}_{\langle k\rangle }$
onto
$\boldsymbol{N}_{\langle l\rangle }$
is as follows:
2.2. Calculation of angles between vectors in a conformal geometric space
Calculate the angle of rotation between two vectors
$\boldsymbol{a}$
and
$\boldsymbol{b}$
as follows:
First, let us define the unit vectors corresponding to vectors
$\boldsymbol{a}$
and
$\boldsymbol{b}$
, respectively:
Subsequently, the angle calculation formula can be derived:
Wherein,
\begin{equation} \hat{\boldsymbol{N}}^{-1}=\pm \frac{\hat{\boldsymbol{b}}\wedge \hat{\boldsymbol{a}}}{\left|\left|\hat{\boldsymbol{b}}\wedge \hat{\boldsymbol{a}}\right|\right|} \end{equation}
This method ensures that the correct sign is used to calculate the angle, and it defines the plane of rotation from
$\hat{\boldsymbol{a}}$
to
$\hat{\boldsymbol{b}}$
. If the rotation from
$\hat{\boldsymbol{a}}$
to
$\hat{\boldsymbol{b}}$
in the plane defined by
$\hat{\boldsymbol{N}}$
is counterclockwise, it is a plus sign; if it is clockwise, it is a minus sign.
In inverse kinematics problems, the two vectors
$\boldsymbol{a}$
to
$\boldsymbol{b}$
usually refer to either the direction vector of a line or the normal vector of a plane. In a conformal geometric space, the expression for the direction vector of a line
$\boldsymbol{L}$
is as follows:
The expression for the normal vector of the plane
$\boldsymbol{\Pi }$
is as follows:
The expression for the rotational plane perpendicular to the line
$\boldsymbol{L}$
is as follows:
And the expression for the plane
$\boldsymbol{\Pi }$
of rotation parallel to the plane is
Note that the sign of the rotation plane
$\hat{\boldsymbol{N}}$
of the robot joints must be selected correctly so that the sign of the rotation is correct.
2.3. Representation of rigid body motions in conformal geometric space
Within the framework of conformal geometry, rigid body motion in three-dimensional space can be regarded as a dynamic process consisting of both translation and rotation transformations. The expression for rigid body translation is
The translational motion of a rigid body can be expressed as:
Wherein,
The expression for rigid body rotation is
In the formula,
$\boldsymbol{L}$
represents a unit bivector, which characterizes the axis of rotation.
The rotational motion of a rigid body can be expressed as:
Wherein,
The general expression for rigid body motion (including both translational and rotational motion) is
Wherein,
3. Methods for describing position and orientation in conformal geometric space
When conducting inverse kinematics analysis on industrial robots, the motion process of the links is typically regarded as rigid body motion. In this paper, the Denavit–Hartenberg (D–H) parameter method is employed to describe the link structure and geometric parameters of the robotic arm. This method involves establishing local coordinate systems on the links and describing the link system using four key parameters: link length, normal distance between adjacent link axes, link twist angle, and link offset angle. By utilizing these parameters, the end-effector pose of the robotic arm is derived.
When performing coordinate transformation between two adjacent coordinate systems, the corresponding motion expression is denoted as
${}_{i}^{i-1}\boldsymbol{M}$
:
Then, the transformation matrix of the end-effector of a 6-DOF robotic arm relative to the base coordinate system is
From this, the end-effector pose can be obtained as:

where
$\boldsymbol{e}_{3}$
denotes the plane
$xoy$
and
$\boldsymbol{e}_{1}$
denotes the plane
$yoz$
.
Figure 1 shows the schematic diagram of the non-spherical wrist manipulator, respectively. The mechanism comprises six revolute joints (R). Its geometric parameters are detailed in Table II, and the corresponding D–H parameters are listed in Table III. The first three joints feature a vertical configuration, specifically arranged in an “R⊥R∥R” sequence. This configuration is primarily responsible for determining the end-effector’s position. The last three joints adopt a non-spherical wrist configuration, characterized by the three joint axes intersecting at two distinct points. This arrangement is mainly used for determining the end-effector’s orientation. When the input angles are set to
$[0^{^{\circ}},90^{^{\circ}},0^{^{\circ}},90^{^{\circ}},0^{^{\circ}},0^{^{\circ}}]$
, the manipulator assumes the configuration depicted in Figure 1.
Geometric parameters of the robotic manipulator.

Table II Long description
The table presents geometric parameters of a robotic manipulator. It contains three columns labeled 'Geometric parameters', 'Description', and a third column for values. The rows list parameters such as connecting rod length, joint angle, and joint position, each with corresponding descriptions. The table provides specific details for six joints, labeled from one to six.
D–H parameter table for the robotic arm with a non-spherical wrist.

Table III Long description
The table presents Denavit-Hartenberg parameters for a robotic arm with a non-spherical wrist. It consists of six rows and four columns. The columns are labeled as follows: Connecting rod, a sub i minus 1 in millimeters, alpha sub i minus 1 in degrees, d sub i in millimeters, and theta sub i in degrees. The rows detail the parameters for each connecting rod from one to six. The table includes specific values for each parameter, such as zero for a sub i minus 1 and alpha sub i minus 1 in several rows, and varying values for d sub i and theta sub i.
Schematic diagram of the non-spherical wrist robotic manipulator.

Figure 1 Long description
The schematic diagram illustrates a non-spherical wrist robotic manipulator with multiple labeled axes and joints. The manipulator consists of six rotational joints, each represented by cylindrical symbols. The axes of rotation are labeled as x1, x2, x3, x4, x5, and x6, while the joints are labeled as z1, z2, z3, z4, z5, and z6. The diagram also includes distance labels d4, d5, and d6, indicating the lengths between certain joints. The axes x1, x2, and x3 are aligned vertically, while x4, x5, and x6 are positioned at various angles, showing the manipulator's flexible configuration. The joints z1, z2, and z3 are aligned vertically, and z4, z5, and z6 are positioned at different angles, illustrating the manipulator's range of motion. The diagram provides a clear representation of the manipulator's structure and kinematic relationships.
4. Inverse kinematics analysis method for non-spherical wrist robotic manipulators
4.1. Inverse kinematics analysis using the Dixon elimination method
This section elaborates on the inverse kinematics analysis of the non-spherical wrist manipulator using the Dixon elimination method. The elimination procedure consists of three steps: first, the variables
$\theta _{1}$
and
$\theta _{6}$
are linearly eliminated using the variable separation method to reduce the system dimension. Second, the Dixon resultant is applied to successively eliminate the intermediate variables
$\theta _{3} ,\theta _{4}$
, and
$\theta _{5}$
, thereby transforming the core problem into a polynomial equation in
$\theta _{2}$
. Finally, a univariate polynomial equation of degree 16 with the highest-order term in
$\theta _{2}$
is derived.
4.1.1. Variable separation
Based on Eq. (24), the variable separation yields
Let the left-hand side and the right-hand side be denoted as
$\boldsymbol{M}_{L}$
and
$\boldsymbol{M}_{R}$
, respectively. This gives
Equating the corresponding coefficients of
$\boldsymbol{M}_{L}$
and
$\boldsymbol{M}_{R}$
yields the following eight equations:
\begin{align} &b_{i1}\mathrm{s}_{2}\mathrm{c}_{3}\mathrm{c}_{4}\mathrm{c}_{5}+b_{i2}\mathrm{c}_{2}\mathrm{s}_{3}\mathrm{c}_{4}\mathrm{c}_{5}+b_{i3}\mathrm{c}_{2}\mathrm{c}_{3}\mathrm{s}_{4}\mathrm{c}_{5}+b_{i4}\mathrm{c}_{2}\mathrm{c}_{3}\mathrm{c}_{4}\mathrm{s}_{5}+b_{i5}\mathrm{s}_{2}\mathrm{s}_{3}\mathrm{s}_{4}\mathrm{c}_{5}\nonumber\\[3pt]&\quad +b_{i6}\mathrm{s}_{2}\mathrm{s}_{3}\mathrm{c}_{4}\mathrm{s}_{5}+b_{i7}\mathrm{s}_{2}\mathrm{c}_{3}\mathrm{s}_{4}\mathrm{s}_{5}+b_{i8}\mathrm{c}_{2}\mathrm{s}_{3}\mathrm{s}_{4}\mathrm{s}_{5}+b_{i9}c_{2}\mathrm{c}_{3}\mathrm{c}_{4}\mathrm{c}_{5}+b_{i10}\mathrm{s}_{2}s_{3}\mathrm{c}_{4}\mathrm{c}_{5}\nonumber\\[3pt]&\quad +b_{i11}\mathrm{s}_{2}\mathrm{c}_{3}s_{4}\mathrm{c}_{5}+b_{i12}c_{2}s_{3}s_{4}\mathrm{c}_{5}+b_{i13}\mathrm{s}_{2}\mathrm{c}_{3}\mathrm{c}_{4}s_{5}+b_{i14}c_{2}s_{3}\mathrm{c}_{4}s_{5}+b_{i15}c_{2}\mathrm{c}_{3}s_{4}s_{5}\nonumber\\[3pt]&\quad +b_{i16}\mathrm{s}_{2}s_{3}s_{4}s_{5}=b_{i17}c_{1}c_{6}+b_{i18}s_{1}c_{6}+b_{i19}c_{1}s_{6}+b_{i20}s_{1}s_{6},\quad i=1-8 \end{align}
Here,
$s_{j}=\sin \frac{\theta _{j}}{2}$
,
$c_{j}=\cos \frac{\theta _{j}}{2}\left(j=1-6\right)$
, and
$b_{ik}$
are terms related to the dimensional parameters of the mechanism. Due to space limitations, these terms are not explicitly detailed.
Let
$c_{1}c_{6}=y_{1}$
,
$s_{1}c_{6}=y_{2}$
,
$c_{1}s_{6}=y_{3}$
, and
$s_{1}s_{6}=y_{4}$
. The first four equations from Eq. (28) are selected and solved linearly. The obtained solutions for
$y_{1}$
,
$y_{2}$
,
$y_{3}$
, and
$y_{4}$
are then substituted into the remaining four equations of Eq. (28), thereby transforming them into equations that contain only the sine and cosine terms of
$\theta _{1}$
,
$\theta _{2}$
,
$\theta _{3}$
, and
$\theta _{4}$
.
4.1.2. Elimination of variables
$\theta _{3}$
,
$\theta _{4}$
, and
$\theta _{5}$
The latter four equations are divided by
$c_{2}c_{3}c_{4}c_{5}$
, and by setting
$\frac{s_{i}}{c_{i}}=t_{i}$
(
$i=2-5$
), we obtain
\begin{align} F_{i}(t_{2},t_{3},t_{4},t_{5})&=f_{i1}+f_{i2}t_{2}+f_{i3}t_{3}+f_{i4}t_{2}t_{3}+f_{i5}t_{4}+f_{i6}t_{2}t_{4}+f_{i7}t_{3}t_{4}\nonumber\\[3pt]&\quad +f_{i8}t_{2}t_{3}t_{4}+f_{i9}t_{5}+f_{i10}t_{2}t_{5}+f_{i11}t_{3}t_{5}+f_{i12}t_{2}t_{3}t_{5}+f_{i13}t_{4}t_{5}+f_{i14}t_{2}t_{4}t_{5}\nonumber\\[3pt]&\quad +f_{i15}t_{3}t_{4}t_{5}+f_{i16}t_{2}t_{3}t_{4}t_{5},\quad (i=1-4) \end{align}
By treating
$t_{2}$
as a constant, Eq. (29) becomes
Following the Dixon elimination method, the resultant equation is constructed as follows:
\begin{equation} \frac{\left| \begin{array}{llll} F_{1}(t_{3},t_{4},t_{5}) & F_{2}(t_{3},t_{4},t_{5}) & F_{3}(t_{3},t_{4},t_{5}) & F_{4}(t_{3},t_{4},t_{5})\\[3pt] F_{1}(\alpha ,t_{4},t_{5}) & F_{2}(\alpha ,t_{4},t_{5}) & F_{3}(\alpha ,t_{4},t_{5}) & F_{4}(\alpha ,t_{4},t_{5})\\[3pt] F_{1}(\alpha ,\beta ,t_{5}) & F_{2}(\alpha ,\beta ,t_{5}) & F_{3}(\alpha ,\beta ,t_{5}) & F_{4}(\alpha ,\beta ,t_{5})\\[3pt] F_{1}(\alpha ,\beta ,\gamma ) & F_{2}(\alpha ,\beta ,\gamma ) & F_{3}(\alpha ,\beta ,\gamma ) & F_{4}(\alpha ,\beta ,\gamma ) \end{array}\right| }{\left(t_{3}-\alpha \right)\left(t_{4}-\beta \right)\left(t_{5}-\gamma \right)}=0 \end{equation}
Here, the parameters
$\alpha$
,
$\beta$
, and
$\gamma$
are new variables replacing
$t_{3}$
,
$t_{4}$
, and
$t_{5}$
, respectively. Expanding Eq. (31) yields the following matrix form:
The matrix
$D_{6\times 6}$
contains
$t_{2}$
as the only unknown. For any root of
$\alpha$
,
$\beta$
, or
$\gamma$
in Eq. (32), the following holds identically:
Therefore, the determinant must be zero, that is,
$\mid D_{6\times 6}\mid =0$
, from which a univariate 16th-degree polynomial equation in
$t_{2}$
can be derived. Substituting
$t_{2}$
into Eq. (33) and simultaneously solving the resulting six equations yields
$t_{4}$
and
$t_{5}$
. Subsequently, substituting
$t_{2}$
,
$t_{4}$
, and
$t_{5}$
into any equation of (29) gives
$t_{3}$
. Finally, the joint angles
$\theta _{2}$
,
$\theta _{3}$
,
$\theta _{4}$
, and
$\theta _{5}$
are obtained from the following expressions:
Substituting
$t_{2}$
,
$t_{3}$
,
$t_{4}$
, and
$t_{5}$
into the expressions for
$y_{1}$
,
$y_{2}$
,
$y_{3}$
, and
$y_{4}$
yields the following equations, from which
$\theta _{1}$
and
$\theta _{6}$
can be solved:
At this point, the Dixon elimination-based modeling for the inverse kinematics analysis of the non-spherical wrist 6R manipulator has been completed.
4.2. Inverse kinematics analysis using CGAmethod
During the inverse kinematics analysis of a non-spherical wrist manipulator using CGA, the core procedural steps are summarized as follows, with the specific workflow illustrated in Figure 2.
Flowchart of solving the inverse kinematics for a non-spherical wrist manipulator using conformal geometric algebra.

Figure 2 Long description
The flowchart outlines the steps involved in solving the inverse kinematics for a non-spherical wrist manipulator using conformal geometric algebra. It begins with setting structural parameters and end-effector pose, followed by variable setting which includes analyzing structural characteristics and setting joint angle variables. The next step involves solving for joint point positions by representing geometric objects, performing intersection and dual operations, and deriving expressions for joint point positions. This is followed by solving for joint angle variables through inner product calculations, constructing joint angle equations, and determining specific joint point positions. The final steps involve defining relevant lines and planes, and defining joint rotation planes and rotation vectors, leading to solving for all joint angles.
Step 1: Variable Setting: Reasonably define the joint angle variables of the robotic arm based on its structural characteristics.
Step 2: Solving for Joint Point Positions: According to the representation methods of basic elements in CGA, for geometric elements such as spheres and planes within the robotic arm mechanism, derive the positional expressions of each joint point within the framework of CGA through intersection operations or duality operations.
Step 3: Solving for Joint Angle Variables: Fully utilize the geometric relationships existing within the robotic arm mechanism to perform inner product operations and construct a system of equations regarding the joint angle variables. Subsequently, solve this system of equations and substitute the obtained solutions into the derived positional expressions to determine the specific positions of each joint point.
Step 4: Solving for Joint Angles: Employ an appropriate method for solving joint angles to calculate the remaining joint angles, ultimately constructing a complete model for the inverse kinematics analysis of the robotic arm with a non-spherical wrist.
Following this, an in-depth kinematic analysis of the non-spherical wrist manipulator will be conducted based on the aforementioned CGA method.
4.2.1. Joint position solution for the non-spherical wrist manipulator
As illustrated in Figure 1, joint
$R_{6}$
rotates around the connecting rod
$d_{6}$
. Consequently, the joint positions
$\boldsymbol{P}_{5}$
and
$\boldsymbol{P}_{t}$
lie on the same straight line, which aligns with the direction
$\boldsymbol{n}_{t}$
of the end-effector. The translational screw associated with joint
$R_{6}$
is given by:
It can be seen that the position of the intersection point
$\boldsymbol{P}_{5}$
is
Let the plane passing through points
$\boldsymbol{P}_{2},\boldsymbol{P}_{3}$
, and
$\boldsymbol{P}_{4}$
be denoted as
$\boldsymbol{\pi }_{1}$
. This plane can be determined using the joint angle
$\theta _{1}$
as follows:
As can be seen from the diagram, the positions of joints
$R_{1}$
and
$R_{2}$
, denoted as
$\boldsymbol{P}_{1}$
and
$\boldsymbol{P}_{2}$
, respectively, are at the origin, that is,
Simplified diagram for solving joint point
$\boldsymbol{P}_{3}$
.

Figure 3 Long description
The diagram illustrates a simplified 6R serial robotic manipulator with key joint points labeled as P2, P3, P4, P5, and Pt. The manipulator is shown in a two-dimensional plane with axes labeled x and z. Joint point P2 is at the base, connected to P3 via a link of length a2. P3 is connected to P4 through a link of length d4, which is further connected to P5 via a link of length d5. P5 is then connected to the end-effector point Pt through a link of length d6. The diagram includes circles representing the workspace of the manipulator around points P2 and P3, labeled as S_P2P3 and S_P5P3 respectively. The manipulator's structure and the labeled points indicate the kinematic relationships and the flexible workspace of the robotic system.
As depicted in Figure 3, point
$\boldsymbol{P}_{3}$
lies simultaneously on the sphere
$\boldsymbol{S}_{{P_{2}}{P_{3}}}$
centered at
$\boldsymbol{P}_{2}$
with a radius of
$a_{2}$
, on the sphere
$\boldsymbol{S}_{{P_{5}}{P_{3}}}$
centered at
$\boldsymbol{P}_{5}$
with a radius of
$L_{53}$
, and on the plane
$\boldsymbol{\pi }_{1}$
. The point pair
$\boldsymbol{P}_{p3}$
is determined by the intersection of the aforementioned spheres and the plane:
Wherein,
Its dual form is
From this, we can obtain the point
$\boldsymbol{P}_{3}$
:
\begin{align} \boldsymbol{T}_{11p3}&=\boldsymbol{e}_{\infty }\cdot {\boldsymbol{P}}_{p3}^{\ast }\nonumber\\[3pt] \boldsymbol{T}_{12p3}&=\boldsymbol{T}_{11p3}\cdot {\boldsymbol{P}}_{p3}^{\ast }\nonumber\\[3pt] A_{3var}&=\boldsymbol{T}_{11p3}\cdot \boldsymbol{T}_{11p3}\nonumber\\[3pt] B_{3var}&={\boldsymbol{P}}_{p3}^{\ast }\cdot {\boldsymbol{P}}_{p3}^{\ast } \end{align}
As can be seen from Figure 4, point
$\boldsymbol{P}_{4}$
lies simultaneously on the sphere
$\boldsymbol{S}_{{P_{3}}{P_{4}}}$
centered at
$\boldsymbol{P}_{3}$
with a radius of
$d_{4}$
, the sphere
$\boldsymbol{S}_{{P_{5}}{P_{4}}}$
centered at
$\boldsymbol{P}_{5}$
with a radius of
$d_{5}$
, the sphere
$\boldsymbol{S}_{{P_{t}}{P_{4}}}$
centered at
$\boldsymbol{P}_{\mathrm{t}}$
with a radius of
$L_{t4}$
, and the plane
$\boldsymbol{\pi }_{1}$
. The dual form of point
$\boldsymbol{P}_{4}$
is derived from the intersection of these spheres and the plane:
Simplified diagram for solving joint point
$\boldsymbol{P}_{4}$
.

Figure 4 Long description
The diagram illustrates a simplified process for solving joint point P4. It features a coordinate system with axes labeled x and z, and several labeled points including P2, P3, P4, P5, and Pt. The diagram includes various components such as d4, d5, d6, and a2, which are connected through lines and arrows indicating their relationships. The points P2 and P3 are positioned along the x and z axes, respectively, while P4 serves as a central connection point. The diagram also shows two spheres labeled S_P3P4 and S_PtP4, which intersect at point P4. The overall structure demonstrates the spatial relationships and interactions between these components in solving the joint point P4.
From this, we can obtain point
$\boldsymbol{P}_{4}$
.
Since its magnitude is not equal to 1, it is normalized, that is
Up to this point, the CGA expressions for the joint points
$\boldsymbol{P}_{i}(i=3,4)$
have been determined, and both expressions contain only the single unknown variable
$\theta _{1}$
.
4.2.2. Solving for the joint angle variable
$\theta _{1}$
in the non-spherical wrist manipulator
It can be derived from Eq. (52) that
Wherein,
Based on Eqs. (5) and (54), we obtain
By expanding Eq. (56), we get
\begin{align} &\left(\left(B_{3\mathrm{var}}D_{\mathrm{var}}-\boldsymbol{G}\cdot \boldsymbol{G}+{C}_{\mathrm{var}}^{2}\right)+\frac{{d}_{4}^{2}}{4}\left(A_{3\mathrm{var}}{d}_{4}^{2}\left(\boldsymbol{W}\cdot \boldsymbol{W}\right)-4\left(\boldsymbol{V}\cdot \boldsymbol{W}\right)\right)\right)^{2}\nonumber\\[3pt]&\quad -B_{3\mathrm{var}}D_{\mathrm{var}}(2C_{\mathrm{var}}-E_{\mathrm{var}}{d}_{4}^{2})^{2}=0 \end{align}
Wherein,
Substituting the expression into Eq. (57) and simplifying yields:
In the equation,
$\mathrm{g}_{i}$
represents the coefficient with respect to
$\theta _{1}$
, which is related to the mechanism’s dimensional parameters. Due to space limitations, its specific form is not elaborated here.
To further simplify the formula, the half-angle tangent substitutions
$\cos \theta =(1-x^{2})/(1+x^{2})$
and
$\sin \theta =2x/(1+x^{2})$
are introduced, where
$x=\tan (\theta /2)$
. Substituting these into Eq. (59) yields
In the equation,
$\mathrm{m}_{i}$
represents a coefficient determined by the mechanism’s dimensional parameters, which is not elaborated here due to space limitations. Equation (60) is a univariate polynomial equation of the 16th degree in
$x$
. Solving this equation yields the value of
$x$
, from which the joint angle
$\theta _{1}$
can subsequently be obtained. Substituting
$\theta _{1}$
into Eqs. (45) and (52) allows determination of the positions of the joint points
$\boldsymbol{P}_{3}$
and
$\boldsymbol{P}_{4}$
.
4.2.3. Joint angle solution for the non-spherical wrist manipulator
Now that the positions of all joint points and the joint angle
$\theta _{1}$
have been determined, and the next step is to determine the remaining joint angles
$\theta _{i}(i=2-6)$
. This is achieved by defining the rotation plane for each joint and the corresponding rotation vector and then solving for the angle between the two vectors. To this end, it is necessary to define the rotation plane for each joint and the vector representing its rotation. During this process, the following lines are defined according to Table I.
The line passing through joint points
$\boldsymbol{P}_{2}$
and
$\boldsymbol{P}_{3}$
is denoted as
$\boldsymbol{l}_{23}$
:
The line passing through joint points
$\boldsymbol{P}_{3}$
and
$\boldsymbol{P}_{4}$
is denoted as
$\boldsymbol{l}_{34}$
:
The line passing through joint points
$\boldsymbol{P}_{4}$
and
$\boldsymbol{P}_{5}$
is denoted as
$\boldsymbol{l}_{45}$
:
The line passing through joint points
$\boldsymbol{P}_{5}$
and
$\boldsymbol{P}_{t}$
is denoted as
$\boldsymbol{l}_{5\mathrm{t}}$
:
According to Table I, the plane passing through points
$\boldsymbol{P}_{3}$
,
$\boldsymbol{P}_{4}$
, and
$\boldsymbol{P}_{5}$
is denoted as
$\boldsymbol{\pi }_{345}$
:
According to Table I, the plane passing through points
$\boldsymbol{P}_{4}$
,
$\boldsymbol{P}_{5}$
, and
$\boldsymbol{P}_{t}$
is denoted as
$\boldsymbol{\pi }_{45t}$
:
Next, the angles of the joint points are determined. The solution approach for each joint angle is as follows:
(a) Solving for
$\theta _{2}$
. From Figure 1, it can be observed that the joint angle
$\theta _{2}$
is the angle between the line
${\boldsymbol{l}}_{23}^{\mathrm{*}}$
and the vector
$\boldsymbol{e}_{3}$
, with rotation occurring around the axis at joint point
$\boldsymbol{P}_{2}$
. Therefore, the rotation vector and rotation plane associated with angle
$\theta _{2}$
are as follows:
\begin{align} \begin{cases} \boldsymbol{a}_{2}=\boldsymbol{e}_{3}\\[3pt] \boldsymbol{b}_{2}=-({\boldsymbol{l}}_{23}^{\ast }\cdot \boldsymbol{e}_{0})\cdot \boldsymbol{e}_{\infty }\\[3pt] \boldsymbol{N}_{2}=-\dfrac{({\boldsymbol{\pi }}_{1}^{\ast }\cdot \boldsymbol{e}_{0})\cdot \boldsymbol{e}_{\infty }}{\left|\left|({\boldsymbol{\pi }}_{1}^{\ast }\cdot \boldsymbol{e}_{0})\cdot \boldsymbol{e}_{\infty }\right|\right|}\\[10pt] \theta _{2}=Atan2\left[\left(\boldsymbol{a}_{2}\wedge \boldsymbol{b}_{2}\right)\boldsymbol{N}_{2},\boldsymbol{a}_{2}\cdot \boldsymbol{b}_{2}\right]+\dfrac{\pi }{2} \end{cases} \end{align}
(b) Solving for
$\theta _{3}$
. From Figure 1, it can be seen that the joint angle
$\theta _{3}$
is the angle between the line
${\boldsymbol{l}}_{23}^{\mathrm{*}}$
and the line
${\boldsymbol{l}}_{34}^{\mathrm{*}}$
, with rotation occurring around the axis at joint point
$\boldsymbol{P}_{3}$
. Therefore, the rotation vector and rotation plane associated with angle
$\theta _{3}$
are as follows:
\begin{align} \begin{cases} \boldsymbol{a}_{3}=({\boldsymbol{l}}_{23}^{\ast }\cdot \boldsymbol{e}_{0})\cdot \boldsymbol{e}_{\infty }\\[3pt] \boldsymbol{b}_{3}=-({\boldsymbol{l}}_{34}^{\ast }\cdot \boldsymbol{e}_{0})\cdot \boldsymbol{e}_{\infty }\\[3pt] \boldsymbol{N}_{3}=-\dfrac{({\boldsymbol{\pi }}_{1}^{\ast }\cdot \boldsymbol{e}_{0})\cdot \boldsymbol{e}_{\infty }}{\left|\left|({\boldsymbol{\pi }}_{1}^{\ast }\cdot \boldsymbol{e}_{0})\cdot \boldsymbol{e}_{\infty }\right|\right|}\\[10pt] \theta _{3}=Atan2\left[\left(\boldsymbol{a}_{3}\wedge \boldsymbol{b}_{3}\right)\boldsymbol{N}_{3},\boldsymbol{a}_{3}\cdot \boldsymbol{b}_{3}\right]-\dfrac{\pi }{2} \end{cases} \end{align}
(c) Solving for
$\theta _{4}$
. From Figure 1, it can be observed that the joint angle
$\theta _{4}$
is the angle between the plane
$\boldsymbol{\pi }_{1}$
and the plane
$\boldsymbol{\pi }_{345}$
, with rotation occurring around the line
${\boldsymbol{l}}_{34}^{\mathrm{*}}$
. Therefore, the rotation vector and rotation plane associated with angle
$\theta _{4}$
are as follows:
\begin{align} \begin{cases} \boldsymbol{a}_{4}=-((\boldsymbol{\pi }_{345}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0})\\[3pt] \boldsymbol{b}_{4}=\boldsymbol{\pi }_{1}\\[3pt] \boldsymbol{N}_{4}=\dfrac{(\boldsymbol{l}_{34}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0}}{\left|\left|(\boldsymbol{l}_{34}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0}\right|\right|}\\[10pt] \theta _{4}=Atan2\left[\left(\boldsymbol{a}_{4}\wedge \boldsymbol{b}_{4}\right)\boldsymbol{N}_{4},\boldsymbol{a}_{4}\cdot \boldsymbol{b}_{4}\right]+\dfrac{\pi }{2} \end{cases} \end{align}
(d) Solving for
$\theta _{5}$
. From Figure 1, it can be observed that the joint angle
$\theta _{5}$
is the angle between the plane
$\boldsymbol{\pi }_{345}$
and the plane
$\boldsymbol{\pi }_{45t}$
, with rotation occurring around the line
${\boldsymbol{l}}_{45}^{\mathrm{*}}$
. Therefore, the rotation vector and rotation plane associated with angle
$\theta _{5}$
are as follows:
\begin{align} \begin{cases} \boldsymbol{a}_{5}=-((\boldsymbol{\pi }_{345}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0})\\[3pt] \boldsymbol{b}_{5}=((\boldsymbol{\pi }_{45t}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0})\\[3pt] \boldsymbol{N}_{5}=-\dfrac{(\boldsymbol{l}_{45}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0}}{\left|\left|(\boldsymbol{l}_{45}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0}\right|\right|}\\[10pt] \theta _{5}=Atan2\left[\left(\boldsymbol{a}_{5}\wedge \boldsymbol{b}_{5}\right)\boldsymbol{N}_{5},\boldsymbol{a}_{5}\cdot \boldsymbol{b}_{5}\right] \end{cases} \end{align}
(e) Solving for
$\theta _{6}$
. From Figure 1, it can be observed that the joint angle
$\theta _{6}$
is the angle between the plane
$\boldsymbol{\pi }_{45t}$
and the plane
$\boldsymbol{\pi }_{t}$
, with rotation occurring around the line
${\boldsymbol{l}}_{5t}^{\mathrm{*}}$
. Therefore, the rotation vector and rotation plane associated with angle
$\theta _{6}$
are as follows:
\begin{align} \begin{cases} \boldsymbol{a}_{6}=((\boldsymbol{\pi }_{45t}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0})\\[3pt] \boldsymbol{b}_{6}=-((\boldsymbol{\pi }_{t}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0})\\[3pt] \boldsymbol{N}_{6}=-\dfrac{(\boldsymbol{l}_{5t}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0}}{\left|\left|(\boldsymbol{l}_{5t}\wedge \boldsymbol{e}_{\infty })\cdot \boldsymbol{e}_{0}\right|\right|}\\[10pt] \theta _{6}=Atan2\left[\left(\boldsymbol{a}_{6}\wedge \boldsymbol{b}_{6}\right)\boldsymbol{N}_{6},\boldsymbol{a}_{6}\cdot \boldsymbol{b}_{6}\right] \end{cases} \end{align}
Accordingly, the inverse kinematics analysis model for the non-spherical wrist manipulator has been established using CGA.
It is noteworthy that the inverse kinematics analysis model established for this mechanism avoids computational singularities arising from plane definition failure. Within this model framework, the plane containing the first three axes is uniquely determined by the joint variable
$\theta _{1}$
, whose value directly defines the spatial orientation of this plane, thereby ensuring its geometric definition remains unambiguous at all times. Meanwhile, the last three axes are arranged in an oblique configuration, causing these three axes to intersect pairwise at two distinct points in three-dimensional space, forming a stable and non-coplanar geometric structure. As each joint rotates about its axis, the geometric relationships based on this oblique layout remain well defined, inherently preventing singularities that could result from ambiguous plane definitions or geometric degeneracy. This ensures that the entire solving process is mathematically reliable and computationally stable.
5. Example validation
5.1. Validation of the CGA method
To validate the correctness of the proposed CGA-based inverse kinematics method, a case study is performed on the non-spherical wrist manipulator shown in Figure 1. The known link parameters of the manipulator are as follows:
$a_{2}=1100\text{ mm}$
,
$d_{4}=1450\text{ mm}$
,
$d_{5}=138\text{ mm}$
, and
$d_{6}=150\text{ mm}$
. The rotational range for each joint is given in Table IV. Three sets of initial joint angles and their corresponding end-effector poses are specified, each representing a distinct manipulator configuration, as detailed in Table V.
Joint rotation ranges of the non-spherical wrist manipulator.

Configurations and corresponding poses of the non-spherical wrist manipulator.

Table V Long description
The table presents configurations and corresponding poses of the non-spherical wrist manipulator. It includes three rows and six columns. The columns are labeled as Poses, Initial joint angles, End-effector position, and End-effector orientation. The End-effector position is further divided into Px, Py, and Pz, while the End-effector orientation is divided into r13, r23, and r33. Each row lists the initial joint angles in degrees, followed by the end-effector position in millimeters and the end-effector orientation as numerical values. The table provides specific data for three different configurations of the manipulator.
By programming in the mathematical software Mathematica 14, the aforementioned end-effector poses and link parameters were substituted into Eq. (60), yielding a univariate 16th-degree polynomial in terms of the parameter
$x$
. For each pose, 16 solution sets for
$x$
were obtained. After discarding the complex roots, the real solutions for
$x$
were substituted into the trigonometric half-angle formulas to compute the corresponding joint angle
$\theta _{1}$
. These values were then substituted into Eqs. (45) and (52) to determine the positions of the joint points
$P_{3}$
and
$P_{4}$
. Following the joint angle solution method described in Section 4.2, all inverse kinematics solutions for the three manipulator configurations were obtained, as summarized in Table VI.
Full inverse solutions at three manipulator poses.

Table VI Long description
The table presents the output angles for different poses and parameters in a robotic manipulator study. It consists of 12 rows and 8 columns. The columns are labeled as Poses, x, theta 1, theta 2, theta 3, theta 4, theta 5, and theta 6. Each row corresponds to a specific pose and provides the values for x and the joint angles theta 1 through theta 6. The table includes data for three different poses, with each pose having multiple solution sets for x and corresponding joint angles. The values are presented in degrees and include both positive and negative angles, indicating the orientation of the manipulator's joints. The table summarizes the inverse kinematics solutions obtained through mathematical computations using Mathematica 14.
The validation results demonstrate that for the first pose in Table VI, all inverse kinematic solutions obtained by the proposed method are in complete agreement with the results provided in Ref. [Reference Xu, Song and He13]. Furthermore, for all three test poses, the solution sets include valid solutions that match the preset initial joint angles of the manipulator. This further confirms the effectiveness of the CGA method across different poses.
5.2. Comparative analysis with the Dixon elimination method
To further validate the performance advantages of the proposed CGA method for solving the inverse kinematics of non-spherical wrist manipulators, a systematic comparative analysis with the Dixon elimination method was conducted. The experimental design was as follows: 100 sets of initial pose parameters were randomly generated within the rotational range of each manipulator joint. Both methods were implemented programmatically using the Mathematica computing system. All computations were performed on a computer with a Windows 11 operating system, a 2.50 GHz processor, and 16 GB of memory. The comparison metrics encompassed four key aspects: the computation time of both methods, solution existence, position solution accuracy, and orientation solution accuracy.
Computation time of the two methods for 100 random poses.

Figure 5 Long description
The line graph compares the computation time of two methods for 100 random poses. The x-axis represents the test number ranging from 0 to 100, while the y-axis represents the total runtime in seconds ranging from 0 to 5. The graph features two data lines: one for the CGA method, represented by blue circles, and another for the Dixon elimination method, represented by orange triangles. The CGA method shows more variability in runtime, with values fluctuating between approximately 2 and 3.5 seconds. In contrast, the Dixon elimination method maintains a more consistent runtime, generally hovering around 4 to 4.5 seconds. All values are approximated.
Figure 5 shows the distribution of computation time for both methods across 100 random poses. Statistical results indicate that the maximum computation time for the CGA method was 3.4s, whereas that for the Dixon elimination method reached 4.8s. These results demonstrate that the CGA method is significantly superior to the Dixon elimination method, indicating its stronger potential for scenarios with high real-time requirements. Figures 6, 7, and 8 reveal the differences between the two methods in terms of solution existence, position error, and orientation error, respectively. Figure 6 shows that the Dixon elimination method failed to converge to valid solutions for 3 of the test poses, whereas the CGA method successfully obtained inverse solutions for all 100 poses. The error distributions in Figures 7 and 8 further demonstrate that the Dixon elimination method exhibited relatively large errors in multiple test cases. In contrast, the maximum position error of the CGA method was controlled within 0.031 mm, and its maximum orientation error was less than
$1.29\times 10^{-4}$
mm. Further analysis reveals that the Dixon elimination method is susceptible to ill-conditioned matrices during the solving process, leading to reduced accuracy or even failure in obtaining solutions. In comparison, the CGA method effectively avoids such issues by leveraging its geometric algebraic properties to circumvent matrix-based computations.
Number of solutions found by the two methods for 100 random poses.

Figure 6 Long description
A line graph comparing the number of solutions found by the C G A Method and the Dixon Elimination Method for 100 random poses. The x axis represents the test number ranging from 0 to 100. The y axis represents the number of solutions ranging from 0 to 14. The C G A Method is represented by a blue line with circular markers, and the Dixon Elimination Method is represented by an orange line with triangular markers. The graph shows fluctuations in the number of solutions for both methods across different tests. The C G A Method generally maintains a consistent number of solutions around 8, with occasional peaks reaching up to 12. The Dixon Elimination Method shows more variability, with values ranging from 4 to 12. All values are approximated.
Position and orientation errors of all solutions obtained by the CGA method for 100 random poses.

Figure 7 Long description
The image contains two bar graphs side by side. The left graph displays position errors in millimeters along the X-axis, Y-axis, and Z-axis for various solutions numbered from 0 to 700. The right graph shows orientation errors in millimeters for different rotation components labeled r13, r23, and r33 across the same solution numbers. Both graphs highlight significant spikes in errors around solution number 400, indicating higher inaccuracies at that point. The position error graph shows the highest peak in the Z-axis, while the orientation error graph shows the highest peak in the r13 component. All values are approximated.
Position and orientation errors of all solutions obtained by the Dixon elimination method for 100 random poses.

Figure 8 Long description
The image contains two bar graphs side by side. The left graph shows position errors in millimeters along the X-axis, Y-axis, and Z-axis for different solutions numbered from 0 to 700. The right graph shows orientation errors in millimeters for the same solutions, with data series labeled as r13, r23, and r33. Each bar represents the error magnitude for a specific solution number. The position error graph has a y-axis ranging up to 5000 millimeters, while the orientation error graph has a y-axis ranging up to 1.5 millimeters. Notable spikes in errors are observed at specific solution numbers, particularly around 400 and 500. The graphs illustrate the variability and challenges in achieving precise inverse kinematics solutions using the Dixon elimination method.
In summary, the comparative results fully demonstrate that the CGA method significantly outperforms the traditional Dixon elimination method in terms of computation time, solution completeness, and solution accuracy.
6. Conclusion
This study proposes a novel inverse kinematics analysis method for non-spherical wrist manipulators based on CGA. The main contributions and findings are summarized as follows:
-
(i) The proposed method successfully overcomes key challenges in traditional inverse kinematics solutions. It eliminates the need for cumbersome algebraic elimination processes, effectively avoids the ill-conditioned matrix problems common in matrix operations, and circumvents the sensitivity of numerical iterative methods to initial values. This leads to a geometrically intuitive solution process. By leveraging the inherent geometric characteristics of the manipulator, the number of solving variables is significantly reduced. For non-spherical wrist manipulators, only one joint variable needs to be introduced to complete the inverse kinematics analysis, substantially reducing modeling complexity and computational burden. This provides a new perspective for manipulator inverse kinematics solving.
-
(ii) Through comprehensive comparison with the Dixon elimination method, the CGA-based approach demonstrates significant advantages in computation time, solution completeness, and solving accuracy, further validating its scientific merit and practical utility.
-
(iii) The CGA method constructs models and derives solutions based on geometric relationships, effectively avoiding computational singularities caused by the failure to define planes during inverse kinematics analysis. This provides a reliable foundation for the stable operation and precise control of robotic arms.
In summary, the CGA-based inverse kinematics analysis method for non-spherical wrist manipulators demonstrates notable advantages, including high computational accuracy and clear geometric interpretation, providing an innovative mathematical tool and analytical framework for both theoretical research and engineering applications in manipulator kinematics. However, the kinematic model and algorithm have not yet been code-optimized and deployed on the target platform. Critical issues such as real-time control performance optimization for non-spherical manipulators and optimal selection strategies for multiple solutions require further in-depth exploration and systematic research in future work to promote the refinement and development of this method in practical applications.
Author contribution
Zhonghai Zhang guided the research, provided theoretical support, reviewed the paper, and made necessary revisions; Dongyang Zhu was responsible for most of the theoretical research, data collection and analysis, and the drafting of the first version of the paper. All authors read and approved the final manuscript.
Financial support
This work was supported by Hebei Natural Science Foundation (Grant No. F2024202052).
Conflict of interest
The authors declare no conflicts of interest exist.
Ethical approval
Not applicable.




P3
P4

