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:
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:
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:
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:
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]:
Using these two notations, each link is described according to DH by a coordinate transformation from the concurrent coordinate to the previous coordinate:
resulting in:
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:
resulting in:
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 T
0:
The transformation from the coordinate system attached to the base to the coordinate system of the first rotational joint around the Z axis is T
01, which is equal to T
0 × translation along Z axis × rotation around Z axis.
The transformation from the first joint to the second joint (with rotation around X axis) is presented in
Figure 9.
The associated matrix T
12 is now equal to T
1 × translation along X and Z× rotation around X.
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: T
end = T
01 × T
12 × … × T
n−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)
- (2)
Correction of angular deviations (ac = angular correction)
- (3)
Transformation of the segment length from the base to first joint (M = modified, with all corrections included)
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:
The correction matrix (T
C) becomes:
The process of passing from one joint to another to obtain the final position of the deformed robot now becomes:
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).