Multi-Agent Position Estimation in Modular Motor Drives Using Low-Resolution Sensors

Because a modular motor drive is composed of multiple identical pole drive units and controllers, it can be considered as a multi-agent system. This makes modular motor drives particularly interesting during faults, when the remaining healthy agents assure the continuity of operation. Nevertheless, for some crucial information such as the rotor position, these drives still rely on a single sensor which introduces a single point of failure. In this work, this single high-resolution position sensor is replaced by multiple binary, low-resolution position sensors. A vector tracking observer algorithm, implemented in the different controllers, processes this low-resolution sensor data into a position estimate. Subsequently, these position estimates of the different agents are exchanged with other agents using a distributed averaging algorithm. For this latter approach, it is shown in this work that it improves the position estimation under healthy conditions as well as during agent malfunctions. The concept is demonstrated on a modular axial-ﬂux permanent magnet synchronous machine with ﬁfteen pole drive units, each equipped with a low-resolution position sensor, that are assigned to ﬁve agents


I. INTRODUCTION
Modular Motor Drives (MMDs) are created by splitting up the Electric Motor (EM) and Power Electronic (PE) converter parts into multiple identical segments [1]. The term pole drive unit is frequently used to indicate a module consisting of an EM and PE segment [2], [3]. Advantages of modular systems include fault tolerance, increased efficiency, better thermal management, power rating scalability, implementation of advanced control strategies, economies of scale, and a possible reduction in the overall size and cost of the PE [4]- [6]. The latter one makes it feasible to integrate the EM and PE into a shared enclosure [7]. This aggressive structural integration results in a fully integrated modular motor drive [8].
To avoid single points of failures, many MMDs also use more than one controller, each driving only a limited set of modules [9]. A choice that is frequently made in literature, is to divide the drive into multiple sets of three pole drive units, and to equip each of these sets with an independent threephase controller. These so-called multi-three-phase machines can benefit from both the fault tolerance and redundancy of an MMD, while still relying on the well-consolidated three-phase technology [10]- [12].
A modular motor drive in which each set of pole drive units is driven by a separate controller can be considered as a Multi-Agent System (MAS). The agents in such a network can work together to reject disturbances [13], [14], to compensate for failures [15], to perform distributed optimization [16], or, in general, to reach agreement on a specific quantity of interest [17]. The ability of the agents to fuse information of dynamically changing, locally available signals in a decentralized fashion, is commonly referred to as dynamic average consensus [18]. One of its objectives is to obtain higher-accuracy estimates by means of the collective computation of the average of these time-varying signals. The challenge, however, is that each agent is only capable of local computations, and communication with local neighbors. A variety of methods exists to solve the dynamic average consensus problem, each having their own trade-offs regarding convergence rate, robustness, steady-state error, memory-and communication requirements, noise filtering, and ability to incorporate specific information about the input signals by means of the internal model principle [18], [19].
Modern high-performing motor drives in automotive and industrial processes require a high-resolution rotor position measurement [20]. In some MMDs, a high-resolution encoder or resolver is interfaced with a master controller, that transfers the rotor position to the different controllers that are each driving a set of pole drive units. Since cost and reliability are key parameters, expensive and vulnerable high-resolution encoders or resolvers in these harsh and unfriendly environments are undesirable, as they introduce a single point of failure [21], [22]. Creating redundancy in the mechanical position sensor is also not an option because of its impact on cost and required integration space [23]. Although existing sensorless methods [24]- [28] can be implemented in each of the different controllers in an MMD, the desired performance is not guaranteed within the wide speed and torque range for some mission-critical drives [29].
Inexpensive binary Hall sensors can be combined with estimation algorithms that calculate a high-precision rotor position based on the low-resolution sensor data [30]. Different from the sensorless methods, the estimation is based on discrete absolute rotor position information [31]. Most of these estimation algorithms are based on interpolation techniques [32], Kalman filters [33], [34] or state observers [35]. Despite the use of continuous and differentiable functions that interpolate the quantized discontinuous position in interpolation techniques, time delays and jumps in the rotor position estimate are unavoidable. In Kalman filter based estimation, algorithms usually need to know the noise variance and assume that the quantization error is Gaussian noise, which is not always feasible in practice [29]. State observers combine a high-accuracy and good dynamic characteristics. Nevertheless, the actual performance is heavily influenced by the quality of the observer input and the accuracy of the mechanical model. The quantization of the Hall sensor data generally results in a non-smooth rotor position estimate, and hence, results in torque ripple [36].
In this research, a low-resolution sensor technique is integrated in the multi-agent structure of an MMD. An inexpensive low-resolution sensor is added to each of the pole drive units, and a state-of-the-art state observer is implemented in each of the controllers driving the different sets of pole drive units. Subsequently, the estimated rotor positions of the different agents are shared with the neighbors using a distributed averaging algorithm. It will be demonstrated in this research that this consensus based approach results in a more accurate estimation of the rotor position under normal operation as well as during agent malfunctions. During agent malfunctions, the position estimate of the faulty agent is inherently replaced by the consensus based value of the remaining agents, and hence, the agent can continue its operation.
A proper definition of a pole drive unit, agent, and MMD architecture is given in Section II. In Section III, a state-ofthe-art state observer, implemented in the different agents, is discussed. Section IV focuses on the distributed averaging algorithm. Section V finalizes this research with a comprehensive validation on a test setup under healthy operation conditions as well as agent malfunctions.

II. MODULAR MOTOR DRIVE ARCHITECTURE
An overview of the architecture of the modular motor drive is presented in Fig. 1. A motor module consists of a stator core element and a concentrated winding. This motor module is directly connected to a PE module. In this work, the PE module has a half-bridge topology and includes a phase current measurement. A motor module together with a PE module is called a Pole Drive Unit (PDU).
In this work, three of these pole drive units are driven by a standard (micro)controller in which a conventional threephase field-oriented control algorithm is implemented. The assembly of three pole drive units and one controller is called an agent. The n PDUs in an MMD are hence grouped into m = n/3 agents. An agent is a functional entity that can operate independently of the other agents in the system. The agent-specific torque set-points T * i (i ∈ {1, . . ., m}) for fieldoriented control can be generated by means of a master controller. However, this is not in accordance with the decentralized nature of an MMD. Therefore, ongoing research of the authors is focused on the decentralized distribution of the total torque demand T * em = i T * i over the agent-specific set-points T * i . However, this research is out of the scope of this paper.
In this research, a low-resolution position sensor is added to each of the pole drive units. As a consequence, each (micro)controller -and hence each agent -receives the digital input of three low-resolution sensors.
Finally, the modular motor drive is composed of multiple agents. A circle communication network is established between the agents. This communication network only allows data exchange with the two closest neighbors of each agent, i.e. agent i can only communicate with agents i − 1 and i + 1. The agents use continuous communication, i.e. their communication is time-scheduled. As all the agents are identical, they form a homogeneous communicating MAS.

III. LOW-RESOLUTION POSITION ESTIMATION
As mentioned in the introduction, different types of algorithms exist to turn the low-resolution sensor data into an accurate estimate of the electrical rotor position θ . The algorithm used in this research is adopted from [31], where the Vector Tracking Observer (VTO) presented in Fig. 2 was introduced. Each agent in the MMD uses the binary outputs of its three own low-resolution sensors in its own VTO.
In each agent, the low-resolution sensor data is processed into a spatially rotating vector. This vector moves around the   hexagon, in quantized 60 • increments, as shown in Fig. 3. The spatial harmonic vector H αβ can be expressed as where e j(θ− π 6 ) is the fundamental rotating vector, the remaining terms represent the spatial harmonic content.
Aggressive tuning of the PID-parameters in the VTO in Fig. 2 will result in the tracking of the quantized nature of the input H αβ and will be erroneous. On the other hand, relatively high bandwidth is usually desired in order to obtain a good dynamic estimate of disturbances. To limit the tracking of the quantized nature at low speeds while keeping sufficiently dynamic response at high speeds, the PID-parameters are varied linearly with the rotor speed as suggested in [31].
Also the decoupling of the spatial harmonic content is implemented in the VTO [31]. This results in a rotating vector with strongly reduced quantization harmonic content.
The implementation of the speed dependent gains and decoupling of the spatial harmonic content results in a more or less speed independent error on the electrical position estimateθ . Fig. 4 presents the simulated rotor estimateθ and error θ =θ − θ of an agent at a steady-state speed of 500 rpm and a sampling frequency f s = 1/T s of 10 kHz. The used PIDparameters have the values K P = 71.98, K I = 611.72 and K D = 0.76 at this rotor speed of 500 rpm. It can be concluded that an agent is capable of estimating the rotor position with sufficiently high accuracy under healthy operation conditions. Nevertheless, a failing low-resolution sensor (i.e. a sensor whose output is constantly high or low) results in an unusable position estimate, as is illustrated in Fig. 5. If the agent only had this position estimate at its disposal, it would need to be shut down. References [37], [38] explain how such a single sensor fault can be detected by the failing agent itself by the appearance of the zero-vector in the locus of H αβ . Also a double sensor fault (i.e. when only one sensor of the agent remains functioning properly, and the outputs of the other two sensors are constantly high or low) can be detected by recognizing that only two vectors are switching back and forth. The faulty agent could improve its VTO position estimate by storing specific harmonic decoupling waveforms for every possible fault in look-up tables, which could be accessed once the fault is identified with the method explained in [37]. However, storing these waveforms with an acceptable resolution would require a lot of memory, and the reduced resolution of H αβ would still result in additional ripple in the estimated rotor position [37].
To avoid these disadvantages under sensor malfunctioning, the multi-agent structure of an MMD can be exploited. Since the other agents of the MMD are still healthy, they still have an accurate position estimate available from their VTO. The major contribution of this research is to share this position estimate with the other agents. Sharing the position information will result in an overall better accuracy of the rotor position estimate, and provides an adequate position estimate to the infected agent in post-fault operation without the need to store 18 additional look-up tables in each agent for each of the possible faults. The distributed averaging algorithm that is used for this purpose, is elaborated in Section IV.

IV. DISTRIBUTED AVERAGING ALGORITHM
By establishing communication between the m different agents of the MMD, they can cooperate to further improve their position estimation. Under healthy operation conditions, the distributed computation of a local average increases the accuracy of their estimates, since in the end, all the agents try To enable the averaging of the discontinuous rotor positions θ i ∈ [0, 2π ) (i ∈ {1, . . ., m}) of the m agents, these discontinuous signals are transformed into vectors of continuous signals: As these sine and cosine signals are very fast-varying in time, especially at high rotor speeds, the dynamic consensus algorithms proposed in literature [18], [19] require very high communication rates in order to converge. Therefore, it is opted in this research to use a distributed averaging algorithm that is able to fuse information of five neighboring agents at a communication frequency equal to the sample frequency f s used for field-oriented control and the VTO. This algorithm does not necessarily converge to the global average of the estimated rotor positions of all the agents in case there are more than five agents, but it is sufficient to provide position estimates with a higher accuracy than the estimates resulting from the VTO of a single agent, and to assure an adequate position estimate in case of a low-resolution sensor malfunction. To compute a local average of the estimated rotor positionŝ θ i (i ∈ {1, . . ., m}) from the VTOs of the agents, the procedure presented in Fig. 6 is followed. First, the m agents predict their own position estimates for discrete time instant k + 2, based on the position and speed estimate of their VTO for time instant k:θ These predicted position estimatesθ k+2 i (k) ∈ [0, 2π ) are then exchanged with the two closest neighbors of each agent at time instant k + 1. When an agent has detected a sensor failure by means of the state-of-the-art fault detection algorithm of [37], it can flag this fault to its neighbors by sending a value that is far outside the normal position range [0, 2π ).
After this first communication step, each agent i has knowledge about three different position estimates. These three values are stored in the memory of agent i: At time instant k + 2, a second communication step is conducted. Agent i sendsθ k+2 i+1,mem i (k + 1) to agent i − 1 and θ k+2 i−1,mem i (k + 1) to agent i + 1, and receivesθ k+2 After this second communication step, each agent i has hence knowledge about five different position estimates. For each of these five valuesθ k+2 j (k) ( j ∈ {i − 2, i − 1, i, i + 1, i + 2}), agent i checks autonomously whether it is a valid position estimate or not: This validity check is required to avoid any negative effect of a failing agent on its healthy neighbors. After all, the objective of the DA algorithm is to improve the rotor position estimates of the agents, and not to spread faults across the whole MMD.
The agents do not have to know whether their neighbors make use of their VTO position estimates or not. After this validity check, the position estimatesθ k+2 j (k) are transformed into vectorsˆ j (k + 2) of continuous signals according to (2). A local average is then computed based on the known healthy position estimates: Eventually, the estimated average rotor positionθ i at instant k + 2 can be recovered fromˆ i (k + 2) by means of the arctan function. This position estimateθ i (k + 2) can then be used in the field-oriented control loop.
In summary, the output of the DA algorithm of agent i at instant k + 2 (i.e. the estimateθ i (k + 2)) is based on the outputs of the VTOs of five different agents at instant k. At each time instant, each agent exchanges a vector of two predicted position estimates with each of its two closest neighbors, i.e. it sends the vector to neighbor i ± 1, and it receives the vector from that same neighbor. The healthy position estimates are averaged. The prediction step (3) is required to compensate for the time delay of two sample periods T s introduced by the double communication step. As the agents do not predict the effects of their actions, but just reactively convert their low-resolution sensor inputs into a position estimate that can be used in a field-oriented control loop, they are reactive agents. They can decide for themselves whether or not to make use of the communicated VTO position estimates of their neighbors based on validity check (5), which makes them autonomous, flexible and communicative. However, the agents cannot change their behavior based on previous experience, so they are non-adaptive. In general, the DA algorithm explained in this section can be adapted to fuse information of x different agents, with x any odd number. This would require the prediction step (3) to change toθ and would involve (x − 1)/2 communication steps. For instance, if the MMD would comprise only three agents (m = 3), only one communication step would be sensible. If the MMD would comprise for instance nine agents (m = 9), x could be increased to a value larger than five in order to fuse information of more agents. However, the larger x, the more sensitive the prediction step (7) to speed estimation errors and speed changes, due to the longer prediction horizon and the increased number of sample periods it takes to collect all the required variables by means of neighbor-to-neighbor communication. Therefore, it is advisable to choose x = 5, even when m > 5, as this choice strikes a good balance between information fusion and robustness. The modular axial flux PMSM used as case study throughout this work, consists of n = 15 pole drive units, grouped into m = 5 agents (n = 3 m). The simulation result for this case study under healthy operation conditions is presented in Fig. 7(a). Since the DA algorithm fuses the information of all five agents (m = 5 and x = 5), the rotor position estimatê θ i (and hence the estimation error θ i =θ i − θ ) is the same for all five agents i ∈ {1, . . ., 5}. It should be noted, however, that this would not be the case if m > x. By comparison with the simulated estimation error presented in Fig. 4(b) for an estimate based solely on the VTO of one agent, it can be concluded that the cooperation between the agents of the MMD by means of the DA algorithm indeed improves the rotor position estimation.
In Fig. 7(b), the simulation results are shown for a single low-resolution sensor malfunction in agent 1: one of its three sensors constantly outputs a low signal. Even under these faulty circumstances, the DA algorithm provides all five agents -including the failing agent -with a position estimateθ that has an accuracy comparable to the one under healthy operation conditions presented in Fig. 7(a). Comparison with the outputs of the VTO of one agent only in Figs. 4(b) and 5(b), shows that both the healthy and faulty agents can benefit from the DA algorithm under a sensor malfunction.

V. EXPERIMENTAL VERIFICATION A. TEST SETUP
In the test setup presented in Fig. 8, a 4 kW Segmented Armature Torus (SAT) Axial-Flux PM Synchronous Machine (AFPMSM), of which the specifications are listed in Table I, is working in motor mode, loaded with an induction motor drive. This AFPMSM is composed of fifteen identical motor modules, of which all thirty power terminals are accessible. The motor modules are connected to a modular low voltage scalable power electronic platform from Infineon. Fig. 8 shows that the power electronics consist of five three-phase power electronic converters, each comprising three identical PE modules that are directly connected to the motor modules of the AFPMSM. Next to the power modules, each agent includes three phase current measurements and three lowresolution sensors. In other words, the test setup comprises fifteen pole drive units, grouped into five agents. Binary Hall sensors were not embedded during the construction of the AFPMSM. Therefore, the low-resolution sensors are implemented as through beam photoelectric sensors (EE-SX4009-P1 of Omron) mounted in an assembly as in Fig. 8 at the other side of the flange of the AFPMSM. This assembly consists of a stationary panel, with fifteen photoelectric sensors evenly spaced around the rotating shaft. A disc with eight cutouts is used as an alternative for the magnetic field of the sixteen permanent magnets of the rotor. This disc is mounted on the rotating shaft, and its outer part rotates through the grooves between the emitters and the receivers of the photoelectric sensors. A sensor outputs a low or a high voltage, depending on whether an impermeable part or a cutout of the disc passes through its groove. In this way, the effect of a rotating rotor with eight pole pairs on fifteen Hall sensors embedded in the stator is imitated. The rotor position measurement by the build-in high resolution encoder is referred to as the real rotor position and is not used by the control algorithm.
The position estimation algorithm (the combination of both the VTO and the DA algorithm) is executed at the same frequency as the field-oriented control loop ( f s = 10 kHz). In a dSPACE MicroLabBox, the controllers of the five different agents are implemented in five fully independent, parallel blocks. Each block comprises the VTO algorithm of Section III, followed by the DA algorithm of Section IV, in order to process the outputs of three photoelectric sensors into a single high-precision position estimate that can be used for field-oriented control. Both algorithms are executed in one sample period T s of 100 μs. For the DA algorithm, only the communication of the vectorsθ i,i±1 between the neighboring blocks, as depicted in Fig. 1, is allowed.

B. EXPERIMENTAL RESULTS
In Fig. 9(a), the position estimation errors for all the agents without DA (i.e. based on the VTO of each agent only) is presented for a constant speed of 500 rpm. In comparison with the simulated results in Fig. 4(b), it is clear that the error on the measured position estimate is larger. This is due to an imperfect positioning of the low-resolution sensors and an unequal width of the rotating disc cutouts due to manufacturing tolerances. As a result, the low-resolution sensor outputs differ from the ideal simulated ones, as is illustrated in Fig. 10. As the look-up tables in the VTOs of the agents are based on the ideal sensor outputs, the discrepancy between these ideal sensor outputs and the real sensor outputs deteriorates the performance of the VTOs. Achieving a good tolerance on the positioning of the low-resolution sensors becomes particular challenging in machines with a high number of pole pairs.
Since the deviation on the positioning of the low-resolution sensors and the width differences of the cutouts in the rotating disc are arbitrary, the DA algorithm results in a slight reduction of the position estimation error, as can be seen in Fig. 9(b).
The measured impact of a single low-resolution sensor fault on the output of the VTO of the faulted agent is shown in Fig. 11(a). The measurement is in good agreement with the simulated results of Fig. 5(b). By using the DA algorithm with x = m = 5, all the agents, including the failing one, can be provided with the accurate position estimate shown in Fig. 11(b). Also in this post-fault operation, the position estimate of the agents remains comparable to the one of the healthy system after DA (cfr. Fig. 9(b)), and hence more accurate than the one of the healthy system without DA (cfr. Fig. 9(a)). Fig. 12 shows the measured position estimation errors under a speed reversal from 500 rpm to -500 rpm with an acceleration of -570 rad/s 2 , while a speed step from 1000 rpm to 1500 rpm is imposed in Fig. 13. The measured speed profiles  The measurements on the test setup hence confirm that the suggested approach results in an accurate rotor position estimation under both normal operation and under a lowresolution sensor failure.

VI. CONCLUSION
In this work, a cheap and fault-tolerant rotor position estimation method applicable to modular motor drives was introduced. In this approach, the modular motor drive was provided with multiple inexpensive, low-resolution position sensors, and was subdivided into different agents. A state-of-the-art vector tracking observer was implemented in each agent, and consequently, a distributed averaging algorithm was added. Both simulations and experiments proved that the rotor position estimate was improved in comparison with the estimation method without the distributed averaging algorithm, under normal operation conditions as well as under sensor malfunctioning.