Next Article in Journal
Robust Model Predictive Control Paradigm for Automatic Voltage Regulators against Uncertainty Based on Optimization Algorithms
Previous Article in Journal
A Novel Learning-Based Binarization Scheme Selector for Swarm Algorithms Solving Combinatorial Problems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Parallel Computational Algorithm for Object-Oriented Modeling of Manipulation Robots

1
Department of Data Analysis and Machine Learning, Financial University under the Government of the Russian Federation, 4-th Veshnyakovsky Passage, 4, 109456 Moscow, Russia
2
Department of Russian as a Foreign Language and General Theoretical Subjects, Russian State Agrarian University—Moscow Timiryazev Agricultural Academy, 127550 Moscow, Russia
3
Department of the Chair of Special Animal Husbandry, Russian State Agrarian University—Moscow Timiryazev Agricultural Academy, 127550 Moscow, Russia
4
Engineering Training Center, Shanghai Polytechnic University, 2360 Jin Hai Road, Pudong District, Shanghai 201209, China
5
Department of Innovation Management, State University of Management, Ryazansky Pr., 99, 109542 Moscow, Russia
6
Department of Engineering Graphics, Moscow State University of Technology STANKIN, Vadkovsky Lane, 3a, 127055 Moscow, Russia
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(22), 2886; https://doi.org/10.3390/math9222886
Submission received: 13 September 2021 / Revised: 29 October 2021 / Accepted: 9 November 2021 / Published: 12 November 2021

Abstract

:
An algorithm for parallel calculations in a dynamic model of manipulation robots obtained by the Lagrange–Euler method is developed. Independent components were identified in the structure of the dynamic model by its decomposition. Using the technology of object-oriented programming, classes corresponding to the structures of the selected components of the dynamic model were described. The algorithmization of parallel computing is based on the independence of the calculation of objects of individual classes and the sequence of matrix operations. The estimation of the execution time of parallel algorithms, the resulting acceleration, and the efficiency of using processors is given.

1. Introduction

In this paper, the object of research is manipulation systems considered as components of anthropomorphic robots. Robot manipulation systems are open kinematic chains formed by sequentially connected links with each other. The links are connected by joints, which, as a rule, have one degree of freedom (Figure 1) [1].
Since robots are mechanical devices, well-known methods of theoretical mechanics are used for their modeling. The choice of the method significantly determines the structure of the computational algorithm. These algorithms describe a sequence of calculations of the coefficients of the equations of motion that make up the dynamic model of the robot. The ways of solving these equations are determined by the problem statement [2,3,4,5,6].
If the trajectories of the robot’s movement are set according to the condition of the problem, then the necessary forces in the drives can be determined based on the laws of change of the generalized (articulated) coordinates of the robot, considered as a function of time. To do this, it is necessary to solve a system of nonlinear equations. If the forces are given, then by integrating a dynamic model containing ordinary differential equations, generalized coordinates can be determined in the form of time functions [3,4,5,6,7,8].
The development of algorithms for modeling robot manipulation systems that allow the performing of parallel calculations of individual parts of their mathematical models is an urgent task since it allows the solving of control problems of multi-link robots in real-time. This has become especially important with the advent of multiprocessor computing systems. There are known examples of the development of such algorithms conducted earlier [9,10,11,12,13,14,15]. However, the study of this issue cannot be considered complete since most of the presented results are not given by universal methods but by particular solutions.
The method considered in the article is based on an object-oriented approach to modeling the dynamics of robot manipulation systems. The developed method makes it possible to increase the efficiency of work related to the compilation of parallel computational algorithms. This is achieved based on the representation of mathematical models in the form of object schemes, in which each object is considered as part of a mathematical model, independent of other parts–objects associated with it in a general scheme [16,17].
To do this, in the structure of data and algorithms used in modeling, basic classes are allocated, on the basis of which other more complex classes are created, from which mathematical models are already directly formed. The original base class adopted a class describing the structure and methods of working with matrices. The concepts of “class” and “object” introduced by us fully correspond to the concepts of the same name used in object-oriented programming, implemented in many high-level programming languages.
Thus, mathematical models can be assembled from objects of base classes as from bricks. The assembly process is similar to the assembly of products from the elements of the LEGO constructor, the complex parts of which consist of a combination of basic parts. To implement the assembly process, a formalism has been developed that defines the rules for the interaction of constructor elements connected to each other, which are objects of the corresponding classes.
If the object is a matrix structure, then the multiplication operation of two objects will be represented by attaching the image of one object to the image of another object on one side (Figure 2). The matrix represented by the first object (Object 1) is multiplied on the right by the matrix represented by the second object (Object 2).
The operation of adding two or more matrix-type objects will be depicted as shown in Figure 3.
The subtraction of one object from another object will be depicted (Figure 4).
The operation of assigning the value of one object to another object will be depicted, as shown in Figure 5. In this case, the object Object_1 will be assigned the values of the object Object_2.
Multiplication of a matrix-type object by a scalar (Figure 6).
The designations of other operations will be entered as needed.

2. Dynamic Model

The dynamic model of robot manipulation systems obtained based on the Lagrange–Euler method has the form [2,3]
M s q ¨ + q ˙ T C s q ˙ = Q s
Here q = q 1 , , q n T , q ˙ = q ˙ 1 , , q ˙ n T , q ¨ = q ¨ 1 , , q ¨ n T —vectors of generalized coordinates and their time derivatives; Qs—generalized force by s the generalized coordinate (scalar); n—the number of degrees of freedom of the robot’s manipulation system. Ms—matrix-string (1 × n) inertial characteristics of the manipulating robot
M s ( q ) = k = 1 n m j s k ,   m j s k = tr A 0 k q s H k A 0 k T q j ,   j = 1 , , n ,
Cs—matrix (n × n) centrifugal and Coriolis effects
C s ( q ) = k = 1 n c i j s k ,   c i j s k = tr A 0 k q s H k 2 A 0 k T q j q j ,   j = 1 , , n ,
Here, tr—the operation of calculating the sum of the diagonal elements of the matrix. Hk—matrix (4 × 4) inertia of the k-th link of the manipulation system, considered as a solid. A0kmatrix (4 × 4) transformations of homogeneous coordinates from a coordinate system, connected to the k-th link, to a fixed coordinate system connected to the base of the robot.
Q D s = Q s Q G s Q F s
where QDs—the force developed by the drive in the s-th joint (hinge); QGs—the generalized force corresponding to the s-th generalized coordinate, corresponding to the action of gravity; QFs—the generalized force corresponding to the s-th generalized coordinate, corresponding to the action of external forces.
Q G s = k = s n tr F G k A 0 k T q s
where FGk—matrix (4 × 4) containing the gravity of the k-th link.
Q F s = k = s n tr F R k A 0 k T q s + μ s F M k A 0 s T
where FRk and FMk—matrix (4 × 4) containing projections of the main vector and the main moment of external forces, µs—ratio, µs = 1, respectively, if the s-th joint is rotational and µs = 0 if it is translational.
The methodology of composing dynamic models of robot manipulation systems based on their geometric and inertial models is considered in detail in the textbook [18].
The object scheme of this dynamic model can be represented as (Figure 7).
On the presented object diagram, Qs—the scalar value corresponding to the resulting generalized force along with the s-th generalized (hinge) coordinate; QDs—the scalar value corresponding to the force developed by the drive in the s-th joint (hinge); QGs—the scalar value corresponding to the generalized force QGs; QFs—the scalar value corresponding to the generalized force QFs. Ms—the object corresponding to the matrix-string Ms; Cs—the object corresponding to the matrix Cs; Dq, DDq and DqT—objects that model vectors q ˙ ,   q ¨ and q ˙ T , accordingly.
Classes that define the structure of the corresponding objects can be created using object-oriented programming languages, for example, C++, and must describe their corresponding objects following Expressions (1)–(6) [19,20,21,22,23,24].

3. Parallel Computing Algorithm

In a computational algorithm that implements modeling based on an object scheme (Figure 7), it is possible to distinguish several levels (tiers) at which the components of this object scheme are calculated.
At the first (I) level, objects corresponding to the inertia matrices of the links are calculated, Hk, components of the so-called inertial model of manipulation systems (Figure 8).
At the second (II) level, objects corresponding to the transformation matrices of homogeneous coordinates are calculated, A0k, and their partial derivatives are related to the geometric model of manipulation systems (Figure 9).
The objects calculated at the second (II) level depend on the parameters that change during the modeling process; in addition, when calculating partial differential matrices, it is necessary to exclude the calculation of elements of these matrices that are identically equal to zero. In accordance with this, the number of N1 calculated partial differential matrices A 0 k / q s (k,s = 1, …, n) will be defined by the expression
N 2 = n 2 n + 1
and the number of N2 matrices of the second derivatives ( 2 A 0 k / q s 2 and 2 A 0 k / ( q i q j ) ) by the expression
N 2 = k = 1 n k 2 k + 1
At the third (III) level, calculations are performed based on object schemes corresponding to various elements of the matrices Ms and Cs ((Ms) and (Cs)), performed in accordance with Expressions (2) and (3), and scalar values QGs and QFs, performed in accordance with (5) and (6) (Figure 10).
At the fourth (IV) level, based on objects Ms, Cs, QGs, and QFs, corresponding to the matrices Ms and Cs (Figure 11), and generalized forces QGs and QFs (Figure 12), the object schema is being calculated (Figure 7) by the corresponding dynamic model (1).
The hierarchical structure of the dynamic model parallel computing algorithm (1) is divided into several levels and, corresponding to the object scheme (Figure 7), without modeling the external load, it can be illustrated on a general computational scheme (Figure 13).
The inertia model calculated at the first level of the algorithm reflects the distribution of masses within the links of the manipulation system under study, the corresponding mathematical model is a set of inertia matrices of the links Hk, (k = 1, …, n).
At the second level, a geometric model of the manipulation system is formed. Its mathematical model is a set of transformation matrices of homogeneous coordinates A0k, (k = 1,…, n) supplemented by a set of partial derivatives of these matrices.
The definition of these two submodels in the structure of the dynamic model of robot simulation systems is of great methodological importance since it allows us to identify parts in the data structure and algorithms of the dynamic model that have a certain applied meaning, the calculation of which can be performed independently of each other.
Further parallelization of calculations performed at the appropriate levels of the considered algorithm for parallel calculations of the dynamic model of robot manipulation systems can be performed based on algorithms for parallel calculations of matrix operations.

4. Matrix Computation Algorithms

Consider the graph of the computational process of the product of a matrix (4 × 4) by a vector (4 × 1) (Figure 14), based on the ratio
w i = j = 1 4 a i j v j ,   i = 1 , , 4 .
When calculating the product of a matrix of dimension n × n by the corresponding vector, the number of necessary scalar addition and multiplication operations can be estimated by
T 1 = 2 n 2
Analysis of the computational process graph (Figure 8) shows that parallel methods for solving the problem of the product of a matrix by a vector can be obtained by using parallel summation algorithms, in this case, a cascade summation algorithm is used. In addition, the way parallel computing is organized will depend on the number of processors available for use.
It should be noted that the sequences of operations performed for multiplying individual n rows of the matrix by a vector are independent and can be performed in parallel. The operations of multiplying each row by a vector include n independent operations of element-by-element multiplication, 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 the parallel algorithm, related to the execution time of a single 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
Performance indicators of the parallel algorithm, respectively,
S p = T 1 T p = 2 n 2 1 + log 2 n
where Sp—acceleration for p processors, obtained by using a parallel algorithm
E p = S p p = 2 1 + log 2 n
where Ep—processor utilization efficiency.
The information graph (Figure 14) for the corresponding computational process of multiplying the i-th of a matrix row (4 × 4) by a vector (4 × 1) built based on four processors is shown in Figure 15.
The sequence of calculating the elements of the wi vector of the result will be as follows: pi1 = ai1 × v1, pi2 = ai2 × v2, pi3 = ai3 × v3, pi4 = ai4 × v4; pi1 = pi1 + pi2, pi3 = pi3 + pi4; pi1 = pi1 + pi3; wi = pi1. In the presented algorithm, the equality symbol is used to denote the assignment operation of the value of the calculated expression located on the right side of the variable located on the left.
The problem of multiplying rectangular matrices is determined 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 the multiplication of square matrices of dimension n × n, the number of scalar multiplication and addition operations is proportional to n3, and the value can be used to evaluate them
T 1 = 2 n 3
The sequences of operations performed for multiplying individual rows of the left matrix by the corresponding column of the right matrix are independent and can be performed in parallel. The algorithm of parallel calculation of matrix multiplication can be built based on the considered computational algorithm of matrix multiplication by a vector. 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 matrix multiplication (4 × 4), built based on 64 processors, is shown in Figure 16.
The sequence of calculating the elements of the cij matrix of the result of multiplying two matrices corresponds to the previously presented algorithm for multiplying a matrix by a vector. The process is implemented in parallel in 16 groups of 4 processors each.
The execution time of the parallel algorithm, as before, will be determined by Expression (12). The resulting acceleration for p processors will increase
S p = T 1 T p = 2 n 3 1 + log 2 n
and the efficiency of using processors under (14) will not change.
Reducing the number of processors used will require rebuilding the information graph (Figure 15), reflecting the computational process of matrix multiplication. This will result in an increase in the calculation execution time.

5. Conclusions

The algorithm of parallel calculations of the dynamic model (1) considered in the article, built based on an object-oriented approach, has four levels of parallelization (Figure 13) and can be supplemented with an initial (zero) level corresponding to data initialization.
The number of independently calculated operations at level III is maximum. At this level, when the number of processors used decreases, the greatest slowdown will be observed.
At level IV, the information graph of the computational process of multiplying a matrix (n × n) by a vector (n × 1) for the dynamic model (1) should be built based on n processors, by analogy with the information graph built based on four processors (Figure 15).
The considered algorithm for parallel calculations of the dynamic model (1) of manipulation robots based on an object-oriented approach can be implemented using object schemes (Figure 7, Figure 8, Figure 9, Figure 10, Figure 11, Figure 12 and Figure 13). Such schemes can be created from objects corresponding to the geometric and inertial models, the manipulation system under study, as well as from objects corresponding to the external load model.
The use of parallel computational algorithms in modeling tasks requires computing systems to have a sufficient number of processors. This requirement can be implemented based on multi-chip reconfigurable computing systems created based on the use of programmable logic integrated circuits. Such computing systems can adapt to the structure of the problem being solved and provide the implementation of complex multi-level parallel algorithms [25,26,27,28,29,30,31].

Author Contributions

Data curation, I.S. and S.G.; Formal analysis, P.N.; Investigation, K.L.; Conceptualization and Methodology, O.K.; Writing—original draft, O.K., S.K., E.P., D.S., O.T. and N.K.; Software, N.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar] [CrossRef]
  2. Vukobratović, M.; Stokić, D. Control of Manipulation Robots; Springer: Berlin/Heidelberg, Germany, 1982. [Google Scholar] [CrossRef]
  3. Vukobratović, M.; Stokić, D.; Kirćanski, N. Non-Adaptive and Adaptive Control of Manipulation Robots; Springer Science and Business Media LLC: Berlin/Heidelberg, Germany, 1985. [Google Scholar]
  4. Chernousko, F.L.; Bolotnik, N.N.; Gradetsky, V.G. Manipulation Robots. Dynamics, Control, and Optimization; CRC Press: Boca Raton, FL, USA, 1993. [Google Scholar]
  5. Wu, J.; Wang, J.; You, Z. An overview of dynamic parameter identification of robots. Robot. Comput. Integr. Manuf. 2010, 26, 414–419. [Google Scholar] [CrossRef]
  6. Kuznetsova, A.; Maleva, T.; Soloviev, V. Detecting Apples in Orchards Using YOLOv3 and YOLOv5 in General and Close-Up Images. In International Symposium on Neural Networks; Springer: Cham, Switzerland, 2020; pp. 233–243. [Google Scholar]
  7. Soloviev, V.; Titov, N.; Smirnova, E. Coking Coal Railway Transportation Forecasting Using Ensembles of ElasticNet, LightGBM, and Facebook Prophet. In International Conference on Machine Learning, Optimization, and Data Science; Springer: Cham, Switzerland, 2020; pp. 181–190. [Google Scholar]
  8. Shirokanev, A.S.; Andriyanov, N.A.; Ilyasova, N.Y. Development of vector algorithm using CUDA technology for three-dimensional retinal laser coagulation process modelling. Comp. Opt. 2021, 45, 427–437. [Google Scholar] [CrossRef]
  9. Fisette, P.; Péterkenne, J. Contribution to parallel and vector computation in multibody dynamics. Parallel Comput. 1998, 24, 717–728. [Google Scholar] [CrossRef]
  10. Zomaya, A.Y. Parallel processing for robot dynamics computations. Parallel Comput. 1995, 21, 649–668. [Google Scholar] [CrossRef]
  11. Belousov, I.R. The use of the method of symbolic transformations for the formation of parallel computing algorithms in the problems of kine-matics and dynamics of robots. Rep. IPM M.V. Keldysh RAS 1993, 5, 19–93. (In Russian) [Google Scholar]
  12. Malashonok, G.I.; Avetisyan, A.I.; Valeev, Y.D.; Zuev, M.S. Parallel Algorithms of Computer Algebra. Proc. ISP RAS 2004, 8, 169–180. (In Russian) [Google Scholar]
  13. Vnukov, A.A.; Lisenkov, M.A. The development of parallel data processing algorithms in multiprocessor systems using the example of solving the problems of the dynamics of industrial robots. Bull. RUDN Univ. Ser. Eng. Res. 2010, 4, 60–72. (In Russian) [Google Scholar]
  14. Zhang, X.; Sørensen, R.; Iversen, M.R.; Li, H. Computationally efficient dynamic modeling of robot manipulators with multiple flexible-links using acceleration-based discrete time transfer matrix method. Robot. Comput. Integr. Manuf. 2018, 49, 181–193. [Google Scholar] [CrossRef]
  15. Korchagin, S.A.; Terin, D.V.; Klinaev, Y.V.; Romanchuk, S.P. Simulation of Current-Voltage Characteristics of Conglomerate of Nonlinear Semiconductor Nanocomposites. In 2018 International Conference on Actual Problems of Electron Devices Engineering (APEDE); IEEE: Piscataway Township, NJ, USA, 2018; pp. 397–399. [Google Scholar]
  16. Krakhmalev, O. Designing Object Diagrams and the Method of Structural Mutations in Models of Robots’ Manipulation Systems; Springer: Berlin/Heidelberg, Germany, 2019; Volume 154, pp. 209–221. [Google Scholar]
  17. Krakhmalev, O.N. Use of Structural Mutations in Object-Oriented Mathematical Models of Robot Manipulation Systems. Math. Model. Comput. Simul. 2020, 12, 90–98. [Google Scholar] [CrossRef]
  18. Krakhmalev, O.N. Modeling of Robot Manipulation Systems; IPR Media: Saratov, Russia, 2018; Available online: https://search.rsl.ru/ru/search#q=9785448601460 (accessed on 12 September 2021).
  19. Shapira, Y. Mathematical Objects in C++: Computational Tools in A Unified Object-Oriented Approach; CRC Press: Boca Raton, FL, USA, 2017. [Google Scholar]
  20. Moiseev, G. Forecasting oil tanker shipping market in crisis periods: Exponential smoothing model application. Asian J. Shipp. Logist. 2021, 37, 239–244. [Google Scholar] [CrossRef]
  21. Dogadina, E.; Smirnov, M.; Osipov, A.; Suvorov, S. Evaluation of the Forms of Education of High School Students Using a Hybrid Model Based on Various Optimization Methods and a Neural Network. Informatics 2021, 8, 46. [Google Scholar] [CrossRef]
  22. Korchagin, S.; Romanova, E.; Serdechnyy, D.; Nikitin, P.; Dolgov, V.; Feklin, V. Mathematical Modeling of Layered Nanocomposite of Fractal Structure. Mathematics 2021, 9, 1541. [Google Scholar] [CrossRef]
  23. Krakhmalev, O.N.; Bleyshmidt, L.I. Determination of dynamic accuracy of manipulation systems of robots with elastic hinges. J. Mach. Manuf. Reliab. 2014, 43, 22–28. [Google Scholar] [CrossRef]
  24. Krakhmalev, O.N.; Petreshin, D.I.; Fedonin, O.N. Mathematical models for base calibration in industrial robots. Russ. Eng. Res. 2017, 37, 995–1000. [Google Scholar] [CrossRef]
  25. Kalyaev, I.A.; Levin, I.I.; Semernikov, E.A.; Shmoilov, V.I. Reconfigurable Multipipeline Computing Structures; Nova Science Publishers: New York, NY, USA, 2012. [Google Scholar]
  26. Dordopulo, A.; Levin, I.I.; Doronchenko, Y.I.; Raskladkin, M.K. High-Performance Reconfigurable Computer Systems Based on Virtex FPGAs; Springer: Berlin/Heidelberg, Germany, 2015; pp. 349–362. [Google Scholar]
  27. Irwansyah, A.; Ibraheem, O.W.; Hagemeyer, J.; Porrmann, M.; Rueckert, U. FPGA-based multi-robot tracking. J. Parallel Distrib. Comput. 2017, 107, 146–161. [Google Scholar] [CrossRef]
  28. Cumplido, R.; Gokhale, M.; Feregrino, C.; Huebner, M. Guest Editorial: Special Issue on Reconfigurable Computing and FPGA Technology. J. Parallel Distrib. Comput. 2019, 133, 359–361. [Google Scholar] [CrossRef]
  29. Liang, K.; Karpenko, A.P. A Modified Particle Swarm Algorithm for Solving Group Robotics Problem. Adv. Neuroergon. Cogn. Eng. 2020, 1127, 205–217. [Google Scholar] [CrossRef]
  30. Krakhmalev, N.O.; Korostelyov, D.A. Solutions of the inverse kinematic problem for manipulation robots based on the genetic algorithm. IOP Conf. Ser. Mater. Sci. Eng. 2020, 747, 012117. [Google Scholar] [CrossRef]
  31. Krakhmalev, O.; Krakhmalev, N.; Gataullin, S.; Makarenko, I.; Nikitin, P.; Serdechnyy, D.; Liang, K.; Korchagin, S. Mathematics Model for 6-DOF Joints Manipulation Robots. Mathematics 2021, 9, 2828. [Google Scholar] [CrossRef]
Figure 1. 6-DOF robot manipulation system (a) and its kinematic scheme (b).
Figure 1. 6-DOF robot manipulation system (a) and its kinematic scheme (b).
Mathematics 09 02886 g001
Figure 2. Multiplication of objects.
Figure 2. Multiplication of objects.
Mathematics 09 02886 g002
Figure 3. Adding objects: A + B (a), ΣAi (b).
Figure 3. Adding objects: A + B (a), ΣAi (b).
Mathematics 09 02886 g003
Figure 4. Subtracting objects.
Figure 4. Subtracting objects.
Mathematics 09 02886 g004
Figure 5. Assignment operation.
Figure 5. Assignment operation.
Mathematics 09 02886 g005
Figure 6. Multiplying an object by a scalar.
Figure 6. Multiplying an object by a scalar.
Mathematics 09 02886 g006
Figure 7. Object diagram of the dynamic model of manipulation systems of robots
Figure 7. Object diagram of the dynamic model of manipulation systems of robots
Mathematics 09 02886 g007
Figure 8. The inertial model. I-st level of the algorithm.
Figure 8. The inertial model. I-st level of the algorithm.
Mathematics 09 02886 g008
Figure 9. Geometric model. II-nd level of the algorithm.
Figure 9. Geometric model. II-nd level of the algorithm.
Mathematics 09 02886 g009
Figure 10. Level III of the algorithm.
Figure 10. Level III of the algorithm.
Mathematics 09 02886 g010
Figure 11. Object representation of matrices Ms and Cs.
Figure 11. Object representation of matrices Ms and Cs.
Mathematics 09 02886 g011
Figure 12. Object representation of generalized forces.
Figure 12. Object representation of generalized forces.
Mathematics 09 02886 g012
Figure 13. Levels of the dynamic model parallel computing algorithm.
Figure 13. Levels of the dynamic model parallel computing algorithm.
Mathematics 09 02886 g013aMathematics 09 02886 g013b
Figure 14. Graph of the computational process of a matrix (4 × 4) multiplication by a vector (4 × 1).
Figure 14. Graph of the computational process of a matrix (4 × 4) multiplication by a vector (4 × 1).
Mathematics 09 02886 g014
Figure 15. Information graph of the computational process of the i-th row multiplication of the matrix (4 × 4) by the vector (4 × 1)
Figure 15. Information graph of the computational process of the i-th row multiplication of the matrix (4 × 4) by the vector (4 × 1)
Mathematics 09 02886 g015
Figure 16. Information graph of the computational process of matrix (4 × 4) multiplication based on 64 processors.
Figure 16. Information graph of the computational process of matrix (4 × 4) multiplication based on 64 processors.
Mathematics 09 02886 g016
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

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. https://doi.org/10.3390/math9222886

AMA Style

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(22):2886. https://doi.org/10.3390/math9222886

Chicago/Turabian Style

Krakhmalev, Oleg, Sergey Korchagin, Ekaterina Pleshakova, Petr Nikitin, Oksana Tsibizova, Irina Sycheva, Kang Liang, Denis Serdechnyy, Sergey Gataullin, and Nikita Krakhmalev. 2021. "Parallel Computational Algorithm for Object-Oriented Modeling of Manipulation Robots" Mathematics 9, no. 22: 2886. https://doi.org/10.3390/math9222886

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