=Paper= {{Paper |id=Vol-3382/Paper18 |storemode=property |title=Using Artificial Neural Network for Solving Inverse Kinematic Task of 2R Planar Robot-Manipulator |pdfUrl=https://ceur-ws.org/Vol-3382/Paper18.pdf |volume=Vol-3382 |authors=Kamila Tanyrbergenova,Tolkyn Mirgalikyzy,Balgaisha Mukanova,Mikhail Posypkin |dblpUrl=https://dblp.org/rec/conf/dtesi/TanyrbergenovaM22 }} ==Using Artificial Neural Network for Solving Inverse Kinematic Task of 2R Planar Robot-Manipulator== https://ceur-ws.org/Vol-3382/Paper18.pdf
Using Artificial Neural Network for Solving Inverse Kinematic Task
of 2R Planar Robot-Manipulator
Kamila Tanyrbergenova1, Tolkyn Mirgalikyzy1, Balgaisha Mukanova2, and Mikhail
Posypkin3
1
  L.N. Gumilyov Eurasian National University, Astana, 010000, Kazakhstan
2
  Astana IT University, Astana, 010000, Kazakhstan
3
  Federal Research Center “Computer Science and Control” of the Russian Academy of Sciences, Moscow,
119991, Russia


                 Abstract
                 The research considered the motion control of a 2R planar robot consisting of two links
                 connected in series through two revolute joints, suitable for the task of simulating the human
                 arm and other similar mechanisms. The aim of the study was to apply Machine Learning
                 (artificial neural networks, ANN) methods to control the position of the 2R planar robot's
                 end-effector within the workspace along a given trajectory. The possibility of using ANNs to
                 achieve a single solution of the Inverse Kinematics Task is shown.

                 Keywords 1
                 2R robot-manipulator, Neural Networks, ANN, robotics

1. Introduction
   Nowadays, robots have deeply penetrated into our everyday life and are used in a variety of
practical tasks. Robotics is an actively developing field, the achievements of which are used in
manufacturing, medicine and many other spheres. For example, the work [1] gives a voluminous
overview of robot models used in the medical sphere. Today, robotic manipulators of the "multi-link"
type are popular and have not lost their relevance for research purposes for many years. Palleschi and
his co-authors [2] "presented a time-optimal trajectory planning algorithm for moving a flexible joint
robot along smooth parametrized paths" for a 2R planar robot. In work [3] 2R planar robot is also
considered, and the authors "designed a genetic algorithm to perform time-optimal control of robotic
manipulators along specified paths, subject to torque constraints". Work [4] also deals with canonical
SCARA 2DoF. Based on all of the above, robotic manipulators of the "multi-link" type are popular
and in demand due to their simple design and convenience in performing calculations and
experiments.
   The Inverse Kinematics Task (IKT) in robotics is important. The solution of the IKT is often the
basis for solving other problems facing the mechanical system, for example, for calculating the
workspace of a robot. It is known that the IKT is often has more than one solution. The solution of
robot's IKT is considered in many works, the problem does not lose its relevance [5]-[8]. It is solved
in different ways for different mechanical systems. The most popular are classical mathematical
(including geometric) methods, as well as widely used methods of machine learning. In work [5]
solution of GLC for multilink with spherical joints (7 links) with application of mathematical
apparatus is considered. In the work of Mukanova B.G. solves IKT and Direct Kinematics Task
(DKT) for RPR robot also with the use of classical mathematical methods and transformations [6].

Proceedings of the 7th International Conference on Digital Technologies in Education, Science and Industry (DTESI 2022), October 20–21,
2022, Almaty, Kazakhstan
EMAIL: kamila.tanyrbergen@gmail.com (Kamila Tanyrbergenova); m_t85@mail.ru (Tolkyn Mirgalikyzy); mbsha01@gmail.com
(Balgaisha Mukanova), mposypkin@frccsc.ru (Mikhail Posypkin)
ORCID: 0000-0002-0703-4057 (Kamila Tanyrbergenova); 0000-0002-0248-9220 (Tolkyn Mirgalikyzy); 0000-0002-0823-6451 (Balgaisha
Mukanova), 0000-0002-4143-4353 (Mikhail Posypkin)
            ©️ 2022 Copyright for this paper by its authors.
            Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
            CEUR Workshop Proceedings (CEUR-WS.org) Proceedings
W.H. Zayer with co-authors proposed the use of FuzzyNeuralPetriNet to solve the IKT and the DKT
of a 2DoF robot manipulator [7]. Using ANN to solve the IKT for multi-link is also applied in [8] for
PUMA 560 robot, and the training result equals to 90 %. Solving IKT is an important step in solving
robotics problems.
    Machine learning methods are extensively used in robotics not only for solving DKT (direct
kinematics task) and IKT. Machine learning makes it possible to solve problems where it is difficult
to derive dependencies by classical methods. The review by Laith Alzubaidi and his co-authors[9]
states that "recently, machine learning (ML) has become very widespread in research and has been
incorporated invariety of applications,including text mining, spam detection, video recommendation,
image classification, and multimedia concept retrieval" and that "the effectiveness of an algorithm is
highly dependent on the integrity of the input-data representation". For example, holonomy systems in
solving DKT, IKT have the problem of geometric inaccuracy of the obtained result. Article [10]
discusses a solution to this problem using the Artificial Neural Network (ANN) and "is trained to
predict the position error in the workspace for the given input coordinates of the planar geometry to
be sewed in the fabrics".
    Robotics is an actively developing field, but it is likely that the highest peak of development in this
area has not yet been reached. First, there is no single solution (framework) that fits all robot models.
You have to use highly specialized tools to solve narrow problems. Second, each robot is a
mechanism with unique features that require an individual approach. This relates to the description of
the kinematics, the dynamics of a robot, how links are connected and their order, whether closed or
open kinematic chains are used, whether the system is holonomous or whether odometry must be
used, whether a solid body forms the basis of the mechanical system, and other nuances. Therefore,
there are still many discoveries to be made in robotics, and often today they refer to specific robot
models aimed at solving a narrow range of problems. In [11] described trends in the industrial
robotics sector and graphically shows the growth of number of publications in the field of industrial
robotics. The paper [12] shows trends in the evolution of service robots and lists some unresolved
issues in robotics, such as "the lack of generalization and formalism in classifications and taxonomy,
the current perceived utilitarian value, battery and autonomy modelling and estimation, ethics, and
even design problems related to gender biases based on the occupation of the robot".
    It is a well-known fact that in robotics there are two kinematics tasks: direct and inverse (IKT and
DKT). The solution of the DKT gives us an unambiguous answer, while the IKT does not always give
a single or unambiguous solution. We must rely on the goal pursued in solving the IKT, which may be
to find multiple solutions and further process the results, or to derive a single solution that fits the
criteria. IKT is an important step in solving many kinematics problems in robotics, e.g., solving IKT
is an important step in computing the Workspace of a robot. It should be noted that the application of
Artificial Intelligence (AI) increasingly overlaps with robotics problems and provides many fresh
ways to solve different problems. The exact location of not only the end-effector, but also other links
in the path can be critical, depending on the tasks the robot is designed to perform. For example, when
teaching a robot to repeat movements to train flexor-extensor muscles for those in need of
rehabilitation, it is not enough for a robot to follow the end-effector movement along a given
trajectory; we also need the most precise movement of all links due to the limited degree of freedom
of the human hand. There are many tasks where this criterion is important according to the condition
or formulation of the problem. Also, the IKT solution is important in calculating the robot's
workspace. Knowing the robot's workspace helps to ensure that the robot's mechanisms and parts
work less traumatically for the robot. This study proposes to solve the inverse kinematics problem for
2R planar robot-arm using Artificial Neural Networks (ANN) apparatus and further use the results to
build the workspace of the robot, to move the robot along the trajectory taking into account the more
exact location of all links. The features and advantages of the proposed solution are given in further
sections of the paper.

2. Description of the robot-manipulator
   In this work we operate with 2R planar robot-arm to test hypotheses and do research. Due to the
simple design and ease of prototyping the robot, the demand for this model in different industries, its
accessibility and canonicality, the significance of the results for both, training purposes and practical
purposes, is achieved.
    This work considers the IKT for a 2R planar robot manipulator using Machine Learning methods
to obtain a single (unambiguous) solution on output.
    As mentioned above, the study deals with a 2R planar robot because it has a simple construction
consisting of two links connected in series through two revolute joints, and is suitable for the task of
simulating the human hand and other similar mechanisms. The robot mechanism under consideration
is a holonomous system and can be described geometrically. The geometrical scheme of 2R planar
robot with notations is shown in Figure 1.




Figure 1: 2R Planar Robot Geometric Schema

   Let introduce the following notations:
   O – is the center of the first link (base) or the junction point of the base and the first link,
   OB – is the first link,
   BA – is the second link,
   pointВ- is point of connection of the first and second links,
   pointА – is the end-effector coordinate,
   Q1 – is the angle between the x-axis and the link OB,
   Q2 – is the angle between the OB link and the BA link,
   L1-length of the first link,
   L2 – length of the second link,
   rxb, ryb –projections of the length of link L1 on coordinate axes,
   rxa, rya– projections of the radius-vector determining the position of the end-effector on coordinate
axes,
   𝑟̅ - the radius-vector determining the position of the end-effector in space (the vector connecting
the 0 and the target point).
   The degree of freedom of the robot equals two (DOF=2).




Figure 2: 2R Planar Robot Prototype
   According to the described geometrical scheme, the prototype 2R Planar Robot - manipulator was
assembled using the ArduinoUno platform based on the ATMEGA328 microcontroller and using two
servo motors at the points O and B.
   Thus, two servo motors (model SG 90) play actuators roles in the physical implementation. The
implemented physical model of the 2R Planar Robot prototype is shown in Figure 2.
   The principal model of the robot, implementedin the CoppeliaSim environment, is shown in Figure
3.




Figure 3: 2R Planar Robot CoppeliaSim model

    Note that due to the fact that 2R Planar Robot is a holonomous system, only the dimensions of the
first and second links mattered for calculations. The links length of the mechanical system prototype
was L1 =0.16 m and L2 =0.1 m. The parameters of the robot adopted in the study are described in
Table 1. Robot design was chosen based on characteristics of used servomotor models specifications
and the weight of the elements that were used in the construction. The characteristics of the SG 90
servomotor can be taken from the manufacturer's official website. According to them the servomotor
can hold up to 1 kg of weight on the end of the arm with the length 0,01 m, the servomotor force is
1.2-1.6 kg∙cm at voltage 4.8 V. The maximum speed of the SG 90 servomotor is 1.046 radians in 0.1 s
(the specification show it as 60 degrees/ 0.1 s).

Table 1
Robot parameters
   Parameter            Length (m)            Width (m)            Height(m)          Weight(kg)
  First Link (L1 )         0,16                0,017                 0,002                0,016
 SecondLink (L2 )          0,10                0,017                 0,002                0,023
       Base               0,095                0,095                  0,05           Not considered

   Let's present the specifications of servomotors in table (see Table 2). As you can see from the
table, SG 90 servomotor is restricted and can rotate from 0 to 180 degrees (90 degrees to one side and
90 degrees to the other side). In the calculations we denote the range of motion from -90 to 90 degrees
for a convenient representation on the Cartesian coordinate system. In fact, the maximum boundary
values are not attainable for the working area. We take this fact into account when constructing the
robot workspace.

Table2
Servoparameters
    Parameter          Max angular           Min position        Max position           Mass (kg)
                         velocity             (degrees)           (degrees)
     Servo 1         1,046 rad/0.1sec            -90                 90                   0,009
     Servo 2         1,046 rad/0.1sec            -90                 90                   0,009
   By projecting the radius-vector𝑟̅ onto the coordinate axes, express the values of its projections onto
the coordinate axes using the law of cosines. Thus, we obtain the kinematic equations of motion
describing the mathematical solution to the DKT (1).

                               𝒓𝒙𝒂 = 𝑳𝟏 ∗ 𝐜𝐨𝐬(𝑸𝟏 ) + 𝑳𝟐 ∗ 𝐜𝐨𝐬⁡(𝑸𝟏 + 𝑸𝟐 )
                              {                                           ⁡(𝟏)
                                𝒓𝒚а = 𝑳𝟏 ∗ 𝐬𝐢𝐧(𝑸𝟏 ) + 𝑳𝟐 ∗ 𝐬𝐢𝐧⁡(𝑸𝟏 + 𝑸𝟐 )

   Performing calculations by formula (1) in the loop, taking into account the constraints on the
servomotors, we obtain the set of workspace points of the robot-manipulator. The boundaries of the
workspace are unreachable for the end-effector, so we remove them from the set of points of the
workspace (highlighted in black). The calculation step equal to 1 degree, angles from -90 to 90
degrees. Then subtract from the set the points being the boundary points. Based on this, with regard to
the given lengths of the links, the workspace has the surface shown in Figure 4.




Figure 4: 2R Planar Robot Workspace with given constraints

3. Problem Formulation
   The following definitions and terms should be introduced for the convenience of the following
presentation:
   •     A Transitional link–is any movable link that participates in the movement and affects the
   coordinates of the end-effector, on which the end-effectoris not located and the coordinates of
   which do not coincide with the coordinates of the end-effector. In our case, we highlight the link
   L1as the only intermediate link.
   •     The coordinates of point B are coordinates of the Transitional link.
   •     The set of allowable coordinate points of the Transitional link is called a workspace of the
   Transitional link. Obviously, in this case the workspace of the Transitional link is an arc of a
   circle with radius L1.
   •     A Target link – is a link those coordinates are associated with the coordinates of the end-
   effector.
   •     When controlling the motion of the robot, we will be based on the "exactly-the-same"
   principle. This principle implies that all intermediate links of the robot and the target link of the
   robot will repeat the necessary movements as accurately as possible, and not only the trajectory set
   for the end-effector.
   •     Thus, we implement the ESM method with with application to ANNs with different
   topologies and models, inputs and outputs, to obtain a single output. This makes it possible to train
   the robot to move by following the correct location of the target and intermediate links on the
   selected surface according to the "exactly-the-same" principle.
   The formulation of the problem is below:
    Given: The workspace of the robot is defined and the trajectory is given by a sequence of discrete
points along which the end-effector should move, with a given time step Δt=(t1-t0)/H -H number of
steps.
    It is required to set the angles of rotation on the actuators in real time, so that at the next moment
of time +Δt the working tool moves to a given point on the trajectory. Perform a calculation for a
given time interval, with regular step Δt, such that the robot follows the given trajectory from the
initial to the final position.
    The restrictions on the workspace and the technical limitations on the torques on the actuators
must be satisfied.

4. Concept of the proposed method
   We propose the following method for solving IKT for a 2R multi-link robot:
   •     The IKTis solved using Artificial Neural Networks (ANN). The trajectory, time step of links
   rotations is given.
   •     At the input of the ANN is the coordinates of the intermediate link and the coordinates of the
   end-effector.
   •     The proposed ANN model gives a single solution on output.
   Thus, ANN gives a single and unambiguous output result. The input data, which contain the
coordinates of the intermediate link, gives opportunity to avoid the ambiguity of the solution. The
specific feature of the proposed solution is that the input of the ANN is consist of, in addition to the
coordinates of the end-effector, also the coordinates of the intermediate link (point B).
   When data are sequentially sent to the input of the ANN, it should be noted next statements:
   •     taking into account that each subsequent input vector is the coordinates of points of an
   arbitrary trajectory, when moving with a step Δt;
   •     taking into account that the coordinates of points are taken with a fixed time step, by the
   results of the output vector it is possible to reproduce the laws of change of linear speeds, linear
   and angular accelerations on the route, if necessary.

5. ANN Model
    The advantage of the proposed ANN topology, that implements the ESM method, is that, with
taking into account of the intermediate link position, the output is a single solution of the IKT for 2R
planar robot-arm. This allows the trained robot not just to repeat the required trajectory by the end-
effector, but also to repeat completely the movements of all intermediate links.
    So, using these solutions, it is possible to set the trajectory and positions of its intermediate links to
the robot and teach it to repeat exactly all movements according to the "exactly the same" principle.
The total time, the resulting law of velocity change, the energy expended on the motion, and other
dynamic indicators are not optimal. These indicators are called intuitive outputs based on the results
of the conversion of the ANN output data.
    The modules developed to implement the goal of the research were written in Python. Different
models of a fully coupled ANN with different topologies were implemented using the frameworks
Tensor Flow and Keras. The graphs were constructed with the help of ТensorBoard, Matplotib, and
Graphviz libraries.
    Implemented research steps to make work on the simulator and the robot model prototype and to
find a suitable ANN topology are below:
    1. Designing the circuit of the future robot prototype, description of the robot kinematics, model
    implementation in CoppeliaSimEDU environment.
    2. Developing of a module to build the robot's workspace and its boundaries.
    3. Developing of a module for generating a pseudo-random trajectory within the workspace.
    4. Assembling the construction of the robot prototype on the ArduinoUno board using
    Atmega328 microcontroller.
   5. Developing of a module for generating training and test samples based on the movements of
   the robot model in the CoppeliaSim environment.
   6. Designing the ANN topologies, verification, training, testing.
   7. Visualization of results, evaluation of ANN performance, and selection of the best models.
   8. Developing of module for testing, verification of training results and recreation of robot
   movements on robot model in CoppeliaSim environment.
   9. Testing of the model implemented on ArduinoUno board.
   The training samples was generated in 1-degree increments, because a larger increment had
insufficient effect on the learning process of the ANN, while a smaller increment did not produce
better learning results.
   Pre-testing of the training results was performed using the simulation on the robot model
implemented in the CoppeliaSim environment. Then, after passing the pre-test, the learning results
were tested physically on the prototype of the serial 2R Planar robot assembled on the ArduinoUno
board with the Atmega328 microcontroller. The computational load of working of the Neural
Network was performed on the PC, and training results was transferred to the microcontroller through
the interface Firmata.

5.1.1. The ANN model implements the "exactly the same" principle. Topology
description and training result
    Preparation of the training and test samples. The set of consecutively arranged trajectory points
from the working area, calculated in the range of the angular actuator [-90⁰, 90⁰] with step 1⁰ and the
corresponding set of intermediate points is a training sample for the ANN. The training sample with
this step is chosen due to the good result obtaining while working. A larger step did not give a better
result in the test. A smaller step did not give a better result. The size of the training sample is 32040.
Four parameters are input:
    •    rxa, rya – determine the coordinates of point A on the coordinate plane;
    •    rxb, ryb – determine the coordinates of point B on the coordinate plane.
    Calculated by the following formula (Formula 2):

                                        𝑟𝑥𝑏 = 𝐿1 ∗ cos(𝑄1 )
                                       {                     ⁡(2)
                                         𝑟𝑦𝑏 = 𝐿1 ∗ sin(𝑄1 )

   The injection of the coordinates of the Transitional link into the ANN allows us to avoid the
problem of choosing solution between many solutions of the IKT (in our case is two solutions). At the
output we have two parameters: Q1 and Q2-angles of rotation of the actuator that determine the
position of the links in the angular coordinate system.
   The ANN, which gave the best result in realization of "exactly the same" principle consists of an
input layer of dimension 4, hidden layers of dimension 9 and 12 neurons, an output layer of two
neurons (see Table2). Visual diagram (topology) of the full-connected ANN is shown in Figure 5.

Table2
Model: "sequential"
          Layer (type)                       Output Shape                          Param #
          Input Layer                             4                                   4
             Dense                                9                                  45
            Dense_1                              12                                  120
            Dense_2                               2                                  26
         Total params:                           195
       Trainableparams:                          195

   The following activation functions built into Keras are used for the layers:
   •    The activation function - hyperbolic tangent calculates according to the following formula (3)
   and gives the result at the neuron output in the range [-1,1].
                                                          2
                                  𝑓(𝑥) = tanh(𝑥) =                 − 1⁡⁡⁡⁡(3)
                                                       1 + 𝑒 −2𝑥
   •    The sigmoid activation function, gives a result on the neuron output in the range [0,1]
   (Formula 4):
                                                         1
                                            𝑓(𝑥) =             ⁡⁡⁡⁡(4)
                                                      1 + 𝑒 −𝑥

   These activation functions were used in the final ANN model because they gave the best learning
results and are suitable for solving similar problems, are the most commonly used and well-proven.
The custom activation functions were not necessary and their development was not the purpose of the
study.
   To measure the accuracy we used Accuracy metric, which is also an embedded metric. This metric
was chosen for the task due to its simplicity and clarity. The built-in losses was chosen as Loss
function MAPE (mean absolute percentage error) calculated using formula (5) below. The Inverse
Error Propagation Algorithm was used for training. The Adamax function was used as an optimizer
and the learning rate parameter for the ANN was equal to 0.01. More details on metrics, loss
functions, and optimizers can be found in the Keras documentation.
                                          𝑛
                               100%    (y_true⁡ − ⁡y_pred)
                        𝑀𝐴𝑃𝐸 =      ∑|                    | ⁡⁡,          (5)
                                 𝑛           y_true
                                         𝑡=1
   Where 𝑦𝑡𝑟𝑢𝑒 is the actual value and 𝑦𝑝𝑟𝑒𝑑 is the forecast value.




Figure 5: Neural network graph indicating the activation function on the layer

6. Results and Discussion
    The results of training and testing of the ANN are given in this section. The evaluation of the
trained ANN during testing with test samples (model.predict()) was performed with the standard
function model.evaluate().
6.1.    Model Training and Testing Results
    The designed ANN model was trained with a final Accuracy equals 98.84% (see Figure 6a). A
total of 500 epochs were allocated for training to achieve the specified Accuracy. The final value of
the loss function was 5.16% (see Figure 6b). Optimizer Adamax was used with a learning rate equal
to 0.01.




Figure 6: a) Accuracy                                     b) Loss

   Next, the Random Trajectory Generation module generated a test sample with a step Δt=10 ms and
an angle of no more than 50 degrees, taking into account the maximum speed (Figure 7). It represents
the points of the trajectory that the robot prototype should repeat.




Figure 7: Random generated trajectory

    The ANN performed well in testing and showed Accuracy equals 95%. The graphical result of the
output parameters Q1 and Q2 is shown in Figure 8. The blue line indicates the test data, the orange line
is the result of the ANN operation. As shown in the graphs, the lines are almost repeats each other.
Figure 8: a) Q2 is Theta2 angle b) Q1 is Theta1 angle

   Another property of the proposed ANN is that it always produces a result that is within the
workspace of the robot even when input data has values outside of the workspace. This allows to save
the mechanisms of the robot. And it allows to put the constraints associated with the robot design into
the process of the ANN learning and training.

7. Conclusion
   The main result of the study is the proposed model of the ANN for solving the IKT, which
implements the proposed ESM method. The ANN model solves the problem of finding angles Q1 and
Q2, having information about the coordinates of the target link and the coordinates of the transitional
link, it implements the "exactly the same" principle. The accuracy of the proposed final ANN was
98% in training and not lower than 95% in test samples. The proposed ANN model is called
ESMNeuralNetwork 1.0v.
   The results of this study can be applied to robots with a similar configuration, if:
   •      It is important to obtain a single solution of IKT;
   •      The working area of an end-effector and transitional links is known.
   •      There is a need to specify or calculate the total time taken to move along a trajectory.
   •      There is a need to obtain the law of angular velocity change on a trajectory and other
   characteristics of movement.
   •      The coordinates of target trajectory coordinates and transitional links coordinates.
   The results of the work can be adapted for flat artist robots, flexor-extensor muscle trainer robots,
and others with a similar configurations and problem formulation.
   Results of work can be developed for other robot models, as well as to improve the mechanical
characteristics of motion, continue research in the direction of calculating the optimal trajectory, the
laws of change of the control moments on the actuators, improve the comfort of movement and
minimize energy costs.

8. Conflicts of Interest

   The authors declare that there are no conflicts of interest regarding the publication of this paper.

9. References
[1] J. Holland, L. Kingston, C. McCarthy, E. Armstrong, P. O’Dwyer, F. Merz, and M. McConnell,
     Service      Robots     in   the     Healthcare     Sector,  Robotics    10.1    (2021)    47.
     doi:10.3390/robotics10010047.
[2] A. Palleschi, R. Mengacci, F. Angelini, D. Caporale, L. Pallottino, A. De Luca, M. Garabini,
     Manolo, Time-Optimal Trajectory Planning for Flexible Joint Robots, IEEE Robotics and
     Automation Letters (2020) 1–1. doi:10.1109/LRA.2020.2965861.
[3] E. Ferrentino, A. Della Cioppa, A. Marcelli, P. Chiacchio, An Evolutionary Approach to Time-
     Optimal Control of Robotic Manipulators, Journal of Intelligent & Robotic Systems (2019).
     doi:10.1007/s10846-019-01116-9
[4] K. Khalid, A. A. Zaidi and Y. Ayaz, Optimal Placement and Kinematic Design of 2-DoF Robotic
     Arm, in: Proceedings of the 2021 International Bhurban Conference on Applied Sciences and
     Technologies, IBCAST, 2021, pp. 552-559, doi: 10.1109/IBCAST51254.2021.9393255.
[5] S. Ondočko, J. Svetlík, M. Šašala, Z. Bobovský, T. Stejskal, J. Dobránsky, L. Hrivniak, Inverse
     Kinematics Data Adaptation to Non-Standard Modular Robotic Arm Consisting of Unique
     Rotational Modules, Applied Sciences 11.3 (2021) 1203. doi:10.3390/app11031203.
[6] B. Mukanova, Control of Actuators Torques for Optimal Movement along a Given Trajectory for
     the DexTAR Robot, Journal of Applied and Computational Mechanics 7.1 (2021) 165-176. doi:
     10.22055/JACM.2020.34650.2449.
[7] W. H. Zayer, Z. A. Maeedi, and A. J. F. Ali, Solving forward and inverse kinematics problem for
     a robot arm (2DOF) using Fuzzy Neural Petri Net (FNPN), Journal of Physics: Conference
     Series 1773 (2021) 012009. doi:10.1088/1742-6596/1773/1/012009.
[8] L. Aggarwal, K. Aggarwal, R. J. Urbanic, Use of Artificial Neural Networks for the
     Development of an Inverse Kinematic Solution and Visual Identification of Singularity Zone(s),
     Procedia CIRP 17 (2014) 812–817. doi:10.1016/j.procir.2014.01.107.
[9] L. Alzubaidi, J. Zhang, A. J. Humaidi, A. Al-Dujaili, Y. Duan, O. Al-Shamma, L. Farhan,
     Review of deep learning: concepts, CNN architectures, challenges, applications, future
     directions, Journal of Big Data 8.1 (2021). doi:10.1186/s40537-021-00444-8.
[10] M. Praveen Kumar, S. D. Ashok, Artificial neural network based geometric error correction
     model for enhancing positioning accuracy of a robotic sewing manipulator, Procedia Computer
     Science 133 (2018) 1048–1055. doi:10.1016/j.procs.2018.07.069.
[11] A. Dzedzickis, J. Subačiūtė-žemaitienė, E. Šutinys, U. Samukaitė-Bubnienė, and V. Bučinskas,
     Advanced applications of industrial robotics: New trends and possibilities, Applied Sciences
     (Switzerland) 12.1 (2022). doi:10.3390/app12010135.
[12] J. A. Gonzalez-Aguirre, R. Osorio-Oliveros, K. L. Rodríguez-Hernández, J. Lizárraga-Iturralde,
     R. Morales Menendez, R. A. Ramírez-Mendoza, M. A. Ramírez-Moreno, J. D. J. Lozoya-Santos,
     Service Robots: Trends and Technology, Appl. Sci. 11 (2021) 10702. URL:
     https://doi.org/10.3390/app112210702.