Inertial Parameter Identification in Robotics: A Survey

: This work aims at reviewing, analyzing and comparing a range of state-of-the-art approaches to inertial parameter identiﬁcation in the context of robotics. We introduce “BIRDy (Bench-mark for Identiﬁcation of Robot Dynamics)”, an open-source Matlab toolbox, allowing a systematic and formal performance assessment of the considered identiﬁcation algorithms on either simulated or real serial robot manipulators. Seventeen of the most widely used approaches found in the scientiﬁc literature are implemented and compared to each other, namely: the Inverse Dynamic Identiﬁcation Model with Ordinary, Weighted, Iteratively Reweighted and Total Least-Squares (IDIM-OLS, -WLS, -IRLS, -TLS); the Instrumental Variables method (IDIM-IV), the Maximum Likelihood (ML) method; the Direct and Inverse Dynamic Identiﬁcation Model approach (DIDIM); the Closed-Loop Output Error (CLOE) method; the Closed-Loop Input Error (CLIE) method; the Direct Dynamic Identiﬁcation Model with Nonlinear Kalman Filtering (DDIM-NKF), the Adaline Neural Network (AdaNN), the Hopﬁeld-Tank Recurrent Neural Network (HTRNN) and eventually a set of Physically Consistent (PC-) methods allowing the enforcement of parameter physicality using Semi-Deﬁnite Programming, namely the PC-IDIM-OLS, -WLS, -IRLS, PC-IDIM-IV, and PC-DIDIM. BIRDy is robot-agnostic and features a complete inertial parameter identiﬁcation pipeline, from the generation of symbolic kinematic and dynamic models to the identiﬁcation process itself. This includes functionalities for excitation trajectory computation as well as the collection and pre-processing of experiment data. In this work, the proposed methods are ﬁrst evaluated in simulation, following a Monte Carlo scheme on models of the 6-DoF TX40 and RV2SQ industrial manipulators, before being tested on the real robot platforms. The robustness, precision, computational efﬁciency and context of application the different methods are investigated and discussed.


Motivation and Related Works
The growing popularity of adaptive, predictive, and passivity-based control strategies in robotic applications raises new challenges for researchers and engineers. Since these methods rely on an explicit formulation of system dynamics, substantial research efforts are being made in the field of inertial parameter identification to improve their performance and robustness, see for example [1] and the references therein. In the context of rigid robots, techniques for identifying the inertial parameters are generally based on a rigorous analysis of joint movements and torque signals over a predefined time horizon. A given robot is tracking a trajectory that excites the different components of its dynamic model and the residuals in terms of motion and torque are used to refine the parameters estimates. The most common approach to offline or batch dynamic parameter identification is the Inverse Dynamic Identification Model with ordinary Least-Squares estimation (referred to not be considered in this work, as the mapping between DNN hyper-parameters and robot dynamic parameters is not yet fully understood, thereby making a comparison with conventional identification methods irrelevant.

Problem Formulation and Proposed Contributions
Although it seems possible from the previous studies to infer specific tendencies as to the performance and context of application of the different identification algorithms [29], it is worth noting that no study currently provides a general guideline, based on quantitative arguments, such as encoder noise level, sampling frequency or knowledge of the control law. To be valid, such a study should be carried out within the same framework, on a wide range of methods, under well-defined experimental conditions and using a Monte Carlo analysis scheme to provide statistically significant results. Although benchmarking is common practice in the automatic control community-see e.g., [30][31][32] among others-it is less common in robotics, with some notable exceptions [33][34][35]. In practice, evaluating the performance of an identification method on a real system proves to be a difficult task since the latter can never be perfectly modeled. This is a direct consequence of the wide variety of complex physical phenomena-such as backlash or nonlinear friction-that have a significant influence on the system behavior while being relatively challenging to model. On the contrary, the identification of a simulated system allows a rigorous quantification of an algorithm's performance since the characteristics and parameters of the simulated model are well known and can therefore be used as a reference. The simulation also makes it possible to highlight the influence of specific physical phenomena-e.g., joint friction or measurement noise-on the estimates' quality. Therefore, our first contribution is to propose a dedicated framework, in the form of an open-source Matlab toolbox, which makes it possible to formally evaluate the performance of multiple identification algorithms on the same robot model and under the same conditions or assumptions. We use this benchmark to formally evaluate the performance of a set of algorithms among the most widely used offline computational approaches to robot dynamic parameter identification. The reader can find a summary of the evaluated identification methods in Appendix A Table A1. Though it is always interesting to formally compare different methodologies, the usefulness of such a comparison remains questionable if no conceptual relationship can ultimately be established between these approaches. For instance, stating that IDIM-IV or DIDIM outperforms IDIM-OLS in the case of improper data-filtering and/or too noisy data is not really helpful nor constructive for practitioners since this gain of robustness against noises is expected from IDIM-IV, and Output Error approaches. Instead, it is more interesting to show how the data-filtering helps IDIM-OLS to provide results that match those provided by IDIM-IV and Output Error approaches. Therefore, our second contribution is to establish some relationships between different methods to emphasize their similarities and differences. Finally, establishing relationships allows providing some guidelines to practitioners non-expert in robot identification to help them to choose an identification method among all the available approaches: this is the third and last contribution of this work. The paper is organized as follows: Section 2 provides a theoretical overview of how simulated robot modeling and control are achieved in the context of identification. Sections 3-7 provide a theoretical overview of each method, highlighting their differences, weak points and discussing the potential implications in terms of expected performance. In more detail, Section 3 discusses the IDIM-OLS, -WLS, and -IRLS identification approaches, and highlight their weaknesses. Section 4 introduces the IDIM-IV, and ML approaches, Sections 5 and 6 respectively introduce the Input-and Output Error methods (CLOE, CLIE, and DIDIM) as well as a set of the alternative approaches based on nonlinear Kalman filtering and neural networks. Section 7 discusses the different approaches allowing the enforcement of physicality in the parameter identification process. Section 8 then describes the proposed benchmark, emphasizing its structure and the adopted conventions. The different experiments, and their results, are presented in Section 9 and discussed in Section 10. Finally, Section 11 provides a brief conclusion and opens perspectives for further developments of BIRDy.

Inverse and Direct Dynamic Models
The inverse dynamic model (IDM) of a rigid serial robot manipulator with n-degreesof-freedom relates the joint-space motion quantities q,q,q ∈ R n , to the generalized forces τ idm ∈ R n applied to the system. The IDM can be derived using the Euler-Lagrange formalism (c.f. [36]), resulting in the following equation M(χ, q)q + C(χ, q,q)q + g(χ, q) + ζ(χ,q) = τ idm . (1) where M(χ, q) ∈ R n×n denotes the generalized inertia matrix, C(χ, q,q) ∈ R n×n the Coriolis and centripetal effects matrix, g(χ, q) ∈ R n the gravitational torque vector, and ζ(χ,q) ∈ R n the friction vector. This equation is parameterized by the vector χ = [χ 1 χ 2 · · · χ n ] ∈ R p concatenating the standard dynamic parameters of each robot link j, expressed as χ j = XX j , XY j , XZ j , YY j , YZ j , ZZ j , MX j , MY j , MZ j , M j , Ia j , Fv j , Fc j , (2) where XX j , XY j , XZ j , YY j , YZ j , ZZ j are the elements of the inertia tensor L j of link j, expressed at the link origin L j , Ia j refers to inertia of the actuator and transmission system, M j is the link mass, X j , Y j , Z j are the coordinates of the link Center-of-Mass in L j and MX j , MY j , MZ j are the corresponding first moments (c.f. [37]). Let h(χ, q,q) ∈ R n be the vector that regroups the Coriolis, centripetal, gravitational and frictional effects, namely h(χ, q,q) = C(χ, q,q)q + g(χ, q) + ζ(χ,q). The direct dynamic model (DDM), allowing calculation of the joint accelerationsq as a function of the joint positions q, joint velocitiesq, generalized forces τ idm and of the vector χ of dynamic parameters, can then be written as q = M −1 (χ, q)(τ idm − h(χ, q,q)) .
From Equation (3), is it clear that the DDM is nonlinear with respect to the dynamic parameters and the robot's state vector defined as x = [q q ] ∈ R 2n . By contrast, the IDM has the interesting property of being linear in χ, and can thus be reformulated as where Y χ (q,q, q) = ∂τ idm /∂χ ∈ R n×p denotes the closed-form expression of the Jacobian matrix of τ idm with respect to χ, often referred to as the model regressor. It is worth noting that the equality in Equation (4) only holds provided that the friction term ζ(χ,q) is also linear with respect to the parameter vector (in case this is not verified (4) is only a first-order approximation of a potentially much more complex system.) χ and that the vectors q,q,q and τ idm are noise-free. Under these assumptions, dynamic parameters identification can be considered to be an inverse problem. Sampling (4) at multiple different time epochs along a given state trajectory results in an over-determined observation system of linear equations in χ, for which a unique solution can be derived provided that the system is not rank deficient. Note however that this latter point turns out to be hardly verifiable in practice.

Base Parameters and Identification Model
As explained in [2], the rank of the sampled observation system is function of two factors, namely the nature of the collected data samples, and the internal structure of the regressor matrix Y χ . Data rank deficiency of the observation system is a direct consequence of noisy or improper data samples that do not adequately excite the model parameters (i.e., that do not sufficiently reveal their influence on the system dynamics). This issue can most of the time be solved by having the robot track a trajectory that is specifically designed to excite the model parameters [38]. The other aspect of the problem lies in the fact that the intrinsic geometrical properties of robot manipulators naturally imply that some of the dynamic parameters within the χ vector simply cannot be identified, for having rigorously no influence on the actual robot motions whatever the followed trajectory. In the same manner, some parameters can only be identified jointly because of their combined influence on the system. From a formal point of view, these issues can be characterized as a structural rank deficiency of the regression matrix Y χ . To solve this issue, it is necessary to perform a set of column rearrangements within Y χ , eventually leading to the set of b ≤ p base parameters that are actually linear combinations of the standard parameters χ. Base inertial parameters are defined by [39,40] as the set of dynamic parameters which is sufficient to completely describe the-intrinsically constrained-dynamics of a robot mechanism. As exposed in [37], the base parameter vector β ∈ R b can be obtained by performing a set of rearrangements in the symbolic expressions of (4) (note that in this context, some of the performed symbolic simplifications are only made possible using proximal DH convention). In [41], an alternative computation method was proposed based on Fourier series decomposition of the robot dynamic equations. Dedicated numerical methods based, for example, on QR decomposition can also be used. Consider the observation matrix W χ (q,q, q) ∈ R (n·N)×p constructed by stacking the samples of Y χ obtained from a randomly generated set of N >> 1 distinct joint values: where for r = nN, Q ∈ O(r), R ∈ R b×p is an upper-triangular matrix of rank b ≤ p and P ∈ O(p) is a permutation matrix chosen -by default -so that the diagonal values of R are arranged in decreasing order. Denoting by P ∈ R p×b and P ∈ R p×(p−b) the first b and last p − b columns of P leads to where R ∈ R b×b and R ∈ R b×(p−b) respectively denote the first b and the last p − b columns of R. Since P is orthogonal, one can write W χ χ = W χ P W χ P χ χ (10) with χ = P χ and χ = P χ, yielding (11) = W χ P β (12) and hence the corresponding non-bijective mapping between the base parameter vector β and the standard parameter vector χ β = P R −1 R P χ (13) Note that-as explained in [20]-a bijective map m can still be defined between (β, χ) and χ as (14) in which case the inverse mapping is The problem of robot identification can hence be formulated as estimating the value of β such that the dynamic behavior of the model matches that of the actual robot while it is tracking a permanently exciting trajectory. It is worth noting that as some of the base parameters may only have a minor influence on the robot dynamics, they can be neglected in practice. Therefore, a reduced set of parameters, referred to as "essential" parameters in [42] can be identified but will not be considered in this work.

Control Strategy
Robots being double-integrator systems, they are naturally unstable in open-loop and must therefore be operated and identified in closed-loop. Since most electrically actuated robots use Direct Current (DC) or Brushless Direct Current (BLDC) motors, the control structure at the joint level usually consists of a cascade of PD or PID regulators, the position and velocity loops providing a reference for the current-torque loop (c.f. [37]). As pointed out in [12,43], provided that the low-level current loop has a sufficient bandwidth, (typically, above 500 Hz, which is usually verified on most Direct current (DC) or Brushless Direct Current (BLDC) actuators since the torque reference is adjusted at the PWM frequency, i.e., 16-40 kHz) and considering the linear mapping between the current and the torque within DC and BLDC motors, its transfer function can be expressed as a static gain in the characteristic frequency range of the rigid robot dynamics (typically, less than 10 Hz for industrial robots as explained in [12,43]). In the case of a PD controller, the resulting control torque applied to the robot can be then typically be computed as: where K τ , K p and K d ∈ R n×n are the diagonal drive, position and velocity gain matrices and τ f f is a feed-forward term (assumed to be zero in this work). Please note that the drive-gain matrix K τ contains the combined influence of the static gains K v of the current amplifiers, gear ratios K r and electromagnetic motor torque constants K m , and can thus be written as K τ = K v K r K m (c.f. [43]).

Ordinary, Weighted and Iteratively Reweighted Least-Squares (IDIM-OLS, -WLS, -IRLS)
Let Y β (q,q, q) = ∂τ idm /∂β ∈ R n×b be the closed-form expression of the Jacobian matrix of τ idm with respect to the vector β of base parameters, obtained by column rearrangements of the robot regressor matrix Y χ (q,q, q) following Y β (q,q, q) = Y χ (q,q, q)P, with P the permutation matrix defined in Section 2.2. Then (1) can be rewritten in the following form: In practice, because of the uncertainties caused by measurement noises and modeling errors, the actual torque τ differs from τ idm by an error e ∈ R n so that (17) becomes Equation (18) represents the Inverse Dynamic Identification Model (IDIM) relation (c.f. [43] and the references therein). The IDIM is sampled at a rate f while the robot is tracking exciting trajectories during an experiment. For N collected samples, an overdetermined linear system of n · N equations and b unknowns is obtained where y τ ∈ R n·N is the sampled vector of τ; W (q,q, q) ∈ R (n·N)×b is the sampled matrix of Y β (q,q, q), referred to as observation matrix; and ε ∈ R n·N is the sampled vector of e. For the sake of compactness, W (q,q, q) will be noted W in the rest of this work. Please note that ε is here assumed to be serially uncorrelated, zero-mean and heteroskedastic, with a diagonal covariance matrix Σ. This choice is justified in [6,44] by the fact that robots are nonlinear multi-input multi-output (MIMO) systems. The most popular approach to solving (19) consists of computing the weighted least-squares estimateβ W LS and associated covariance matrix Σ W LSβ The diagonal terms Σ jj of Σ can be evaluated from the ordinary least-squares solution of (19), following the guidelines of [2] ∀j ∈ {1 · · · n}, Σ jj = ε OLS j where ε OLS j denotes the IDIM-OLS sampled error vector for joint j. Note that a correlation between the measured joint torque signals will result in non-negligible off-diagonal terms in Σ. However, these terms can still be estimated using for instance the method of [23]. This method is both simple to implement and computationally efficient. In addition, it was successfully applied to multiple existing systems such as cars [45], electrical motors [46] or compactors [47]. It is worth noting that the vulnerability of OLS and WLS to outliers can be addressed using a specific Huber estimator (c.f. [48,49]). This is referred to as the Iteratively Reweighted Least-Squares (IRLS) in [50]. The resulting IDIM-IRLS method takes the form of an iterative process, which consists of applying additional penalty to the outliers, in the form of a dedicated weight vector υ i ∈ R n·N and a weight matrix Υ i = [υ i , · · · , υ i ] ∈ R (n·N)×b for each iteration i, in order to eventually mitigate their contribution to the final result where · * refers to the element-wise multiplication operator. Accordingly, the IDIM-IRLS estimateβ i IRLS at iteration i is given bŷ The weight vector υ i is updated following where Min(·) is the element-wise min operator and Λ : R n·N → [0, 1] n·N is a tailor-made weight function. The process is iterated until convergence of the weights. This method was successfully tested on robotic systems in [23,51]. It is critically important to note that the LS estimates in general, will be unbiased if and only if the observation matrix W is uncorrelated with the error term ε, or in other words, that the following equality holds Unfortunately, the presence of uncorrelated random components within the observation matrix does not allow this hypothesis to be validated in practice. Noise sensitivity is especially problematic in the context of robotic systems as the joint accelerations, obtained by double time differentiation of the noisy encoder data, often exhibit poor signal-to-noise ratio with multiple outliers. A workaround to this issue is to filter the joint measurement signals as suggested by [2] where a pragmatic and tailor-made data-filtering is proposed. Nevertheless, this requires the knowledge of the bandwidth of the position closed-loop and special attention due to the bias induced by the filter, see [7,43,52] for more details. It is worth noting that in the case of periodic excitation trajectory with a known characteristic frequency, it is possible to use Fourier analysis tools to perform frequency domain filtering as suggested in [11,53]. The other alternative is to use identification methods that are robust against a violation of (25).

Total Least-Squares (IDIM-TLS)
The issue of noisy observation matrix, can in theory, be tackled using Total Least-Squares (IDIM-TLS) approach. As exposed in [54,55], the TLS estimateβ TLS can be computed using a singular value decomposition of the augmented matrix X = [W y τ ] ∈ R (n·N)×(b+1) as where V Wy ∈ R b and V yy ∈ R . Following [4,56], the covariance Σ TLS of the TLS estimatê β TLS can be approximated as where S min ∈ R is the minimum non-zero singular value of X. Only a few pieces of research actually explore the potential use of total least-squares in the context of robot dynamic parameters identification. In [6], the authors observed that the IDIM-TLS estimate is biased if the joint data are not suitably filtered. Moreover, they noted that although TLS convergence occurs with adequate data-filtering, it does not outperform ordinary and weighted least-squares. Motivated by [57,58], in [59] part 4.2.6, the author raised some general comments on the IDIM-TLS method and stressed that its disappointing performance can be explained by the fact that it is based on the hypothesis that the noises have all the same variances whereas this assumption is violated in the case of an improper data-filtering according to [60]. It would in fact be more appropriate to use the Generalized Total Least-Squares (GTLS) method popularized by Van Huffel and Vandewalle, [4,61]. However, to properly use the GTLS method, the covariance matrix of noises involved in W must be known. Unfortunately, if such an information is easily accessible for linear systems, it is not for robots. Indeed, besides the noise amplification effect induced by the process of numerical time derivation of the joint angles-used for joint velocity and acceleration computation-the IDM involves nonlinear functions such as the sine, cosine, square or sign operators, making the calculation of this covariance matrix difficult, if not intractable. This comment explains the reason the TLS or GTLS methods are seldom employed in the context of robot identification (see e.g., [54,62]) whereas they are widely considered in signal processing, see e.g., [63] and the references therein. First introduced by [64] in the context of econometrics, the Instrumental Variables (IV) approach to parameter identification consists of defining an instrument matrix Z ∈ R (n·N)×b such that which means that Z is both well correlated with the observation matrix W and uncorrelated with the error term ε, see e.g., [6,65,66]. In this case, one obtains Z y τ = Z W (q,q, q)β + Z ε (29) and the IV estimates given byβ = (Z W ) −1 Z y τ (30) are consistent. The use of IV for identification of robotic systems is reported in several approaches (see for instance [6,52,[67][68][69][70] and the references therein). The critical issue here lies in the construction of the instrument matrix Z fulfilling (28a) and (28b). In this context, an ideal candidate for the Z instrument matrix appears to be the observation matrix denoted W s filled with simulated data that are the outputs of an auxiliary model, [66]. As explained in [6], for robot identification, the auxiliary model is the direct dynamic model (DDM) which is simulated assuming the same controller and reference trajectories that the one applied to the actual robot (c.f. Figure 1), and using the IV estimateβ i−1 IV obtained at the previous iteration. This defines an iterative algorithm. At iteration i and time epoch t k , the vector of simulated joint accelerationsq i s (t k ) is computed as By successive numerical integration of (31) one can obtain the vector of joint simulated positions and velocities denoted (q i s ,q i s ), respectively, from which it is then possible to build the instrument matrix Z i ∈ R (n·N)×b by stacking the regression matrices Y β (q i s ,q i s ,q i s ) obtained from the samples of q i s ,q i s ,q i s at each t k as Assuming that there are no modeling errors, the simulated joint positions, velocities and accelerations tend to the noise-free estimates denoted (q n f ,q n f ,q n f ), respectively, yielding Please note that Z i given by (33) naturally complies with the conditions (28a) and (28b). In [6,52,69,70] the IDIM-IV estimates are formulated in a weighted recursive manner as: where W i s is given by (32). Once the IDIM-IV method has converged, the covariance matrix of the IDIM-IV estimates is given by It should be emphasized that the consistency of the close-loop simulation in IDIM-IV relies on the assumption that the controller of the real robot and that of the simulated robot are the same. A difference in the control strategy will result in a different command τ s being issued for a given state, eventually resulting in a bias in the parameter estimate. The results of [6,52,59,69,70] suggest that the convergence of IDIM-IV method is more robust against noise than IDIM-OLS/-WLS/-TLS and also faster than Output Error methods presented later in this article (c.f. Section 5). It should be noted, however, that convergence is slower than IDIM-OLS since simulation of the DDM is required. More generally since both the IDM and DDM are calculated from Newton's laws, it seems more natural to simulate the DDM to construct Z rather than computing the covariance matrix of noises involved in W and y. In [52,69] the authors proved that IDIM-IV gives excellent results provided that the low-level controller is well-identified. Nevertheless, the robustness against high noise levels have not yet been suitably investigated and would deserve deeper treatment.

Maximum Likelihood (ML) Identification Method
Investigated in [9][10][11], the Maximum Likelihood (ML) parameter identification algorithms aims at tackling the issue of noisy torque and joint angle measurements. These works are the first ones actually addressing the issue of noisy observation matrices. In [10], the authors present an improvement of the original ML approach presented in [9]. The ML criterion they adopt can be formulated aŝ where σ 2 k ∈ R 4n denotes the diagonal variance matrix of the k th sample (this allows in particular to account for the effects of time differentiation in the joint signal in terms of noise amplification), ε(t k ) is the error at the k th torque sample defined in (19); and G k = ∂ε(t k )/∂s k ∈ R n×4·n is the Jacobian matrix of this error relative to the measurement vector s k = q(t k ) q(t k ) q(t k ) τ(t k ) ∈ R 4·n . Because G k involves the IDM, this ML approach can be called IDIM-ML. In the IDIM-ML approach, the authors suggest constructing the vector s k by averaging the original measurements of q(t k ),q(t k ),q(t k ) and τ(t k ) over N real realizations. Then, s k is used to construct the following observation matrix denoted W. It must be noticed that provided N real is big enough and the variances of the original measurements are finite, the Lyapunov criterion ensures that s k is close to a Gaussian distribution. Note also that it can be even further assumed that s k tends to the noise-free original measurements as N real grows and the noise level is reasonable which means that one has W → W n f . Interestingly, this ML approach is somehow related with the IDIM-IV method developed in [6]. Indeed, the authors suggest building an instrumental matrix such that Z = W n f using simulated data and the IDM while in [10] the authors suggest constructing W with W → W n f . Furthermore, in [71], the author establishes some interesting relationships between IV and ML approaches. It is thus expected that IDIM-IV and ML approaches give similar results. However, in [9] a prewhitening process has been carried out to remove all the coloring and correlation of the measurement noise. Without this prewhitening process which can be connected with the use of the decimate filter, the statistical assumptions made on the noise may be violated making the ML approach potentially unable to provide consistent estimates. Furthermore, it should also be stressed that the joint torques in these approaches are measured via current-shunt monitors instead of being the outputs of low-level controllers as usually done in [42]. Therefore, if the ML method does not require the simulation of the DDM, it could prove more sensitive to noises and is more time-consuming than IDIM-IV is.

Closed-Loop Output Error (CLOE)
As indicated by its name, an Output Error method consists of finding the parameter vector β that minimizes the value function J(β) defined as the squared L2-norm of the error between the output y of a system to be identified and the output y s of its model (see [72,73] and the references therein) In the case of a robot we define y = [q(t 1 ) · · · q(t N ) ] ∈ R n·N (resp. y s = [q s (t 1 ) · · · q s (t N ) ] ∈ R n·N ). Please note that Cartesian space formulations of the error function are also possible, see for instance [74]. The minimization of (37) is a nonlinear LS-optimization problem solved by running iterative algorithms such as the gradient or Newton methods which are based on a first-or a second-order Taylor's expansion of the value function J(β). The unknown parameters are therefore updated iteratively so that the simulated model output fits the measured system output, witĥ where ∆β i ∈ R b is the innovation vector at iteration i. Output Error identification can be carried out in Open-Loop or in Closed-Loop. However, robots being double-integrator systems, Open-Loop Output Error (OLOE) turn out to be seldom used in practice compared to Closed-Loop Output Error (CLOE) as it is highly sensitive to initial conditions (c.f. [43] for a more detailed discussion on the topic). In CLOE, the simulated data are obtained by integrating the DDM in (3) assuming the same control law for both the actual and simulated robots-without gain adjustments-and usingβ i−1 the estimate of β calculated at iteration i − 1. The general principle of the CLOE method is illustrated in Figure 2. Let the simulated joint positions q s be the model outputs. At time t k the error to be minimized is given by Then, if a classical Gauss-Newton algorithm is chosen, after data sampling and datafiltering, the following over-determined system is obtained at iteration i: where ∆y(q) ∈ R r is the vector built from the sampling of e CLOE (t, β); Φ i CLOE ∈ R (r×b) is the matrix built from the sampling of G q s = ∂q s /∂β| β=β i CLOE ∈ R (n×b) , the Jacobian matrix of q s evaluated atβ i CLOE ; and the term ε i CLOE ∈ R r is the vector built from the sampling of the residuals of the Taylor series expansion. Then, ∆β i , the LS estimate of ∆β i CLOE at iteration i is calculated with (40). Please note that numerically computing the Jacobian G q s with finite differences requires b + 1 model simulations. Therefore, CLOE is expected to be computationally expensive compared to IDIM-OLS or IDIM-IV. Once CLOE has converged, the covariance matrix of the CLOE estimates is given by where Σ q is the variance matrix of the joint position measurement noise. Although CLOE is less sensitive to initial conditions, it turns out to be less responsive to changes in the parameters as explained in [5]. As a result, CLOE is expected to converge slowly and potentially to local minima. Please note that alternative optimization methods using the derivative-free Nelder-Mead nonlinear simplex method, Genetic Algorithm (GA), Particle Swarm Optimization (PSO) can potentially be used to tackle this issue. In [5] for example, the authors used the fminsearch Matlab function which makes use of the Nelder-Mead simplex algorithm. According to the results presented in [5], although the simplex method appears to be more robust than the classic Levenberg-Marquardt method, it requires an even higher computational effort.

Closed-Loop Input Error (CLIE)
The CLIE method can be seen as a variation of the CLOE method where the simulated torque is being used instead of the simulated position in Equation (37), resulting in y = τ(t 1 The general principle of the CLIE method is illustrated in Figure 3. In this case, the error function which must be minimized at time t k has the following expression and relation (40) thus becomes where ∆y(τ) ∈ R r is the vector built from the sampling of e CLIE (t, β); Φ i CLIE ∈ R (r×b) is the matrix built from the sampling of G τ s = ∂τ s /∂β| β=β i CLIE ∈ R (n×b) , the Jacobian matrix of τ s evaluated atβ i CLIE (often referred to as input sensitivity); and ε i CLIE ∈ R r is the vector built from the sampling of the residuals of the Taylor series expansion. Then, ∆β i , the LS estimate of ∆β i CLIE at iteration i is calculated with (43). Once CLIE has converged, the covariance matrix of the estimate is given by This method was successfully implemented in [12] and formally compared to CLOE, DIDIM and IDIM-OLS. From this work, it appears that although CLIE outperforms both IDIM-OLS and CLOE in terms of accuracy, it has a similar computational complexity as CLOE, as a direct consequence of the finite difference Jacobian matrix computation. The authors demonstrated that CLIE could in fact be thought of as a frequency weighting of the CLOE method by the controller's gains. This property can be verified in practice by re-injecting (16) into the expression of the sensitivity matrix G τ s . As a result, although the two estimators are asymptotically equivalent, CLIE proves in practice to be more sensitive to the changes in parameters than CLOE, thereby inducing better convergence properties.

The Direct and Inverse Dynamic Identification Model (DIDIM) Algorithm
In [43], a new algorithm termed Direct and Inverse Dynamic Identification Model (DIDIM) was proposed. The DIDIM method can be seen as a variation of the CLIE algorithm where some judicious approximations, made in the torque Jacobian matrix computation, yield G τ s = ∂τ s /∂β| The initial nonlinear LS problem at iteration i hence turns into a much simpler linear LS problem allowing the DIDIM estimates to be calculated asβ  Figure 4. Once DIDIM method has converged, the covariance matrix of the DIDIM estimates is given by According to the results gathered in [12,43,75], the DIDIM algorithm converges significantly faster than the CLOE and CLIE methods as it only requires a single robot simulation per iteration. In [12], the authors also demonstrate that DIDIM has a similar precision as CLIE. It is interesting to note that the OE methods are generally less sensitive to noise than IDIM-OLS methods since only simulated data are used to build W i s . Until now, no formal comparison with IDIM-IV was carried out although [76] provides some elements of discussion, suggesting that the two methods have similar performance. However, further investigations must be conducted to refine the conclusions made in [76].

Direct Dynamics Identification Model (DDIM) and Nonlinear Kalman Filtering (NKF)
Widely used for state estimation purpose, Kalman filtering techniques can also be exploited in the context of parameter identification. As explained in [77], identification can be carried out in two different manners, denoted respectively as dual method (c.f. [78,79]) and joint method (c.f. [7,14,80,81]). In the first approach, the system state and parameters are identified separately, within two concurrent Kalman filter instances, while in the second one, state and parameters are estimated simultaneously, within a single Kalman filter featuring an augmented state representation. With the notable exception of [79], approaches to robot dynamic parameters identification found in the scientific literature are usually based on the joint filtering paradigm. Since this approach allows accounting for the statistical coupling between the state and the parameters, as suggested by [82], it is, therefore, expected to be significantly more robust than the dual filtering method.
In the joint filtering approach, at time t k , the state vector and the current estimate of base parametersβ k−1 KF are stacked column-wise into a higherdimensional state vector z k = x kβ k−1 KF ∈ R 2·n+b resulting into the following set of update equations: where , R ∈ R n×n are respectively the process-noise and measurement-noise covariance matrices; S = 0 n×n 1 n×n 0 n×b ∈ R n×(2·n+b) is a selection matrix; 1 n×n denotes the (n × n) identity matrix, and 0 n×b the (n × b) zero matrix. As with [7], the nonlinear state transition function Γ(z k ) is given by the robot direct dynamic model (DDM) as In [79], the authors used a different state representation, assuming that the noise level in the joint encoders was negligible, and that the joint motion derivatives could therefore be computed independently. In this context, the state update Equation (48) can be simplified KF while the measurement prediction equation consists of the IDM, computed using the Recursive Newton Euler (RNE) algorithm (c.f. [83]). Note that this is not the exact formulation of [79], as the authors use sigmoid barrier functions to enforce physical consistency. This aspect is discussed in greater details in Section 7. In practice, the DDM nonlinearity in (47) and (48) can be addressed in several different manners. We here briefly present some of the most popular approaches, namely the Extended Kalman Filter (EKF), the Sigma-Point Kalman Filter (SPKF) and the Particle Filter (PF). In the EKF, the prior estimate is propagated through a first-order linearized version of the robot dynamics. Although the resulting computational cost is low, it should be noted that the first-order linearization induces a bias in the posterior mean and covariance of the estimate. This bias can be non-negligible when the considered system is highly nonlinear. In SPKF implementations such as the Unscented Kalman Filter (UKF) or the Central Difference Kalman Filter (CDKF), a set of deterministic samples of the prior estimate (assumed to be normally distributed) are propagated through the true nonlinear dynamics of the system. In this manner, the nonlinearities can be taken into account up to the second order. Although this method significantly reduces the bias on the estimates of the posterior mean and covariance, it must be noted that it has a higher computational cost than the EKF, although it remains on the same order of magnitude. This aspect is discussed in greater details in [82]. Finally, in a Particle Filter (PF) no prior assumption is made on the nature of the estimate distribution. The latter is in fact sampled using a Monte Carlo method, hence resulting in enhanced robustness, even to severe non-linearities and non-Gaussian noises, but at the expense of computational cost, as the number of particles has a direct influence on the precision of the estimate (c.f. [84,85]). The full derivation of the EKF, SPKF and PF algorithms being out of the scope of this paper, the reader is referred to [82] for a more in-depth discussion and comparison between the different filters. In the context of parameter identification, it is worth noting that τ(t k ) in Equation (48a) may either denote the torque measured during the experiments-as is for example the case in [7,80]-or the control torque applied to the simulated closed-loop system during the time-update step of the Kalman filter. In this manner, parameter identification can still be achieved when torque measurements are not available or available at a low sampling rate, but that the robot control structure and control parameters are known. Note however that in the latter case the control loop is updated at the robot control frequency f c . As a result, several control iterations can potentially be executed between two updates of the Kalman filter. To the best of our knowledge, this was so far never applied to the field of parameter identification.

Parameter Identification Using an Adaline Neural Network (AdaNN)
The Adaline (ADAptive LInear NEuron) uses stochastic gradient learning to converge to the IDIM-OLS estimate. The estimator has the following dynamic equatioṅ where e is the error defined in Equation (18). The parameter estimateβ k AdaNN at epoch t k can hence be expressed recursively aŝ ) is the observation matrix of the real system at epoch t k , τ(t k ) is the corresponding torque, and η ∈ R is referred to as the learning rate. A single "neuron" thus allows full model identification (c.f. Figure 5a). As several passes over the hole dataset may be necessary to achieve proper convergence, the sequence of observations Y k and τ(t k ) must be randomly reshuffled to avoid cycles [86]. Applications of the Adaline method to robot identification was investigated in [13,14]. The results suggest that the main advantage of Adaline over IDIM-OLS could be its ability to run online.

Parameter Identification with Hopfield-Tank Recurrent Neural Networks (HTRNN)
Hopfield-Tank recurrent neural networks are dynamic systems made of a set of N interconnected units, or neurons. Each neuron i behaves as an integrator coupled with a specific nonlinear activation function f as depicted in Figure 5b. In its original formulation [87], the neuron continuous state equation is expressed as where u i (t) is the internal state of neuron i, κ i ∈ R is its input bias, ψ ij ∈ R is the connection weight of neuron i with neuron j, s j (t) = f (u j (t)) ∈ [−1, 1], and where R i , C i ∈ R + are design parameters corresponding to a resistance and a capacitance respectively. As with [13,14,88] we consider in this work the discrete Abe's formulation of Hopfield-Tank neural networks (originally described in [89]) since, as explained in [88,90], it is particularly suitable for parametric optimization and parameter identification purpose. In Abe's formulation, the activation function is a hyperbolic tangent: This leads to the following discrete neuron state equation: where η ∈ R + is a tuning parameter often referred to as the learning rate of the network. It can be demonstrated (c.f. [88,91]) that such a dynamic system is asymptotically Lyapunov-stable, and that its natural evolution converges toward the minimum of the following energy function: where Under these conditions, the process of parameter identification can be thought of as matching the L2-norm of the parameter error ε of Equation (19) with the energy function (54) of the Hopfield network. This can be achieved by selecting: The resulting neural network will therefore have as many neurons as base dynamic parameters to identify, and the corresponding parameter estimateβ HTRNN will converge to the ordinary least-squares (IDIM-OLS) estimate, provided that the appropriate solution range is selected. This range should therefore be carefully adjusted. This is made possible by properly tuning the parameter α j in (53).

Mathematical Formulation of the Physical Consistency Constraints within a Parameter Identification Process
The possibility of enforcing physical consistency as part of a parameter identification process has been the subject of extensive research over the past two decades, in robotics. Early contributions, such as [15,16,20], formulated the parameter physicality of a given robot link j, as a set of positivity constraints on its mass M j , viscous-Coulomb friction parameters Fv j , Fc j and on its transmission-chain inertia Ia j , as well as a positivity-definition constraint on the inertia tensor I j expressed at the link's CoM, namely It is worth noting that prior [20], approaches to physically consistent inertial parameter identification were usually leveraging the equivalence between the positivity-definition constraint on the inertia matrix I j a set of strict positivity constraints on its eigenvalues I xxj ,Ȋ yyj andȊ zzj . These eigenvalues are in fact the moments of inertia along the so-called link's principal axes of inertia, yielding whereȊ j = diag(Ȋ xxj ,Ȋ yyj ,Ȋ zzj ) and R j ∈ SO(3) is the rotation matrix relating the frame I j of the principal axes of inertia, to the link's Center-of-Mass frame C j . In this context, ref. [16] proposed a reformulation of IDIM-OLS as a nonlinearly constrained optimization problem, solved using Sequential Quadratic Programming (SQP), while [79] suggested to directly identify the elements ofȊ j instead of L j , using sigmoid functions within an EKF identification loop to smoothly bound the parameter estimates to physicality. It is worth pointing that such an approach could also possibly be applied to the HTRNN identification process by modifying the hyperbolic tangent activation function, although, to the best of our knowledge, this was never done. Conversely, ref. [20] proposed reformulating IDIM-LS under physicality constraints in a Semi-Definite Programming (SDP) perspective, writing (56) in the form of a Linear Matrix inequality (LMI). Provided that the reference frame L j of link j and its CoM frame C j have the same orientation, I j can indeed be related to the inertia tensor L j expressed in L j , using the Huygens-Steiner theorem where l j = MX j , MY j , MZ j ∈ R 3 denotes the vector of link's first moments and ∀u, v ∈ R 3 S(u)v = u × v. Observing that (58) is in fact the Schur complement of a matrix D Lj (χ) ∈ S 6×6 allows rewriting (56) as where 0 3×3 , 1 3×3 respectively denote the 3 × 3 zero and identity matrices. In [21,22,24], the authors went one step further by noticing that (56) and (59) could still potentially lead to inconsistent link mass distributions. They consequently defined a density-realizability criterion as an additional triangle-inequality condition to be fulfilled alongside with (56), namely where tr (·) denotes the trace operator. A reformulation D Lj (χ) ∈ S 4×4 of the term D Lj (χ) within the constraint matrix D j (χ) was eventually proposed to account for density realizability constraints alongside with (56) naturally leading to the following SDP reformulation of IDIM-OLS and -WLS, that will be here referred to as Physically Consistent (PC-IDIM-OLS and -WLS) where G −1 denotes the inverse mapping m −1 (β, χ) defined in (15). It is worth mentioning that the very structure of IDIM-IRLS (c.f. [23]), IDIM-IV and DIDIM (c.f. [92]) also makes it possible to seamlessly integrate the LMI physicality constraints by actually solving an SDP at each iteration of the corresponding algorithms. For instance, the PC-DIDIM algorithm (proposed in [92]) can be implemented by solving at each iteration î Please note that [19] recently proposed a set of alternative parametrizations, allowing direct enforcement of physicality of the reconstructed dynamic parameters without need for constrained optimization techniques. Following their method, one could for instance enforce the constraints in (61) where ∀i, j ∈ [1, · · · , 4], H ij ∈ R is the element of row i and column j of the lower triangular matrix H ∈ R 4×4 and ε << 1 is a regularization term. It is also worth mentioning that [93] independently proposed a linearization of both the positivity-definition and density realizability constraints applied to I j , in the form of a mass-positivity constraint applied to a distribution of point-masses located within each robot link (this is not without reminding the linearized friction-cone constraints applied to walking robots to ensure stable contacts with the environment). Provided that the number of point-masses is "high enough", PC-IDIM-OLS and -WLS can be reformulated as Quadratic Programs (QP) with a good precision. Nevertheless, although QP are generally extremely fast to resolve, dimensionality can here rapidly become problematic since a good approximation of a link mass distribution typically requires several hundreds of samples.

Preventing Marginal Physicality
As highlighted in [25,26], imposing parameter physicality using a set of rigid constraints within an optimization process may eventually lead to situations where the parameter estimates lie at the very border of the physical consistency spectrahedron. This phenomenon, referred to as marginal physicality, typically occurs when the unconstrained estimate lies outside the physicality region, as it might for instance, be the case when the observation matrix W is ill-conditioned, due to a lack of excitation or to excessive noise in q,q,q. In [16,94] for instance, the authors proposed adding a relaxation term within the IDIM-OLS cost function, minimizing the Euclidean distance between the current parameter estimate χ and the set of initial standard parameters χ 0 of the robot. In this case, (62) would be reformulated asβ where λ << 1 is a tuning quantity. In practice, this term allows "shifting" the current parameter estimates toward the CAD original estimates which, by essence, are physically consistent. Observing that the set of physically consistent parameters, verifying (61) could be given a Riemannian manifold structure, with a well-defined metric, refs. [25,26] proposed to replace the Euclidean distance used in the relaxation process by a non-Euclidean distance, eventually leading tô where d(·) refers to a distance function on the set of physically consistent parameters.

Introducing the BIRDy Matlab Toolbox: A Benchmark for Identification of Robot Dynamics
In this work, we conduct a rigorous and systematic performance analysis of the different algorithms described above. This analysis is carried out within a single framework and on the same robot models, following a Monte Carlo process to ensure the statistical relevance of our results. Our main objective is ultimately to provide a set of general guidelines as to the applicability of a given identification method to a particular experimental context. To our knowledge, no comparison has been made to date on such a scale, although several identification frameworks are already available [33][34][35]. To ensure the repeatability of our results and their generalization to different robot models or experimental conditions, we propose a new open-source identification framework in the form of a dedicated Matlab toolbox named BIRDy (i.e., Benchmark for Identification of Robot Dynamics). BIRDy offers a wide range of functionalities, allowing the end-user to simulate, debug and identify his own robots while focusing on the mathematical aspects of identification rather than on the implementation of his own experimental framework. As observed by [53,95], offline parameter identification methods often follow a similar workflow, whose main steps usually involve:

1.
selecting an appropriate model for the studied system, 2.
designing a state trajectory which excites the different components of this model, 3.
collecting a bunch of experimental data by having the-real or simulated-system follow the generated excitation trajectory, 4.
executing the selected identification process, 5.
evaluating the quality of the results by comparing the predicted and actual torques along a validation trajectory.
The very structure of BIRDy is directly inspired by this pipeline of operation (c.f. Figure 6). The various aspects of this configuration are presented and discussed in the following subsections, along with their operation modalities. ,ĩ q m ,q m , q m , τ mβ Y Figure 6. Block diagram of BIRDy, the Benchmark for Identification of Robot Dynamics. In this figure,q d ,q d , q d refers to the desired trajectory data, obtained from the trajectory interpolator,q,τ,ĩ respectively denote the noisy joint positions, torques and (in the case of a real robot) drive current measurements. The actual dataq m ,q m , q m , τ m used for identification, is obtained after a short pre-processing step of the raw experiment data.

Symbolic Model Generation
Model generation is the very first step toward identification: not only should the robot be simulated in a realistic manner, but its dynamics should also be expressed in the form of a system of linear equations (c.f. Equation (17)) with a well-conditioned identification regressor. BIRDy features a symbolic model generation engine, capable of computing the complete kinematics, dynamics and identification models of any fixed-base serial robot. The cases of parallel robots-such as Stewart platforms-or floating-base robots-such as Humanoids-are not yet implemented in this approach and are here considered to be future works. Similar to the robotic-system-toolbox proposed by [96], the simulated robots are described using dedicated parameter files, containing a Denavit-Hartenberg table as well as the corresponding reference dynamic, friction and control parameters of each link. Both classic (distal) and modified (proximal) Denavit-Hartenberg conventions are supported. The dynamic model is generated using the Euler-Lagrange equations of motion (c.f. [36]). It is worth noting that in case the robot is gear-driven, the inertia of the actuators and gearboxes can be precisely taken into account within (1) following the approach of [97]. A simpler alternative-used in BIRDy-consists of modeling the drive-chain inertia as an additional diagonal term I a ∈ R n×n within the inertia tensor M(χ, q), following the approach of [44]. The symbolic expression of the regressor matrix Y χ (q,q, q) is computed following the approach detailed in [98]. Finally, the vector β of base dynamic parameters and the corresponding identification regressor Y β (q,q, q) are generated numerically, following the QR decomposition method of [39] described in Section 2.2.

Trajectory Data Generation
To avoid data rank deficiency of the observation matrix W, the different components of the model should be sufficiently excited during the experiments. This can be achieved by means of specific joint trajectories, referred to as exciting. The design of excitation trajectories has been widely investigated over the past two decades, see e.g., [9,17,23,38,53,[99][100][101][102]. From these works, it appears that the conditioning of the observation matrix W is a relevant quality indicator for the generated trajectory. In our case, joint trajectories are obtained by parametrization of finite Fourier series as presented in [9,23,101]. The following cost criterion J t is minimized over the experiment time horizon using a standard nonlinear programming solver (in our case the "fmincon" and "ga" Matlab functions): where cond(·) refers to the condition number of a matrix; σ min is the smallest singular value of W; and k 1 , k 2 ∈ R + are tuning gains defined by the user. It should be emphasized that this method also allows the generated trajectories to be constrained to comply with the physical limitations of the considered robot, such as joint, velocity, torque or operational space limits. The generated trajectory is eventually stored in a dedicated data container. We provide multiple interpolation routines, based on the "interp1" Matlab function, so that relevant trajectory data can be obtained at any epoch, from a limited number of points, either generated by the optimizer or coming from a pre-existing file, created outside BIRDy. Please note that any third-party trajectory file containing a time series of joint values can be imported into the benchmark, provided its data are first stored in one of its predefined data containers.

Experiment Data Generation and Pre-Processing
Identifying the dynamic parameters of a robot manipulator requires the collection of appropriate measurements in terms of joint angles q and torques τ over a predefined time horizon. Such data can be collected when a robot-real or simulated-tracks an exciting trajectory. As depicted in Figure 6, BIRDy provides a set of simulation routines, allowing the previously generated robot models to be used for this purpose. The data collection process in the case of a simulated robot is depicted in Figure 7. The direct dynamic model (DDM) of the robot, computed according to Equation (3), is subjected to a control torque τ. BIRDy contains implementations of multiple friction models, in particular the Viscous-Coulomb, Stribeck and LuGre models, allowing for more realistic data generation (c.f. [103]). The resulting joint acceleration signalq is integrated twice, using a fixed-step Runge-Kutta method (RK1, RK2 or RK4) before a zero-mean Gaussian noise n σ q with a standard deviation σ q is added to it. The resulting signalq is then derived and eventually fed back into the controller without filtering. This allows better accounting for the effects of the numerical differentiation process occurring on real digital controllers, in terms of amplification of the measurement noise. The control algorithm itself is described in Equation (16). The robot tracks the reference trajectory (q d ,q d ) at an update frequency f c . The data sampling process occurs at a frequency f ≤ f c , both forq and for the torque measurementτ (namely the torque signal τ corrupted by a zero-mean Gaussian noise n σ τ with a standard deviation σ τ ). Please note that the reference trajectory files created by BIRDy can also be used to generate desired behaviors directly on a real robot manipulator. However, in this case, the data collection process is achieved independently using the robot communication interface. Unlike the BIRDy simulation interface, which provides direct feedback in terms of joint position and torque, the real robot interface often provides feedback only in terms of joint positionq and drive currentsĩ. Nevertheless, a reliable prior knowledge of the robot drive gains K τ of (16) makes it possible to reconstruct the torque signalτ. In practice, the robot drive gains can be identified following a dedicated Least-Squares method such as that proposed by [104,105]. The "raw" signalsq m ,q m , q m , τ m used for identification purpose, are eventually built fromq,τ by sequential time derivation followed by a parallel-decimation step in order to eliminate torque ripple and high-frequency noise components. The term "raw" here refers to the fact that the signals used for identification are not necessarily filtered. This makes it possible to test the robustness of the different identification algorithms to measurement or numerical differentiation noise. The parallel-decimation process in BIRDy is carried out with a zero-shift low-pass Tchebyshef filter, implemented using the decimate Matlab function. Similar to [2,6] the cutoff frequency f dec is set to be approximately one order of magnitude higher than the joint bandwidths. The decimation ratio n d by which the input data are being sub-sampled is defined as n d = 0.8 f /2 f dec where f is the sampling frequency. As additional band-pass filtering may be required by some algorithms (such as IDIM-OLS), the pre-processing pipeline of BIRDy also features an implementation of zero-shift Butterworth filter that can potentially be applied to the raw joint position signal q before time derivation.
Simulation Engine

Hardware Description and Experiment Setup
This work takes the form of a case study, carried out on two different robots, both in simulation and on the real systems. These robots are the 6-DoF RV2SQ industrial manipulator from Mitsubishi, depicted in Figure 8b and the 6-DoF TX40 robot from Staubli, depicted in Figure 8a. Both are described using the proximal DH convention. Widely used for industrial and research purposes, these systems are ideal test platforms for having a similar kinematic structure but somewhat different communication interfaces and control characteristics. Generally speaking, evaluating the performance of multiple identification methods on different robot models within the same framework is relevant. It allows observing the influence of system-specific factors, such as the sampling rate or the control structure's knowledge, on the overall algorithm performance. This, in turn, makes it possible to infer guidelines regarding the selection process of an identification algorithm depending on the experimental context. In practice, while the TX-40 has a high-speed communication interface allowing the joint position and torque to be sampled at rates of up to f = 5 kHz, the data acquisition process on the RV2SQ is achieved at a much lower frequency, namely f = 140 Hz. Moreover, although the low-level control characteristics of the TX40 are known with a sufficient level of accuracy (see in particular [6]), it must be emphasized that no prior knowledge of control structure, gains nor bandwidth of the RV2SQ is available. In this work, the low-level control structures are assumed to be of cascaded PD type-as described in Section 2.3-with a control bandwidth f c = 5 kHz. Please note that during the simulation experiments the control structure and gains used for data generation and identification are the same. Although hardly verifiable in practice, this hypothesis has critical implications as to the convergence properties of identification algorithms that are based on successive closed-loop DDM simulation runs such as DIDIM, CLIE, CLOE or NKF. We considered an integrated Viscous-Coulomb friction model for both data generation and parameter identification processes. This choice is deliberate and justified by the results exposed in [6,106]. In this model, the j th component ζ j of the friction force vector ζ is expressed in the form of a linear function of two parameters, namely the Coulomb friction force Fc j ∈ R + and of the viscous friction coefficient Fv j ∈ R + as ζ j (χ j ,q j ) = Fc j · sign(q j ) Coulomb friction + Fv j ·q j Viscous friction (68) As a result, the friction coefficients can be directly included within the link's standard dynamic parameter vector χ j ∈ R 13 , as shown in Equation (2). A specificity of the TX40 is the coupling existing between the joints 5 and 6 of the robot. As explained in [75], this can be accounted for using two additional friction parameters denoted Fvm 6 and Fcm 6 . Although it was decided to neglect this coupling during the simulation experiments, this was later taken into account during the validation phase on the real robot. In the context of Monte Carlo Simulation (MCS) experiments, the model generation step resulted in a vector β of 52 base dynamic parameters for each robot. During the validation experiments on the TX40, this base parameter vector was of dimension 54 due to Fvm 6 and Fcm 6 . It is worth noting that in the more general case where joint friction is nonlinear, provided that the friction model is not load dependent, the IDM given by (1) can be identified using a separable approach as suggested by [59,106]. The detail of such method being out of the scope of this paper, the reader is redirected to [107] and the references therein for a more detailed review of friction modeling and identification. The reference trajectories used for the experiments were generated using the optimization method presented in Section 8.2 with the gains k 1 = 1 and k 2 = 100, and over a time horizon of 10 s. Two trajectories are considered for each robot, for identification and validation purposes, respectively. The generation of experiment data is carried out using Runge-Kutta fixed-step integration (RK4) of the closeloop DDM. The computations were realized using Matlab R2020a on an AMD-Threadripper 1920X workstation with 32GB of RAM. When possible, the parallel computing toolbox from Matlab was used, along with the Matlab C/C++ Coder, to enhance concatenated for-loops execution speed, such as that found in sigma-point Kalman filters. The number of parallel threads allocated to each algorithm was limited to six for repeatability reasons. It is worth mentioning that the closed-loop model simulations required by some identification algorithms-such as IDIM-IV, DIDIM, CLIE, CLOE, or NKF-were carried out at the same frequency f c as in the data generation process. Nevertheless, in this case, the DDM time integration was performed using an Euler (RK1) algorithm, as -besides a higher computation time -no significant difference was noticed in the identification results when using more advanced integration algorithms, such as RK2 or RK4. The obtained closedloop simulation data were then sampled and decimated at the very same frequencies as in the experiments before being used in the corresponding algorithms. To obtain statistically relevant data, the simulation experiments were executed following a Monte Carlo scheme, consisting of a set of b independent runs, where b denotes the dimension of the base parameter vector β. For each method and each independent run, the identification process was repeated 25 times with different initial parameter vectors to investigate the sensitivity to initial conditions, eventually resulting in a total of M = 25 · b = 1300 runs for each identification method and on each robot. The 25 initial parameter vectors were obtained using the reference parameters' values (i.e., previously used for collecting simulation data) distorted by a relative error of 15%, which suitably represents the tolerances obtained with computer-aided design (CAD) software. The validation experiments were performed on the real robots. In this case, the identification methods requiring an initial parameter estimate -namely IDIM-IV, DIDIM, CLOE, CLIE, ML, NKF, AdaNN, and HTRNN-were initialized using the filtered IDIM-OLS estimate.

Selected Figures of Merit for Performance Evaluation
Besides the element-wise errors between the reference parameter vector β re f and the estimated parameter vectorβ, we define the following figures of merit (FOM), to quantify the performance of the evaluated parameter identification algorithms: 1. the average relative angle difference d q defined as where q β re f and qβ are obtained respectively by direct measurements on a -real or simulated -robot and closed-loop noise-free simulation of the DDM using the estimated parameter vectorβ, 2.
the average relative torque difference d τ defined as where τ β re f (t k ) is the measured torque and τβ( the mean total time d t that is required to compute one parameter estimate, 4. the mean number d N it of iterations until convergence, 5. the mean number d N sim of model simulations (for methods which require it).
In the context of Monte Carlo experiments, we will discuss the mean values and standard deviations of these different figures of merit across the M = 1300 runs.

IDIM-OLS, -WLS, -IRLS and -TLS Implementations
For each of IDIM-LS method, two distinct experimental scenarios were considered. In the first scenario, the least-squares methods were executed directly on the raw-unfiltereddata setq m ,q m , q m , τ m obtained by successive central differentiation and parallel decima-tion ofq,τ. In the second scenario, identification was carried out using the filtered signals. Data-filtering was implemented in a similar fashion as in [2,43], namely through zero-lag Butterworth band-pass filtering of the raw joint positions (Please note that in general, only the joint positions are filtered and the raw-potentially decimated-torque valuesτ are used directly.) signalq in the range 0, ω f , followed by one (resp. two) zero-shift central differentiation steps, to obtain the corresponding joint velocities and accelerations. We used the "filtfilt" Matlab function to implement the desired zero-lag forward-backward Butterworth filter with a bandwidth of 50 Hz.

ML Implementation
As with the IDIM-LS methods, two different variations of the ML identification algorithm were evaluated, namely with and without data-filtering. In the proposed implementation of the ML identification method, the values of the diagonal variance matrix σ 2 k are set based on variance measurements of the error signal between the measured joint derivativesq,q,q and the simulation reference q,q,q. Please note that it is usually difficult to obtain the value of σ 2 k on a real system as the reference quantities q,q,q are not available. The resolution of the nonlinear optimization problem (36) is carried out using the Levenberg-Marquardt algorithm through the lsqnonlin function from the Matlab Optimization Toolbox. The Jacobian matrices G k are computed numerically, with finite differences and a tolerance of 10 −7 . The algorithm stops once any of the following criteria is reached: where the values of the function tolerance tol 1 and step tolerance tol 2 are set according to the guidelines given in [11]. In our case, we have tol 1 = 0.1% and tol 2 = 2.5%.

IDIM-IV Implementation
The IDIM-IV method is only executed on the unfiltered data set. The instrument matrix Z i at iteration i is filled with the noise-free simulated data, obtained by integration of the closed-loop DDM using the current parameter estimateβ i−1 IV (c.f. Equation (31)). The control structure and gains are the same as those used during the experiment data generation process. Integration is carried out using the Euler (RK1) at the rate f c = 5kHz of the data generation loop. The data pre-processing step only involves sampling and decimation, to fit the sampled dataset. To stop the sequence of linear LS problems solved by the IDIM-IV method, a set of three stop criteria are implemented: i IV (j) = 0 with j the index and i the iteration number. • maximum number of iterations: i max = 10. where the values of the function tolerance tol 1 and step tolerance tol 2 are set according to the guidelines given in [6,59]. In our case, we have tol 1 = 2.5% and tol 2 = 2.5%.

DIDIM Implementation
As with the IDIM-IV, the simulation data are obtained by Euler (RK1) integration of the closed-loop DDM at a rate of 5 kHz. The following three stop criteria were implemented within the DIDIM method: where the values of the function tolerance tol 1 and step tolerance tol 2 are set according to the guidelines given in [5], namely tol 1 = 2.5% and tol 2 = 2.5%.

Relevant Details of the CLIE and CLOE Implementations
The proposed implementation of CLIE and CLOE makes use of the Levenberg-Marquardt algorithm, and is implemented using the lsqnonlin function from the Matlab Optimization Toolbox. The algorithm stops once any of the following criteria is reached: 1 where ρ i denotes the error at iteration i. In the case of CLIE one has, ρ i = ε i CLIE as defined in (43) while in the case of CLOE, we have where the values of the function tolerance tol 1 and step tolerance tol 2 are set according to the guidelines given in [59]. In our case, we have tol 1 = 2.5% and tol 2 = 2.5%. Please note that although only the Levenberg-Marquardt approach is investigated in this paper, BIRDy actually contains multiple CLIE and CLOE implementations, based on genetic algorithm, particle swarm optimization and the Nelder-Mead nonlinear simplex methods. These methods could be easily implemented using respectively the ga, particleswarm and fminsearch function from the Matlab Optimization Toolbox.

DDIM-NKF Implementation
Based on the guidelines of [82], it was decided to exploit the joint filtering approach to parameter identification. BIRDy actually features multiple flavors of nonlinear Kalman filters, namely the Extended Kalman Filter (EKF), the Unscented Kalman Filter (UKF), the Central Difference Kalman Filter (CDKF), the bootstrap Particle Filter (PF) as well as the improved numerically stable implementations of these filters, known as Square-Root Extended Kalman Filter (SREKF), Square-Root Unscented Kalman Filter (SRUKF), and Square-Root Central Difference Kalman Filter (SRCDKF). Aside from the particle filter-whose results were rather unsatisfactory-each of these methods was considered in this work. We used the same set of tuning parameters for each filter. The initial covariance matrix P 0 and the process-noise covariance matrix Q are respectively given by: P 0 = diag p 1 · 1 n×n p 2 · 1 n×n 0.15 · diag( β 0 + ) and Q = diag q 1 · 1 n×n q 1 · n d / f · 1 n×n q 2 · 1 p×p , where β 0 refers to the initial parameter estimate, ∈ R b + provides additional tolerance for small values ofβ 0 , f is the sampling frequency and n d is the decimation rate. The scalar values (p 1 , p 2 ) and (q 1 , q 2 ) were set heuristically to (0.1, 0.1) and 10 −4 , 10 −5 respectively. Following the ideas developed in [82], q 2 was annealed during identification. The initial measurement-noise covariance matrix R is given by R = σ 2 q · 1 n×n (in rad 2 ) according to the data generation procedure. The Jacobian matrices of the EKF and SREKF are computed numerically, with finite differences and a tolerance of 10 −7 . The tuning coefficients of the UKF and SRUKF, referred to as (α, β, κ) in [82], were set to 10 −2 , 2, 0 respectively. Finally, the tuning coefficient h of the CDKF and SRCDKF, is set to h = √ 3, following the recommendations of [82].

AdaNN Implementation
BIRDy features two different implementations of the Adaline neural network, namely with classic gradient descent and with stochastic gradient descent. By classic, we refer to the fact that the whole observation matrix is used in the gradient computation, as opposed to the stochastic gradient, where only one sample of W is considered. In this work, we considered the stochastic gradient descent implementation. In this implementation, the data are reshuffled at each training epoch to avoid cycles. As with IDIM-OLS methods, two executions of the AdaNN were considered, namely with and without joint position data band-pass filtering. The maximum number of training epochs was set heuristically to 10 · N.

HTRNN Implementation
As with IDIM-OLS and AdaNN methods, two versions of the HTRNN were implemented, namely with and without data-filtering. The practical implementation of the HTRNN parameter estimator simply consists of re-injecting (55) into Equation (53). As explained in [108], special attention must be given to the parameter bounds, defined by α. In our case, we selected α = 1.5 · max |β 0 | + , to account for the uncertainty in the initial parameter estimateβ 0 , where ∈ R b + provides additional tolerance for small values ofβ 0 . The maximum number of training epochs was set heuristically to 10 · N. Finally, the learning rate η ∈ R + was set to η = 10 −6 for the experiments performed on the TX40 and to η = 10 −7 for the experiments performed on the RV2SQ robot. In this work, we used the CVX optimization framework ( [109]) alongside with MOSEK ( [110]) to solve the SDP (62) and (63) subject to physicality constraints. As previously, PC-IDIM-OLS, -WLS and -IRLS were tested with and without data-filtering and the tolerances in PC-DIDIM and PC-IDIM-IV were set to the same level as DIDIM and IDIM-IV. When activated, the regularization factor λ was set to a value of λ = 10 −2 and was otherwise maintained to zero.

Case Study on the Simulated TX40 and RV2SQ
We executed a set of 15 different Monte Carlo Simulation (MCS) experiments, each containing 1300 runs. The same identification methods were executed on the TX40 and the RV2SQ for data decimation frequencies of 500 Hz and 100 Hz-corresponding to decimation ratios of 1 and 4-and under five different joint-position and torque-noise levels. The detail of the different experimental conditions is given in Table 1. The high joint levels of position noise explored during these experiments result in substantial degradation of tracking performance, visible in the results. Although interesting from a theoretical perspective, this is not representative of a commercial robot platform's reality. Given the substantial amount of generated data, only a subset of relevant results will be included in this paper. The reader is referred to the report section in the supplementary material for a more detailed overview of the MCS experiments' results.

Validation Experiments on the Real TX40 and RV2SQ
A set of validation experiments were conducted on the real Staubli TX-40 and Mitsubishi RV2SQ robots. These experiments aimed at assessing the performance of the different identification algorithms presented in this paper on real systems, with unknown sensor characteristics, unknown control structure, and potentially non-negligible model errors stemming from nonlinearities in the joint friction. During these experiments, the coupling between the fifth and sixth joint of the TX40 was considered for better precision resulting in 54 base parameters as opposed to the 52 considered during the MCS experiments. In both cases, the robot drive gains were identified following the Least-Squares approach developed by [104,105], which consists of having the robot track a permanently exciting trajectory, both with and without a well-known external payload, rigidly attached to the end-effector as depicted in Figure 8c in the case of the RV2SQ. Drive-gain identification is made possible by analyzing variations in the control current, sampled along the same excitation trajectories, both with and without the external payload attached to the end-effector. Good prior knowledge of the payload parameters is, of course, essential to the quality of the estimation. In practice, this is made possible either by direct measurements or through modern CAD software, given the generally simple geometry of the payload. During the experiments, the benchmark was executed a single time for each robot, along a dedicated validation trajectory. The joint position and drive current data were sampled at a rate of 1 kHz on the TX40 and at a rate of 140 Hz on the RV2SQ. The detailed results of these experiments in terms of the values of the different figures of merit defined in Section 9.2, are presented in the table section of the supplementary material for the real TX40 and the real RV2SQ. The different links to the supplementary material are made available to the reader in the Data Availability Statement, Section 11. Finally, the reconstructed torque signals for the IDIM-IV and DIDIM methods are displayed in Figure 9 for the TX40 and in Figure 10 for the RV2SQ.

Analysis and Discussion of the Results
For the sake of clarity, the present discussion is organized around a set of specific comparison points, namely the noise-immunity, the estimation accuracy, convergence properties, and finally, the computation cost. These comparison points will be discussed within three dedicated subsections. , where the torque noise is set to be twice as low. It should also be noted in practice that a low torque signal-to-noise ratio (SNR) could also imply that the trajectories are not exciting enough or that the hardware is not well designed. The most critical noise is, actually, that corrupting the joint angle readings as it significantly contributes to the bias of the IDIM-LS methods. The influence of noise in the joint angle measurements is made visible within the experiments described in the first three rows of Table 1 Within these experiments, the robots are actually tracking the same excitation trajectories, with the same control laws and initial parameter estimates, but with three different orders of magnitude in terms of joint position noise, namely σ q = 10 −4 rad, σ q = 10 −3 rad and σ q = 10 −2 rad. Although the first noise level within these experiments is consistent with observations made on actual robots, it should be emphasized that the last two noise levels, are here only provided for indicative purposes. In practice, re-injecting such signals into the low-level control loop of a robot would in turn result in substantial noise in the control signals-as shown by the degraded values of the d τ figure of merit obtained for σ q = 10 −3 rad and σ q = 10 −2 rad-eventually leading to poor control performance. The experimental results suggest that without data-filtering, the AdaNN, HTRNN, ML, IDIM-OLS, -WLS, -IRLS and -TLS methods provide biased estimates that poorly -or at least improperly -match the objective values, although the enhanced robustness of ML, IDIM-WLS and IDIM-IRLS compared to AdaNN, HTRNN, IDIM-OLS and -TLS should be noted. In any case, it appears that performing a tailor-made data-filtering based on a zero-shift forward-backward Butterworth filter significantly improves the results. This can be explained by the fact that filtering turns the noisy observation matrix W into a noise-free matrix denoted by W n f . Loosely speaking, this breaks the correlation between W and the vector ε of sampled errors. It is here worth pointing out that the use of simple forward low-pass filters generally leads to strongly biased estimates. This is justified in [7] by the fact that the phase shift induced by such filters is not accounted for in the IDM and is, therefore, considered to be a modeling error yielding W = W n f . The DIDIM, CLIE and CLOE methods appear to be robust in general to the measurement noise in the joint position signal. This is usually expected since the DDM simulation step occurring in DIDIM, IDIM-IV, CLOE and the IDM simulation occurring in CLIE are noiseless. Please note that although IDIM-IV can also be considered to be robust to noise as suggested in particular by the results of MCS-TX40-4-1 and MCS-TX40-4-2, it tends to fail when the noise level is unreasonably high, as is for example the case in MCS-TX40-4-3 or MCS-TX40-4-2. These observations are consistent with those published in [6]. It should moreover be highlighted that when the sampling rate is high, typically above 500 Hz on a robot, there might actually be a strong correlation between the measured samples, resulting in poor conditioning of the observation matrix and consequently biased parameter estimates. In practice, sub-sampling the signal helps breaking this correlation. Nevertheless, this should be executed carefully as the high-frequency components of the signal tend to alias during the process. Filtering the signal before sub-sampling, or in other words performing parallel decimation, helps mitigating this effect. The reader is redirected toward [111] for a more detailed discussion on the topic. The influence of parallel decimation is clearly visible on the results of MCS-TX40-4-1-MCS-TX40-4-5, in the corresponding FOM tables, where one may observe a homogenization of the performance of the different methods with, however, the notable exception of the Kalman filters (this specific point will be addressed in more details within Section 10.1.2 of this paper). Although the performance is already satisfactory for IDIM-IV and even good for DIDIM in the case of standard joint position noise levels (typically σ q = 10 −4 rad and σ q = 10 −3 rad), it should be noted that parallel decimation has a positive influence over the condition number of the Jacobian in OE algorithms as pointed in the discussion of [12].

Estimation Accuracy
The results of the three Monte Carlo Simulation (MCS) experiments indicate that the DIDIM and IDIM-IV methods generally tend to provide the most accurate parameter estimates, and accordingly the best torque tracking performance in the context of standard joint position noise levels (i.e., MCS-RV2SQ-1-1, MCS-RV2SQ-1-2, MCS-TX40-1-1, MCS-TX40-1-2, MCS-TX40-4-1 and MCS-TX40-4-2 in the supplementary material). Note that by accuracy, we here refer to the error β err between the estimated parameter vectorβ and the reference β re f used for experiment data generation. This is visible in the experiment reports, provided alongside with this paper (c.f. Section 11). One may of course argue that these performances are noticeably similar to that of AdaNN, HTRNN, IDIM-OLS, -WLS, -IRLS, ML with filtered or decimated data as well as CLIE and-to a lower extent-CLOE. Interestingly, IDIM-IV and DIDIM does not perform as well on the real RV2SQ robot although the resulting torque tracking performance remains satisfactory as shown in the attached experiment reports. This can be explained by the rather constraining hypothesis made during the simulation experiments, namely that the control law is well known and that these are not model errors (e.g., friction or coupling). One may also notice that CLIE provides better results than CLOE, which can be mainly explained by the lack of sensitivity of the simulated joint positions and velocities against parameters' variations due to the control. When developing a controller, the following approximation q ≈ q d is expected which means that the controller must be robust enough against parameters' variations. This result agrees with those published in [5]. Please note that when badly initialized or in the presence of modeling errors, iterative methods such as IDIM-IV, DIDIM, CLIE, CLOE, NKF or AdaNN usually fail to converge to the objective values as the internal DDM or IDM simulation process converge to an inconsistent state. In practice, a reasonable initialization value for the parameters can be obtained from a modern CAD software or from filtered IDIM-OLS. Although AdaNN and IDIM-OLS are asymptotically equivalent, one may note that the results in chapters 2.1 and 22.1 of the attached experiment reports suggest that AdaNN is less efficient than IDIM-OLS -statistically speaking -as the variance of the AdaNN estimate appears to be at least one order of magnitude higher than that of the IDIM-OLS estimate. Finally, although the NKF identification methods provide good results in the case of the TX40 robot with undecimated data (c.f. Table MCS-TX40-1-1), the performance of the estimator sharply deteriorates when fed with decimated or sub-sampled data (c.f. Table  MCS-TX40-4-1 and Table MCS-RV2SQ-1-1). Nevertheless, Kalman filtering techniques generally tend-as with the CLOE method-to suffer from the same lack of sensitivity with respect to parameters' variations since the controller of the simulated robot is robust against these variations as demonstrated in [7].

Convergence and Computational Complexity
The convergence of the DIDIM iterative process is fast, similar to IDIM-IV, with an average computation time of 1 second, as a result of 4 (resp. 3) iterations on average and as many model simulations. This is consistent with the results of [6,43]. Please note that this is approximately five times higher than IDIM-OLS, which can be explained by the process of DDM integration occurring during the simulation step within DIDIM and IDIM-IV. As expected, physically consistent identification methods, based on semidefined programming algorithms, take about three times longer than their unconstrained counterparts, which is consistent with the performance of current SDP solvers (in our case CVX with MOSEK) and aligned with the results of [92]. It is worth noting that the number of iterations-and hence model recalculation-required by PC-IDIM-IV and PC-DIDIM are similar, in the case of proper convergence, to that of the unconstrained IDIM-IV and DIDIM, respectively. The computation time of CLIE and CLOE is generally about one order of magnitude higher than the unconstrained IDIM-IV and DIDIM, which is not really surprising considering the large number E(d N sim ) of DDM simulations required to evaluate the Jacobian at the current estimates (c.f. the different FOM tables). Again, this is consistent with the computation time given in [5]. A careful reader will probably notice that the computation time does not scale linearly with the number of samples, in particular when making use of parallel decimation. This observation is a direct consequence of the fact that model simulation, within IDIM-IV, DIDIM, CLIE, and CLOE is carried out at the controller frequency, namely f c = 5 kHz. In the case of CLIE, CLOE, and ML, the sensitivity function in the Levenberg-Marquardt optimization routine can be computed in parallel, thereby further increasing the execution speed. In our case, these computations were distributed on 12 parallel threads, which was made possible thanks to the Matlab parallel computing toolbox. Unlike the other methods, the time taken by the NKF to find a solution scales linearly with the number of samples. In the case of sigma-point Kalman filters, the whole distribution of prior estimates must be propagated through the nonlinear DDM. In our case, considering the set of 52 base parameters and the 12-dimensional robot state vector, a total of 129 sigma-points must be propagated through the DDM at each filter iteration. To speed up the computations, we took the decision to distribute the burden on four different threads. Finally, the sample propagation loop was compiled into a mex file to further accelerate the execution speed. In this manner, the time ratio between an EKF execution and a UKF execution could be reduced to 4.

General Discussion and Perspectives
The present discussion is somehow related to the Epilogue of [66] where the author gives an insightful presentation on what can be considered to be 'good', 'bad' or 'optimal'. Even though the underlying goal of benchmarking is to find the best identification method, a black and white answer can seldom be obtained. Indeed, if the choice of a method often depends on the circumstances of identification, namely how the dynamic parameters of a robot can be identified, it may sometimes depend on the final objectives of identification, or in other words why these parameters are being identified. Based on the different Monte Carlo simulations performed in this paper, the IDIM-IV and DIDIM methods seem to be the most appealing for offline identification, as they converge quickly, do not require custom data-filtering, combine the inverse and direct dynamic models and are well-suited to the enforcement of physical constraints through semi-definite programming. Since the dynamic models are validated simultaneously, a complete robot simulator can be obtained, making it possible to design an accurate model-based control. Besides the fact that these algorithms are difficult to implement in real-time control loops-thereby raising serious issues regarding their implementation in adaptive control strategies-their main limitations directly stems from the need for a precise knowledge of the robot's low-level control characteristics. This dependence is clearly observable when comparing the MCS results-where the control law is assumed to be perfectly known-and that obtained with the real systems. In practice, the incomplete knowledge regarding the true nature of the implemented low-level control loops has tangible consequences on the behavior of the internal dynamic simulation routine of IDIM-IV and DIDIM, and more generally of CLIE, CLOE and NKF. This in turn induces a bias in the parameter estimates and may even in the worst case lead to a divergence in the identification process, as the behavior of the simulation routine no longer matches that of the real system. Please note that this statement can be refined by distinguishing between the ideal case where a good prior knowledge of the low-level control structure and gains is available, the case where only the control structure is known, and the case where neither the control structure nor the gains are known. In practice, knowing the structure of a controller makes it possible to identify its gains, as exposed in [52]. The fact that IDIM-OLS, -WLS, -TLS, ML, AdaNN and HTRNN do not require any prior knowledge of the low-level control characteristics, and that their performance does not depend on any initial estimate or tuning coefficients, makes them fairly easy to implement and therefore attractive to the practitioner. It is also worth mentioning that NKF, IDIM-OLS and WLS are, or can be formulated recursively and are therefore suitable for implementation in real-time adaptive control loops. As already pointed out in [7], the main drawback of Kalman filtering techniques in the context of parameter identification seems to be their extreme sensitivity to the initial values of a set of adjustment parameters, and in particular to the values of the initial process-noise and measurement-noise covariance. In practice, the tuning process proves to be tedious although the computed torque approach would deserve to be further investigated. Therefore, in case the objective of identification is not the offline refinement of CAD parameters values for reliable simulation purpose, but rather consists of developing robust controllers based on an online rough estimation of the robot inertial parameters, the IDIM-OLS, -WLS and NKF methods, appear to be suitable choices. It should be noted that a more detailed study of the effects of different amplitudes or statistical distributions of noise, resulting for example from higher quantization errors-i.e., lower sensor resolutions-would be relevant and is here considered to be future work. In terms of sampling rate, most current robot controllers operate in the 1 kHz range, which is generally sufficient to obtain good approximations of joint speeds and accelerations. Below 100 Hz, special care must be taken since the calculation of joint velocities and accelerations is no longer reliable enough. In this context, interpolation methods or the use of IDIM-IV or OE methods, based on DDM simulations-which can be considered to be a kind of data interpolation-should be preferred. The previous observations can be summarized in the form of a flow diagram in Figure 11. Multiple improvement of BIRDy are currently being investigated, with a focus on enhancing the scalability of the benchmark. We indeed noticed that the current symbolic model generation engine, based on the MuPad symbolic kernel could take considerable time to generate identification model of robots with more than 7-DOF (we so far tested the generation routine with up to 9 DOF). We moreover noticed a strong correlation of the performance of the symbolic toolbox with the version of Matlab. Several approaches are currently being explored to tackle this issue, including the use of other symbolic kernels such as that of Wolfram Mathematica or the open-source SymPy, also used in the OpenSYMORO+ toolbox from [112,113]. Besides these issues, future developments of BIRDy will mainly consist of generalizing the process of identificationmodel computation using the Unified Robot Description Format (URDF) rather than DH parameters, considering the use of modern highly efficient dynamic libraries such as the Rigid Body Dynamics Library (RBDL [114]) or the Kinematics and Dynamics Library (KDL [115]) for model numerical simulation and eventually the inclusion of additional sensor modalities in the process of robot identification, such as accelerometers, gyroscopes or force sensors. On a longer time scale, the possibility of identifying parallel manipulators such as the Stewart platforms or floating-base robots such as humanoid robots (as for instance performed in [116,117]) will also be explored.  Figure 11. Decision process for parameter identification algorithm selection. Physical consistency of the estimates can be enforced using SDP within the algorithms displayed in red. Methods in bold caption are, or can potentially be formulated in a recursive manner which makes them capable of running in a real-time control loop.

Conclusions and Future Works
In this paper, a sample of the most popular approaches to inertial parameter identification for fixed-based robotic systems is evaluated and benchmarked. These First presented and discussed in a theoretical manner, each method is then implemented and evaluated experimentally within a dedicated framework, named BIRDy, which was specifically developed for this purpose. BIRDy features a complete identification pipeline, allowing one to generate the kinematic and dynamic models of a given robot, to compute a trajectory that excites its dynamic parameters, to simulate the system's behavior along this trajectory, collect experimental data under well-defined conditions, proceed to parameter identification using a pool of dedicated algorithms and eventually to compare the identification performances using a set of suitable metrics. In this work, we used BIRDy to perform Monte Carlo simulations on two models of 6-DoF industrial robot manipulators, namely the Staubli TX40 and the Mitsubishi RV2SQ. Experiments were also carried out on the real robots, thereby providing helpful insight on the influence of multiple factors, including prior knowledge of the control architecture, sampling frequency, or friction model. The results allow us to provide a set of general guidelines based on quantitative arguments regarding the applicability of a given identification method to a particular experimental context. Future works will mainly consist of extending our study to physically consistent parameter identification algorithms and, in the long run, to the context of parallel and floating-base robots such as humanoids. Multiple improvements of BIRDy are currently being discussed in order to address these issues.

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations
The following abbreviations are used in this manuscript: