Dynamic parameter identification method for robotic arms with static friction modelling ACTA IMEKO ISSN: 2221-870X September 2021, Volume 10, Number 3, 44 - 50 ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 44 Dynamic parameter identification method for robotic arms with static friction modelling Dániel Szabó1, Emese Gincsainé Szádeczky-Kardoss 1 1 Department of Control Engineering and Information Technology, Budapest University of Technology and Economics, Budapest, Hungary Section: RESEARCH PAPER Keywords: Identification; dynamics; manipulator Citation: Dániel Szabó, Emese Gincsainé Szádeczky-Kardoss, Dynamic parameter identification method for robotic arms with static friction modelling, Acta IMEKO, vol. 10, no. 3, article 8, September 2021, identifier: IMEKO-ACTA-10 (2021)-03-08 Section Editor: Bálint Kiss, Budapest University of Technology and Economics, Hungary Received January 15, 2021; In final form September 6, 2021; Published September 2021 Copyright: This is an open-access article distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. Corresponding author: Dániel Szabó, e-mail: szabo.daniel@iit.bme.hu 1. INTRODUCTION Automation is playing an increasingly important role in industry, where manipulators are used to solve various types of problems. Precise control algorithms are required to meet the need for speed and accuracy, and an accurate dynamic model is needed to use these control algorithms, such as the computed torque method [1]. Although the robot manufacturer can provide the necessary values, they are usually either inaccurate or non- existent; thus, the dynamics of the manipulator have to be determined through an identification process. An independently identifiable parameter vector and a regression matrix are required to create an identifiable model. The barycentric parameters [2] or the modified recursive Newton–Euler formula [3] can be used to solve this problem. In general, the friction effect of the joints is not negligible, hence the dynamic model of the robot, determined according to the structure of the manipulator, has to be extended with the friction model. There are plenty of existing friction models that can be used in the identification of the dynamic model, but there has to be a trade-off between model accuracy and computational complexity. In the simplest case, only the Coulomb and viscous friction effects need to be considered in the dynamic model [4]. Although this can be sufficient in some cases, the stiction effect in the joint remains unmodelled, and the nonlinearity has to be compensated for by the controller. A dynamic friction model can be applied if a high level of precision is needed in the model, but in this case, the model cannot be converted into a linear-in-parameters model [5]. This method can be used only if the dynamic model is known and only friction compensation is needed. Discontinuities of the sign function can be eliminated by using the arctangent function to approximate the step at which the velocity changes its sign. The continuity of this function is necessary when using the identified model in the controller for a smooth control signal when the velocity reaches zero. In [6], both static and dynamic friction identification were presented but only for cases where the other dynamic parameters were known. It is possible to convert the static friction model into a linear-in-parameters form. The optimisation of the excitation trajectory is important for generating a well-conditioned regression matrix. The finite Fourier series [7] and the polynomial functions [8] are used frequently as excitation trajectories. ABSTRACT This paper presents an identification method for robotic manipulators. It demonstrates how a dynamic model can be constructed with the help of the modified Newton–Euler formula. To model the friction of the joints, static friction modelling is used, in which the friction behaviour depends only on the actual velocity of the given joint. With these techniques, the model can be converted into a linear-in- parameters form, which can make the identification process easier. Two estimators are introduced to solve the identification problem, the least-squares and the weighted least-squares estimators, and the determination of the independently identifiable parameter vector to make the regression matrix maximal column rank is presented. The Frobenius norm is used as the condition of the regression matrix to optimise the excitation trajectories, and the form of the trajectories has been selected from the finite Fourier series. The method is tested in a simulated environment to achieve a three-degrees-of-freedom manipulator. mailto:szabo.daniel@iit.bme.hu ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 45 The proper estimator for a problem can be selected by investigating the rate of the noise corrupting the measurements [7]. In this study, the least-squares (LS) and weighted-LS (WLS) estimation methods were assessed. As was shown in [9], the maximum likelihood estimation gives better results in simulations when there are corrupted joint value measurements, but usually, in real-life scenarios, this noise is negligible compared with the noise of the torque measurements. In [10], the dynamics of the payload were determined by an identification process that measured actuator currents. In this method, the dynamic parameters of the manipulator were known. The present study compares two methods to estimate the parameters of a robot dynamic model with static friction in each joint. It demonstrates how the reduced row echelon form of the regression matrix can be used to find the independently identifiable variables. The results in [9] are extended in this paper by presenting a method incorporating the friction model into the identification process. The paper is organised as follows. In Section 2, the form of the dynamic model is introduced, and this section describes how the modified Newton–Euler formula and the static friction model are used to obtain its linear-in-parameters form. Section 3 describes the configuration of the measurements, and the method to determine the independently identifiable parameters is explained in Section 4.1. The LS and the WLS estimators are then described. After that, Section 0 introduces the optimisation of trajectory parameters and the criterion for this optimisation method. The results of the simulation are in Section 6, and finally, the conclusions are set out in Section 7. 2. MODEL EVALUATION 2.1. Dynamics of the manipulators A manipulator can be modelled with an open kinematic chain, which is composed of links connected by joints. The Denavit– Hartenberg parameters can be used to define the kinematics of a given manipulator [11], and the homogeneous transformation matrices can be defined to calculate the actual position and orientation of the end effector. The dynamic model of a manipulator is given by the nonlinear multiple-input and multiple-output function, which clarifies the relationship between the joint positions, their first- and second- order derivatives and the joint torques/forces. The following equation shows this relationship: 𝝉 = 𝑯(𝒒)�̈� + 𝒉(𝒒,�̇�) + 𝒄(𝒒), (1) where 𝐪 denotes the 𝑛-by-1 vector of the joint variables (for an 𝑛 degree-of-freedom manipulator), 𝛕 is the vector of joint torques (or forces), 𝐇 is the 𝑛-by-𝑛 symmetric, positive-definite joint-space inertia matrix, the Coriolis and centrifugal forces are modelled by vector 𝐡 and the gravitational effects are given by vector 𝐜. Although the model in (1) provides a good physical interpretation of the system, it cannot be used effectively during the identification process. To solve this problem, the linear-in- parameters form of the model can be used: 𝝉 = 𝜱(𝒒,�̇�, �̈�)𝜣, (2) where 𝛷 denotes the regression matrix and 𝛩 is the parameter vector. The values of the inertia matrix, the mass of the link (𝑚𝑗) and the first moment of the links are contained in 𝛩: 𝛩 = [𝛩1 𝑇 𝛩2 𝑇 … 𝛩𝑛 𝑇]𝑇 𝛩𝑗 = [𝐼𝑥𝑥 𝑗 𝐼𝑦𝑦 𝑗 𝐼𝑧𝑧 𝑗 𝐼𝑥𝑦 𝑗 𝐼𝑥𝑧 𝑗 𝐼𝑦𝑧 𝑗 … 𝑚𝑗 𝑚𝑗𝑠𝑥 𝑗 𝑚𝑗𝑠𝑦 𝑗 𝑚𝑗𝑠𝑧 𝑗 ] 𝑇 , (3) where 𝐼𝑘𝑙 𝑗 parameters are the entries of the symmetric inertia matrix and 𝐬𝑗 = [𝑠𝑥 𝑗 𝑠𝑦 𝑗 𝑠𝑧 𝑗 ] 𝑇 denotes the position of the centre of mass of the 𝑗-th link measured in the frame belonging to the 𝑗-th joint. To solve the identification problem, it is necessary to calculate the regression matrix. This can be achieved, for example, with the Lagrangian formula, which provides a good physical view of the system; but it is computationally expensive. Hence, a better solution is the Newton–Euler formula, which has a computational complexity of 𝒪(𝑛) [3]. First, using the Newton-Euler formula, the kinematics of each frame of the joints are calculated and transformed into the frame of the end effector. This is done with forward recursion, and the velocities, angular velocities, accelerations and angular accelerations are determined for each frame. Then, the forces and moments are transformed with backward recursions from the end-effector frame to the base frame. The applied torque/force of the given joint is determined by the following equation in a given step of the backward recursion: 𝛕𝑗 = { 𝐧𝑗 𝑇 (𝐀𝑗 𝑇 𝐳0) rotational 𝐟𝑗 𝑇 (𝐀𝑗 𝑇 𝐳0) translational , (4) where 𝐧𝑗 and 𝐟𝑗 are the moment and the force exerted on link 𝑗 by link 𝑗-1 and 𝐀𝑗 is the orthonormal rotation matrix that describes the rotation between the 𝑗-th and the 𝑗-1-th frame; 𝐳0 is the base vector of the axis of rotation (or translation), which is selected by the convention [0 0 1]𝑇. This results in linear terms in the inertias and the masses, while the centre-of-mass vector will be represented in either linear or quadratic terms. These quadratic terms can be eliminated by transforming the inertia tensor: let 𝒞𝑖 denote the coordinate system for the 𝑖-th link and 𝒞𝑖 ∗ denote the frame of the centre of mass of the 𝑖-th link; let 𝐀𝑖,𝑖∗ be the orthonormal rotation matrix between 𝒞𝑖 and 𝒞𝑖 ∗. If 𝐈𝑖 is the inertia tensor around the centre of mass, then the inertia tensor 𝐈′𝑖 in 𝒞𝑖 is 𝐈′𝑖 = 𝐀𝑖,𝑖∗𝐈𝑖𝐀𝑖,𝑖∗ 𝑇 + 𝑚𝑖(𝐬𝑖 𝑇𝐬𝑖𝐈(3𝑥3) − 𝐬𝑖𝐬𝑖 𝑇), (5) where 𝐈(3𝑥3) is the 3-by-3 identity matrix. 2.2. Friction modelling The model in (1) must be extended with the torque vector 𝝉𝒇 to model the effect of the friction: 𝝉 − 𝝉𝒇 = 𝑯(𝒒)�̈� + 𝒉(𝒒,�̇�) + 𝒄(𝒒). (6) There are several methods to model the vector of the friction torques. In this study, static friction modelling was used, including stiction, Coulomb and viscous friction effects, and the Striebeck effect, which was represented using the arctangent function [5]: 𝝉𝒇 = 𝝉𝒔𝑆0(𝒗) + 𝝉𝒔𝒄 2 π arctan(𝒗𝛿) + 𝝉𝒗 , (7) ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 46 where 𝒗 denotes the vector of velocities (thus, the first-order derivative of the joint variables), 𝝉𝒔 represents stiction, 𝝉𝒔𝒄 is the difference between Coulomb friction and stiction, 𝛿 represents the shape of the Striebeck effect, 𝝉𝒗 denotes the coefficient of the viscous friction and the function 𝑆0 is used as the approximation of the 𝑠𝑖𝑔𝑛(𝒗) function: 𝑆0(𝒗) = 2 π arctan(𝒗𝐾𝑣), (8) where 𝐾𝑣 defines the shape of the function. In this case, the friction model can be transformed into a linear-in-parameters form, where the regression matrix and the parameters belonging to one joint are the following: 𝛷fric 𝑗 = [ 2 π arctan(𝒗𝐾𝑣), 2 π arctan(𝒗𝛿) ,𝑣] 𝛩fric 𝑗 = [𝜏𝑠 𝑗 , 𝜏𝑠𝑐 𝑗 , 𝜏𝑣 𝑗 ] 𝑇 . (9) 3. MEASUREMENT SETUP Simulations were used to perform the measurements in a MATLAB Simulink environment, but the proposed method could also be used with real measurements. To model the dynamics and the friction effect, the Simscape Toolbox was applied. At this stage, control of the manipulator was performed by computing the torques automatically using the simulation; furthermore, the torque measurements were corrupted with independent zero-mean Gaussian noise. The measurements were repeated with different variances for the specific joints, and the joint torques were corrupted with independent zero-mean Gaussian noise when each joint had different variances. The joint angles were also corrupted with noise, but this was negligible compared with the noise of the torque measurements [9]. 4. IDENTIFICATION PROCESS 4.1. Determination of the independent variables According to (2) and (9), the dynamics of the manipulator can be written in a linear-in-parameters form, but to use it during the identification process, some changes have to be applied because of the parameter vector described in (3). With these parameter vectors, the column-rank of the regression matrix 𝛷 will not be maximal. This means that unidentifiable parameters or parameters that are not independently identifiable also exist. Three parameter types can be defined [12]: 1. If the 𝑖-th column of 𝛷 is a null vector, then the 𝑖-th parameter is unidentifiable and the dynamics are unaffected. In this case, this parameter and the 𝑖-th column of 𝛷 can be removed. 2. If the 𝑖-th column of 𝛷 is not null and can be expressed as a linear combination of the other columns, then the 𝑖-th parameter can be identified only in a linear combination with other parameters. 3. If the 𝑖-th column of 𝛷 is not null and cannot be expressed as a linear combination of the other columns, then the 𝑖-th parameter is independently identifiable. First, all the columns of 𝛷 with only zeros should be eliminated; the number of independent parameters is then equal to the rank of 𝛷. These parameters can be expressed in a linear combination of the original parameters. To obtain the coefficients for the linear combinations, the reduced row echelon form of 𝛷 is required: [𝛷𝑟𝑟𝑒𝑓, 𝐣𝐋] = 𝑟𝑟𝑒𝑓(𝛷), (10) where 𝐣𝐋 denotes the indexes of the columns with the leading values 1 in the reduced row echelon form. These indexes will give a basis in the columns of 𝛷 by indexing out the column of the regression matrix with 𝐣𝐋, and 𝐣𝐊 is the vector of the indexes that are not contained by 𝐣𝐋. Let 𝐋 and 𝐊 be the matrices with columns indexed by 𝐣𝐋 and 𝐣𝐊 from 𝛷, respectively. In this way, a linear combination can be defined to express each column of 𝐊 with the columns of 𝐋, and the coefficients can be determined by the columns of 𝛷𝑟𝑟𝑒𝑓 indexed by 𝐣𝐊: 𝐊(: , 𝑖) = 𝛷𝑟𝑟𝑒𝑓(1, 𝐣𝐊(𝑖))𝐋(: ,1) + ⋯+ +𝛷𝑟𝑟𝑒𝑓(𝑚,𝐣𝐊(𝑖))𝐋(: ,𝑚), (11) where 𝑚 is the rank of 𝛷, i.e. the number of independent parameters. The matrix 𝐊 can therefore be expressed as 𝐊 = 𝐋𝐁, with the help of 𝐁 defined as: 𝐁 = 𝛷𝑟𝑟𝑒𝑓(1:𝑚,𝐣𝐊). (12) Two vectors of the parameters are defined by indexing them with 𝐣𝐋 and 𝐣𝐊: 𝛩𝐿 = 𝛩(𝐣𝐋) 𝛩𝐾 = 𝛩(𝐣𝐊) . (13) Thus, a new form of the model can be introduced: 𝛕 = 𝛷𝛩 = [𝐋 𝐊][ 𝛩𝐿 𝛩𝐾 ] = = 𝐋[𝐼(𝑚𝑥𝑚) 𝐁][ 𝛩𝐿 𝛩𝐾 ] = 𝐋𝛩∗, (14) where 𝛩∗ = 𝛩𝐿 + 𝐁𝛩𝐾. Consequently, 𝛩𝐿(𝑖) is an independently identifiable parameter if, and only if, the 𝑖-th row of 𝐁 contains only zeros. 4.2. LS estimation If the torques of the actuators are corrupted with zero-mean Gaussian noise (𝐧𝜏) with the same standard deviation, the following measurement model can be defined: 𝛕𝑚(𝑘) = 𝛕(𝑘) + 𝐧𝜏(𝑘) 𝑒𝜏𝑖(𝛩 ∗,𝑘) = 𝛕𝑚𝑖(𝑘) − 𝛕𝑖(𝛩 ∗,𝑘) = = 𝛕𝑚𝑖(𝑘) − 𝐋(𝑘, :)𝛩 ∗, (15) where 𝛕𝑚 is the measured value of the torque vector, the error of the given joint is denoted by 𝑒𝜏𝑖 and 𝑘 denotes the index of the measurement. With this measurement model, the standard LS estimator can be used. The minimisation criterion of the estimator is the following: 𝑉𝐿𝑆 = ∑∑( 𝑛 𝑖=1 𝑁 𝑘=1 𝑒𝜏𝑖(𝛩 ∗,𝑘))2, (16) where 𝑁 is the number of measurements. ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 47 The solution to the problem can be given in a closed form with the help of the Moore–Penrose pseudoinverse of 𝐋: �̂�𝐿𝑆 = 𝐋 +𝛕𝑚 = (𝐋 𝑇𝐋)−1𝐋𝑇𝛕𝑚. (17) 4.3. WLS estimation If noises with different standard deviations (𝜎𝜏𝑖) are corrupting the measurements, the WLS estimator has to be applied. Here the error of the measurements in the optimisation criterion are weighted with the reciprocal of the variation of the noise for a given joint: 𝑉𝑊𝐿𝑆 = ∑∑ (𝑒𝜏𝑖(𝛩 ∗,𝑘))2 𝜎𝜏𝑖 2 𝑛 𝑖=1 𝑁 𝑘=1 . (18) Consequently, the problem can be solved as �̂�𝑊𝐿𝑆 = (𝐋 𝑇𝚺−1𝐋)−1𝐋𝑇𝚺−1𝛕𝑚, (19) where 𝚺 is the diagonal covariance matrix of the noise. 5. TRAJECTORY OPTIMISATION The quality of the identification is dependent on the condition of the 𝐋 matrix, which can be optimised by using the correct excitation trajectories. There are several criteria to perform this. 5.1. Optimisation criteria In several papers, the optimisation criterion to find the optimal excitation trajectories is the condition number of 𝐋𝑇𝐋 [13], while in [14], the maximisation of the minimum singular value of 𝐋𝑇𝐋 is used as the optimisation criterion. However, faster convergence can be achieved if the Frobenius norm is used as the criterion [8]: CondF(𝐀) = ||𝐀||F||𝐀 −1||F ||𝐀||F = (∑∑𝐀𝑖𝑗 2 𝑝 𝑗=1 𝑝 𝑖=1 ) 1/2 , (20) where 𝐀 is an 𝑝-by-𝑝 nonsingular matrix. Hence, the optimisation problem can be written in the following form: min 𝛅 CondF(𝐋 𝑇𝐋) such that { 𝐪min < 𝐪 < 𝐪max �̇�min < �̇� < �̇�max �̈�min < �̈� < �̈�max 𝐪(0) = 𝐪0 𝐪(𝑡𝑓) = 𝐪𝑓 �̇�(0) = 0 �̇�(𝑡𝑓) = 0 �̈�(0) = 0 �̈�(𝑡𝑓) = 0 , (21) where 𝛅 vector contains the parameters of the trajectory and the 𝐪𝑚𝑖𝑛,𝐪𝑚𝑎𝑥, etc. vectors are the minimal and maximal joint values, velocities and accelerations, respectively. By using equality constraints, the initial (𝐪0) and final (𝐪𝑓) conditions can be taken into consideration. The initial and final velocities and accelerations are selected as zero. The optimisation problem in (21) was solved in MATLAB using the fmincon function with the interior-point method as the solving algorithm. 5.2. Trajectory parametrisation The form of the applied trajectories can be expressed as finite Fourier series. The definitions of the parametrisation for the joint variables and their first- and second-order derivatives are the following [15]: 𝑞𝑖(𝑡) = ∑ 𝑎𝑙 𝑖 𝜔𝑓𝑙 𝑀 𝑙=1 sin(𝜔𝑓𝑙𝑡) − 𝑏𝑙 𝑖 𝜔𝑓𝑙 cos(𝜔𝑓𝑙𝑡), �̇�𝑖(𝑡) = ∑𝑎𝑙 𝑖 𝑀 𝑙=1 cos(𝜔𝑓𝑙𝑡) + 𝑏𝑙 𝑖sin(𝜔𝑓𝑙𝑡), �̈�𝑖(𝑡) = ∑− 𝑀 𝑙=1 𝑎𝑙 𝑖𝜔𝑓𝑙sin(𝜔𝑓𝑙𝑡) + 𝑏𝑙 𝑖𝜔𝑓𝑙cos(𝜔𝑓𝑙𝑡), (22) where 𝜔𝑓 is the fundamental frequency of the Fourier series. The parameter vector can therefore be defined by an 𝑛 × 𝑀 matrix ([𝑎1 1 … 𝑎𝑀 𝑛 𝑏1 1 … 𝑏𝑀 𝑛]) , where 𝑛 is the number of joints of the manipulator and 𝑀 denotes the number of harmonics in the Fourier series. 6. EXPERIMENTAL RESULTS The implementation of the identification process was performed in MATLAB, while the dynamics and the friction modelling were evaluated in MATLAB Simulink (Section 3). The structure of the three-degrees-of-freedom manipulator used in this study is depicted in Figure 1, and its Denavit– Hartenberg parameters are introduced in Table 1. The MATLAB Symbolic Toolbox was used to determine the dynamics of the manipulator. The simulated trajectories are shown in Figure 2. These trajectories were designed by the method described in Section 0. The results of the identification and the symbolic expressions of the final 𝛩∗ parameter vector are shown in Table 2. It can be seen that 24 identifiable variables were determined. Figure 1. Model of the three-degrees-of-freedom manipulator, defined by the Denavit–Hartenberg parameters in Table 1. Table 1. The Denavit–Hartenberg parameters of the modelled three-degrees- of-freedom manipulator 𝒊 𝜽𝒊 𝐢𝐧 rad 𝒅𝒊 𝐢𝐧 m 𝒂𝒊 𝐢𝐧 m 𝜶𝒊 𝐢𝐧 rad 1 𝑞1 0.3 0 π 2 2 𝑞2 + π 2 0 0.5 0 3 𝑞3 0 0.5 0 ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 48 Figure 2. Measurements with optimised excitation trajectories, 𝜎𝜏 = [0.5,0.3,0.7] N·m. Table 2. Results of the estimations (𝜇: mean, 𝜎2: variance of the estimators) Symbolic expression Exact values LS WLS 𝜇 𝜎2 𝜇 𝜎2 𝐼𝑥𝑥 (2) − 𝐼𝑦𝑦 (2) − 𝑚(2)𝑠𝑥 (2) 2 0.059 0.059 8.27 ⋅ 10 −04 0.059 6.25 ⋅ 10−04 𝐼𝑥𝑥 (3) − 𝐼𝑦𝑦 (3) − 𝑚(3)𝑠𝑥 (3) 2 0.059 0.057 8.09 ⋅ 10 −04 0.058 6.18 ⋅ 10−04 𝐼𝑥𝑦 (2) 0.000 0.002 3.23 ⋅ 10−04 0.001 2.27 ⋅ 10−04 𝐼𝑥𝑦 (3) 0.000 −0.000 2.04 ⋅ 10−04 −0.000 1.47 ⋅ 10−04 𝐼𝑦𝑦 (1) + 𝐼𝑦𝑦 (2) + 𝐼𝑦𝑦 (3) + 𝑚(2)𝑠𝑥 (2) 2 + 𝑚(3)𝑠𝑥 (3) 2 −0.117 −0.115 5.25 ⋅ 10 −04 −0.115 4.30 ⋅ 10−04 𝐼𝑥𝑧 (2) − 𝑚(2)𝑠𝑧 (2) 2 − 𝑚(3)𝑠𝑧 (3) 2 0.000 0.001 2.06 ⋅ 10 −04 0.000 1.50 ⋅ 10−04 𝐼𝑥𝑧 (3) − 𝑚(3)𝑠𝑧 (3) 2 0.000 −0.001 1.60 ⋅ 10 −04 −0.000 1.14 ⋅ 10−04 𝐼𝑦𝑧 (2) 0.000 −0.001 1.32 ⋅ 10−04 −0.000 1.06 ⋅ 10−04 𝐼𝑦𝑧 (3) 0.000 0.001 7.56 ⋅ 10−05 0.001 5.49 ⋅ 10−05 𝐼𝑧𝑧 (2) + 𝑚(2)𝑠𝑥 (2) 2 −0.059 −0.060 3.68 ⋅ 10 −04 −0.060 2.68 ⋅ 10−04 𝐼𝑧𝑧 (3) + 𝑚(3)𝑠𝑥 (3) 2 −0.059 −0.057 3.30 ⋅ 10 −04 −0.058 2.21 ⋅ 10−04 𝑚(2) + 2𝑚(2)𝑠𝑥 (2) − 2𝑚(3)𝑠𝑥 (3) 1.414 1.415 1.50 ⋅ 10 −04 1.414 6.01 ⋅ 10−05 𝑚(3) + 2𝑚(3)𝑠𝑥 (3) 0.707 0.706 3.82 ⋅ 10 −05 0.707 1.42 ⋅ 10−05 𝜏𝑠 (1) 2.000 1.998 7.97 ⋅ 10 −04 1.998 7.80 ⋅ 10−04 𝜏𝑠 (2) 1.000 0.999 1.42 ⋅ 10 −04 0.999 1.41 ⋅ 10−04 𝜏𝑠 (3) 2.000 1.998 2.36 ⋅ 10 −03 1.998 2.34 ⋅ 10−03 𝜏𝑣 (1) 0.500 0.505 8.26 ⋅ 10 −03 0.506 7.89 ⋅ 10−03 𝜏𝑣 (2) 0.277 0.243 9.26 ⋅ 10 −04 0.244 8.08 ⋅ 10−04 𝜏𝑣 (3) 0.030 0.034 1.60 ⋅ 10 −02 0.035 1.54 ⋅ 10−02 𝜏𝑠𝑐 (1) −0.300 −0.302 1.45 ⋅ 10 −02 −0.303 1.39 ⋅ 10−02 𝜏𝑠𝑐 (2) −0.200 −0.176 1.67 ⋅ 10 −03 −0.177 1.65 ⋅ 10−03 𝜏𝑠𝑐 (3) −0.300 −0.306 3.56 ⋅ 10 −02 −0.307 3.45 ⋅ 10−02 𝑚(2)𝑠𝑦 (2) 0.000 0.000 3.82 ⋅ 10−06 0.000 2.24 ⋅ 10−06 𝑚(3)𝑠𝑦 (3) 0.000 0.000 4.67 ⋅ 10−06 0.000 2.37 ⋅ 10−06 ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 49 The dynamics have some independently identifiable parameters (𝐼𝑥𝑦 (2) , 𝐼𝑥𝑦 (3) , 𝐼𝑦𝑧 (2) , 𝐼𝑦𝑧 (3) , 𝑚(2)𝑠𝑦 (2) , 𝑚(3)𝑠𝑦 (3) ) and some unidentifiable variables (e.g. the parameters of the inertia matrix of the first segment), which do not influence the robot dynamics. All the friction parameters are independently identifiable, and the other parameters can be identified in a linear combination with more parameters. It can be seen from the results that the LS and the WLS estimators performed well. With this method, the friction parameters were also identified with only one measurement configuration, which simplifies the measurement process. Figure 3 depicts the efficiency of the WLS estimator in the case of the non-optimised trajectories, using a finite set of Fourier series as excitation. The difference between the approximated and the nominal value of the torque vector is negligible. 7. CONCLUSION This paper presents two methods to solve the identification problem of the dynamic model of robotic manipulators. By modelling only the static friction behaviour, the whole dynamic model can be expressed in linear-in-parameters form. In this form, both LS and WLS estimators can be used effectively to approximate the unknown parameters of the robotic arm. As can be seen in Table 2, all the friction parameters can be identified independently, hence the method can also be used when the dynamic parameters are known, but only for friction compensation. The advantage of this method is that only one measurement configuration is needed to obtain all the desired parameters, but it is not required for moving only one joint at a time. These results can be used in advanced control algorithms. 8. ACKNOWLEDGEMENT The research reported in this paper, carried out at the Budapest University of Technology and Economics, was supported by the ‘TKP2020, Institutional Excellence Programme’ of the National Research Development and Innovation Office in the field of artificial intelligence (BME IE- MI-SC TKP2020). REFERENCES [1] R. Middletone, G. Goodwin, Adaptive computed torque control for rigid link manipulators, Proc. of the 25th IEEE Conference on Decision and Control, Athens, Greece, 10 – 12 December 1986, pp. 68-73. DOI: 10.1016/0167-6911%2888%2990033-3 [2] B. Raucent, G. Campion, G. Bastin, J.-C. Samin, P. Y. Willems, Identification of the barycentric parameters of robot manipulators from external measurements, Automatica 28 (1992) pp. 1011- 1016. DOI: 10.1016/0005-1098(92)90155-9 [3] P. Khosla, T. Kanade, An algorithm to estimate manipulator dynamics parameters, Int. J. Robotics and Automation, 2(3) (1987), pp. 127-135. [4] M. M. Olsen, H. G. Petersen, A new method for estimating parameters of a dynamic robot model, IEEE Transactions on Robotics and Automation 17 (2001) pp. 95-100. DOI: 10.1109/70.917088 [5] M. R. Kermani, R. V. Patel, M. Moallem, Friction identification and compensation in robotic manipulators, IEEE Transactions on Instrumentation and Measurement 56 (2007) pp. 2346-2353. DOI: 10.1109/TIM.2007.907957 [6] M. Indri, S. Trapani, A framework for static and dynamic friction identification for industrial manipulators, IEEE/ASME Transactions on Mechatronics (2020), vol. 25, no. 3, pp. 1589- 1599. DOI: 10.1109/TMECH.2020.2980435 [7] J. Swevers, C. Ganseman, D. B. Tukel, J. De Schutter, H. Van Brussel, Optimal robot excitation and identification, IEEE Transactions on Robotics and Automation 13 (1997) pp. 730-740. DOI: 10.1109/70.631234 [8] M. Gautier, W. Khalil, Exciting trajectories for the identification of base inertial parameters of robots, International Journal of Robotics Research 11 (1992) pp. 362-375. DOI: 10.1109/CDC.1991.261353 [9] D. Szabó, E. G. Szádeczky-Kardoss, Parameter estimation process for the dynamic model of robotic manipulators, Proc. of the 23rd Figure 3. Comparison between the measured torques (𝝉𝒎), the value of the torque vector without noise (𝝉𝟎) and the estimated torque vector calculated from the identified model (�̂�) using the WLS estimator. The measured noise of 𝝉𝒎 is the same as that of Figure 2 (𝜎𝜏 = [0.5,0.3,0.7] Nm). The bottom graph shows the absolute value of the difference between 𝝉𝟎 and �̂�. https://doi.org/10.1016/0167-6911%2888%2990033-3 https://doi.org/10.1016/0005-1098(92)90155-9 https://doi.org/10.1109/70.917088 https://doi.org/10.1109/TIM.2007.907957 https://doi.org/10.1109/TMECH.2020.2980435 https://doi.org/10.1109/70.631234 https://doi.org/10.1109/CDC.1991.261353 ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 50 International Symposium on Measurement and Control in Robotics (ISMCR), Budapest, Hungary, 15 – 17 October 2020, pp. 1-6. [10] Y. Dong, T. Ren, K. Chen, D. Wu, An efficient robot payload identification method for industrial application, Industrial Robot: An International Journal (2018), vol. 45 No. 4, pp. 505-515. DOI: 10.1108/IR-03-2018-0037 [11] M. W. Spong, S. Hutchinson, M. Vidyasagar, Robot Modeling and Control, John Wiley & Sons, Inc., 2006. [12] L. Zollo, E. Lopez, L. Spedaliere, N. Garcia Aracil, E. Guglielmelli, Identification of dynamic parameters for robots with elastic joints, Advances in Mechanical Engineering 7 (2015) p. 843186. DOI: 10.1155/2014/843186 [13] F. Pfeiffer and J. Holzl, Parameter identification for industrial robots, Proceedings of 1995 IEEE International Conference on Robotics and Automation, 1995, vol. 2, pp. 1468-1476. DOI: 10.1109/ROBOT.1995.525483 [14] J. Swevers, B. De Moor, H. Van Brussel, Stepped sine system identification, errors-in-variables and the quotient singular value decomposition, Mechanical Systems and Signal Processing 6 (1992) pp. 121-134. DOI: 10.1016/0888-3270(92)90060-V [15] K.-J. Park, Fourier-based optimal excitation trajectories for the dynamic identification of robots, Robotica 24 (2006) p. 625. DOI: 10.1017/S0263574706002712 https://doi.org/10.1108/IR-03-2018-0037 https://doi.org/10.1155/2014/843186 https://doi.org/10.1109/ROBOT.1995.525483 https://doi.org/10.1016/0888-3270(92)90060-V https://doi.org/10.1017/S0263574706002712