Automated Multistep Parameter Identification of SPMSMs in Large-Scale Applications Using Cloud Computing Resources

Parameter identification of permanent magnet synchronous machines (PMSMs) represents a well-established research area. However, parameter estimation of multiple running machines in large-scale applications has not yet been investigated. In this context, a flexible and automated approach is required to minimize complexity, costs, and human interventions without requiring machine information. This paper proposes a novel identification strategy for surface PMSMs (SPMSMs), highly suitable for large-scale systems. A novel multistep approach using measurement data at different operating conditions of the SPMSM is proposed to perform the parameter identification without requiring signal injection, extra sensors, machine information, and human interventions. Thus, the proposed method overcomes numerous issues of the existing parameter identification schemes. An IoT/cloud architecture is designed to implement the proposed multistep procedure and massively perform SPMSM parameter identifications. Finally, hardware-in-the-loop results show the effectiveness of the proposed approach.

To overcome such an issue, many approaches have been proposed.
A simple method to obtain a full-rank identification problem is based on fixing some parameters to their nominal values, as in [11,12]. However, such methodology is compromised by mismatches occurring between nominal and actual values [7,8]. Moreover, those methods are not practical for large-scale systems where some nominal parameters may be unknown. Another approach is based on the use of extra sensors, such as thermal sensors and power or torque meters [13,14]. This approach is not suitable in large-scale applications due to the increased complexity and costs [7].

•
We solve the rank-deficient problem by employing a multistep procedure based on three AdNNs with mutual updating without using signal injection as in [8][9][10][15][16][17][18][19]; • Our method does not require exact knowledge of nominal values, overcoming the issues of [11,12]; • Extra sensors are not required as in [13,14]; • Unlike [20,21], the proposed method also handles zero d-axis current control schemes; • An automated solution based on the R-statistic algorithm allows one to properly identify the SPMSM steady-state operating conditions in which the multistep procedure operates; • Low computational requirements on the edge-side make the proposed method highly suitable for IoT integrations, without any change on the motor control unit; • Off-the-shelf cloud technologies implement a hardware-in-the-loop (HIL) setup while simulation results show the effectiveness of the proposed approach.
Compared to the existing solutions, we point out how the main advantage of the proposed method is its applicability to large-scale industrial processes due to an automated identification scheme and the limitation of human intervention. This paper is organized as follows. In Section 2 the rank-deficiency problem is discussed. The proposed algorithm is detailed in Section 3. Section 4 describes the HIL setup used for validation, while Section 5 presents the simulation results. Finally, concluding remarks are reported in Section 6.

Rank-Deficiency Problem
We consider a field-oriented control (FOC) of an SPMSM drive. The dynamical model of an SPMSM in the dq rotating synchronous reference frame is described by the following equations [3]: where v d , v q are the dq-axes voltages, R s and L s are the stator resistance and dq-axes inductance, respectively, i d , i q are the dq-axes currents, ω r is the electrical rotor speed, and ψ is the rotor flux linkage. Note that if a zero d-axis current control is performed, at the steady state, (1) and (2) can be rewritten in the following form: v q = R s i q + ω r ψ.
From (3), L s can be estimated independently from R s and ψ through the d-axis voltage, speed, and q-axis current measurements. Instead, R s and ψ cannot be estimated simultaneously from (4), since only one equation is available. This is commonly known as rank deficiency problem for the parameter identification of SPMSMs controlled with i d = 0. In this paper, a multistep procedure is proposed to solve such a problem.

Novel Multistep Parameter Identification Algorithm Based on Adaline NNs
The proposed identification scheme is shown in Figure 1. Starting from the measurement data, the RStatIn block recognizes the SPMSM steady-state conditions, the MovAvIn filters the measurement data, the decision-making algorithm (DMA) rules the operations of the three AdNNs, one per parameter: rotor flux linkage (AdNN1), stator resistance (AdNN2), and inductance (AdNN3). RStatOut detects the steady state of the parameter estimations which are filtered by the MovAvOut. These blocks are detailed in the following subsections.

Measurement Data
The measurement data contain the samples of i q , ω r , v d , and v q , which are gathered in signal m in Figure 1. It is assumed that the d-axis current is zero to perform a maximum torque per ampere control and that no additional signals are injected for the purpose of the parameter identification.

RStatIn: Identificator of Steady-State Conditions of the SPMSM
R-statistic is a statistical method developed to automatically distinguish transient states from steady states in noisy processes [27]. The RStatIn block employs the R-statistic method for the automated identification of the steady-state conditions of the SPMSM. This operation is required since the AdNN estimators operate only during the steady-state conditions of the motor, as will be detailed below. The SPMSM operates in steady-state conditions when its speed and electromagnetic torque are constant. Therefore, to identify the steady-state conditions of the SPMSM, the R-statistic is applied on the electrical rotor speed and q-axis current.
conditions when its speed and electromagnetic torque are constant. Therefore, to identify the steady-state conditions of the SPMSM, the R-statistic is applied on the electrical rotor speed and q-axis current. The R-statistic procedure calculates the following indices [27]: where and are the indices for and , respectively, is the k-th sample processed, and is the sample's window length. and are gathered in signal _ in Figure 1.
where , i q are noise signals based on the Box-Muller method, and i q are the standard deviations, while and are independent samples chosen from the uniform distribution in the interval [0, 1]. The noise signals are introduced to avoid numerical issues [27]. and tend to be around 1 as the process tends to the steady state. Instead, during transients, the indices are expected to be greater than 1. Hence, the process is in the steady state if ≤ , where is a critical threshold. In [27], the author suggests manually tuning according to the actual responses. The R-statistic procedure calculates the following indices [27]: where R ω r and R i q are the indices for ω r and i q , respectively, k is the k-th sample processed, and N is the sample's window length. R ω r and R i q are gathered in signal R_in in Figure 1. ω r,n and i q,n are computed as follows: where w ω r , w i q are noise signals based on the Box-Muller method, σ ω r and σ i q are the standard deviations, while r 1 and r 2 are independent samples chosen from the uniform distribution in the interval [0, 1]. The noise signals are introduced to avoid numerical issues [27]. R ω r and R i q tend to be around 1 as the process tends to the steady state. Instead, during transients, the indices are expected to be greater than 1. Hence, the process is in the steady state if R ≤ R crt , where R crt is a critical threshold. In [27], the author suggests manually tuning R crt according to the actual responses.
R crt , N, σ ω r , and σ i q are the tuning parameters of RStatIn found with trial-and-error approach. The tuning of these parameters does not need to be repeated for different electrical drives since they do not depend upon physical parameters of the machine. Note that the R-statistic algorithm acts as a filter on the sample window of length N, hence it is affected by delay in identifying the beginning or the end of a steady state. This issue has been considered and properly compensated through to the MovAvOut block, as will be shown below.

MovAvIn: Moving Average of Measurement Data
The MovAvIn block is used to filter the input signals ω r and i q as follows: where ω r,ave and i q,ave are the moving averages (gathered in signal ma_in in Figure 1). Note that the windows size, N, is the same as in RStatIn. The outputs of MovAvIn are considered as the current steady-state operating conditions of the SPMSM by the DMA.

Decision-Making Algorithm
The DMA enables the AdNNs through the Enable signals to execute the multistep parameter identification. AdNN1 and AdNN2 are enabled in different operating conditions while AdNN3 works simultaneously with AdNN1 or AdNN2. The DMA employs the information provided by the RStatIn block, R_in = [R ω r , R i q ], the current operating conditions from MovAvIn, ma_in = [ω r,ave , i q,ave ], and a convergence condition to decide which of the two estimators (AdNN1 or AdNN2) should be enabled. Moreover, the DMA employs information provided by the RStatOut block, R_out = Rψ * ave , RR * s,ave , RL * s,ave , to accept only the filtered parameter estimations, ma_out = ψ * ave ,R * s,ave ,L * s,ave , which reach the steady state. Finally, the DMA performs a stop criterion which automatically concludes the multistep procedure without human intervention. The DMA outputs are the Enable signals for the three AdNNs and est_star = [ψ * ,R * s ,L * s ]. Moreover, the DMA uses three internal states, i.e.,ψ stop (x),R stop (y), andL stop (z), called partial estimations, to computê ψ * ,R * s ,L * s when the AdNNs are not active; also, they are used in the stop criterion. Three indices, x, y, z are updated asynchronously as explained later. Finally, the DMA employs other internal states, called check variables, which are ω rR (y), ω rψ (x), i qR (y), and i qψ (x), representing respectively the speed and q-axis current at which the latest rotor flux linkage and stator resistance estimations have been performed by the AdNNs. All these variables are initialized as follows: the three Enable signals are set to OFF;ψ * ,R * s ,L * s ,ψ stop ,R stop , L stop , x, y, and z are set to zero; ω rR and i qR are set to M and ε, respectively, where M is a large number and ε is a small number; ω rψ and i qψ are set to zero.
The operation of the DMA is described in the flow chart in Figure 2 At each iteration, the DMA checks if the SPMSM is in the steady-state condition. If the SPMSM is in the steady state, i.e., R ω r (k) ≤ R crt and R i q (k) ≤ R crt , the DMA implements Algorithm A1, providing the first parameter estimation by activating AdNN1 and AdNN3 if x = 0. The first estimation initializes the multistep procedure, obtaining the first partial estimationŝ ψ stop andL stop . Once the first estimationψ stop has been achieved, the SPMSM stationary operating conditions are inspected. As proven in Appendix B, to make sure that stator resistance and rotor flux linkage estimation errors asymptotically converge to zero, the AdNN1 and AdNN2 must be activated separately to satisfy the following convergence condition (A13): where i qψ , ω rψ , i qR , and ω rR are the check variables defined above, which express the operating conditions of the SPMSM in which the AdNN1 and AdNN2 are enabled by the DMA. In order to satisfy (11), the DMA activates the AdNN1 if (ω rR /(ω r,ave (k))· i q,ave (k)/i qR < 0.95 and activates the AdNN2 if (ω r,ave (k)/ω rψ )· i qψ /i q,ave (k) < 0.95. The AdNN3 is

Appendix C
In this appendix, we prove how the learning rate of the AdNNs expressed by (14), (18), and (22) guarantee convergence.
According to (A2), to ensure the convergence of the flux estimations provided by AdNN1, the learning rate should be chosen to make 1 − 2 ( ) < 1. Therefore, the following equation must be satisfied: The learning rate which satisfies (A14) is: If R ω r (k) > R crt or R i q (k) > R crt , the DMA performs the operations reported in Algorithm A2. Firstly, the Enable signals are set to OFF, since the AdNNs should work only during steady-state operations of the SPMSM. Then, if the AdNNs were active and their filtered estimations were at the steady state in the previous step, i.e., k − 1, the DMA updatesψ stop ,R stop , andL stop with the values in ma_out(k − 1) and ω rR , ω rψ , i qR , and i qψ with the values in ma_in(k − 1). After the updating of the partial estimations, the DMA checks the stop criterion, which is described in Algorithm 1. This algorithm operates on the sets of the last N stop samples ofψ stop ,R stop , andL stop where ε stop is an arbitrary small value.
If the AdNNs were not active or the provided estimations were not in the steady state in the previous step,ψ stop ,R stop ,L stop , ω rR , ω rψ , i qR , and i qψ are not updated. This allows one to accept only the stationary estimations provided by the AdNNs, avoiding the introduction of estimation errors due to transients of the AdNNs. Note that, if the AdNNs estimations are accepted, the partial estimations assume the values of the filtered estimations provided by the MovAvOut block. The filtering reduces the errors introduced by the estimations performed during transients. In fact, as stated in Section 3.2, the R-statistic algorithm detects with a delay the loss of the steady state of the SPMSM. During this delay, the AdNNs continue to produce estimations which are affected by unwanted perturbations that must be filtered. Finally, the DMA updates the output variables, est_star, according to Algorithm A3. Note that if the AdNNs are activated, the est_star variables are set to the corresponding AdNNs estimations; otherwise, they are set to the partial estimations.
We remark how the partial estimations are updated asynchronously and only if the corresponding ma_out variables have reached their steady states, as described in Algorithm A2. Moreover, the partial estimations represent the results of the proposed algorithm, since they are the only estimations not affected by errors due to the transient states.

Adaline NNs
This section describes the neural network estimators implemented in this work and depicted in Figure 3. These estimators are driven by the Enable signals provided by the DMA. The AdNN1 receives as inputs the measurements of the q-axis current, i q , the electrical rotor speed, ω r , and the q-axis voltage, v q , and the estimationsψ * andR * s provided by the DMA. The weight of the electrical rotor speed is the estimated rotor flux linkage (ψ), updated according to the following: with η ψ as learning rate.v q is the estimated q-axis voltage, expressed as follows: According to Appendix B, to ensure the convergence of the flux estimation, the learning rate is computed with the following formula: where k ψ is a real constant in the interval [−1, 1]. Note that, as in Algorithm A3, if AdNN1 was active in the previous step, thenψ * (k − 1) coincides withψ(k − 1) in (11) providing the following [9],ψ otherwise,ψ * (k − 1) coincides withψ stop (x), allowing the AdNN1 to restart with the best rotor flux linkage estimation available. This reduces the AdNNs transients since they are where is a real constant in the interval [−1, 1]. Note that, as in Algorithm A3, if AdNN1 was active in the previous step, then * ( − 1) coincides with ( − 1) in (11) providing the following [9], otherwise, * ( − 1) coincides with ( ), allowing the AdNN1 to restart with the best rotor flux linkage estimation available. This reduces the AdNNs transients since they are not reset to their initial values. The estimated rotor flux linkage coincides with the output signal of AdNN1 in Figure 1. The AdNN2 shares the same inputs of the AdNN1. The weight of the q-axis current is the estimated stator resistance ( ), updated according to the following: with as learning rate. is the estimated q-axis voltage, expressed as follows: The AdNN2 shares the same inputs of the AdNN1. The weight of the q-axis current is the estimated stator resistance (R s ), updated according to the following: with η R s as learning rate.v q is the estimated q-axis voltage, expressed as follows: According to Appendix B, to ensure the convergence of the resistance estimation, the learning rate is computed with the following formula: where k R s is a real constant in the interval [−1, 1]. As for the AdNN1,R * s (k − 1) is replaced withR s (k − 1) in (14) if AdNN2 was active in the previous step, as follows [9] The estimated stator resistance coincides with the output signal of AdNN2 in Figure 1. The AdNN3 is used for the stator inductance's estimation. It receives as input the measurements i q , ω r , and v d , and the signalL * s from est_star. The weight of the product of the electrical rotor speed and q-axis current is the estimated stator inductance (L s ), updated according to the following: with η L s as learning rate andv d as the estimated d-axis voltage, expressed as follows: According to Appendix B, to ensure the convergence of the resistance estimation, the learning rate is computed with the following formula: where k L s is a real constant in the interval [−1, 1]. If AdNN3 at the previous step was active, thenL The estimated stator inductanceL s coincides with the output signal of AdNN3 in Figure 1.
The values of k ψ , k R s , and k L s affect the convergence speed of the AdNNs. We recommend choosing these values in the interval [0.8, 1] to mitigate the perturbations of the estimations which occur when the SPMSM changes its operating condition.

MovAvOut: Moving Average of Measurement Data
The MovAvOut block shown in Figure 1 performs a moving average of the est_star variables. The function calculates, using (24)-(26), the following values: whereψ * ave ,R * s,ave andL * s,ave (gathered in signal ma_out in Figure 1) are the averages of the est_star variables. Note that, as shown in Algorithm A3, the est_star variables coincide with the output of the AdNNs when these ones are enabled by the DMA. Therefore, the MovAvOut block performs a filtering of the estimations produced by the AdNNs. This operation is essential since it allows one to mitigate the effect of the delay of RStatIn and to properly perform the R-statistic algorithm on the parameter estimations.

RStatOut: Identificator of Steady-State Conditions for Estimated Parameters
The RStatOut block in Figure 1 operates in the same way as RStatIn but on different datasets. Its inputs are the ma_out variables and the outputs are computed using (27)-(29): In these formulas Rψ * ave , RR * s,ave , andL * s,ave (gathered in signal R_out in Figure 1) are the R-statistic indices andψ * n ,R * s,n, andL * s,n are the noisy estimations. Furthermore, in this case, a properly tuned Box-Muller noise is introduced as explained in Section 3.2. The parameters N and R crt and the noise standard deviations σψ * ave , σR * s,ave , and σL * s,ave are equal to those defined for the RStatIn block. This function block is used to reveal the stationarity of the DMA outputs, which coincide with the outputs of the AdNNs estimations during their operations, as shown in Algorithm A3. As explained above, this operation allows one to accept only the AdNNs stationary estimations, avoiding the introduction of estimation errors due to transients.

Hardware-in-the-Loop (HIL) Setup
To evaluate the performance of the proposed solution, the experimental setup in Figure 4 has been arranged. This experimental setup has been inspired by the one shown in [26]. It consists of three levels:
Internet of things (IoT) devices which elaborate and buffer the collected data in order to optimize the bandwidth towards the cloud; 3.
A cloud application where the data is stored and the multistep parameter identification algorithm is executed.
The Simulink PC acts as HIL simulator of the FOC SPMSM. An SPMSM driven by an FOC controller and fed by a pulse-width-modulation (PWM) three-phase inverter has been modeled. PWM is a widely adopted technique for the regulation of power electronic devices such as AC voltage regulators, inverters, rectifiers, etc. [28][29][30]. The FOC controller performs a speed control with zero d-axis current and is made by the cascade of speed and current PI regulators. To bring the model as close to reality as possible, measurement uncertainties are also added to the phase currents and on the DC-link voltage measurements. These uncertainties have been introduced considering datasheets of commercial transducers, i.e., LEM LA 55-P for the currents transducer and LEM LV 25-1000 for the voltage transducer. Moreover, a resolver has been modeled to provide rotor speed and angular position measurements. The SPMSM models with wyewound stator are configured as Bonfiglioli BMD 400V 65 and 170 surface magnet motors. The main motors and inverter parameters are constant during the simulation and they are summarized in Table 1. The model is used to simulate, at fixed sampling time step, two working cycles of six seconds with variable speed and load torque as shown in the next paragraph.    The signals v dq , i dq, and ω r are logged, buffered, and sent to the IoT device via Modbus TCP protocol. The IoT architecture has been implemented through the AWS IoT Greengrass technology and performs gathering, pre-cleansing, storing, and analysis operations on the data provided by the HIL simulator [31][32][33]. These operations are performed by two local IoT lambda functions [32], developed using the Python language. The first lambda function fetches and cleans the field data. Then, ready-to-send data are stored in a local database, while the second lambda function queries for the newest data and wraps it in an MQTT [33] message payload which is finally published to the cloud using an MQTT client instance. In this way, the IoT device communicates asynchronously and securely with the cloud over the MQTT protocol using a key pair provisioning mechanism [33].
The third level of the setup consists of the cloud application, where messages coming from the IoT device are collected by the AWS IoT Core [34,35]. IoT Core allows one to filter and transform the input messages. An IoT Rule, triggered by an input MQTT message, is implemented to identify, transform, and forward the message payload to Amazon S3. S3 is a hierarchical object storage service in which a source bucket is arranged to receive all the data from the IoT device [36]. The source bucket contains a folder per IoT device, and each folder collects the objects, i.e., the time series generated by the HIL simulator, represented as a red circle in Figure 4. S3 Event Notification is used to trigger the multistep parameter identification every time a new object is saved in the source bucket. The identification algorithm is implemented with a lambda function whose results are recorded in a target bucket, as shown in Figure 4. The tuning parameters of the proposed identification algorithm are reported in Table 2. Table 2. Parameters of the proposed algorithm.

Parameters
Value 5a shows a photo of the experimental setup. The IoT device is connected via ethernet cable to the Simulink PC to perform the HIL simulations. The recorded data are sent to the cloud via IEEE 802.11 connection. Note that, even though we employed a simulation environment for the motor data generation, an industrial device has been used as an IoT edge device. Figure 5b shows the IoT device implemented in a real application within an industrial environment interfaced with a data logger and power meters.

Simulation Results
Two different working cycles have been simulated for the two motors. The speed, torque, and d-axis current profiles of the simulated working cycles are reported in Figure 6, where , * , , , , and * are the measured speed, the reference speed, the electromagnetic torque, the load torque, the measured d-axis current, and the reference d-axis

Simulation Results
Two different working cycles have been simulated for the two motors. The speed, torque, and d-axis current profiles of the simulated working cycles are reported in Figure 6, where ω r , ω r * , T e , T L , i d , and i d * are the measured speed, the reference speed, the electromagnetic torque, the load torque, the measured d-axis current, and the reference d-axis current, respectively. Note that the d-axis current is different from zero only during transients of the SPMSMs. Therefore, it does not affect the performances of the AdNN estimators since they operate only during the steady states of the SPMSMs. We consider two data packets made by 108 s of measurement data recorded from 18 working cycles of the two motors.    Figure 7 shows the results of the R-statistic analysis, identifying the rotor speed steady states of the two motors. In this figure, the measured electrical rotor speed ω r , the noisy speed ω r,n obtained using the Box-Muller noise, the R-statistic values R ω r , and the critical  Figure 7a shows how the R-statistic algorithm detects with delay the end of the steady states. Similarly, in Figure 8, the measured q-axis current i q , the noisy current i q,n , the R-statistic values R i q , and the critical value R crt are shown. The R-statistic identifies three q-axis current steady-state time intervals ( Figure 9 shows the AdNNs activation signals 1, 2, and 3 in the first 12 s for the two motors. It is shown in which of the motors' steady states the rotor flux linkage, stator resistance, and stator inductance's AdNN estimators are working. In the first working cycle of the Bonfiglioli 65, the AdNN1 is activated for the first time at half of the rated speed and current and for the second time at the rated speed and at 10% of the rated current; instead, the AdNN2 is activated only at the 10% of rated speed and at the rated current. Instead, in the first working cycle of the Bonfiglioli 170, only the AdNN1 is activated: the first time at 10% of the rated speed and at the rated current, the second time at the rated speed and current, and the third time at the rated speed and half of the rated current. In both cases, the first activation of AdNN1 corresponds to the first estimation to initialize the multistep algorithm while the other two activations satisfy the other conditions expressed in Algorithm A1. The trend of the enable signals is periodical from 6s to the end of the parameter identification, i.e., the time instant in which the stop criterion is satisfied. In particular, for the Bonfiglioli 170, after 6s, the AdNN1 is activated twice during each working cycle: the first time at the rated speed and current and the second time at the rated speed and half of the rated current. Instead, the AdNN2 is activated only once during each working cycle at the 10% of rated speed and at the rated current. The comparison of the operating conditions in which AdNN1 and AdNN2 are enabled shows how the algorithm is working in agreement with convergence condition in (A13).  Figure 9 shows the AdNNs activation signals Enable1, Enable2, and Enable3 in the first 12 s for the two motors. It is shown in which of the motors' steady states the rotor flux linkage, stator resistance, and stator inductance's AdNN estimators are working. In the first working cycle of the Bonfiglioli 65, the AdNN1 is activated for the first time at half of the rated speed and current and for the second time at the rated speed and at 10% of the rated current; instead, the AdNN2 is activated only at the 10% of rated speed and at the rated current. Instead, in the first working cycle of the Bonfiglioli 170, only the AdNN1 is activated: the first time at 10% of the rated speed and at the rated current, the second time at the rated speed and current, and the third time at the rated speed and half of the rated current. In both cases, the first activation of AdNN1 corresponds to the first estimation to initialize the multistep algorithm while the other two activations satisfy the other conditions expressed in Algorithm A1. The trend of the enable signals is periodical from 6s to the end of the parameter identification, i.e., the time instant in which the stop criterion is satisfied. In particular, for the Bonfiglioli 170, after 6s, the AdNN1 is activated twice during each working cycle: the first time at the rated speed and current and the second time at the rated speed and half of the rated current. Instead, the AdNN2 is activated only once during each working cycle at the 10% of rated speed and at the rated current. The comparison of the operating conditions in which AdNN1 and AdNN2 are enabled shows how the algorithm is working in agreement with convergence condition in (A13).  Figure 10 shows the results of the rotor flux linkage identification for the Bonfiglioli 65. The estimations are progressively improved and the percentage estimation error at the end of the identification process is 0.23%. This figure shows how changes its value only when the AdNN1 is disabled and is equal to * at the end of the AdNN1 operation. In particular, the zoomed part in Figure 10a shows that * is affected by perturbations before the AdNN1 is disabled, i.e., when is updated, while the signal * overcomes this issue thanks to the filtering operation of the moving average. Note that a progressive improvement of the estimations is achieved in the first two working cycles since the condition expressed by (A13) is satisfied. At the third working cycle, an accurate estimation has already been achieved and there are no substantial improvements until the stop criterion is satisfied. Figure 10b shows that R-statistic manages to detect only the first transient state of * , while the other transients are too small to be detected. The comparison between Figure 10a,b shows how all the estimations performed by the AdNN1 have reached the steady state and, thus, have been processed by the DMA to update .  Figure 10 shows the results of the rotor flux linkage identification for the Bonfiglioli 65. The estimations are progressively improved and the percentage estimation error at the end of the identification process is 0.23%. This figure shows howψ stop changes its value only when the AdNN1 is disabled and is equal toψ * ave at the end of the AdNN1 operation. In particular, the zoomed part in Figure 10a shows thatψ * is affected by perturbations before the AdNN1 is disabled, i.e., whenψ stop is updated, while the signal ψ * ave overcomes this issue thanks to the filtering operation of the moving average. Note that a progressive improvement of the estimations is achieved in the first two working cycles since the condition expressed by (A13) is satisfied. At the third working cycle, an accurate estimation has already been achieved and there are no substantial improvements until the stop criterion is satisfied. Figure 10b shows that R-statistic manages to detect only the first transient state ofψ * ave , while the other transients are too small to be detected. The comparison between Figure 10a,b shows how all the estimations performed by the AdNN1 have reached the steady state and, thus, have been processed by the DMA to updateψ stop . Figure 11 shows the results of the stator resistance identification for the Bonfiglioli 65. Moreover, in this case, there is a progressive improvement of the estimations and at the end of the identification process a percentage estimation error of 0.35% is achieved. Similar considerations already performed for the flux linkage estimations can be repeated for the updating ofR stop and the R-statistic analysis. Figure 12 shows how the stator inductance estimation accuracy slightly depends on the SPMSM operating condition in which the AdNN3 is activated. The condition in which the minimum estimation error is achieved is the one at the rated current and 10% of the rated speed while the condition in which the maximum error is achieved is the one at 10% of the rated current and at the rated speed. At the end of the parameter identification process, the relative percentage estimation error is 0.11%. Moreover, in this case, the figure shows the importance of filtering the AdNN estimation with the MovAvOut block in order to attenuate perturbations that affect the estimation accuracy. Figure 12b shows that, in this case, R-statistic managed to detect the transients of the estimations. However, all the estimations performed by the AdNN3 reached the steady state and have been processed by the DMA to updateL stop . The percentage estimation errors associated with the filtered parameter estimationsψ * ave ,R * s,ave, andL * s,ave for the entire simulation time of the Bonfiglioli 65 are shown in Figure 13.  Figure 11 shows the results of the stator resistance identification for the Bonfiglioli 65. Moreover, in this case, there is a progressive improvement of the estimations and at the end of the identification process a percentage estimation error of 0.35% is achieved. Similar considerations already performed for the flux linkage estimations can be repeated for the updating of and the R-statistic analysis. Figure 12 shows how the stator inductance estimation accuracy slightly depends on the SPMSM operating condition in which the AdNN3 is activated. The condition in which the minimum estimation error is achieved is the one at the rated current and 10% of the rated speed while the condition in which the maximum error is achieved is the one at 10% of the rated current and at the rated speed. At the end of the parameter identification process, the relative percentage estimation error is 0.11%. Moreover, in this case, the figure shows the importance of filtering the AdNN estimation with the MovAvOut block in order to attenuate perturbations that affect the estimation accuracy. Figure 12b shows that, in this case, R-statistic managed to detect the transients of the estimations. However, all the estimations performed by the AdNN3 reached the steady state and have been processed by the DMA to update . The percentage estimation errors associated with the filtered parameter estimations * , , , * and , * for the entire simulation time of the Bonfiglioli 65 are shown in Figure 13.        Figure 14 shows the parameters identification for the Bonfiglioli 170. The estimations of rotor flux linkage, stator resistance, and inductance have trends similar to those of Bonfiglioli 65. In particular, the rotor flux linkage and stator resistance estimation progressively improve and the percentage estimation errors at the end of the identification process are 0.27% and 3.18%, respectively. Moreover, in this case, the stator inductance estimation accuracy depends on the operating conditions of the SPMSM in which the AdNN3 is activated. The condition in which the minimum estimation error is achieved is the one at the rated current and 10% of the rated speed while the condition in which the maximum error is achieved is the one at 50% of the rated current and at the rated speed. At the end of the parameter identification process, the percentage estimation error is 0.16%. The percentage estimation errors associated with the filtered parameter estimationsψ * ave ,R * s,ave, andL * s,ave for the entire simulation time Bonfiglioli 170 are shown in Figure 15.

Conclusions
In this paper, a new multistep multiparametric identification method of SPMSMs highly suitable for cloud computing environment is presented. The results achieved show how the proposed solution overcame the rank deficiency problem without any signal injection and extra sensor, with the combined action of the stator inductance, resistance, and rotor PM flux linkage estimations. The R-static algorithm managed to identify the steady states of the SPMSM and of the parameter estimations. Moreover, the results of the parameter estimations confirm the validity of the convergence condition obtained by means of analytical studies and employed in the design of the DMA. We achieved final estimation errors of 0.23%, 0.35%, and 0.11% for the rotor flux linkage, stator resistance, and stator inductance, respectively, in a simulation environment. Finally, the criteria proposed for the automated tuning of the Box-Muller noise and of the AdNNs learning rates have also been validated by the achieved results.
We stress that the proposed method is highly suitable for the cloud computing implementation in large-scale applications since it requires a simple tuning of a few parameters. Moreover, note that the proposed algorithm can be partially reused for applications Finally, the algorithm runs on a cloud resource with 8 Intel Xeon Platinum 8259CL @ 2.50 GHz processors and 32 GB of RAM. Execution timings of multiple parallel runs of the identification procedure of the Bonfiglioli 170 are reported in Table 3. Note that the total execution time highlights the computational sustainability of the proposed scheme in large-scale applications using cloud computing resources. The achieved values are appropriate since for parallel runs less than the number of cores, the execution times are similar, i.e., approximately one core per run is dedicated. Instead, for parallel runs greater than the number of cores, the execution time proportionally increases as the number of parallel runs increases.

Conclusions
In this paper, a new multistep multiparametric identification method of SPMSMs highly suitable for cloud computing environment is presented. The results achieved show how the proposed solution overcame the rank deficiency problem without any signal injection and extra sensor, with the combined action of the stator inductance, resistance, and rotor PM flux linkage estimations. The R-static algorithm managed to identify the steady states of the SPMSM and of the parameter estimations. Moreover, the results of the parameter estimations confirm the validity of the convergence condition obtained by means of analytical studies and employed in the design of the DMA. We achieved final estimation errors of 0.23%, 0.35%, and 0.11% for the rotor flux linkage, stator resistance, and stator inductance, respectively, in a simulation environment. Finally, the criteria proposed for the automated tuning of the Box-Muller noise and of the AdNNs learning rates have also been validated by the achieved results.
We stress that the proposed method is highly suitable for the cloud computing implementation in large-scale applications since it requires a simple tuning of a few parameters. Moreover, note that the proposed algorithm can be partially reused for applications other than PMSMs. In particular, steady-state identification procedures of the motor and the estimated parameters can also be implemented for other motor typologies. Instead, the AdNNs and the convergence condition need to be modified since they are based on the mathematical model of the motor to be identified.
Future developments will include tests with motor data provided by real production plants, and the extension of the method to different machines, such as internal PMSMs, will be considered.

Data Availability Statement:
The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy issues.