Next Article in Journal
S-Curve Trajectory Planning for Industrial Robots Based on Curvature Radius
Previous Article in Journal
Experiences Using MediaPipe to Make the Arms of a Humanoid Robot Imitate a Video-Recorded Dancer Performing a Robot Dance
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Efficient Parallel Computing Algorithms for Robotic Manipulator Kinematics

1
Department of Information Technology, Financial University under the Government of the Russian Federation, 4-th Veshnyakovsky Passage, 4, Moscow 109456, Russia
2
Department of Engineering Graphics, Moscow State University of Technology “STANKIN”, Vadkovsky Lane, 3a, Moscow 127055, Russia
3
Engineering Training and Innovation Education Center, Shanghai Polytechnic University, Shanghai 201209, China
4
Industrial Programming Department, MIREA—Russian Technological University, 78 Vernadsky Avenue, Moscow 119454, Russia
5
Central Economics and Mathematics Institute of the Russian Academy of Sciences, Nakhimovsky Prospect, 47, Moscow 117418, Russia
*
Author to whom correspondence should be addressed.
Robotics 2025, 14(11), 154; https://doi.org/10.3390/robotics14110154
Submission received: 14 September 2025 / Revised: 21 October 2025 / Accepted: 23 October 2025 / Published: 27 October 2025
(This article belongs to the Section Intelligent Robots and Mechatronics)

Abstract

A method for compiling object schemes is proposed, which allows constructing algorithms for calculating the kinematic parameters of robotic manipulators. Examples of compiling object schemes for calculating the velocities and accelerations of points selected on the links of the robotic manipulator are considered. An analysis of the computational complexity of the obtained algorithms is carried out and a method for increasing their computational efficiency is proposed. An increase in computational efficiency is achieved based on the use of the associativity property due to the reduction of additional and multiplication operations performed by the algorithm. Graphs of computational processes illustrating the developed algorithms are presented. The developed algorithms allow parallel calculations; this will further increase the efficiency of calculations when using multiprocessor computing systems. As a result of the study, based on the object approach, an effective universal method for calculating the kinematic parameters of robotic manipulators has been developed. This will improve the quality of robot control.

1. Introduction

Artificial intelligence technologies and modeling methods have a decisive influence on the development of modern robotic systems [1,2,3]. Modeling robotic manipulators allows studying their characteristics in a virtual mode based on a numerical experiment. Mathematical models used to model robot motion are the basis for developing robot control systems [3,4]. In addition, much attention is currently paid to the problem of controlling several robots of different types working together under changing conditions, which requires the use of scenario control methods, linear programming, and machine learning [5].
When modeling the motion of robots, various kinematic and dynamic problems can be considered. The kinematics of robot manipulators is usually considered in two coordinate systems. Thus, the planning of the trajectories of the working element is performed in Cartesian coordinates, and the control of the robot’s motion is carried out in axial (generalized) coordinates.
The direct kinematics problem consists of determining the kinematic parameters, velocities, and accelerations of the robot’s manipulation system links when it moves along a given trajectory. The inverse kinematics problem is reduced to determining the axial coordinates corresponding to the movement of the robot’s working element along a trajectory given in Cartesian coordinates. The studies presented in this article are devoted to algorithms for solving the direct kinematics problem.
The problems of kinematics and dynamics of robot manipulators have been previously considered by many researchers. Thus, in works [6,7], new methods for solving the inverse kinematics problem for robot manipulators are presented. The study [8] aims to construct a kinematic model of a hexapod leg with two degrees of freedom (2-DOF) for a walking robot. The study [9] is focused on the design of a small-sized robot manipulator with three degrees of freedom (3-DOF) to perform the “pick and move” task using the inverse kinematics method. The study [10] aims to teach robot programming based on a 5-DOF robot manipulator prototype and open-source software.
The paper [11] considers analytical solutions to the direct and inverse kinematics problems for a hybrid 5-DOF robot that consists of a parallel mechanism with three degrees of freedom and a rotating head with two degrees of freedom. The paper [12] considers the features of solving the inverse kinematics problem for serial-parallel manipulators.
The paper [13] presents a detailed review of the methods used in robotic machining of lightweight materials. The paper [14,15] proposes a method for constructing a tool path for a 5-DOF industrial robot during the machining process. The paper [16] considers the calibration problem for a 5-DOF hybrid machining robot. This paper presents a semi-analytical continuous toolpath corner smoothing method for a 5-DOF (degree of freedom) hybrid robot. The paper [17] proposes a criterion for estimating the maximum load on the actuator of a 6-DOF industrial robot when performing a forming process. In study [18], the technology of kinematic calibration of a 5-DOF robot manipulator was investigated. Study [19] proposes a simple inverse kinematics calculation scheme for an industrial serial manipulator. The proposed technique can calculate appropriate values of the joint variables to realize the desired end-effector position and orientation while considering the motion costs of each joint. The article [20] describes fuzzy adaptive compensation control for space manipulators. The works [21] demonstrate algorithms for solving the inverse kinematics problem for a robot manipulator with seven degrees of freedom (7-DOF), and the works [22] use the deep reinforcement learning algorithm for this purpose. The works [23,24] develop efficient algorithms based on topological analysis that are capable of finding the optimal solution to the inverse kinematics problem for robot manipulators with kinematic redundancy. The paper [25] focuses on the theoretical and experimental analysis of a three-axis MEMS gyroscope, implementing an innovative feedforward PI quadrature compensation architecture.
Currently, the study of the problems of kinematics and dynamics of robotic manipulators also remains relevant. A promising direction for the development of applied research in this area is the development of neuromorphic algorithms for modeling and controlling robotic manipulators [26,27].
In our research, we develop the theme of developing parallel algorithms based on an object-oriented approach and borrow part of the material from our previously published article [28] to complete the additionally published material. The previous article described in detail the method for constructing parallel algorithms using the object-oriented approach. The method was illustrated by constructing a parallel algorithm for calculating the dynamic model of a robot manipulator.
The published material of this article examines the application of the method described earlier for compiling algorithms for solving problems of the kinematics of robot manipulators. The object-oriented approach in this case allowed us to modify the mathematical dependencies obtained for calculating the kinematic characteristics of robot manipulators. At the same time, an analysis of the computational complexity of the algorithms was carried out. The main emphasis in the new work is on increasing the efficiency of algorithms for calculating the kinematic parameters of robotic manipulators intended for creating software and mathematical support for robot control systems.
The above review of publications aimed at solving problems in robot manipulator kinematics shows the high relevance of solving these problems in various fields. The method of compiling computational algorithms for solving these problems that we have described allows us to significantly increase their efficiency.

2. Methods of Kinematic Analysis

Robot manipulators are multi-link mechanisms with a sequential kinematic structure. Kinematic diagrams of mechanisms are used to describe such structures. Examples of a robot manipulator with six links (6-DOF) and the corresponding kinematic diagram are presented below (see Figure 1 and Figure 2).
On the kinematic diagram of the mechanism in the selected scale, the links are depicted by straight lines. Hinges are depicted at the nodes of the links. The arrangement of the links on the kinematic diagram of the robot manipulator is determined by the lengths of the links li and the values of the coordinates of the hinges qi, i = 1,…,n; n—is the number of links. When the mechanism moves, its image on the kinematic diagram at each moment of time t will be determined by the values of the hinge coordinates, which are functions qi = qi(t).
To specify the position of the links in space, it is necessary to associate the Cartesian coordinate system Si(Xi, Yi, Zi) with each link. The movement of the robot manipulator is considered in the coordinate system S0(X0, Y0, Z0), associated with the fixed base (see Figure 2).
The transformation of the bases of the coordinate systems associated with the links can be performed using the (4 × 4) matrices of the transformation of homogeneous coordinates. The structure of such a matrix for the case of mapping the basis of the system Si into the system S(i−1) has the form:
A ( i 1 ) , i : S i S ( i 1 )
A ( i 1 ) , i 4 × 4 = R ( i 1 ) , i 3 × 3 l ( i 1 ) 3 × 1 0 0 0 1 ,
where A(i−1),i is a 4 × 4 matrix, that performs the homogeneous coordinate transformation from the Si, system, corresponding to i-th link, into the S(i−1) system, corresponding to (i − 1)-th; R(i−1),i is a 3 × 3 rotation matrix containing the cosines of the angles between the corresponding axes of the Si and S(i−1) coordinate systems; l ( i 1 ) = l x ( i 1 ) l y ( i 1 ) l z ( i 1 ) T —link length (i − 1), l x ( i 1 ) , l y ( i 1 ) , l z ( i 1 ) —projections of the (i − 1)-th link onto the axes of the coordinate system S(i−1).
Since the components of the matrices A(i−1),i are functions of the hinge (generalized) coordinates: R(i−1),i = R(i−1),i(qi), if the i-th hinge is rotational, l(i−1)= l(i−1)(qi), if it is translational (telescopic), then the matrix A(i−1),i = A(i−1)(qi), is also a function of the hinge coordinates.
The set of 4 × 4 homogeneous transformation matrices, defined by the expression:
A 0 , k = i = 1 k A ( i 1 ) , i , k = 1 , , n ,
performs mappings:
A 0 , k : S k S 0 , k = 1 n ,
where Sk is a coordinate system corresponding to the k-th link.
Since the matrices A(i−1),i = A(i−1)(qi) are functions of the hinge coordinates, then the matrices A0,k = A0,k(q), q = (q1, q2, …, qk), will also be functions of the hinge coordinates.
Then the absolute coordinates of an arbitrary point of the k-th link in the S0 fixed coordinate system, which are the projections of the radius vector r ( 0 ) = x ( 0 ) y ( 0 ) z ( 0 ) 1 T , can be determined from the equation:
r ( 0 ) = A 0 , k ( q ) r ( k ) ,
where r ( k ) = x ( k ) y ( k ) z ( k ) 1 T is a radius vector that defines the local coordinates of the selected point, given in the Sk, connected with the k-th link; q is the vector of hinge coordinates.
In the future, when writing equations, we will denote matrices with capital letters, and vectors and scalars with small letters. This will simplify the writing of equations and will not lead to confusion, since each vector is pre-defined, and the scalars in the equations will only be indices, time, and hinge coordinates.
To obtain linear kinematic parameters, it is necessary to differentiate function (5) an appropriate number of times. The arbitrary point speed of the k-th link in the S0 system will have the form:
v ( 0 ) = d r ( 0 ) d t = i = 1 k A 0 , k q i q ˙ i r ( k ) ,
and the acceleration of the same point is
a ( 0 ) = d 2 r ( 0 ) d t 2 = i = 1 k A 0 , k q i q ¨ i + i , j = 1 k 2 A 0 , k q i q j q ˙ i q ˙ j r ( k ) .
In expressions (6) and (7) used to calculate the kinematic parameters, it is necessary to calculate the partial derivatives of the transformation matrices of homogeneous coordinates, according to the corresponding generalized coordinates:
A 0 , k q i , 2 A 0 , k q i q j , if i = j , then 2 A 0 , k q i q j = 2 A 0 , k q i 2 ( i , j , k = 1 n ) .
In accordance with (3), we will have
A 0 , k q i = A 0 , 1 A 1 , 2 A ( i 1 ) , i q i A ( k 1 ) , k ,
2 A 0 , k q i 2 = A 0 , 1 A 1 , 2 2 A ( i 1 ) , i q i 2 A ( k 1 ) , k ,
2 A 0 , k q i q j = A 0 , 1 A 1 , 2 A ( i 1 ) , i q i A ( j 1 ) , j q j A ( k 1 ) , k .
Calculating the differentiated transformation matrices of homogeneous coordinates (8) and (9) can be performed using intermediary matrices Di:
A ( i 1 ) , i q i = A ( i 1 ) , i D i ,   A 0 , k q i = A 0 , ( i 1 ) A ( i 1 ) , i D i A i , ( i + 1 ) A ( k 1 ) , k ,
2 A 0 , k q i q j = A 0 , 1 A 1 , 2 A ( i 1 ) , i D i A i , ( i + 1 ) A ( j 1 ) , j D j A j , ( j + 1 ) A ( k 1 ) , k .
Matrices Di of differentiating transformation matrices of homogeneous coordinates have the form:
D i = 0 β i 0 0 β i 0 0 0 0 0 0 1 β i 0 0 0 0 ,
where βi is the coefficient corresponding to the type of the i-th kinematic pair. βi = 1, if the i-th kinematic pair is rotational and βi = 0, if it is translational.
To use the differentiation matrix in the form (11), it is necessary to direct the axes Zi coordinate systems Si along the axes of the hinges connecting the links (i − 1) and i. Then the matrix A(i−1),i(qi) can be represented as a product of two matrices A(i−1),i = A(i−1),(i−1)*A(i−1)*,i(qi), in this case the matrix A(i−1)*,i(qi) will look as follows:
A ( i 1 ) * , i = cos ( β i q i ) sin ( β i q i ) 0 0 sin ( β i q i ) cos ( β i q i ) 0 0 0 0 1 ( 1 β i ) q i 0 0 0 1 .
When multiplying a matrix A(i−1)*,i both left and right on the matrix Di, for example, at βi = 1 we obtain the derivative matrix
D i A ( i 1 ) * , i = A ( i 1 ) * , i D i = A ( i 1 ) * , i q i .
It is obvious that
A ( i 1 ) , i q i = A ( i 1 ) , ( i 1 ) * A ( i 1 ) * , i q i = A ( i 1 ) , ( i 1 ) * A ( i 1 ) * , i D i .
Using expressions (10) instead of (9) significantly increases the algorithm efficiency for calculating the kinematic parameters.

3. Object Modeling of Kinematics

We will consider expression (3) as an integral part of the mathematical model (1)–(5), which determines the relative position of each link of the manipulation robot relative to the fixed coordinate system. Based on the matrices that make up Equation (3), we will create objects of the corresponding classes. These classes inherit the properties of their base Matrix class, which contains the necessary constructors for initializing objects and methods for performing basic operations on matrices.
Figure 3 shows the object scheme of the mathematical model (1)–(5), for the case k = 3, corresponding to a three-link (3-DOF) manipulation robot.
Matrix objects are depicted in the diagram as rectangular elements. The multiplication operation is represented by adding on the right or left of the matrix object another corresponding matrix object. The rules for constructing object diagrams of mathematical models of manipulation robots are considered in [28].
When calculating the kinematic parameters, the operation of differentiating the transformation matrices of homogeneous coordinates is performed. As it has already been noted, this operation can be fulfilled using differentiation matrices (8)–(11). Object schemes for calculating partial derivatives of transformation matrices of homogeneous coordinates when modelling the kinematics of the 6-DoF robot are presented below (see Figure 4, Figure 5 and Figure 6).
The expression for calculating the speed of a certain point of the third link of the manipulation robot in the S0 fixed coordinate system, according to (6) for the case k = 3, will have the form
v ( 0 ) = A 0 , 3 q 1 q ˙ 1 + A 0 , 3 q 2 q ˙ 2 + A 0 , 3 q 3 q ˙ 3 r ( 3 ) .
Using differentiation matrices (11) allows representing expression (12) in the form
v ( 0 ) = q ˙ 1 A 0 , 1 D 1 A 1 , 2 A 2 , 3 + q ˙ 2 A 0 , 1 A 1 , 2 D 2 A 2 , 3 + q 3 A 0 , 1 A 1 , 2 A 2 , 3 D 3 r ( 3 ) .
Thus, the object scheme for calculating the certain point speed of the third link of the manipulation robot in the S0 fixed coordinate system, given by its radius vector r(3) in the S3 coordinate system, corresponding to expression (13), will have the form (see Figure 7).
On the object scheme (see Figure 7), scalar elements are shown in the form of triangles. The operation of multiplying an object by a scalar is represented by attaching a triangle with one of its vertices to the side of the rectangle representing the object being multiplied by a scalar.
Consider expression (7) for calculating the acceleration of a certain point of the 3rd link of the manipulation robot in the S0 fixed coordinate system.
a ( 0 ) = A 0 , 3 q 1 q ¨ 1 + A 0 , 3 q 2 q ¨ 2 + A 0 , 3 q 3 q ¨ 3 + + 2 A 0 , 3 q 1 2 q ˙ 1 2 + 2 A 0 , 3 q 2 2 q ˙ 2 2 + 2 A 0 , 3 q 3 2 q ˙ 3 2 + + 2 2 A 0 , 3 q 1 q 2 q ˙ 1 q ˙ 2 + 2 A 0 , 3 q 1 q 3 q ˙ 1 q ˙ 3 + 2 A 0 , 3 q 2 q 3 q ˙ 2 q ˙ 3 r ( 3 )
Similarly to (13), expression (14) can be represented by the expression
a ( 0 ) = q ¨ 1 A 0 , 1 D 1 A 1 , 2 A 2 , 3 + q ¨ 2 A 0 , 1 A 1 , 2 D 2 A 2 , 3 + q ¨ 3 A 0 , 1 A 1 , 2 A 2 , 3 D 3 + + q ˙ 1 2 A 0 , 1 D 1 D 1 A 1 , 2 A 2 , 3 + q ˙ 2 2 A 0 , 1 A 1 , 2 D 2 D 2 A 2 , 3 + q 3 2 A 0 , 1 A 1 , 2 A 2 , 3 D 3 D 3 + + 2 q ˙ 1 q ˙ 2 A 0 , 1 D 1 A 1 , 2 D 2 A 2 , 3 + q ˙ 1 q ˙ 3 A 0 , 1 D 1 A 1 , 2 A 2 , 3 D 3 + q ˙ 1 q ˙ 3 A 0 , 1 A 1 , 2 D 1 A 2 , 3 D 3 r ( 3 )
the object scheme for a certain point acceleration calculation of the manipulation robot 3rd link in the S0 fixed coordinate system, given by its radius vector r(3) in the S3 coordinate system, corresponding to expression (15), will look as follows (see Figure 8).

4. Computational Complexity of Algorithms

Let us analyze the computational complexity of the matrix algorithm execution. In this case, we will be based on comparing the number of addition and multiplication operations performed with matrix elements. Let us compare the number of addition (+) and multiplication (×) operations performed when executing matrix expressions with elements of n × n matrices and n × 1 vectors.
When multiplying two n × n matrices, the number of addition operations is K+ = n2(n − 1), and the number of multiplication operations is K× = n3. When multiplying an n × n matrix by an n × 1 vector, the number of addition operations is K+ = n(n − 1), and the number of multiplication operations is K× = n2.
Consider a more general case representing the product of several matrices and a vector
A 1 ( n × n ) A k ( n × n ) V ( n × 1 ) = A 1 ( n × n ) A k 1 ( n × n ) A k ( n × n ) V ( n × 1 )
The number of addition operations on the left side of the matrix Equation (16) is K+(L) = n2(n − 1)(k − 1) + n(n − 1) = n(n − 1)((k − 1)n + 1), and on the right side it is K+(R) = kn(n − 1). The ratio of these coefficients shows
K + ( L ) K + ( R ) = ( k 1 ) n + 1 k , at   n = 4 ,   k = 3 ,   K + ( L ) K + ( R ) = 3 .
The number of multiplication operations on the left side of the matrix Equation (16) is K×(L) = n2((k − 1)n + 1), and on the right side it is K×(R) = kn2. The ratio of these coefficients shows
K × ( L ) K × ( R ) = ( k 1 ) n + 1 k , at   n = 4 ,   k = 3 ,   K × ( L ) K × ( R ) = 3 .
Analysing the computational complexity of expression (13) for calculating the point acceleration shows that the number of addition operations when this expression is executed is K+(13) = 9n3 − 6n2n, for n = 4 it equals K+(13) = 476, and the number of multiplication operations is K×(13) = 9n3 + 4n2, for n = 4 it equals K×(13) = 640.
Based on results (17) and (18), we can assume that reducing expression (13) to the form
v ( 0 ) = q ˙ 1 A 0 , 1 D 1 A 1 , 2 A 2 , 3 r ( 3 ) + q ˙ 2 A 0 , 1 A 1 , 2 D 2 A 2 , 3 r ( 3 ) + q ˙ 3 A 0 , 1 A 1 , 2 A 2 , 3 D 3 r ( 3 )
will decrease in the number of addition and multiplication operations performed.
The number of addition operations when executing expression (19) K+(19) = 2n(6n − 5), for n = 4, equals K+(19) = 152, and the number of multiplication operations K×(19) = 15n2, for n = 4, equals K×(19) = 240.
The ratio of the coefficients obtained for mathematical models (13) and (19) for n = 4 shows
K + ( 13 ) K + ( 19 ) = 3.13 , K × ( 13 ) K × ( 19 ) = 2.67 .
Analysing the computational complexity of expression (15) for calculating the point acceleration shows that the number of addition operations when this expression is executed is K+(15) = 33n3 − 24n2n, for n = 4 it equals K+(15) = 1724, and the number of multiplication operations is K×(15) = 11n2(3n + 1), for n = 4 it equals K×(15) = 2288.
Based on results (17) and (18), similarly to the transformations performed for the speed, we transform expression (15) to the form
a ( 0 ) = q ¨ 1 A 0 , 1 D 1 A 1 , 2 A 2 , 3 r ( 3 ) + q ¨ 2 A 0 , 1 A 1 , 2 D 2 A 2 , 3 r ( 3 ) + q ¨ 3 A 0 , 1 A 1 , 2 A 2 , 3 D 3 r ( 3 ) + q ˙ 1 2 A 0 , 1 D 1 D 1 A 1 , 2 A 2 , 3 r ( 3 ) + q ˙ 2 2 A 0 , 1 A 1 , 2 D 2 D 2 A 2 , 3 r ( 3 ) + q 3 2 A 0 , 1 A 1 , 2 A 2 , 3 D 3 D 3 r ( 3 ) + 2 q ˙ 1 q ˙ 2 A 0 , 1 D 1 A 1 , 2 D 2 A 2 , 3 r ( 3 ) + 2 q ˙ 1 q ˙ 3 A 0 , 1 D 1 A 1 , 2 A 2 , 3 D 3 r ( 3 ) + 2 q ˙ 1 q ˙ 3 A 0 , 1 A 1 , 2 D 1 A 2 , 3 D 3 r ( 3 ) .
The number of addition operations when executing expression (21) K+(21) = 2n(21n − 17), for n = 4 equals K+(21) = 536, and the number of multiplication operations K×(21) = 51n2 + 9, for n = 4 equals K×(21) = 825.
The ratio of the coefficients obtained for mathematical models (15) and (21) for n = 4 shows
K + ( 15 ) K + ( 21 ) = 3.22 , K × ( 15 ) K × ( 21 ) = 2.77 .
Taking the direction of executing sequential calculations in the rows of object circuits (Figure 8 and Figure 9) from right to left, we obtain that the calculation efficiency is proportional to the calculated values (20) and (22).
An analysis of the computational complexity of matrix expressions (19) and (21) shows that the transformation of matrix expressions based on the associativity property makes it possible to increase the efficiency of algorithms for calculating the kinematic parameters of robotic manipulators by approximately three times.
To test the efficiency of the proposed algorithms, a computational experiment was conducted. The computer program was written in the C programming language. The program contained algorithms for calculating kinematic parameters in accordance with expressions (13), (15), (19), and (21). Special operators were included in the program code [29]:
# include < windows . h > / / GetTickCount ( ) LARGE _ INTEGER tu _ freq , tu _ start , tu _ end ; __ int64 t _ ns ; QueryPerformanceFrequency ( & tu _ freq ) ; QueryPerformanceCounter ( & tu _ start ) ; CalcKinemParam ( ) ; QueryPerformanceCounter ( & tu _ end ) ; t _ ns = 1000000000 ULL * ( tu _ end . QuadPart tu _ start . QuadPart ) / tu _ freq . QuadPart ;
where CalcKinemParam()—function for calculating kinematic parameters in accordance with expressions (13), (15), (19), (21); t_ns—function execution time.
The computer program provided the determination of the execution time of the CalcKinemParam() function with excess precision measured in nanoseconds. However, the relevance of the experiment is not absolute, since, when executing the computer program, not only the time spent performing arithmetic operations was taken into account, but also the time spent calling functions, transferring data to processor registers, and accessing RAM. Let us attribute these factors to associated errors.
The calculations were carried out under the Windows 11 operating system on a computer equipped with an Intel Celeron central processor, 2 Cores, 1.1–2.8 GHz, 8 GB.
The kinematic structures of robot manipulators from 2-DOF to 6-DOF were studied. The speed calculation results are presented in the diagram (Figure 9). The data shown in the diagram are labeled “Usual” and correspond to algorithm (13), while those labeled “Optimized” correspond to algorithm (19). The numerical values correspond to the calculation time in microseconds (mks).
The results of the computational experiment showed that for different kinematic structures, the ratio of the execution time of the functions corresponding to expressions (13) and (15), as well as (19) and (21), varied in the range from 1.5 to 3. Taking into account the associated errors, the efficiency of algorithms (13) and (19) in comparison with similar algorithms (15) and (21) averaged 2.5–3, or more than twice. Which is in good agreement with the coefficients (20) and (22).

5. Algorithms for Parallel Computing

Consider the graph of the computational process of a 4 × 4 matrix product by a 4 × 1 vector (see Figure 10), based on the ratio.
w i = j = 1 4 a i j v j , i = 1 , , 4 .
When calculating the product of an n × n matrix by the corresponding vector, the number of necessary scalar operations of addition and multiplication can be estimated by the value
K = 2 n 2 .
Analysing the graph of the computational process (Figure 11) shows that parallel methods for solving the problem of the matrix product by a vector can be obtained based on applying parallel summation algorithms; in this case, a cascade summation algorithm is used. In addition, the way in which parallel computing is organized will depend on the number of available processors.
It should be noted that the sequences of performed operations of multiplying individual n matrix rows by a vector are independent and can be fulfilled in parallel. The operations of multiplying each row by a vector involve n independent elementwise multiplications and can also be performed in parallel. Thus, the maximum required number of processors is determined by the value:
p = n 2 .
The execution time of a parallel algorithm, referred to as the execution time of one scalar operation, when using p processors, is determined by the execution time of the multiplication operation and the execution time of the cascade summation algorithm:
T p = 1 + log 2 n .
Efficiency indicators of the parallel algorithm are,
S p = K T p = 2 n 2 1 + log 2 n ,
where Sp is the acceleration for p processors obtained by using a parallel algorithm;
E p = S p p = 2 1 + log 2 n ,
where Ep is the efficient use of processors.
The information graph corresponding to the computational process of multiplying the i-th row of the 4 × 4 matrix by the 4 × 1 vector (Figure 11), built on the basis of 4 processors (see Figure 11).
The problem of multiplying rectangular matrices is defined by the relation:
c i j = l = 1 k a i l b l j , i = 1 , , n , j = 1 , , m .
In the case of multiplying n × n square matrices, the number of scalar multiplication and addition operations is proportional to n3, and the value can be used to evaluate them.
K = 2 n 3 .
The sequences of the performed operations of multiplying individual rows of the first matrix by the corresponding column of the second matrix are independent and can be performed in parallel. An algorithm for parallel computation of matrix multiplication can be built on the basis of the considered computational algorithm for matrix-vector multiplication. Accordingly, the required number of processors for maximum parallelization of the computational algorithm will be determined by the value:
p = n 3 .
The information graph corresponding to the computational process of the 4 × 4 matrix multiplication, built on the basis of 64 processors (see Figure 12).
The execution time of the parallel algorithm, as before, will be determined by expression (26). The resulting acceleration for p processors will increase:
S p = K T p = 2 n 3 1 + log 2 n ,
and the efficiency of using processors in accordance with (28) will not change.
Reducing the number of processors used will require restructuring the information graph (see Figure 12), which reflects the computational process of matrix multiplication. This will increase the computation time.
Matrices must be calculated first A(i−1),i (i = 1,…,n) (2). At this stage, the number of independently calculated matrices is proportional to the number n degrees of freedom of the manipulation system. Since the maximum number of processors required for the simultaneous calculation of the 4 × 4 matrices is 64, the required number of processors for implementing parallel computing at the lower level will be:
p 1 = 64 n .
At the next stage, the objects corresponding to the matrices A0,k (k = 1,…,n) (3) and the matrices of their partial derivatives (8)–(10) are calculated. When calculating matrices of partial derivatives, it must be considered that these matrices will vanish under the conditions:
A 0 , k q s = 0 at   s > k ,   2 A 0 , k q i q j = 0 at i > k or j > k
Number N1 of the calculated partial derivative matrices A 0 , k q s (k,s = 1,…,n) will be determined by the expression
N 1 = n 2 n + 1 ,
and in accordance with the property, 2 A 0 , k q i q j = 2 A 0 , k q j q i number N2 of the second partial derivative matrices will be determined by the expression
N 2 = k = 1 n k 2 k + 1 .
Accordingly, for implementing parallel computing at level (II), the maximum number of processors will be
p 2 = 64 ( n + N 1 + N 2 ) .
For most manipulative robots, n = 6. The graph of the computational process of the matrix A0,6 (see Figure 13).
The graph of the computational process of the matrix A 0 , 6 q 2 , using differentiation matrices (10) and (11) (see Figure 14), and matrices 2 A 0 , 6 q 1 q 3 (see Figure 15).
The calculations of the kinematic parameters are completed in accordance with expressions (13) and (15). However, as was shown above, expressions (19) and (21), obtained on the basis of using the associativity property, allow increasing the efficiency of the computational process by three times.
It should be noted that the issues of constructing a methodology and creating high-performance computers with a parallel structure have been considered earlier, for example, in the works [30,31,32].

6. Conclusions

A method for compiling object schemes is proposed, allowing the construction of algorithms for calculating the kinematic parameters of robot manipulators. The method is based on the use of matrices (4 × 4) of the transformation of homogeneous coordinates. Examples of compiling object schemes for calculating the velocities and accelerations of points selected on the links of manipulator robots are considered.
An analysis of the computational complexity of algorithms for calculating the kinematic parameters of robotic manipulators was carried out, and a method was proposed that allows for a significant increase in the efficiency of calculations by reducing the number of addition and multiplication operations performed based on the use of the associativity property.
Information and computational graphs illustrating the developed algorithms are presented. The proposed algorithms allow parallel calculations, which will further an increase in the efficiency of calculations when using multiprocessor computing systems.
Low-code visual programming technology can be implemented on the basis of the proposed object approach. Object schemes created using this technology are assembled from basic elements. Elements are connected to each other in accordance with the type of corresponding mathematical expressions. In this case, the assembly of complex objects is regulated by the compatibility of the simple objects that make them up.
The object approach and the algorithm development methods developed on its basis can be used in robot control systems. The conducted research is designed to automate the process of developing algorithms for calculating the kinematic parameters of robot manipulators. This will allow reconfiguring the model of the controlled object in the mode of dialogue with the human operator. This eliminates the stages associated with the process of creating a special program and the procedure for reprogramming the microcontroller.
The algorithms presented in this article were used in the development of the trajectory planning function for a robotic manipulator in the control system of an automated apple harvesting complex. (Complex for Harvesting Apple Crops) [33].
The methods for increasing the efficiency of computational algorithms substantiated in the article can also be used in control systems for robotic manipulators built on the basis of multiprocessor computing systems.

Author Contributions

Conceptualization, O.K., S.G., N.K., and K.L.; methodology, O.K. and N.K.; software, N.K.; validation, O.K.; formal analysis, N.K.; data curation, E.P. and S.G.; writing-original draft preparation, O.K. and N.K.; writing-review and editing, S.G., K.L., and O.K.; visualization, N.K.; supervision, E.P. and S.G.; project administration, E.P. and S.G. All authors have read and agreed to the published version of the manuscript.

Funding

SG and EP were supported by the Russian Science Foundation in accordance with agreement No. 25-71-10012 on 10 September 2025.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Köker, R.A. genetic algorithm approach to a neural-network-based inverse kinematics solution of robotic manipulators based on error minimization. Inf. Sci. 2013, 222, 528–543. [Google Scholar] [CrossRef]
  2. Almusawi, A.R.; Dülger, L.C.; Kapucu, S. A new artificial neural network approach in solving inverse kinematics of robotic arm (denso vp6242). Comput. Intell. Neurosci. 2016, 1, 5720163. [Google Scholar] [CrossRef]
  3. Byun, G.; Kikuuwe, R. Stiff and safe task-space position and attitude controller for robotic manipulators. Robomech J. 2020, 7, 18. [Google Scholar] [CrossRef]
  4. Jha, P.K.; Tripathi, B.; Natarajan, E.; Sharma, H. Proceedings of Control, Robotics, and Mechatronics (CRM 2023) Conference Proceedings, Kota, India, 25–26 March 2023; Smart Innovation, Systems and Technologies; Springer: Singapore, 2024; Volume 364, p. 675. [Google Scholar] [CrossRef]
  5. Zuev, A.S.; Leonov, D.A. About managing the number of simultaneously functioning software robots of different types. Russ. Technol. J. 2024, 12, 7–22. [Google Scholar] [CrossRef]
  6. Kumar, S.A.; Chand, R.; Chand, R.P.; Sharma, B. Linear manipulator: Motion control of an n-link robotic arm mounted on a mobile slider. Heliyon 2023, 9, 1. [Google Scholar] [CrossRef]
  7. Baglioni, M.; Jamshidnejad, A. A Novel MPC Formulation for Dynamic Target Tracking with Increased Area Coverage for Search-and-Rescue Robots. J. Intell. Robot. Syst. 2024, 110, 140. [Google Scholar] [CrossRef]
  8. Wajiansyah, A.; Supriadi, S.; Gaffar, A.F.; Putra, A.B. Modeling of 2-DOF Hexapod Leg Using Analytical Method. J. Robot. Control 2021, 2, 5. [Google Scholar] [CrossRef]
  9. Al Tahtawi, A.; Agni, M.; Hendrawati, T. Small-scale Robot Arm Design with Pick and Place Mission Based on Inverse Kinematics. J. Robot. Control 2021, 2, 6. [Google Scholar] [CrossRef]
  10. Marsono, M.; Yoto, Y.; Suyetno, A.; Nurmalasari, R. Design and Programming of 5 Axis Manipulator Robot with GrblGru Open Source Software on Preparing Vocational Students’ Robotic Skills. J. Robot. Control 2021, 2, 6. [Google Scholar] [CrossRef]
  11. Ye, H.; Wang, D.; Wu, J.; Yue, Y.; Zhou, Y. Forward and inverse kinematics of a 5-DOF hybrid robot for composite material machining. Robot. Comput.-Integr. Manuf. 2020, 65, 101961. [Google Scholar] [CrossRef]
  12. Hu, B.; Xu, Z.; Wang, R.; Feng, M.; Ye, N. Inverse Kinematics of 2 (3RPS) and 2 (3SPR) Serial-Parallel Manipulators. Chin. J. Mech. Eng. 2025, 38, 45. [Google Scholar] [CrossRef]
  13. Pedroso, A.F.; Sebbe, N.P.; Silva, F.J.; Campilho, R.D.; Sales-Contini, R.C.; Costa, R.D.; Sánchez, I.I. An overview on the recent advances in robot-assisted compensation methods used in machining lightweight materials. Robot. Comput.-Integr. Manuf. 2025, 91, 102844. [Google Scholar] [CrossRef]
  14. Liu, Q.; Tian, W.; Li, B.; Ma, Y. Kinematics of a 5-axis hybrid robot near singular configurations. Robot. Comput.-Integr. Manuf. 2022, 75, 102294. [Google Scholar] [CrossRef]
  15. Li, G.; Liu, H.; Liu, Q. A generalized method for C3 continuous toolpath planning and its application in robot machining. Mech. Mach. Theory 2025, 206, 105911. [Google Scholar] [CrossRef]
  16. Song, Y.; Tian, W.; Tian, Y.; Liu, X. A task-oriented calibration method for a 5-DOF hybrid machining robot based on the equivalent system. Measurement 2023, 216, 112909. [Google Scholar] [CrossRef]
  17. Zheng, F.; Xin, S.; Han, X.; Hua, L.; Zhuang, W.; Hu, X.; Chai, F. Heavy-load Nonapod: A novel flexible redundant parallel kinematic machine for multi-DoF forming process. Int. J. Mach. Tools Manuf. 2024, 200, 104183. [Google Scholar] [CrossRef]
  18. Mou, M.; Tian, W.; Yang, J.; Yin, F. Kinematic calibration of a 5-DOF hybrid kinematic machine tool by considering the ill-posed identification problem using regularisation method. Robot. Comput.-Integr. Manuf. 2019, 60, 49–62. [Google Scholar] [CrossRef]
  19. Yonezawa, A.; Yonezawa, H.; Kajiwara, I. Simple inverse kinematics computation considering joint motion efficiency. IEEE Trans. Cybern. 2024, 54, 4903–4914. [Google Scholar] [CrossRef]
  20. Shen, J.; Zhang, W.; Zhou, S.; Ye, X. Fuzzy adaptive compensation control for space manipulator with joint flexibility and dead zone based on neural network. Int. J. Aeronaut. Space Sci. 2023, 24, 876–889. [Google Scholar] [CrossRef]
  21. Wu, S.; Wen, S.; Yang, Y.; Janeschitz, G.; Kamendje, R.; Cheng, Y.; Ji, A. The structure design and kinematics analysis of the manipulator for the upper port remote maintenance in DEMO. Fusion Eng. Des. 2024, 199, 114145. [Google Scholar] [CrossRef]
  22. Zhao, C.; Wei, Y.; Xiao, J.; Sun, Y.; Zhang, D.; Guo, Q.; Yang, J. Inverse kinematics solution and control method of 6-degree-of-freedom manipulator based on deep reinforcement learning. Sci. Rep. 2024, 14, 12467. [Google Scholar] [CrossRef]
  23. Fabregat-Jaén, M.; Peidró, A.; Colombo, M.; Rocco, P.; Reinoso, Ó. Topological and spatial analysis of self-motion manifolds for global redundancy resolution in kinematically redundant robots. Mech. Mach. Theory 2025, 210, 106020. [Google Scholar] [CrossRef]
  24. Tang, S.; Ji, J.; Zhi, Y.; Yuan, W.; Chang, H.; Wang, X.; Guo, X. A novel inverse kinematics and shape reconstruction method for continuum robots. Ind. Robot Int. J. Robot. Res. Appl. 2025, 52, 415–424. [Google Scholar] [CrossRef]
  25. Marano, D.; Cammarata, A.; Fichera, G.; Sinatra, R.; Prati, D. Modeling of a three-axes MEMS gyroscope with feedforward PI quadrature compensation. In Advances on Mechanics, Design Engineering and Manufacturing; Lecture Notes in Mechanical Engineering; Springer: Cham, Switzerland, 2017. [Google Scholar] [CrossRef]
  26. Zaidel, Y.; Shalumov, A.; Volinski, A.; Supic, L.; Ezra Tsur, E. Neuromorphic NEF-Based Inverse Kinematics and PID Control. Front. Neurorobotics 2021, 15, 1662–5218. [Google Scholar] [CrossRef] [PubMed]
  27. Volinski, A.; Zaidel, Y.; Shalumov, A.; DeWolf, T.; Supic, L.; Tsur, E.E. Data-driven artificial and spiking neural networks for inverse kinematics in neurorobotics. Patterns 2022, 3, 100391. [Google Scholar] [CrossRef] [PubMed]
  28. Krakhmalev, O.; Korchagin, S.; Pleshakova, E.; Nikitin, P.; Tsibizova, O.; Sycheva, I.; Liang, K.; Serdechnyy, D.; Gataullin, S.; Krakhmalev, N. Parallel Computational Algorithm for Object-Oriented Modeling of Manipulation Robots. Mathematics 2021, 9, 2886. [Google Scholar] [CrossRef]
  29. Application Development for Window. QueryPerformanceFrequency Function. Available online: https://learn.microsoft.com/ru-ru/windows/win32/api/profileapi/nf-profileapi-queryperformancefrequency (accessed on 14 September 2025).
  30. Kalyayev, A.V.; Galuyev, G.A. Digital Neurocomputer VLSI-Systems with Parallel Architecture. In International Neural Network Conference; Springer: Dordrecht, The Netherlands, 1990. [Google Scholar] [CrossRef]
  31. Torchigin, V.P.; Kobyakov, A.E. Neurocomputers based on massively parallel architecture using optical means. In Proceedings of the SPIE—The International Society for Optical Engineering, Moscow, Russian, 7 December 1994. [Google Scholar] [CrossRef]
  32. Strey, A.; Avellana, N.; Holgado, R.; Capillas, R.; Alberto Fernandez, J.; Valderrama, E. A configurable parallel neurocomputer. In Proceedings of the 1995 Second New Zealand International Two-Stream Conference on Artificial Neural Networks and Expert Systems, Dunedin, New Zealand, 20–23 November 1995. [Google Scholar] [CrossRef]
  33. Krakhmalev, O.; Gataullin, S.; Boltachev, E.; Korchagin, S.; Blagoveshchensky, I.; Liang, K. Robotic Complex for Harvesting Apple Crops. Robotics 2022, 11, 77. [Google Scholar] [CrossRef]
Figure 1. 6-DOF robot.
Figure 1. 6-DOF robot.
Robotics 14 00154 g001
Figure 2. Kinematic scheme of a 6-DOF robot.
Figure 2. Kinematic scheme of a 6-DOF robot.
Robotics 14 00154 g002
Figure 3. 3-DoF robot object scheme.
Figure 3. 3-DoF robot object scheme.
Robotics 14 00154 g003
Figure 4. Object scheme A 1 , 2 q 2 = A 1 , 2 D 2 .
Figure 4. Object scheme A 1 , 2 q 2 = A 1 , 2 D 2 .
Robotics 14 00154 g004
Figure 5. Object scheme A 0 , 6 q 2 = A 0 , 1 A 1 , 2 D 2 A 2 , 6 .
Figure 5. Object scheme A 0 , 6 q 2 = A 0 , 1 A 1 , 2 D 2 A 2 , 6 .
Robotics 14 00154 g005
Figure 6. Object scheme 2 A 0 , 6 q 2 q 4 = A 0 , 2 D 2 A 2 , 4 D 4 A 4 , 6 .
Figure 6. Object scheme 2 A 0 , 6 q 2 q 4 = A 0 , 2 D 2 A 2 , 4 D 4 A 4 , 6 .
Robotics 14 00154 g006
Figure 7. Object scheme for speed calculation.
Figure 7. Object scheme for speed calculation.
Robotics 14 00154 g007
Figure 8. Object scheme for acceleration calculation.
Figure 8. Object scheme for acceleration calculation.
Robotics 14 00154 g008
Figure 9. Object scheme for acceleration calculation.
Figure 9. Object scheme for acceleration calculation.
Robotics 14 00154 g009
Figure 10. Graph of the computational process of the product of a 4 × 4 matrix by a 4 × 1 vector, Reprinted from Ref. [28].
Figure 10. Graph of the computational process of the product of a 4 × 4 matrix by a 4 × 1 vector, Reprinted from Ref. [28].
Robotics 14 00154 g010
Figure 11. Information graph of the computational process of the product of the i-th row of the matrix (4 × 4) by the vector (4 × 1), Reprinted from Ref. [28].
Figure 11. Information graph of the computational process of the product of the i-th row of the matrix (4 × 4) by the vector (4 × 1), Reprinted from Ref. [28].
Robotics 14 00154 g011
Figure 12. Information graph of the computational process of matrix multiplication (4 × 4) based on 64 processors, Reprinted from Ref. [28].
Figure 12. Information graph of the computational process of matrix multiplication (4 × 4) based on 64 processors, Reprinted from Ref. [28].
Robotics 14 00154 g012
Figure 13. Graph of the computational process of the matrix A0,6.
Figure 13. Graph of the computational process of the matrix A0,6.
Robotics 14 00154 g013
Figure 14. Graph of the computational process of the matrix A 0 , 6 q 2 .
Figure 14. Graph of the computational process of the matrix A 0 , 6 q 2 .
Robotics 14 00154 g014
Figure 15. Graph of the computational process of the matrix 2 A 0 , 6 q 1 q 3 .
Figure 15. Graph of the computational process of the matrix 2 A 0 , 6 q 1 q 3 .
Robotics 14 00154 g015
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Krakhmalev, O.; Krakhmalev, N.; Liang, K.; Pleshakova, E.; Gataullin, S. Efficient Parallel Computing Algorithms for Robotic Manipulator Kinematics. Robotics 2025, 14, 154. https://doi.org/10.3390/robotics14110154

AMA Style

Krakhmalev O, Krakhmalev N, Liang K, Pleshakova E, Gataullin S. Efficient Parallel Computing Algorithms for Robotic Manipulator Kinematics. Robotics. 2025; 14(11):154. https://doi.org/10.3390/robotics14110154

Chicago/Turabian Style

Krakhmalev, Oleg, Nikita Krakhmalev, Kang Liang, Ekaterina Pleshakova, and Sergey Gataullin. 2025. "Efficient Parallel Computing Algorithms for Robotic Manipulator Kinematics" Robotics 14, no. 11: 154. https://doi.org/10.3390/robotics14110154

APA Style

Krakhmalev, O., Krakhmalev, N., Liang, K., Pleshakova, E., & Gataullin, S. (2025). Efficient Parallel Computing Algorithms for Robotic Manipulator Kinematics. Robotics, 14(11), 154. https://doi.org/10.3390/robotics14110154

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop