Next Article in Journal
Bounded Adaptive Function Activated Recurrent Neural Network for Solving the Dynamic QR Factorization
Next Article in Special Issue
On Solving Stochastic Optimization Problems
Previous Article in Journal
Novel Graph Neighborhoods Emerging from Ideals
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

The Importance of Embedding a General forward Kinematic Model for Industrial Robots with Serial Architecture in Order to Compensate for Positioning Errors

Faculty of Industrial Engineering and Robotics, University Politehnica of Bucharest, Splaiul Independentei No. 313, 060042 Bucharest, Romania
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(10), 2306; https://doi.org/10.3390/math11102306
Submission received: 31 March 2023 / Revised: 8 May 2023 / Accepted: 10 May 2023 / Published: 15 May 2023

Abstract

:
This paper proposes a methodology for creating simplified structural schemes and forward geometric models for industrial robots with serial architecture, with the goal of reducing thermal deformation errors that negatively impact positioning accuracy during operation. Unlike classical approaches, the proposed methodology introduces modifications to the order of matrix multiplication and incorporates new parameters to create a forward geometric model that better corresponds to the deformation characteristics of these robots. Details are presented on how to build and employ this extended model and integrate it into a thermal error compensation algorithm. The implementation of the algorithm in a software application is presented along with experimental results that demonstrate its effectiveness. This work addresses a real phenomenon that occurs in industrial robot operation and has implications for improving the performance of robots in manufacturing applications.

1. Introduction

Industrial robots are widely used in various applications, such as material handling, machining, welding, and assembly, due to their high flexibility, precision, and efficiency. However, during operation, these robots suffer from thermal deformations that negatively impact their positioning accuracy. This paper addresses the problem of reducing thermal deformation errors by proposing a methodology for creating a simplified geometric model for industrial robots with serial architecture, which considers the way in which these robots deform during operation. The control and programming of industrial robots relies on a geometric description of the robot in a digital environment, which typically includes the dimensions of the robot’s segments, the locations of the joints or links between the elements, and the angles of inclination or rotation of the segments. This simplified schematic representation is very efficient in terms of the mathematical description of some robot models and facilitates the calculation of their position, but unfortunately this is not enough. In actual operation, the robot may be affected by positioning errors. Positioning deviations of industrial robots can arise from various factors, such as assembly errors, geometric deviations of the components, elastic deformations, or thermal expansion [1]. Overlooking these errors may cause defects in the manipulated parts or in high-precision processes such as assembly, machining, or laser cutting. To address this issue, this paper proposes a novel algorithm for creating a geometric model of industrial robots with serial architecture. Using this procedure, deformations of the robot structure are included into the model, thus improving the accuracy of the calculations and, in the end, the positioning accuracy of the robot. The paper is structured as follows. The next section encompasses a critical review of the state of the art. Section 3 describes how an extended geometric model can be constructed and how error parameters are included. Section 4 presents the place occupied by the extended geometric model in a whole suite of procedures that together compose a thermal error compensation solution. In Section 5, the advantages of using the extended forward geometric model and the benefits brought by the integration of such a model into a thermal error compensation procedure for industrial robots are emphasized.

2. State of the Art

In software control algorithms, the calculations regarding the position of robots are performed based on matrices in which the dimensions of the robot and the angles of the joints are included as arguments. To make it easier to track and assign in the corresponding matrices, the dimensions of the robot and the angles of the joints are first centralized in a tabular form that is usually called a table of parameters of the robot. Since the robot models can be different, some standardization of the geometrical description of the robot elements and the table of parameters is necessary. A general form was first used in 1955 by Jacques Denavit and Richard S. Hartenberg [2]. This Denavit–Hartenberg (DH) convention has remained unchanged and is still employed today to create forward geometric models. The DH convention uses four parameters, namely the link length, the link twist, the link offset, and the joint angle. They describe the transformation between two adjacent links in a robotic arm. This convention provides a systematic approach for modeling the kinematics of a robot and simplifies the process of developing control algorithms for the robot. Since its introduction, numerous researchers have worked on improving the DH convention and developing more accurate and efficient forward kinematic models for industrial robots. One recent example is the work of Cerrillo, D. et al. [3], who proposed a modified DH convention that incorporates additional parameters to account for joint misalignments and other imperfections in robot design. Their model demonstrated improved accuracy over traditional DH models [3]. Another recent study by Maaroof et al. [4] presented an optimization-based approach for determining the optimal DH parameters for a given robot configuration. The authors demonstrated that their approach resulted in more accurate forward kinematic models than traditional methods [4]. Several other researchers have also proposed modifications and extensions to the DH convention. For example, Zuha et al. [5] presented a modified DH convention to be used in modeling the kinematics of robots with redundant degrees of freedom. Their approach extends the DH convention by incorporating additional parameters to account for the redundant joints [5]. Similarly, Huczala et al. [6] proposed an improved DH convention that incorporates the concept of screw theory. Their model uses the screw parameters to describe the transformation between two adjacent links in a robot arm, providing a more efficient and accurate representation than traditional DH models [6]. Overall, the use of the DH convention for modeling the kinematics of industrial robots remains an actual and effective approach. However, ongoing research is expected to redefine and improve the convention to enhance the accuracy and efficiency of forward kinematic modeling. One area of current research is the development of more accurate models for non-standard robot geometries, such as those with flexible links or complex joint structures. The present paper covers a literature gap focusing on the concept that the robot’s elements are deformable, as in real applications. To understand how to consider these deformations, first of all, the general method of calculating the relative position between two segments of a robot with serial architecture is presented, and then the DH method is presented in detail with all the advantages, drawbacks, and shortcomings.

2.1. General Method

To utilize robots in tasks such as part handling, machining applications, or precision assembly, it is imperative to determine the position of the mechanical hand and the tool that the robot will employ. This position is identified as the characteristic point of the robot, and its location is calculated through a mathematical computation based on two sets of information—the segment length of the robot and the position of its joints, including the angles of inclination or rotation. Thus, from a mathematical point of view, any other aspects related to the final form of the elements may be omitted. In this way, some aspects are reduced to a minimum, and a simplified geometric representation is defined, which is called the structural scheme. Figure 1a,b depicts the real and structural representations of a robot [7], with the latter approximating the robot’s segments as line segments of equivalent length (Figure 1a). The joint positions and rotation angles are indicated by placing Cartesian coordinate systems at those points, and the robot’s characteristic point is located at the end of its final segment.
To calculate the position of the characteristic point, from a mathematical point of view, other information about the structure of the robot is not relevant. The mathematical method to determine the position involves the description of each element in the kinematic chain, starting from the base (from the global coordinate system), and then, row by row, the position and orientation of each joint and each individual element is determined until the “top” of the robot is reached. The mathematical description of the locations of the robot’s joints is achieved by employing homogeneous coordinate transformations and involves the use of matrices that have two main roles: to describe the translations and to describe the rotations. The matrices that define the translations along the X, Y, and Z axes have the form:
1 0 0 t x 0 1 0 0 0 0 1 0 0 0 0 1
1 0 0 0 0 1 0 t y 0 0 1 0 0 0 0 1
1 0 0 0 0 1 0 0 0 0 1 t z 0 0 0 1
where tx, ty, and tz represent the distances between the joints of two successive segments. The matrices that describe the rotations around the X, Y, and Z axes have the form:
1 0 0 0 0 c o s θ s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1
c o s θ 0 s i n θ 0 0 1 0 0 s i n θ 0 c o s θ 0 0 0 0 1
c o s θ s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1 0 0 0 0 1
The segments of the robot can be moved relative to each other, but also rotated around the joint that connects them. From a mathematical point of view, the geometric description of the position is obtained by composing (multiplying) the matrices of both translation and rotation, obtaining a transformation matrix (usually denoted by T) of the form:
T = R p η T σ  
This transformation matrix is composed of four sub-matrices as follows: R = fundamental rotational matrix (3 × 3); p = translation vector (3 × 1); η = perspective vector (1 × 3) (in kinematics it is the null vector); σ = scale factor (usually = 1). Starting from the base, row by row, for the position of each joint/segment, these transformation matrices are successively multiplied until the final position of the characteristic point is obtained as follows:
T base - end   = T 01   ×   T   12   ×   T 23   ×   T ×   T   = R 11 R 12 R 13 P x R 21 R 22 R 23 P y R 31 R 32 R 33 P z 0 0 0 1

2.2. Denavit–Hartenberg Convention

For the kinematic analysis (forward model) of robot mechanisms, the compound homogeneous operators obtained from the product of simple homogeneous operators are important: translation × rotation, rotation × translation, and rotation × rotation. The order in which the operators are applied is essential because their product is not commutative. It should be noted that in a compound operator resulting from the product of several simple ones, each operator acts on the coordinate system obtained after applying the previous operator. A variant (and the most common) of using block matrices is the one that uses the Denavit–Hartenberg notation, which is described in detail in [8]. In brief, the DH and DHM (Denavit–Hartenberg modified) conventions presuppose compliance with the following methodologies.

2.2.1. Classic DH

The notation of parameters and placement of axis systems in order to geometrically describe the position of two successive elements in concordance with DH convention [3] of a robot is described in Figure 2.
The procedure following the DH convention is described by the following steps:
  • draw the axes of the joints;
  • draw the common perpendiculars between the neighboring axes and their points of intersection with the axes of the respective joints;
  • for system {i}, the origin of the system is at the point where the common perpendicular to the axes of the “i” and “i + 1” joints intersects the axis of the “i” joint;
  • the axis Zi is oriented along the axis of the joint “i”;
  • the Xi axis is oriented along the common normal to the axes of the “i” and “i + 1” joints, or if the axes intersect, the Xi axis is normal to the plane of the Zi and Zi+1 axes;
  • the Yi axis completes the reference system according to the right hand rule;
  • the reference system of the fixed element is denoted by {0}; this system coincides with system {1} when the variable of the first joint is zero;
  • for the {n} system, the location of the origin On and the direction of the Xn axis are free, their choice being made so that several parameters of the element are null;
  • a table containing the parameters of the elements is created (Table 1).
If a joint is both translated and rotated compared to the previous one (so there is a screw displacement), it is common to separate translation and rotation as follows [9]:
Z i = T r a n s Z i   d i · R o t Z i θ i  
X i = T r a n s X i   a i , i + 1 · R o t X i a i , i + 1
Using these two notations, each link is described according to DH by a coordinate transformation from the concurrent coordinate to the previous coordinate:
T i 1 i = Z i 1 ·   X i
resulting in:
T i 1 i = c o s θ i s i n θ i c o s α i s i n θ i s i n α i a i c o s θ i s i n θ i c o s θ i c o s α i c o s θ i s i n α i a i s i n θ i 0 s i n α i c o s θ i d i 0 0 0 1

2.2.2. Modified DH (DHM)

The notation of parameters and placement of axis systems in order to geometrically describe the position of two successive elements in concordance with the modified DH convention [10] of the robot is described in Figure 3:
Unlike the standard method, this time, the Oi−1 coordinate system is attached to the i − 1 axis and Oi is attached to the i axis. The order of applying the operations is as follows:
  • a rotation around the Zi−1 axis of angle θi;
  • a translation along the Zi−1 axis with the distance di;
  • a translation along the axis Xi−1 rotated and becoming Xi with distance ai;
  • a rotation around the axis Xi with the angle αi.
Each transformation is represented by a matrix:
  T i 1 i = R o t X i 1   α i 1 × T r a n s X i 1 a i × R o t Z i   θ i × T r a n s Z i d i
resulting in:
  T i 1 i = c o s θ i s i n θ i c o s α i s i n θ i s i n α i a i c o s θ i s i n θ i c o s θ i c o s α i c o s θ i s i n α i a i s i n θ i 0 s i n α i c o s θ i d i 0 0 0 1

2.3. Advantages, Disadvantages, and Shortcomings of Using the DH Solutions

The ambiguities involved in the application of the DH solution and the advantages of the application of the new approach have been discussed in previous papers [11,12,13] in which the methodology for developing simpler geometric models was also presented in order to verify the compatibility of DH together with model validation for several robot models with the help of CAD (CATIA) and specific offline programming and simulation software applications (ABB Robot Studio). For example, the DH convention may lead to the realization of different geometric models for the same robot that are still equivalent to a certain extent, but that do not exactly correspond to the real geometric parameters of the robot. One of the most visible aspects is presented in Figure 4 (Table 2), dimensions in mm, and also in Figure 5 and Figure 6 (Table 3 and Table 4), where, for the same type of robot (model IRB 140), different parametrizations are observed in different papers [14,15,16].
As can be observed, in practice, when it comes to the geometric and kinematic modeling of robots, simplifications of the theoretical model (of the calculation scheme) are very often used. These simplifications can be successfully represented as theoretical models only if the robot is removed from the context of its real daily life operation cycle. Some of the simplifications that are applied in geometric modeling are creating the structural diagrams as if all the robot’s joints are coplanar in a vertical plane, the dimensions of the joints are ignored, the robot’s elements are considered to be rigid, and in the particular case of robots with closed kinematic chain architecture, passive joints and mechanical synchronization elements are omitted from the geometric model and are usually treated as mechanisms with only four degrees of freedom. Most of them (such as robots used in palletizing applications) have five degrees of freedom although they actually have only four numerically controlled (motorized) axes. These simplifications lead to aspects that, from a strictly geometric and kinematic point of view (only theoretically), have no influence. On the other hand, if it is desired that the geometric should include additional error parameters and for certain error compensation (such as the errors due to the thermal influence on the robot), then a simplified model no longer corresponds to reality and is no longer sufficient. As a result of the research carried out in [17], it was shown that adding error parameters to the kinematic model leads to a mathematical model that fits the robot better than the nominal kinematic model. In the research carried out on structural and functional optimization in order to increase the performance of an industrial robot (IR), two cases were considered for the development of the analytical calculation model:
  • model of the robot unaffected by errors but including real constructive and functional parameters, in addition to the conventional DH parameters;
  • model of the robot affected by errors, which includes the modeling of the constructive and functional parameters, the DH parameters, and some error categories that are considered while evaluationg the volumetric error.
Such an extended model was also studied in [18], where, based on DH modeling, a 29-parameter model was used to calibrate a robot (ABB IRB140) to improve the positioning accuracy by approximately three times. In this context, the purpose of this paper is to present the new modeling approach through which a forward geometric model must be developed following only two simple rules and eliminating most of the ambiguities related to the use of DH. This method may be applied to create forward geometric models for any robot type with serial architecture. Moreover, it is a model whose parameterization facilitates the extension of the direct geometric model (by simply adding some translation or rotation parameters to those of the nominal model) in order to include the entire set of constructive and functional parameters of the real robot and also include parameters used later to compensate for certain errors (such as thermal errors). For example, such a model, which is not complete but takes into account as many real constructive parameters as possible (the real position of the active joints including the real offsets, the position of the passive joints, and the real dimensions of the structural elements of the robot), for an articulated arm-type robot with a closed kinematic chain was presented in [19], with the scheme according to Figure 7.
To obtain the geometric model, the only two rules to be followed are those presented in papers [11,12]:
  • first, apply the translation matrices from the “i” coordinate system to the “i + 1” system without changing the orientation of the initial coordinate system;
  • the rotation matrix is applied for the “i + 1” system, which will rotate around one of its own axes (this depends on the rotation axis of that joint).
The use of this method is more efficient to create a forward extended geometric model because, compared to DH, it leads to a more intuitive structural diagram by maintaining the same orientation of the coordinate systems attached to the joints on the entire structure of the robot and a simpler form of the table of parameters (one rotation parameter and three translation parameters for each joint). Next, if deformations of the robot or positioning errors are measured, these can be quantified as displacements along and around the X, Y, and Z axes. Thus, maintaining the same orientation of the axis systems, parameters for measured errors can be easily integrated into the forward model. Measuring instruments include laser interferometers, which are able to perform measurements referencing a global coordinate system. The next section depicts how error compensation parameters could be added to the geometric model.

3. Forward Geometric Model Including Supplementary Parameters

In recent years, the use of industrial robots has increased dramatically in various applications such as assembly, machining, and laser cutting. New trends in advanced applications of industrial robots have been reviewed by Andrius D. et al. in [20]. However, these applications require high precision, and any positioning deviation of the robot can lead to defects in the manipulated parts or the processes into which the robot is integrated. Therefore, it is crucial to improve the positioning accuracy of industrial robots. One common method is to calibrate robots. Despite the benefits of industrial robot calibration, there are also some limitations and downsides to consider [21]. One major limitation is that calibration is a time-consuming and complex process that requires specialized knowledge and equipment (and is usually very expensive too). Additionally, the calibrated parameters may change over time due to wear and tear, which means that periodic recalibration may be necessary. Finally, calibration only addresses geometric errors and does not account for other sources of error, such as thermally induced errors. The solution for this problem is a compensation method, implying a new modeling approach. The purpose of this section is to present this approach, which involves developing a forward geometric model following two simple rules that can be applied to any robot type with serial architecture. This new model allows for easy extension to include all real constructive and functional parameters of a robot, including parameters used to compensate for errors such as thermal errors. The next section will describe how error compensation parameters can be added to the geometric model. However, first, the reason why such a model is necessary must be understood, and for this, the following case study is exemplified.
This case study is a common example in which the position of several successive joints from a simple robot structure must be geometrically described. Figure 8a,b describes the application of transformation matrices from an axis system attached to a base to two successive joints.
The matrix associated with the coordinate system attached to the base is T0:
T 0 = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
The transformation from the coordinate system attached to the base to the coordinate system of the first rotational joint around the Z axis is T01, which is equal to T0 × translation along Z axis × rotation around Z axis.
T 01 = T 0   × 1 0 0 0 0 1 0 0 0 0 1 p z   01 0 0 0 1 × c o s θ s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1 0 0 0 0 1 = c o s θ s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1 p z   01 0 0 0 1
The transformation from the first joint to the second joint (with rotation around X axis) is presented in Figure 9.
The associated matrix T12 is now equal to T1 × translation along X and Z× rotation around X.
T 12 = T 01   ×   1 0 0   p x 12 0 1 0 0 0 0 1 p z 12   0 0 0 1 × 1 0 0 0 0 c o s θ s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1   = 1 0 0 p x 12   0 c o s θ s i n θ 0 0 s i n θ c o s θ p z 12 0   0 0 1
In this case, the position and orientation of the last axis system (characteristic point of the robot at the end flange) is calculated by successively multiplying the transformation matrices: Tend = T01 × T12 × … × Tn−1n. Thus, Table 5 contains the parameters.
Generally, for a system with a higher number of joints, a row corresponding to each new joint has to be added to this table. The procedure is simple to understand and follow, and the resulting table with parameters is clear and easy to fill out. The development of an extended geometric model that is useful for compensating certain errors, the consistency of the models obtained, and the clear form of the table with parameters facilitate the possibility of quickly incorporating external factors/parameters in order to apply the corrections. For example, after completing a study to determine the elastic behavior of the structural elements and the identification of the quantitative yield values, the values could be easily integrated into the geometric model by adding additional terms in the table such as ΔX, ΔY, ΔZ, and Δθ1, Δθ2, etc. The values of these terms are influenced by several factors such as the loading of the robot, accelerations, inertial loads, etc. In the case of thermal displacements, these terms must be correlated with the effective temperature of the robot (considering the values of the thermal expansions and torsions of the elements being proportional and directly influenced by the temperature) or the operating time if the heating curves and thermal stabilization periods are known for a specific robot and working conditions. If necessary, it is possible for a more complex model to be developed in which multiple error factors (from different sources) can be considered simultaneously. The key point is that after the development of the geometric model, the identification of some error parameters and their quantification according to the sources that generate them must be carried out. This can be achieved in multiple ways—from direct measurements and the identification of some functions and corresponding mathematical relations to numerical methods and finite element analysis.
Taking all these into account, it can be considered that the previous theoretical model is deformable as the real robot is during operation, due to the heating of its components, joints, motors, fluids, electrical circuits, etc. The representation of the structural kinematic scheme in a single plane is no longer sufficient. In Figure 10a,b, such a model is presented in a simplified manner (initial, at start-up) and deformed (later, after suffering some deformations due to heating during operation).
Even the real deformations are not of the same order of magnitude as the required positioning accuracy; due to the serial structure of the robot, even small elongations or torsions of the elements will cause significant deviations of the characteristic point because errors chain and accumulate. For this reason, for each of the changes in the position or orientation of the structural elements, the robot operator must include additional parameters in the geometric model. Considering that the deformations can twist a structure in 3D, each joint position local coordinate system must be characterized by three additional matrices of shifting the orientation that may appear (additional rotation around the X, Y, and Z axes) but also by three additional matrices of deviation from the initial position (three additional translations along the X, Y, and Z axes). Table 6 presents the parameters encompassing these additional factors.
Returning to the matrix multiplication rule, and each time before moving to the next joint, the robot operator must first update the current position to take into account the error caused by the deformation. This assumes that first, the matrix describing the initial position must be multiplied in a row by the three translation matrices that represent the displacement of the joint from the initial position, followed by multiplication by the three additional rotation matrices that represent the angular deviation. The obtained result has to be multiplied by the translation matrix (which represents the length of the segment that is connected to the next joint) in the direction of the axis corrected in the previous step. In a mathematical form, this is described as follows:
(1)
Correction of linear displacements (lc = linear correction)
T 01 c = T 0   ×   1 0 0   X 0 0 1 0 0 0 0 1 0 0 0 0 1 × 1 0 0 0 0 1 0   Y 0 0 0 1 0 0 0 0 1 × 1 0 0 0 0 1 0 0 0 0 1   Z 0 0 0 0 1   = 1 0 0   X 0 0 1 0   Y 0 0 0 1   Z 0 0 0 0 1
(2)
Correction of angular deviations (ac = angular correction)
T 0 ac   = T 01 c   ×   1 0 0 0 0 c o s θ 0 x   s i n θ 0 x   0 0 s i n θ 0 x   c o s θ 0 x   0 0 0 0 1 × c o s θ 0 y 0 s i n θ 0 y 0 0 1 0 0 s i n θ 0 y 0 c o s θ 0 y 0 0 0 0 1 × c o s θ 0 z s i n θ 0 z 0 0 s i n θ 0 z c o s θ 0 z 0 0 0 0 1 0 0 0 0 1
(3)
Transformation of the segment length from the base to first joint (M = modified, with all corrections included)
T 01 M = T 0 ac   ×   1 0 0 0 0 1 0 0 0 0 1 p z   01 0 0 0 1
To go from the first joint to the second joint, the previous algorithm must be repeated, first applying the linear corrections for the location of joint 1, then applying the angular corrections and multiplying in the last phase with the transformation matrices related to the lengths of the segments connecting joint 1 to joint 2. The previous example represents a model with bilateral symmetry, that is, in which the structural scheme is located right in the vertical plane of symmetry. In reality, even robots that look symmetrical from the outside have inside components that are different on one side compared to the other, and this different disposition of the components influences the way in which heat is transmitted and in which the structure is distorted. All the geometrical parameters that describe a robot model are three linear dimensions that describe the position of a joint compared to the previous one and the angle at which the respective joint is rotated. If we consider that the structure is also deformable, then three additional parameters are added that represent the additional linear displacements caused by the deformations, along with three more angular parameters that represent the orientation deviations (not only around the joint axis but in relation to all axes because the distortions could occur in 3D). Therefore, knowing all the parameters, a general table of parameters can be created that is suitable for calculating the transformations from one joint to another for any type of robot with serial architecture. The universal form of the parameters table is presented in Table 7.
Now, applying the same rules as those presented previously and using Formulas (18) and (19), we obtain a universal form of the correction matrix. To simplify the matrix writing, we will first note the following terms:
A = cosDθxi; B = sinDθxi; C = cosDθyi; D = sinDθyi; E = cosDθzi; F = sinDθzi
The correction matrix (TC) becomes:
E C C F D C F py + E C px + D pz + X A F + E B D E A B D F B C px A F + E B D + py E A B D F B C pz + Y B F E A D A D F + E B A C px B F E A D + py A D F + E B + A C pz + Z 0 0 0 1
The process of passing from one joint to another to obtain the final position of the deformed robot now becomes:
Tend = (TC0 × R0) × (TC1 × R1) × … (TCn × Rn)
where we recall that R represents the rotation matrices around the axis of the respective joint (Formulas (4)–(6) presented in Section 2.1). Considering the additional parameters and writing the mathematical model in this way is more difficult than creating a classic DH model, but this must be carried out only once, at the implementation into the software algorithm. These additional steps seem difficult to achieve, but in the actual applications in which industrial robots are increasingly involved (such as machining, welding, or precision assembly) reducing errors as much as possible is extremely important. By comparison, the transformation matrices within a geometric conventional DH model contain four parameters for each joint, three of which are constant and one variable (only the angle of the joint is variable). The general model proposed in this paper involves 10 parameters, of which only 3 are constant and 7 are variable. A comparison of computing efficiency between the classical DH model and the proposed model has not been performed for two reasons: the software limitation of a robot controller does not allow the implementation of such an extended model, and different machines will provide different and irrelevant results in computing time caused by hardware capabilities. Even in CoppeliaSIM, there is no classic DH model implemented. Instead, each joint of serial structures is, by default, characterized by seven parameters. Six of these parameters are constants (joint position and orientation) and one is variable (joint rotation angle). A comparison was made regarding the simulation time using the default model from CoppeliaSIM and the model in which the deformations are applied continuously. In both cases, a robot operation program of 200 min was simulated, in which the robot moved continuously, reaching a total of 10,050 target points. The complete program ended after 3 min and 40 s for the unreformable robot case and only 2 s more in the case of the deformable robot whose deformation variables were constantly updated. At this point, it is desired that the software compensation solution be an offline one. From this point of view, the time of simulation and obtaining the results is not relevant. Moreover, in this phase, the initial program of the robot must be manually updated with the new angles on the corrected joints. Aspects to be improved will be discussed in more detail in the conclusions section. To emphasize the importance and usefulness of the new modified forward model, the exemplification of the use of such an extended model is presented in the next section.

4. Case Study

The elements presented in the previous sections, related to the development of a directly extended geometric model for robots with serial architecture, are part of a series of research/papers aiming to obtain a thermal error compensation solution for an industrial robot that suffers deformations during operation due to its heating. This extended model fits the following procedure:
  • experimental evaluation of the thermal behavior of a robot during operation;
  • experimental determination of induced thermal deformations and positioning errors;
  • creating an extended geometric model that includes the necessary parameters that also characterize the previously measured errors;
  • implementation of the geometric defect model from point 3 in a software algorithm for inverse kinematics computation based on this deformed geometric model;
  • using the results calculated through inverse kinematics based on the deformed model to apply angle corrections in the robot’s program so that, even when deformed, it will reach the programmed points with the highest possible accuracy.
The usefulness is proven by the connection with the previous research for a real case of an industrial robot of the articulated arm type, and the results must be presented as a whole methodology, which is reached by applying the entire procedure with the previously listed steps. Through thermal recording techniques using an infrared camera and monitoring using sensors located on the robot’s structure, the thermal behavior of an industrial robot model IRB 140 (in a certain cycle and working environment) was determined in [22]. Based on these results, in [23], a corroboration between the results of a measurement procedure using a laser tracker and finite element analysis (FEA) was carried out in order to determine and locate the deformations and displacements of the robot elements on the whole structure. At this point, only static deformations were considered, but the model may be extended by determining the deformations using a transient FEA analysis [24]. Next, a forward geometric model (as presented in this paper) could be constructed, including parameters for identified errors. How these errors behave is strongly related to the warm-up of the robot, so in [25], a warm-up prediction analysis was conducted for the robot (using regression analysis). The measurements from [22] showed that the robot heats up continuously for a period of approximately 180 min until it reaches thermal stabilization. During the approximately 3 h of work, the heating curves of the segments are not exactly linear but follow a certain curve (not very steep). In [26], the coefficients of the heating curves were determined through regression analysis, and the most accurate results regarding the anticipation of heating curves were obtained through cubic regression. However, the linear regression was not very biased, the correlation coefficient being a high one (0.87). For this reason, in this paper, it was considered that the deformations occur linearly and proportionally to the working time. Therefore, the maximum deformations identified on each segment of the robot were applied increasing linearly in each minute of the work cycle. The final step of implementing the forward geometric model in a software algorithm for the computation of the inverse kinematics (based on the deformed model) in order to obtain corrected joint angle values to compensate for the thermal errors was presented in [27]. The structural diagram used for constructing the forward geometric model already included real constructive parameters (Figure 11 [19]).
Based on constructive parameters and error parameters experimentally determined, the following tables with parameters were conceived.
Based on the structural diagram and values from the tables of parameters (Table 8 and Table 9), transformation matrices were multiplied according to methodology presented in Section 2. Then, the virtual model (corresponding to the deformed robot) was constructed in CoppeliaSIM (computer-aided design and programming software application). CoppeliaSIM is a hybrid application with CAD capabilities and scripting programming in different languages. A deformed robot virtual model could also be constructed in any other CAD application (such as CATIA) and then controlled via API programming specific to the CAD application, as in [28]. By changing the position and orientation of the robot joints on the virtual model, the entire structure is distorted, as seen in Figure 12.
After building the deformed virtual model, the script for calculating the inverse kinematics was launched into execution. The main functions of the script are presented in Appendix A, which includes a link to the complete station (file) that can be downloaded and loaded in CoppeliaSIM. The software algorithm runs according to the diagram presented in Figure 13.
The robot’s targets must be extracted from a dedicated offline programming and simulation program (in this case, RoboDK) or they can be extracted from a CAD model (sketches, trajectories) according to the methodology presented in [26]. After completing the entire procedure, the main result obtained in the previous tests and published in [25] showed that the deformed model reaches the programmed targets with an improved accuracy ranging from 24% to 93% (depending on the simulation time and general state of the robot). In the case that the robot has reached thermal stabilization, the positioning accuracy is about 0.007 mm (by compensating thermally induced errors with a measured magnitude of 0.097 mm). The maximum angular deviation obtained after compensation was 0.02°. It was observed that the thermal behavior of industrial robots is particular to each individual robot and depends on many factors, such as load, working speed, working time, and conditions. For the robot in the laboratory, the entire thermal procedure based on the directly proposed geometric model led to the mentioned results for a particular case of working conditions. It should be mentioned that the determined displacements and the entire compensation procedure are based on experimental measurements and procedures presented in previous works that were carried out in relatively cold environmental conditions (ambient temperature of 5–7 degrees). Checking the state of the robot, calibrating it, and measuring the positioning accuracy using a laser tracker system was carried out and presented in [19]. The procedure for recording the heating behavior of the robot, using contact sensors placed on the robot as well as recordings with an infrared camera, was carried out in [22]. Based on the recordings made in [22], FEA simulations and analyses were performed to determine the deformations on the entire structure of the robot and are presented in [23]. In the work [24], studies were carried out to predict the temperatures of the robot during a known work cycle. Through linear regression, the coefficients of the approximation functions of the heating curves were determined. The first attempt to apply the deformations on the virtual model of the robot was presented in paper [25]. In this study, the geometric model was altered with very small values because the robot suffered small deformations due to the cold environment and working at a maximum speed of 60% of the robot’s working speed and without load (because the reflector necessary for laser tracking was mounted on the robot’s flange). Thus, the maximum temperature reached by the robot in certain areas was only 32 degrees Celsius. Moreover, in this study, only 45 positions were analyzed (without changing the configuration of the robot). The 45 target points were the pre-programmed equally spaced positions from the calibration procedure. Although the software algorithm worked, the results provided were not exactly relevant for two reasons:
  • There could be a chance that the few target points on which the test was carried out were particular positions that do not involve problems for determining the position of the robot.
  • The deformations applied were very small and for some elements, even zero. In this case, there is also the possibility of a particular case in which the deformations of some elements cancel others out or that the software algorithm works only for these particular values.
This paper aims to prove the usefulness of the implementation of the extended geometric model in a software compensation solution for thermal errors that has general applicability and does not work only in certain particular cases. For this reason, the following case study was analyzed, in which the robot suffers exaggerated deformations. Each joint of the robot is 1 mm off from its initial position along each axis direction and rotated by 1 degree around each axis from its initial orientation. Moreover, this time, the Cartesian coordinates of the target points were randomly generated. The parameters are presented in Table 10 and Table 11.
A robot program was created with 50 randomly generated targets placed in the front of the robot. Two working cases were then considered. In the first case, the displacements of the robot joints were statically applied. The script was then executed based on the already deformed virtual model. The programmed targets are presented in Table 12.
All the target points were programmed keeping the same orientation of the TCP to not only easily check if, following the execution of the script from CoppeliaSIM, the Cartesian coordinates are respected but also to check the orientation of the robot flange. After executing the script, solutions were determined for all 50 target points. The minimum and maximum values of the orientation deviation are presented in Table 13. The coordinates that the deformed robot reached are presented in Table 14.
The minimum and maximum values of the position deviation are presented in Table 15.
The joint angles necessary to reach the programmed points calculated with IK in CoppeliaSIM based on the deformed model (with values of the errors shown previously) are presented in Table 16.
Due to the large size of the results table, the calculated angle values are presented only for the first 25 target points. The complete results files are available for download from the GitHub repository, whose link is written at the end of Appendix A.
In the second case, the deformations were constantly applied during a 200 min operating cycle. The robot program was executed in a loop for this whole time. The forward geometric model was updated minute by minute, and at the same interval, the IK was recalculated for each point that had to be reached. In this interval, the robot traveled a total number of 10,050 target points. For the same reason of a very large table of results, in Table 17 and Table 18, only the maximum and minimum position and angular deviations recorded are presented.

Results Analysis and Synthesis

In the laboratory, measurements were performed simultaneously for recording the position of the robot using a laser tracking system and recording the thermal evolution during work using an infrared camera, as presented in Figure 14.
Due to the thermal deformations, for the IRB 140 industrial robot in the laboratory, the experimental measurements showed a deviation of the characteristic point of approximately 0.097 μm. By using the deformed virtual model, based on the extended geometric model with included error parameters and applying the entire error compensation procedure, the precision of reaching the pre-programmed points of the deformed robot (thus reaching thermal stabilization) was 0.07 mm. For the situation in which the robot was still in the warm-up status, the application of the presented compensation methods showed a possibility of improving the positioning precision by between 0.07 mm and 0.073 mm. There are still many aspects to be studied regarding the improvement of the accuracy and during the thermal transition period. At this stage, the Improvement of the positioning accuracy by up to 93% proves that the extended geometric model, with a structural diagram based on the real constructive elements of the robot and including error parameters, is important and its use is mandatory in software procedures for thermal error compensation. Moreover, in the case study where exaggerated displacements of 1 mm in all directions for each joint of the robot and 1 degree of angular deviation, also around each axis, were considered, the ability of the procedure to provide compensated angles was shown. The robot structure being deformed to such a magnitude led to severe deviations of the characteristic point compared to the theoretical position. In the image, the deformations are visible with the naked eye even if they have not been magnified. Deviations of the characteristic point of even 20 mm are observed. From the results presented in Section 4, for this excessively deformed structure, it was possible to determine the angles of the joints (compensating for thermal errors) so that the accuracy of reaching the programmed targets is about 0.01 mm and the maximum angular deviation is 0.02 degrees. For the transient case, in which the deformations were applied progressively throughout the 200 min of robot operation, the maximum accuracy was approximately 0.2 mm, and the maximum angular deviation was 0.01 degrees, which represents an improvement with an order of magnitude two times higher than the deformations (Figure 15).

5. Conclusions

In this paper, it was proved that in the context of the integration of industrial robots in applications that require high precision, simple modeling (applying theoretical assumptions such as the non-deformability of structural elements or not respecting the real configuration of the robot) is no longer sufficient. The conception of the forward geometric model (which actually represents the basis from which the control of industrial robots starts) must respect as much as possible the structure of the robot and if it is imposed to improve their precision, errors that may occur (such as errors due to thermal deformations) must be found, analyzed, interpreted, and corrected. The use of an extended geometric model in which the same orientation of the axis systems is maintained facilitates the construction of the parameter tables and simplifies the integration of additional correction factors. These should be considered in the multiplication of the matrices that mathematically describe the structure of the robot. The use of this extended geometric model is only a necessary step in a suite of procedures starting from experimental measurements up to the development of a software algorithm for error compensation. Even if the introduction of additional parameters in the calculation model means additional mathematical operations, considering modern computational capabilities, with a relatively small additional effort, the improvements regarding the positioning accuracy of the robot (by compensating for thermally induced errors) are very important. The entire thermal error compensation methodology can be used, but care must be taken to ensure that all experimental determinations and geometric modeling are carried out individually for each type of robot and for known and stable working conditions. Because the proposed compensation method is an off-line one, it is assumed that the working environment, the robot program, and the thermal behavior are known and well determined previously and that they do not change. Considering this aspect, it is desired that the methodology to be improved in the future. Among the aspects that will be researched and further developed are:
(a)
development of an online software link between CoppeliaSIM and the robot controller. The possibility of online transmission of the corrected target points or the possibility of direct control of the robot from CoppeliaSIM would remove the manual post-processing part of the files containing the robot’s work programs.
(b)
the integration of a hardware–software technical solution for measuring the temperature of the robot structure in real time and automatically adjusting the parameters related to the deformations of the structural elements.
(c)
carrying out analysis with finite elements and experiments to determine the thermal behavior of the robot and the deformation of its structure in various environmental conditions, from very low temperatures to very high temperatures.
(d)
adjusting the parameters of the calculation functions for inverse kinematics to obtain faster and more accurate solutions.
(e)
identifying a solution for the problem of decreasing the degree of precision in providing results for the transient case.
(f)
the implementation of a software solution for processing and compensation and for programs that involve tracking curves.

Author Contributions

Writing—review & editing, C.C., M.I., I.G.G. and C.P. All authors have read and agreed to the published version of the manuscript.

Funding

These studies were carried out as a research activity within the postdoctoral research project of the first author. This work was supported by the grant POCU/993/6/13/153178, “Performanță în cercetare” (“Research performance”) co-financed by the European Social Fund within the Sectorial Operational Program Human Capital 2014–2020.

Data Availability Statement

Publicly available datasets were analyzed in this study. This data can be found here: https://github.com/Cozmin90/coppeliasim_irb140_deformable_robot.git (accessed on 28 March 2023).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

The main functions of the script are:
Figure A1. Read targets from csv. file.
Figure A1. Read targets from csv. file.
Mathematics 11 02306 g0a1
Figure A2. Read deformations values from csv. file.
Figure A2. Read deformations values from csv. file.
Mathematics 11 02306 g0a2
Figure A3. Run script for each target or until time limit.
Figure A3. Run script for each target or until time limit.
Mathematics 11 02306 g0a3
Figure A4. Set next robot position.
Figure A4. Set next robot position.
Mathematics 11 02306 g0a4
Figure A5. Deform robot.
Figure A5. Deform robot.
Mathematics 11 02306 g0a5
Figure A6. Compute IK.
Figure A6. Compute IK.
Mathematics 11 02306 g0a6
Figure A7. Update robot position.
Figure A7. Update robot position.
Mathematics 11 02306 g0a7
The full CoppeliaSIM scene with the virtual model of the robot and script integrated can be downloaded from GitHub at: https://github.com/Cozmin90/coppeliasim_irb140_deformable_robot.git (accessed on 28 March 2023, a demonstration video along with example and results files are also provided).

References

  1. Jiang, Y.; Yu, L.; Jia, H.; Zhao, H.; Xia, H. Absolute Positioning Accuracy Improvement in an Industrial Robot. Sensors 2020, 20, 4354. [Google Scholar] [CrossRef] [PubMed]
  2. Denavit, J.; Hartenberg, R. A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices. J. Appl. Mech. 1955, 22, 215–221. [Google Scholar] [CrossRef]
  3. Cerrillo, D.; Barrientos, A.; Del Cerro, J. Kinematic Modelling for Hyper-Redundant Robots—A Structured Guide. Mathematics 2022, 10, 2891. [Google Scholar] [CrossRef]
  4. Maaroof, O.W.; Dede, M.İ.C.; Aydin, L.A. Robot Arm Design Optimization Method by Using a Kinematic Redundancy Resolution Technique. Robotics 2022, 11, 1. [Google Scholar] [CrossRef]
  5. Zuha, A.; Saifullah, S.; Arbab, N.; Akhta, U.; Muhammad, A.; Reza, A. Design and Modeling of 9 Degrees of Freedom Redundant Robotic Manipulator. J. Robot. Control. 2022, 3, 800–808. [Google Scholar] [CrossRef]
  6. Huczala, D.; Kot, T.; Pfurner, M.; Heczko, D.; Oščádal, P.; Mostýn, V. Initial Estimation of Kinematic Structure of a Robotic Manipulator as an Input for Its Synthesis. Appl. Sci. 2021, 11, 3548. [Google Scholar] [CrossRef]
  7. ABB Product Manual: IRB 120—3/0.6, IRB 120T—3/0.6; Document ID: 3HAC035728-001, Revision N; ABB Robotics: Västerås, Sweden, 2017; p. 73.
  8. Craig, J.J. Introduction to Robotics, 4th ed.; Pearson: London, UK, 2017; pp. 19–102. ISBN 0133489795. [Google Scholar]
  9. Giovanni, L.; Federico, C.; Paolo, R.; Bruno, Z. A Homogenous Matrix Approach to 3D Kinematics and Dynamics—I. Theory. Mech. Mach. Theory 1996, 31, 573–587. [Google Scholar] [CrossRef]
  10. Waldron, K.; Schmiedeler, J. Kinematics. In Springer Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2008; pp. 9–33. [Google Scholar] [CrossRef]
  11. Cristoiu, C.; Nicolescu, A. New approach for forward kinematic modeling of industrial robots. Res. Sci. Today 2017, 13, 136. [Google Scholar]
  12. Cristoiu, C.; Nicolescu, A. New approach for forward kinematic modeling of industrial robots with closed kinematic chain. Res. Res. Sci. Today 2017, 13, 145–154. [Google Scholar]
  13. Cristoiu, C.; Nicolescu, A. Validation of forward geometric models for ABB robots using virtual models and the software applications CATIA and ABB Robot Studio. Proc. Manuf. Syst. 2017, 12, 145–153. [Google Scholar]
  14. Gil, A.; Reinoso, Ó.; Marín, J.; Payá, L.; Ruiz, R. Development and Deployment of a New Robotics Toolbox for Education. Comput. Appl. Eng. Educ. 2014, 23, 443–454. [Google Scholar] [CrossRef]
  15. Djuric, A.; Urbanic, R.J. Chapter 18: Utilizing the Functional Work Space Evaluation Tool for Assessing a System Design and Reconfiguration Alternatives. In Robotic Systems; IntechOpen: London, UK, 2012; pp. 361–384. [Google Scholar] [CrossRef]
  16. Baquero-Suárez, M.; Ricardo Ramírez, H. Kinematics, Dynamics and Evaluation of Energy Consumption for ABB IRB-140 Serial Robots in the Tracking of a Path. In Proceedings of the 2nd International Congress on Mechatronics Engineering and Automation, Universidad de la Salle, Bogota, Colombia, 23–25 October 2013. [Google Scholar] [CrossRef]
  17. Cherif, M.; Knevez, J.Y.; Ballu, A. Thermal aspects on robot machining accuracy. In Proceedings of the IDMME—Virtual Concept 2010, Bordeaux, France, 20–22 October 2010; Volume 48, pp. 1–4. [Google Scholar]
  18. Lubrano, E. Calibration of Ultra-High-Precision Robots Operating in an Unsteady Environment. Ph.D. Thesis, École Polytechnique Fédérale de Lausanne, Lausanne, Switzerland, 2011. [Google Scholar]
  19. Cozmin, C. Cercetări privind influența comportării termice a roboților industriali asupra performanțelor acestora. Ph.D. Thesis, “Politehnica” University of Bucharest, Bucharest, Romania, 2020. [Google Scholar]
  20. Andrius, D.; Jurga, S.; Ernestas, S.; Urte, S.; Vytautas, B. Advanced Applications of Industrial Robotics: New Trends and Possibilities. Appl. Sci. 2022, 12, 135. [Google Scholar] [CrossRef]
  21. Seemal, A.; Philip, W. Realtime Calibration of an Industrial Robot. Appl. Syst. Innov. 2022, 5, 96. [Google Scholar] [CrossRef]
  22. Nicolescu, A.F.; Cozmin, C.; Dumitrascu, C.; Parpala, R. Recording procedure of thermal field distribution and temperature evolution on ABB IRB 140 industrial robot. IOP Conf. Ser. Mater. Sci. Eng. 2018, 444, 052023. [Google Scholar] [CrossRef]
  23. Cristoiu, C.; Zapciu, M.; Nicolescu, A.F.; Pupaza, C. Thermal deformation analysis of ABB IRB 140 industrial robot. UPB Sci. Bull. Ser. D Mech. Eng. 2002, 82, 61–72. [Google Scholar]
  24. Constantin, G.; Dogariu, C.; Bisu, C.F.; Gheorghita, A.; Arotaritei, D.; Ghionea, I. Complex thermomechanical analysis of externally driven main spindles—A case study. Acta Tech. Napoc. Ser. Appl. Math. Mech. Eng. 2020, 63, 27–38. [Google Scholar]
  25. Cristoiu, C.; Mario, I. Warm-up Temperature Predictions of IRB 140 Robot with Regression Analysis. Proc. Manuf. Syst. 2021, 16, 69–74. [Google Scholar]
  26. Cristoiu, C.; Stan, L.; Mario, I. Virtual geometric model with dynamic parameters for 6 dof articulated arm robot. Int. J. Mod. Manuf. Technol. 2022, XIV, 30–39. [Google Scholar]
  27. Baizid, K.; Cukovic, S.; Iqbal, J.; Yousnadj, A.; Chellali, R.; Meddahi, A.; Devedzic, G.; Ghionea, I. Industrial robotics simulation design planning and optimization platform based on CAD and knowledgeware technologies. J. Robot. Comput. Integr. Manuf. 2016, 42, 121–134. [Google Scholar] [CrossRef]
  28. Ghionea, I.; Tarbă, C.; Ćuković, S. CATIA v5: Advanced Parametric and Hybrid 3D Design; CRC Press: Boca Raton, FL, USA, 2022; ISBN 9781032250069. [Google Scholar] [CrossRef]
Figure 1. The ABB IR 120 robot model: (a) real structure; (b) simplified structural diagram [6].
Figure 1. The ABB IR 120 robot model: (a) real structure; (b) simplified structural diagram [6].
Mathematics 11 02306 g001
Figure 2. DH convention for axis placement and parameter notation.
Figure 2. DH convention for axis placement and parameter notation.
Mathematics 11 02306 g002
Figure 3. DHM convention for axis placement and parameter notation.
Figure 3. DHM convention for axis placement and parameter notation.
Mathematics 11 02306 g003
Figure 4. Different structural diagram parametrization of the same robot—example 1 [14].
Figure 4. Different structural diagram parametrization of the same robot—example 1 [14].
Mathematics 11 02306 g004
Figure 5. Different structural diagram parametrization of the same robot—example 2 [15].
Figure 5. Different structural diagram parametrization of the same robot—example 2 [15].
Mathematics 11 02306 g005
Figure 6. Different structural diagram parametrization of the same robot—example 3 [16].
Figure 6. Different structural diagram parametrization of the same robot—example 3 [16].
Mathematics 11 02306 g006
Figure 7. Positioning of axis systems with the same orientation and structural diagram for a closed kinematic chain robot arm (usually, only four joints are used in DH modeling) [19].
Figure 7. Positioning of axis systems with the same orientation and structural diagram for a closed kinematic chain robot arm (usually, only four joints are used in DH modeling) [19].
Mathematics 11 02306 g007
Figure 8. (a) Global reference frame (attached to base). (b) First joint and parameter for translation along Z axis.
Figure 8. (a) Global reference frame (attached to base). (b) First joint and parameter for translation along Z axis.
Mathematics 11 02306 g008
Figure 9. Transformation from first joint to second joint.
Figure 9. Transformation from first joint to second joint.
Mathematics 11 02306 g009
Figure 10. (a) Initial structural diagram (cold start). (b) Structural diagram after deformation.
Figure 10. (a) Initial structural diagram (cold start). (b) Structural diagram after deformation.
Mathematics 11 02306 g010
Figure 11. Structural diagram used for construction of the robot’s geometric model [19].
Figure 11. Structural diagram used for construction of the robot’s geometric model [19].
Mathematics 11 02306 g011
Figure 12. Virtual model of the robot during deformation (deformations are magnified up to 1000 times).
Figure 12. Virtual model of the robot during deformation (deformations are magnified up to 1000 times).
Mathematics 11 02306 g012
Figure 13. Software algorithm for IK based on extended geometric model of the deformed robot.
Figure 13. Software algorithm for IK based on extended geometric model of the deformed robot.
Mathematics 11 02306 g013
Figure 14. The robot in the laboratory during measurements.
Figure 14. The robot in the laboratory during measurements.
Mathematics 11 02306 g014
Figure 15. Ideal robot structure and home position coordinates and deformed robot structure and home position coordinates.
Figure 15. Ideal robot structure and home position coordinates and deformed robot structure and home position coordinates.
Mathematics 11 02306 g015
Table 1. Example of DH parameters.
Table 1. Example of DH parameters.
Joint Nr.αiaidiθi/qi
iαi−1ai−1diθi/qi
Where: ai is the distance from Zi to Zi+1 measured along Xi; αi is the angle between Zi and Zi+1 measured around Xi; di is the distance between the axes Xi−1 and Xi measured along Zi; θi is the angle between Xi−1 and Xi measured around Zi.
Table 2. Corresponding DH parameters for Figure 4 [14].
Table 2. Corresponding DH parameters for Figure 4 [14].
Joint No.αiaidiθi/qi
1−π/270352q1
23600q2 − π/2
3−π/200 q3
4π/20380q4
5−π/200q5
6065q6 + π/2
Table 3. Corresponding DH parameters for Figure 5 [15].
Table 3. Corresponding DH parameters for Figure 5 [15].
Joint No.αiaidiθi/qi
1−90°a1d1
2a20−90°
390°00 180°
4−90°0d4
590°00
690°0d6−90°
Table 4. Corresponding DH parameters for Figure 6 [16].
Table 4. Corresponding DH parameters for Figure 6 [16].
Joint No.αiaidiθi/qi
1π/2L0L1θ1 + π/2
2L20θ2 + π/2
3π/200 θ3
4−π/20L3+4θ4
5π/200θ5
60L5θ6
Table 5. Parameters for each joint and rotation angle (without error parameters).
Table 5. Parameters for each joint and rotation angle (without error parameters).
Joint No. (Axis No.)Rotation AngleTranslations
Along XAlong YAlong Z
0 (base)θ0000
1θ100pz01
2θ2px120pz12
Table 6. Parameters of angular deviations and translations.
Table 6. Parameters of angular deviations and translations.
Joint No. (Axis No.)Angular DeviationsRotation AngleTranslations
Along XAlong YAlong Z
0 (base)0x, Dθ0y, Dθ0zθ00 + D X00 + D Y00 + D Z0
11x, Dθ1y, Dθ1zθ10 + D X10 + D Y1pz01 + D Z1
22x, Dθ2y, Dθ2zθ2p × 12 + D X20 + D Y2pz12 + D Z2
Table 7. Universal form of parameters table.
Table 7. Universal form of parameters table.
Joint No. (Axis No.)Angular DeviationsRotation AngleTranslations
Along X Along YAlong Z
0 (base)0x, Dθ0y, Dθ0zθ0px00 + D X0py00 + D Y0py00 + D Z0
11x, Dθ1y, Dθ1zθ1px01 + D X1py01 + D Y1pz01 + D Z1
22x, Dθ2y, Dθ2zθ2px12 + D X2py12 + D Y2pz12 + D Z2
66x, Dθ6y, Dθ6zθ6px56 + D X6py56 + D Y6pz56 + D Z6
Table 8. Angular parameters and angular deviation parameters [19].
Table 8. Angular parameters and angular deviation parameters [19].
Joint No. (Axis No.)Angular Deviations [°]Rotation Angle
xyz
0 (base)000θ0
1−8.44 × 10−5−0.011−0.0137θ1
20.010800θ2
36.665 × 10−60.00810.0098θ3
4000θ4
5000θ5
6000θ6
Table 9. Translation parameters [19].
Table 9. Translation parameters [19].
Ref. Axis No.Angular Deviations [mm]
XDXYDYZDZ
10−0.0200600.000154104.5−0.05297
2700650247.50
300.10086−1230.114855360−0.00142
4238.5−0.00440580.02410−0.0149
5141.500000
639.500000
7−0.0166−0.016620000
Table 10. Angular parameters and angular deviation parameters—case study.
Table 10. Angular parameters and angular deviation parameters—case study.
Joint No. (Axis No.)Angular Deviations [°]Rotation Angle
xyz
0 (base)111θ0
1111θ1
2111θ2
3111θ3
4111θ4
5111θ5
6111θ6
Table 11. Translation parameters—case study.
Table 11. Translation parameters—case study.
Ref. Axis No.Angular Deviations [mm]
XDXYDYZDZ
10101104.51
2701651247.51
301−12313601
4238.5158101
5141.510101
639.510101
7−0.016610101
Table 12. Programmed targets (static case).
Table 12. Programmed targets (static case).
Programmed CoordinatesProgramed TCP OrientationProgrammed
Coordinates
Programed TCP Orientation
XYZRXRYRZ XYZRXRYRZ
P1641214730900P266952883640900
P25362352810900P274832985500900
P36562423730900P284171842940900
P45102765260900P29700365370900
P5459−1183330900P304521032820900
P6610994660900P31580253030900
P7465−554920900P32547−1134310900
P84362372980900P33544−834470900
P9445−1175110900P344931872850900
P10547294310900P35644535250900
P114151712680900P36592−103930900
P124903003360900P376261433360900
P1361975210900P38434955150900
P145632962670900P39635−104690900
P155712705200900P405472453970900
P164141014320900P415142344680900
P17431504520900P42622−1442770900
P18462−943990900P43600−1033930900
P19692763900900P444621093540900
P205362482800900P454391035060900
P21619183140900P464141365360900
P225272873530900P47464−1494910900
P236472223810900P486282762750900
P244052444790900P49522−1432940900
P254151923960900P50537−373250900
Table 13. Deviation from programmed orientation (static case).
Table 13. Deviation from programmed orientation (static case).
Orientation Deviation [°]
ΔθXΔθYΔθZ
MIN00−0.002
MAX00.020.005
Table 14. CoppeliaSIM targets (static case).
Table 14. CoppeliaSIM targets (static case).
CoppeliaSIM
Coordinates
Programmed
Coordinates
XYZ XYZ
P1640.99820.999472.999P26694.996287.991363.999
P2535.999235.000281.000P27483.003297.998550.004
P3656.000241.991373.001P28416.992184.010294.000
P4510.003275.996526.004P29700.00335.999537.002
P5459.000−118.003332.999P30451.998103.000281.999
P6610.00199.002466.001P31579.99624.994302.997
P7464.997−55.004491.997P32547.001−113.001431.001
P8435.999237.000298.000P33544.002−83.001447.001
P9445.001−117.001511.002P34492.999187.001285.000
P10547.00529.010431.004P35644.00253.000525.001
P11414.999171.000268.000P36591.998−9.990392.999
P12490.003299.996336.001P37626.003143.005336.002
P13619.0026.999521.001P38434.00095.002515.001
P14562.999296.000267.000P39635.000−10.002469.000
P15571.001270.001520.000P40546.999245.001396.999
P16413.997101.006431.998P41514.001233.996468.002
P17430.99849.996451.998P42622.000−144.003276.999
P18461.994−93.997398.995P43600.002−103.008393.001
P19692.00575.999390.002P44462.005109.008354.005
P20536.002248.010280.002P45439.001103.001506.001
P21618.99317.993313.997P46414.002135.998536.003
P22527.005287.004353.003P47464.000−149.004491.000
P23646.997221.993380.999P48627.999276.001275.000
P24405.003244.002479.003P49521.992−143.001293.996
P25414.997192.003395.998P50537.004−37.001325.002
Table 15. Position deviation (static case).
Table 15. Position deviation (static case).
Position Deviation [mm]
ΔXΔYΔX
MIN−0.0053−0.0099−0.0047
MAX0.00840.009290.005
Table 16. Robot joint angles for deformed robot (compensated errors).
Table 16. Robot joint angles for deformed robot (compensated errors).
Joint Angles Computed for Each Target
J1J2J3J4J5J6
P12.81099526.286152.378532−0.15608−31.019−6.68297
P226.6276143.2175114.0916225.74425−63.459−18.008
P322.9387344.08226−8.6821629.66404−43.2045−29.2832
P433.2341915.925319.23360249.5101−42.2511−49.3862
P5−17.407624.2686436.40971−23.7015−63.93635.716024
P611.0962324.115617.24354214.21492−35.2344−18.658
P7−7.593580.0933132.73793−17.8784−35.62937.620256
P832.5332434.0574230.3079230.47852−71.1767−16.7415
P9−17.0201−3.0433632.26777−35.4684−35.090822.97249
P103.8108218.2964222.263410.828017−42.9847−7.14365
P1125.5402136.0704738.0410722.07303−78.3546−9.73248
P1235.6369835.4997416.1550436.95549−61.9528−26.3381
P131.61065919.508524.022058−2.31556−25.8131−5.04101
P1430.9577749.896162.90337431.68392−60.8979−22.8277
P1529.4461623.32127−0.136747.25214−38.1531−48.4764
P1616.398062.72264942.6703117.36198−50.1682−18.3206
P178.018060.30829540.748817.228396−44.0928−12.18
P18−13.71912.9650736.47092−21.7382−52.68827.528158
P197.45711441.02561−7.017417.177614−36.8931−12.1077
P2027.9051843.9023312.8864927.24821−63.3535−18.9197
P211.90811840.547259.667821−2.20752−52.4979−4.18649
P2232.3699535.6422811.6417635.08456−57.1776−27.7245
P2321.5462741.26615−5.0868727.38036−43.2764−27.3789
P2436.747815.30438230.858545.23446−51.8357−40.4683
P2529.0906913.7243237.7458130.13305−59.585−23.4212
Table 17. Position deviation (transient case).
Table 17. Position deviation (transient case).
Position Deviation [mm]
ΔXΔYΔX
MIN−0.199−0.198−0.199
MAX0.10.10.1
Table 18. Deviation from programmed orientation (transient case).
Table 18. Deviation from programmed orientation (transient case).
Orientation Deviation [°]
ΔθXΔθYΔθZ
MIN00−0.007
MAX00.10.004
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

Cristoiu, C.; Ivan, M.; Ghionea, I.G.; Pupăză, C. The Importance of Embedding a General forward Kinematic Model for Industrial Robots with Serial Architecture in Order to Compensate for Positioning Errors. Mathematics 2023, 11, 2306. https://doi.org/10.3390/math11102306

AMA Style

Cristoiu C, Ivan M, Ghionea IG, Pupăză C. The Importance of Embedding a General forward Kinematic Model for Industrial Robots with Serial Architecture in Order to Compensate for Positioning Errors. Mathematics. 2023; 11(10):2306. https://doi.org/10.3390/math11102306

Chicago/Turabian Style

Cristoiu, Cozmin, Mario Ivan, Ionuţ Gabriel Ghionea, and Cristina Pupăză. 2023. "The Importance of Embedding a General forward Kinematic Model for Industrial Robots with Serial Architecture in Order to Compensate for Positioning Errors" Mathematics 11, no. 10: 2306. https://doi.org/10.3390/math11102306

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