Multiagent Control in Modular Motor Drives by Means of Deterministic Consensus

A modular motor drive (MMD) is composed of multiple identical pole drive units (PDUs), which consist of a concentrated stator winding fed by a dedicated power electronic converter module. To exploit the full flexibility and reliability of these MMDs, they are equipped with multiple controllers, operating as synchronized peers, and each driving only a limited set of PDUs. An MMD can hence be considered as a multiagent system, in which all the agents cooperate to deliver a certain torque demand. The goal of this work is to distribute this torque demand among the agents of a modular drive in a completely decentralized way, in order to comply with the flexibility and reliability of the hardware, while still taking into account the present condition of each agent. A deterministic consensus algorithm is used for this purpose, in combination with decentralized proportional integral (PI) current controllers. Communication is only allowed between neighboring agents, to limit the communication load. It is shown in this article that the total torque demand is delivered, under healthy conditions as well as during agent malfunctions and with nonidentical agents. The concept is demonstrated on a modular axial-flux permanent magnet synchronous machine with 15 PDUs that are assigned to five agents.


I. INTRODUCTION
M ODULAR motor drives (MMDs) are created by segmenting an electric motor and its power electronic (PE) converter into n identical modules. These modules, which are often called pole drive units (PDUs) in literature, consist of a stator core element and a concentrated winding, fed by a dedicated PE converter [1], [2]. The PDUs can be seen as building blocks for electric drives, offering flexibility and reliability, and an advantageous economies of scale effect. Beneficial effects of this segmentation include fault tolerance, additional degrees-of-freedom for advanced control strategies, increased efficiency, power rating scalability, better thermal performance, and a possible reduction in the overall size and cost of the PE (due to the possibility to eliminate the inverter heat sink [3], the reduction in voltage and/or current rating of the power semiconductor devices [2], [4], and the possibility to reduce the dc link capacitor size [3], [5]) in comparison with traditional drives [2]- [7].
To exploit the full range of possibilities of these modular drives, not only the motor and its PE should be modular, but also the control. In literature, MMDs are often controlled by means of one central controller based on vector space decomposition [8]- [10]. Although these centralized control strategies result in excellent performance of the drive, they do introduce a single point of failure in the drive (i.e., the centralized controller itself). Besides, a centralized controller also needs to be redesigned completely if one of the PDUs is changed or faulted. To overcome these issues, MMDs can be equipped with multiple controllers as well, which operate as synchronized peers to run identical control programs [1], [3]. Under this distributed control strategy, each of the p controllers drives only a limited set of m PDUs (n = m · p). A choice that is frequently made in literature, is to equip each set of three PDUs with an independent threephase controller (i.e., m = 3) [11], [12]. In this way, the MMD can benefit from the well-consolidated three-phase technology and standard three-phase control strategies, as well as from the fault tolerance, flexibility, and redundancy of modularity [13].
A very useful property of these modular multithree-phase machines, is that each set of PDUs can contribute differently to a total torque demand, which is equivalent to a certain power demand under constant speed. The total torque demand can be converted into specific current set-points, according to so-called sharing coefficients [6], [8]- [10], [14], [15]. Different sharing coefficients result in different current amplitudes in the different This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see http://creativecommons.org/licenses/by/4.0/ sets of PDUs. This feature proves for instance very useful in case of a fault in one of the motor-or PE modules: the current in the corresponding set is set equal to zero, while the healthy sets increase their current amplitudes-within their current limitsto satisfy the torque or power demand [16]. However, to the authors' best knowledge, the literature still lacks a method to determine these sharing coefficients online, without the need for a master or a central supervisory controller, and with the possibility for each set of PDUs to adapt its sharing coefficient based on its own knowledge of its present condition.
The combination of a set of PDUs and its controller in an MMD can be seen as an agent in a multiagent system. In such a network, the autonomous agents can cooperate to perform distributed optimization [17]- [20], to reject disturbances [21], [22], to compensate for failures [23], or, in general, to reach agreement on a specific quantity of interest [24]. The challenge in which the agents seek to agree on a linear combination of static parameters, is commonly referred to as the static average consensus problem [25], [26]. The multiagent system is equipped with a communication network for this purpose. The local information exchange enables the agents to compute the average of a set of fixed quantities, based on local computations and partial information only. In literature, a large variety of methods can be found for solving the static average consensus problem, each with their own requirements on the agents, the network topology, and the timing and nature of the communication [27], [28].
The goal of this work is hence to use a deterministic static average consensus algorithm to distribute a torque demand among the agents of an MMD in a completely decentralized way. The consensus algorithm that is used in this work, is inspired on the consensus based approach for the economic dispatch problem in a smart grid, which determines the power outputs of all the generators in the grid in a distributed way [29]- [31]. It is supposed that all the agents in the MMD exchange data with their two closest neighbors within one update cycle of the algorithm, after which they perform local calculations to reach agreement on their incremental costs. This incremental cost is a parameter that indicates for each agent individually how much effort it would take for that agent to further increase its current set-points. The major reasons for the use of this specific consensus algorithm are that the agents are able to decide among themselves which agent delivers which part of a total torque demand, taking into account the current state of each agent, and without the need to introduce a master or a centralized controller. The deterministic consensus algorithm provides each agent with individual current set-points, based on this incremental cost. The m-phase current controller of each agent then controls the currents through its PDUs toward these set-points in a completely autonomous way [11]. Although predictive current controllers are known for their superior dynamic performance, it is opted in this research to make use of decentralized proportional integral (PI) current controllers. These PI current controllers have the advantage that they are less dependent on an accurate machine model, less complex, and hence less computationally expensive than predictive current controllers [32].
Although the methods proposed in this work are applicable for any number of PDUs n and any number of agents p, they will be demonstrated for the specific case of a 4 kW segmented armature torus (SAT) axial-flux permanent magnet synchronous machine (AFPMSM) with n = 15 PDUs, which are grouped into p = 5 agents of m = 3 PDUs.
The rest of the article is organized as follows. The definition of an MMD architecture is summarized and presented specifically for this case study in Section II. Section III elaborates on the deterministic static average consensus algorithm used to determine the current set-points for the agents, after which the state-of-the-art decentralized PI current control strategy is discussed in Section IV. The proposed control strategy is experimentally validated in Section V, under healthy operation conditions, as well as under agent malfunctions, and under differences between the agents. The effect of the communication frequency on the convergence and settling time of the multiagent current control strategy is discussed in Section VI. Finally, Section VII concludes this article.

II. MODULAR MOTOR DRIVE ARCHITECTURE
A schematic overview of the MMD architecture used throughout this work is presented in Fig. 1. A motor module consists of a stator core element with a concentrated winding. Each of the n motor modules is fed by a dedicated PE module. The assembly of a motor module and a PE module is called a PDU. In this work, a PE module comprises a half-bridge inverter leg and a phase current measurement. The PE modules are connected in parallel to a dc power supply.
The n PDUs are grouped into p sets of m PDUs. Each of these sets is equipped with a standard m-phase (micro)controller. The combination of a set of m PDUs and its controller is called an agent. An agent can hence be seen as a functional entity that can operate independently of the other agents in the system. In this work, the MMD consists of 15 PDUs, which are grouped into five agents of three PDUs. The three PDUs of one agent are connected in one neutral point, as can be seen in Fig. 2. The PDUs are arranged in such a way that they have a phase shift of 2π/m = 2π/3 electrical radians within an agent (e.g., in Fig. 2, PDU a has a phase angle φ a of 0 rad, for PDU f φ f = −2π/3 rad, and for PDU k φ k = −4π/3 rad). The PDUs of neighboring agents are shifted with an angle of 2π/n = 2π/15 electrical radians (e.g., PDU b has a phase angle φ b = −2π/15 rad, PDU c has a phase angle φ c = −4π/15 rad,...) Finally, the complete MMD is composed of multiple agents. A communication network is established between the agents. Data exchange is only allowed with the two closest neighbors of each agent, i.e., agent x ∈ {1, . . ., p} can only communicate with agents x − 1 and x + 1, as is illustrated in Fig. 3(a). This communication network is used to distribute a total current set-point I * q (originating from the user, and representing a certain torque demand as explained in Section III) over the p agents by means of a deterministic static average consensus algorithm. In this work, only agents 1 and 3 receive the total current set-point I * q from the user. This total set-point I * q is then distributed among the five agents by means of the consensus algorithm explained in Section III, resulting in five current set-points i * q,x (x ∈ {1, . . ., 5}). The agent-specific current set-point i * q,x is then fed to the conventional three-phase field-oriented controller of agent x, as is illustrated and explained in Fig. 2. The decentralized   Fig. 1. In general, each agent x communicates the parameters γ x and e x with its two closest neighbors (which are agent 1 and agent 3 for agent 2) to compute its agent-specific current set-point i * q,x by means of the deterministic static average consensus algorithm of Section III. This set-point i * q,x is then fed to the independent, three-phase field oriented current controller of that agent, which is elaborated upon in Section IV. This decentralized current controller requires only information of agent x itself, and determines the duty cycles for the three half-bridge inverter legs, which feed the three concentrated windings of this agent x. A three-phase current measurement provides feedback to the decentralized current controller. field-oriented current controller of each agent regulates its stator currents to its set-points as explained in Section IV, without the need for additional communication with its neighbors.

III. DETERMINISTIC STATIC AVERAGE CONSENSUS ALGORITHM
The goal of the deterministic static average consensus algorithm is to let the agents decide among themselves which agent has to deliver which part of a total torque demand. The agents can only use local computations and local interactions for this purpose, to comply with the flexibility and reliability of an MMD. A major advantage of the use of the consensus algorithm explained in this section, is the fact that the present condition of each agent can be taken into account during the distribution process.
For a surface-mounted PMSM under field-oriented control, the total torque demand T * em is directly proportional to a total current reference I * q : T * em = 3N p Ψ d I * q /2, with N p the number of pole pairs and Ψ d (Wb) the flux linkage caused by the permanent magnets. The distribution of a torque demand hence comes down to the distribution of a total current set-point I * q among the set-points i * q,x of the individual agents, satisfying Since no flux-weakening is considered in this article, i * d,x = 0 A for all agents x. For an interior PMSM, on the other hand, it is easier to divide the total torque demand T * em directly into multiple torque set-points t * em,x for the individual agents. For every agent, the optimal current set-points i * q,x and i * d,x can then be computed using the maximum-torque per ampere profiles of the machine [33]. This allows to use a similar consensus algorithm as the one explained in this work (with I * q replaced by T * em , and i * q,x replaced by t * em,x ), but will not be elaborated specifically.
In order to obtain an allocation of the torque demand among the agents that takes into account the present state of each agent, a cost C x is assigned to each agent. This cost C x can be any quadratic function [29], [31], but in this article, it is chosen that with R s,x (in Ω) the stator resistance of agent x. After all, a higher current set-point i * q,x results in higher copper losses in agent x. This agent-specific cost function allows to distribute I * q in an unequal way over the p agents, depending on the differences in R s,x , which reflect the present conditions of the agents. Differences in R s,x can arise, for instance, from temperature differences or production tolerances, or from a fault in a PDU of an agent. Other losses in the drive, such as for instance the switching losses, can be taken into account in C x as well. However, this is not elaborated upon in this article.
The goal of the consensus algorithm is to reach agreement on the so-called incremental cost γ x , defined as This incremental cost indicates for each agent x individually how (dis)advantageous it would be to decrease or increase its current set-point i * q,x , based on the knowledge of the current state of that agent. A fair share of I * q among the agents is hence obtained when the incremental costs are equal for all the agents x ∈ {1, . . ., p} . An agent with a higher temperature (and thus a higher stator resistance) will receive a lower current set-point, which will reduce its copper losses and thus its temperature.
Finally, also the current constraints in the machine must be respected by the consensus algorithm with i q,min,x and i q,max,x , respectively, the minimum and maximum allowable current in the PDUs of agent x. These agentspecific current constraints can be used to represent the present condition of an agent as well. When an open-circuit fault is detected in a motor-or PE module of agent f (for instance with the technique explained in [34]), it suffices to set the current constraints i q,min,f and i q,max,f equal to zero to represent this faulty state.

A. Algorithm Description
To make sure that the total current reference I * q is delivered, i.e., to satisfy constraint (1), each agent x makes a local estimate e x of the mismatch between the total required current I * q and the total delivered current i * q,x . The consensus algorithm is hence based on the three parameters i * q,x , γ x , and e x . All the agents are assumed to have exchanged their parameters γ x and e x with their two closest neighbors in one update period T c = 1/f c of the consensus algorithm, as is illustrated in Fig. 1. At each discrete time instant k (with a period T c between subsequent time instances), the agents simultaneously update their state variables i * q,x , γ x , and e x by means of the following local computations, based on the communicated information [31]: . ., p}) three neighboring agents (e.g., agents 1, 2, and 3), and with γ min,x = 2R s,x i q,min,x and γ max,x = 2R s,x i q,max,x . The parameter ε is the so-called learning gain, which is a sufficiently small positive constant. The design of ε is the topic of Section III-B. The left part of Fig. 2 provides a schematic overview of algorithm (6). The parameters γ x , i * q,x , and e x are initialized as follows: The subgroup U comprises the agents that can receive the total current set-point I * q directly from the user. |U | is the number of agents in this subgroup. For the case study used as an example throughout this article, only agents 1 and 3 can receive I * q from the user, i.e., U = {1, 3} and |U | = 2.
When the total current reference I * q is changed at time instant k 0 , the estimated mismatches e x (k 0 ) of the agents x ∈ U are updated as follows: The basic idea of algorithm (6) is that each agent locally estimates the mismatch between the demanded current I * q on the one hand, and the total delivered current i * q,x on the other hand, by means of the parameter e x . The agents share this information with their two closest neighbors. Due to this communication [which is expressed mathematically in the term [e x−1 + e x + e x+1 ]/3 of (6c)], the information about I * qwhich is initially only known by the agents which are part of the subgroup U according to (9)-is spread out over all the agents. Assume for instance, without loss of generality, that I * q increases. Update (9) and the term [e x−1 + e x + e x+1 ]/3 in (6c) eventually cause all estimated mismatches to increase. The term εe x in (6a) on his turn increases the incremental costs γ x of all the agents, resulting in an increase in i * q,x according to (6b). The term −[i * q,x (k + 1) − i * q,x (k)] in (6c) prevents that i * q,x keeps increasing when i * q,x matches I * q again. The exchange of the incremental cost, which is expressed mathematically by means of the term [γ x−1 + γ x + γ x+1 ]/3 in (6a), results in consensus on the incremental cost, i.e., the satisfaction of constraint (4).

B. Learning Gain Design
The learning gain ε strongly influences the convergence speed of algorithm (6). From the proof of convergence of similar algorithms in [25], [29], and [31] can be concluded that the fastest convergence can be obtained with the learning gain ε that minimizes the in modulus second largest eigenvalue |λ 2 | of the system matrix M (∈ R 2p×2p ) of the consensus algorithm. This system matrix M can be obtained by rewriting algorithm (6) in the following form: with γ and e (∈ R p×1 ) the column vectors of γ x and e x , respectively, I the p × p identity matrix, and The communication matrix P ∈ R p×p contains the elements p xy that are equal to 1/3 when agent x and y can communicate (i.e., when x = y, or when x and y are closest neighbors), and are zero otherwise. For the case study on the modular AFPMSM with p = 5 and communication between closest neighbors only [as shown in Fig. 3(a)], this leads to It must be noted that the calculation of the optimal learning gain ε opt requires global system information (including the resistances R s,x of all the agents, and the lay-out of the communication network). As a result, the learning gain ε needs to be determined offline, before the consensus algorithm starts running and only partial information is available to each agent. For the case study on the modular AFPMSM with stator winding resistances R s,x = 65 mΩ for all agents x and communication between closest neighbors only, minimization of the in modulus second largest eigenvalue |λ 2 | of M by means of a simple grid-search leads to the optimal learning gain ε opt = 0.0257, as can be seen in Fig. 4. It must be noted, however, that the motor parameters can vary during operation of the MMD. As the parameter ε opt is determined offline, it will not take these changes into account. However, a fixed value of ε results in adequate performance for a range of stator winding resistances. For ε = 0.0257, for instance, a range of resistances [0.7 0.8 0. 9

C. Case Study
The performance of consensus algorithm (6) will be simulated for three operation conditions. 1) Healthy operation conditions, under which the stator winding resistances R s,x and the current constraints i q,min,x = 0 A and i q,max,x = 10 A are the same for every agent x 2) Faulty operation conditions, under which an open-circuit fault is detected in a PE module of agent 1 (for instance by comparison of its measured phase current and its corresponding reference signal, as explained in [34]), resulting in i q,min,1 = i q,max,1 = 0 A 3) Operation with different stator winding resistances R s,x for the different agents. The first 30 iterations of Fig. 5 show the variation of the parameters i * q,x , e x , and γ x for agents 1, 2 and 4 in the case study for an increase in the total reference I * q from 0 to 20 A under healthy operation conditions and with identical stator winding resistances for each agent. The parameters of agents 3 and 5 vary very similarly and are therefore not shown. When I * q changes at iteration k, the parameters of agent 1 and 3 immediately adapt according to (9), because the change in I * q is directly communicated to these two agents. The communication between the agents themselves results in a reaction of the other agents at iteration k + 1. The effect in agent 2 is stronger than the effect in agents 4 and 5, as agent 2 receives information from both agents 1 and 3. Eventually, the set-points i * q,x of all the agents converge to I * q /5 = 4 A, the estimated mismatches e x converge to 0 A, and the incremental costs γ x converge to γ * = I * q /( 5 x=1 1/(2R s,x )) = 0.52 W/A. Convergence requirements (11) are fulfilled after 14 iterations.
At iteration 30 in Fig. 5, an open-circuit fault is detected in a PDU of agent 1, after which all the PE switches of agent 1 are opened. The current constraints i q,min,1 and i q,max,1 are immediately set equal to zero, to take the faulty condition of agent 1 into account. It must be noted that there is no need for agent 1 to communicate its present condition to its neighbors, or to a master or supervisory controller. It suffices that agent 1 adapts its own parameters, after which the execution of algorithm (6) remains unchanged. The change in current constraints results in i * q,1 (31) = 0 A and an increase in e 1 (31). This increase in e 1 (31) results in an increase in γ 1 (32). At iteration 32, the info about the increase in e 1 has reached agents 2 and 5 through communication with agent 1, causing a rise in e 2 and e 5 , which in turn results in an increase in γ 2 and γ 5 at iteration 33. The effect in agents 3 and 4 is only noticed at iteration 33, when they get info on the increase of e 2 and e 5 , respectively. The increased incremental costs allow an increase in the set-points i * q,x of the healthy agents, until the total set-point I * q is reached again. After 10 iterations, the set-points of the healthy agents have converged to I * q /4, and all the agents agree on an incremental cost equal to I * q /( 5 x=2 1/(2R s,x )). Even under these faulty conditions, I * q can still be varied, as is shown at iteration 50.
The variation of the parameters i * q,x , e x , and γ x for the situation in which the agents have different stator winding resistances (i.e., R s,1 = 58.5 Ω, R s,2 = 71.5 Ω, R s,3 = 97.5 Ω, R s,4 = 45.5 Ω, and R s,5 = 65.0 Ω) is depicted in Fig. 6. After 14 iterations, the agents agree on an incremental cost γ * = I * q /( p x=1 1/(2R s,x )) = 0.51 W/A, which results in different  set-points i * q,x = γ * /(2R s,x ) for the different agents. The torque is hence distributed unequally among the agents, but the total torque demand is still met, as x i * q,x converges to I * q .

D. Effect of the Number of Agents Able to Communicate With the User
Throughout this article, it is assumed that only agents 1 and 3 can communicate with the user, and hence immediately receive the set-point I * q . The number of agents |U | that can communicate with the user is a tradeoff between redundancy on the one hand, and additional communication links and communication load on the other hand. Fig. 7 shows the effect of |U | on the performance of the consensus algorithm for the case study with five identical agents, i.e., the effect of |U | on the number of iterations that is required for convergence, and on the variability (and hence the ripple) in i * q,x . Convergence is reached when requirements (11) are satisfied for all agents. The variability in i * q,x is defined as with #steps the number of changes observed in i * q,x . Both quantities are averaged over a change ΔI * q of +15 A, −25 A, and +10 A, and over all the possibilities for a specific |U |. |U | does not have a large effect on the convergence speed. According to (9), a smaller number |U | results in a larger change in e y for the agents y ∈ U, which in turn results in more abrupt changes in the parameters e z , γ z , and i * q,z of the other agents z after the communication of e y . A larger number |U |, on the other hand, results in a smaller change in e y per agent in U , but affects more agents at once. This phenomenon also explains why the variability in i * q,x is higher for smaller |U |.

E. Comparison With a Simple Master-Slave and a Supervisory Control Approach
In a simple master-slave control approach, one of the agents of the MMD is designated the role of master controller that continuously keeps track of the number of agents p in the system. This master controller divides the reference I * q into p equal setpoints i * q = I * q /p, after which this set-point is communicated from neighbor to neighbor to all the agents by means of the same communication network as the one used for the consensus algorithm [see Fig. 3(a)]. In this way, the total current set-point I * q is divided among the agents in p/2 iterations. Another option is to use one central, supervisory controller to distribute I * q among the agents, which can communicate with all the agents in the system to gather global system information [see Fig. 3(b)]. This supervisory controller can compute the optimal incremental cost γ * = I * q /( p x=1 1/(2R s,x )) instantaneously, together with the set-points i * q,x = γ * /(2R s,x ) for each agent x [29].
Both the simple master-slave control approach and the supervisory controller are able to split I * q in the set-points i * q,x in a faster and a computationally more efficient way than the consensus algorithm of Section III-A. However, the simple master-slave control approach is not able to take into account the present conditions of the agents (such as differences in R s,x due to for instance temperature differences or faults), nor to distribute I * q in an unequal way over the p agents, while Fig. 6 confirms that the consensus algorithm is able to deal with this situation. The supervisory controller, on the other hand, is in complete disagreement with the modular approach in an MMD.

IV. DECENTRALIZED CURRENT CONTROL A. Algorithm Description
To complete the multiagent current control strategy, the consensus algorithm explained in Section III is combined with a decentralized control strategy, in which each agent gets an independent m-phase PI controller. For the case study used throughout this research, this means that each of the five agents is equipped with an independent, standard 3-phase PI controller to reach the individual set-points i * q,x and i * d,x = 0 A generated by consensus algorithm (6), as is illustrated in Fig. 2. The PI parameters are tuned according to the state-of-the-art procedure presented in [11], which takes into account the internal magnetic coupling between the n motor modules, represented by the mutual inductances tabulated in Table I.

B. Case Study
By carrying out a multivariable frequency analysis according to [11], the PI parameters are chosen in such a way that a set-point amplitude change Δi * q,x in agent x does not deviate the currents i q,y and i d,y in the other agents y with more than 13% of the magnitude of Δi * q,x . The PI parameters of each agent are set equal to K p = 2 and K i = 200, resulting in a natural frequency ω n = 803.28 rad/s and a damping factor ζ = 4.15. The simulation results under a mechanical speed N of 400 r/min, with a dc-bus voltage V dc of 48 V, a sample frequency f s of 10 kHz, a consensus update frequency f c of 2 kHz, and the  The combination of the consensus algorithm and the decentralized PI current controllers ensures that the total current reference is met, i.e., optimal learning gain ε opt = 0.0257 are depicted in Fig. 8 for the situation in which all five agents are identical. One iteration of consensus algorithm (6), including all the communications between the agents, is executed in one consensus update period T c = 1/f c . One iteration of the PI controller, including the measurement of the phase currents through the motor modules and the generation of the pulses for the PE modules, is executed in one sample period T s = 1/f s . The simulation results show that the consensus algorithm indeed results in an adequate distribution of the total current reference I * q (i.e., x i * q,x = I * q ), even after an open-circuit failure in agent 1 after 0.4 s. The decentralized PI controllers of the different agents are able to follow their set-points i * q,x well, causing the total current set-point-and hence the total torque demand-to be reached (i.e., x i q,x = I * q ).

V. EXPERIMENTAL VALIDATION
The simulation results of Section IV are validated on the 4 kW SAT axial-flux PM synchronous machine test setup of Fig. 9, with the specifications listed in Table I. The AFPMSM  (2). Each three-phase agent comprises a dedicated three-phase power module (3) with its own dc-link connection (4). All power modules are connected in parallel to a dc power supply. is working in motor mode, while its mechanical speed of 400 r/min is maintained by means of an induction motor drive. A Lorenz DR-2112 torque transducer with a measurement range of ±50 N · m and an accuracy of 0.1% is mounted on the shaft between this AFPMSM and this induction motor. The AFPMSM consists of 15 identical motor modules, of which all 30 power terminals are accessible. The motor modules are grouped into five sets of three modules connected in one neutral point, and fed by a modular low voltage scalable power platform from Infineon. As can be seen in Fig. 9, this power platform comprises five sets of three PE modules. An agent hence includes three motor modules connected to three PE modules, in combination with a set of three LEM LA 25-P current transducers. The five agents are connected in parallel to a dc power supply with V dc = 48 V. The experimentally obtained three-phase back EMF and current waveforms for agent 1 are shown in Fig. 10. The back EMF waveforms are obtained by means of three Cleverscope CS1030 differential probes, while the phase current waveforms are obtained by means of the LEM LA 25-P current transducers.
The consensus algorithm of Section III and decentralized PI control of Section IV are implemented on the FPGA of a single dSPACE MicroLabBox, in order to be able to freely vary the communication frequency and hence the consensus update frequency f c , without the limitations of a specific communication protocol. The effect of f c will be discussed in Section VI. Although all controllers are implemented on the same dSPACE MicroLabBox, they are implemented in a completely separate way, allowing only the transfer of γ x and e x between the controllers of neighboring agents at a variable communication frequency, as is illustrated in Fig. 1. The stator current measurements i q,x and i d,x are obtained from the fifteen LEM LA 25-P current transducers providing feedback to the PI controllers at a sampling rate f s of 10 kHz. The measurement results are drawn and recorded from the MicroLabBox by means of ControlDesk software at the same sampling rate of 10 kHz.
The obtained experimental results shown in Fig. 11 for five identical agents are in very good agreement with the simulation results of Fig. 8. However, the steps in the torque demand T * em (and hence in the current reference I * q ) cause speed fluctuations in the experimental set-up, which were not taken into account in the simulations. But even with these speed fluctuations, the suggested decentralized multiagent current control approach (which is the combination of the consensus algorithm of Section III and the decentralized PI control of Section IV) indeed makes sure that the total torque demand is met (i.e., x i q,x = I * q ), even under an agent malfunction. Fig. 12 shows the variation of the current and torque ripple under variable speed. It can be noticed    97.5 Ω, R s,4 = 45.5 Ω, and R s,5 = 65.0 Ω) in their cost function (2), the total torque demand-and hence the total current reference I * q -is distributed unevenly among the agents of the MMD, as is shown in Fig. 13. The decentralized PI current controllers of Section IV are still able to follow these agentspecific current set-points, even under an agent malfunction. The measured torque ripple and speed fluctuations under this unequal torque distribution are similar to the ones under the equal torque distribution, as can be seen in Fig. 14, which shows these fluctuations over three electrical periods. The torque oscillates at twice the stator electrical frequency, due to the interaction of the third harmonic component in the back EMF and the fundamental current. The feature that the suggested decentralized multiagent control approach can deal with differences between the agents without the need for a supervisory controller, is one of its major advantages.

VI. INFLUENCE OF CONSENSUS UPDATE FREQUENCY ON CONVERGENCE AND SETTLING TIME
It is important to notice that the update frequency f c of the consensus algorithm of Section III does not need to be related with the sample frequency f s of the decentralized PI current controllers of Section IV: f c can be higher or lower than f s . Fig. 15 shows the simulated and experimentally obtained PI settling time T settling,PI (ms) and consensus convergence time T conv,c (ms), averaged over a change ΔI * q in total set-point of +15, −25, and +10 for different choices of f c for five identical agents. These two parameters are defined as the time it takes to fulfill | x i q,x − I * q I * q |<0.05 for T settling,PI ; and requirements (11) for T conv,c . On average, (11) is fulfilled after 13.33 iterations, and hence T conv,c = 13.33/f c . The simulated and measured PI settling times for the situation without consensus algorithm, i.e., where each agent x immediately receives i * q,x = I * q /p as setpoint from the supervisory controller discussed in Section III-E, are added as reference values in Fig. 15.
In simulation, both T settling,PI and T conv,c vary inversely proportional to the consensus update frequency f c . T settling,PI is always slightly larger than T conv,c . In the measurements, however, the PI settling times are consistently higher than in simulation. This is due to the speed disturbances that occur when I * q (and hence the torque) is changed, which are not taken into account in the simulations. The rate |d(ΔI * q )/dt| at which the total set-point I * q can vary, is hence inversely proportional to f c . As a result, the requirements of the application can impose a lower bound on f c . The type of communication protocol, on the other hand, will impose an upper bound on f c . If, for instance, a multimaster CAN communication network is used-which has the advantage that all the nodes in the network are truly peers-the maximum bit rate is limited to 1 Mb/s [35]. If all incremental costs γ x and estimated mismatches e x are represented by means of 16 b, 5 · 2 · 16 = 160 b must be transmitted over the network for one iteration of the consensus algorithm (6). As a result, f c will be limited to 6.25 kHz. For this particular case study, in which I * q changes every 100 ms, this is not a severe limitation: the simulation and experimental result of Figs. 8 and 11 show that a consensus update frequency f c of 2 kHz is already sufficient to achieve adequate results. In this case, the consensus algorithm has already converged in 7 ms. Furthermore, the experimental results in Fig. 15 show that, in the measurements, the PI settling time is almost not affected anymore by the consensus update frequency f c when f c > 2 kHz: for f c > 2 kHz, it is the dynamic performance of the complete drive that limits the allowable |d(ΔI * q )/dt|, and not the consensus algorithm.

VII. CONCLUSION
In this article, a multiagent control strategy applicable to MMDs was introduced. The MMD was subdivided into different agents, each equipped with a dedicated controller. A deterministic static average consensus algorithm was implemented in each agent, to let the agents decide among themselves, which agent had to deliver which part of a total torque demand, taking into account the present condition of each agent, but without the need for a central controller. The autonomous PI current controllers of the agents then regulated the phase currents toward the agent-specific current set-points obtained in this way. Both simulations and experiments proved that the total torque demand was met, even under an open-circuit fault in one of the agents and under differences between the agents. The influence of the update frequency of the consensus algorithm on the consensus convergence time and the PI settling time was studied as well, providing useful insights in the allowable rate at which the total torque demand could change and the feasible communication protocols.