Robustness Analysis for Multi-Agent Consensus Systems with Application to DC Motor Synchronization

: DC motor speed synchronization is a critical problem in industrial and robotic applications. To tackle this problem, we propose to use a multi-agent consensus-based control scheme that guarantees the convergence of the DC motor speeds to either ﬁxed or time-varying reference. A detailed robustness analysis considering parametric uncertainty and time delay in the multi-agent system is performed to guarantee the consensus on the speed of DC motors in actual practice. The results obtained concerning the robustness analysis allowed us to implement experimental tests on a three-motor system using a wireless communication system to achieve satisfactory performance.


Introduction
Multi-agent coordination control has been a research field of interest during the last few decades. A wide variety of multi-agent control methods can be found in the literature. These control approaches are classified as (a) virtual structure [1], where each agent is considered a component of a bigger structure; (b) behavioral control [2], which deals with conflicting tasks such as obstacle avoidance and move to goal, for example; and (c) leader-follower [3,4], where one of the agents works as a group leader and the others are designated as followers. The consensus is one of the most studied strategies to control multi-agent systems [4][5][6][7], and its applications include power systems [8], robotics [3,9], flight formation control [10], to mention a few.
Arguably, the most common actuator in robotics and industrial applications is the DC motor. It is well known that motor synchronization plays an important role in the quality of manufactured products. For example, in rolling mill machines, the conveyor belt's tension must lie in an allowable tension to guarantee the thickness of the rolled steel [11]. As discussed in [12], many manufacturing processes require coordinated motion of two or more motion axes to achieve the desired performance, e.g., CNC machines, paper machines. Poor motor synchronization in such industrial applications would result in low-quality products that might be considered unusable in the worst case. The problem

Multi-Agent Consensus System Preliminaries
As discussed in [6], information exchange among agents is a necessary condition for multi-agent consensus. Such information exchange is often modelled using graph theory [6,26,27]. Then, in this section, some preliminary results on graph theory and forced multi-agent consensus are presented.

Graph Theory
A graph G is a pair (N , E ) which consists of a set of nodes N and a set of edges E on N . Every link between a pair of nodes (n i , n j ) is called an edge, e ∈ E . A graph is said to be bidirectional if nodes n i and n j can get information from each other, i.e., (n i , n j ) ∈ E ⇔ (n j , n i ) ∈ E . A graph is called digraph if the information between nodes only flows from node n i to n j . Thus, information exchange between agents can be modeled as a digraph but also as an undirected graph. A graph is said to be balanced if its in-degree (the number of communication links arriving at the node) is equal to its out-degree (the number of communication links leaving the node). A graph is connected if, for every pair (n i , n j ) of distinct vertices, there is a path from n i to n j . A connected graph allows the communication between all agents through the network. This leads us to the fact that a graph G has a spanning tree if and only if G is connected [27]. We assume that every communication link (n i , n j ) has a gain (weight) g ij . A matrix representation of the information flow G among agents can be obtained using Laplacian matrix. The definition of the Laplacian matrix is L = [l ij ] where l ii = ∑ j∈N i g ij and l ij = −g ij for i = j and N i is the set of neighbors of the i th agent.

Multi-Agent Forced Consensus Control
Let us consider the following multi-agent system: where ξ is the state andū i is a forced consensus control strategy given bȳ where k p is a positive gain and b i is defined as follows: b i = 0 if the i th agent is follower 1 if the i th agent is leader Then, system (1) can be rewritten:ξ where C = B T are the output and input vectors and L is the Laplacian matrix of G, the multi-agent information graph. Notice that, without loss of generality, agent 1 can be designated as the leader agent with access to the reference as shown in Figure 1. The leader control law considered here is based on the center of mass (average) of the states [4] where k cm is a positive gain, N is the number of agents in the multi-agent system, and ξ d cm and ξ cm are the desired state center of mass and the calculated system state center of mass, respectively.

Information Flow Topology
The information flow between agents is defined by the employed topology. In [4], it is stated that cyclic and chain topology, shown in Figure 1, can be combined to model all kinds of complex multi-agent information flow topologies. It is important to recall that the forced consensus of multi-agent systems of arbitrary length communicating over networks with cyclic and chain topologies are controllable and observable. Details on controllability and observability properties of leader-based multi-agent systems can be found in [4].  The state space representation of a multi-agent system with cyclic topology is the following: The state space representation of a multi-agent system with the chain topology is the following: For simplicity, Equations (6) and (7) can be rewritten as

DC Motor Speed Consensus Control
The DC motor model employed in this work was presented in [13] where J eq = η g K 2 g J m + J l and B eq = η g K 2 g B m + B l . ω l is the motor angular velocity. Motor parameters employed in (9) are: R m is the motor armature resistance, k m is the motor back-emf constant, k t is the motor current-torque constant, K g is the gear ratio, η m is the motor efficiency, η g is the gearbox efficiency, J m is the motor shaft moment of inertia, J l is the load moment of inertia, B m is the viscous friction on the motor shaft, and B l is the viscous friction on the load shaft. The final model is obtained where , which is designed to compensate the dynamics as follows: whereū(t) is the control law obtained in the following sections. Although multi-agent consensus control can be used to synchronize any number of DC motors, for simplicity, we illustrate the application of the consensus control on a three DC-motor system communicating over a network with cyclic topology.

Three Agents Cyclic Topology
The particular case of a three agents system with a cyclic topology, as in Figure 1a, is analyzed below. Thus, for this case, Equation (1) simplifies to Now, according to the desired reference characteristics, we consider the situations of fixed reference and time variant reference.

Fixed Reference
Similarly to [28], based on Figure 1a, we usē so the resulting state space representation is The resulting matrix L r has an eigenvector ω T = [1 1 1]. Pre multiplying (14) by ω T , The center of mass of the states is Then, we take the leader control law (5) with n = 3 where ξ d cm is the desired center of mass value and k cm is a constant. By substituting (17) in (15), we obtainξ cm = −k cm ξ cm + k cm ξ d cm (18) If ξ d cm is a constant and k cm = 1, then ξ cm − ξ d cm → 0 as t → ∞. By substituting (17) in (14), we obtain   ξ From (19), it is possible to see that ξ 1 , ξ 2 and ξ 3 converges to ξ d cm .

Remark 1.
It is worth to recall that since the leader control is based on the center of mass of the agent's states, the general case for DC motor synchronization can be achieved by using control law (5).

Time Varying Reference
When a time varying reference is considered, it is necessary to include additional controls in all the agents besides the leaderξ by substituting (21) in (20), we obtaiṅ again, by adding (22a), (22b), and (22c), we obtaiṅ Equation (23) shows that To generalize this procedure for N motors, modify (20) as follows: where u 1 is the same as in (21a), u k =ξ k+1 for k = 2, . . . , N − 1 and u N = ξ 1 , considering a cyclic case.

Robust Consensus Analysis
Equation (14) is the mathematical model of the consensus system for the particular case of three DC motors considering a cyclic topology; however, it is worth noting that the method presented in this section is valid for any topology that could be considered. In real life, it does not exist a perfect mathematical model that represents the dynamic performance of a physical system, so different areas of control theory, such as robust control, seek to compensate for modeling errors. Robust control considers the uncertainty in the mathematical model, taking it into account in the analysis stage so that the results are closer to reality than in the case when uncertainty is not considered. The state of the multi-agent system (14) represents the information exchange of the variables that must be synchronized, which, in our case, are the speeds of the DC motors. For the above, it is essential to use sensor devices frequently affected by the measurement noise. This phenomenon is modeled considering parametric uncertainty in the coefficients of the Laplacian matrix, as shown below, see [29] ξ = L(q)ξ + Bu 1 (27) where and Q is defined as the sets defined as in (28) are generally called boxes because of the geometric shape they have. On the other hand, manipulating Equation (27), the following equation can be obtained: the vectors q 0 and r are the nominal and uncertain parameters of the multi-agent system, respectively. Their structure is as follows: the new way of representing the parametric uncertainty in (29), allows for describing the system (27) as follows:ξ = L(q 0 )ξ + Bu 1 + L(r)ξ As we can see in the above equation, the uncertainty was only considered in the multi-agent system because our main objective was to establish the consensus in this system and achieve synchronization in the DC motors' speed. The uncertainty in the DC motors' mathematical model was treated independently through the control law applied to each motor (11).

Robust Consensus for the Multi-Agent System
In this section, the Lyapunov method is going to use to find the robustness margins of the multi-agent system. We will start by defining the following Lyapunov function taking into account the representation of the multi-agent system shown in (30): where, as stated in the Lyapunov method, the matrix P is a real symmetric positive definite matrix.
Taking V(ξ) as in (31), the derivative of V along the trajectories of the multi-agent system is given bẏ Now, considering the control law as defined in (17), it is possible to obtain the following equation: The term in Equation (32) represents an inner product so the Cauchy-Schwarz inequality can be applied to obtain the following expression, see [30] 2ξ T PL(r)ξ = 2λ(P)ξ T L(r)ξ Here, γ is the upper bound of uncertainty L(r) ≤ γ and λ(P) are the eigenvalues of the matrix P.
When we replace the previous terms in (32), the following condition is obtained: where Q is a real symmetric positive definite matrix and satisfies the following equation: Finally,V (ξ) ≤ −ξ T Qξ + 2λ max (P)γ ξ 2 ≤ (−λ min (Q) + 2λ max (P)γ) ξ 2 Therefore, the condition to ensure the stability property of the uncertain multi-agent system (30) is the following: In the previous equation, it can be seen that the robustness margin is a function of the Q and P matrices that solve the Equation (33). Now, considering the closed-loop multi-agent system from (19) Therefore, it can be noted that the uncertainty tolerated by the closed-loop multi-agent system must be L(r) < 0.6208. This implies that the equivalent uncertainty supported by the system is equal to 70% in each parameter of the Laplacian matrix, that is, where q 11 = q 22 = q 33 ∈ [−1.35, −0.65] and q 12 = q 23 = q 31 ∈ [0.65, 1.35]. It is possible to appreciate this robustness margin in the experimental tests that will be presented later.

A Practical Example of Computing the Time Delay Margin in Communication between Agents
A fundamental aspect to achieve the consensus of multi-agent systems is communication between agents, which is why it is important to consider all the possible phenomena that occur in this process. An important point is the time delay that exists when one agent sends messages to another; see [5,6]; this can be represented byξ The structure of the multi-agent system previously presented is due to the topology selected in Section 3.1, and it is important to note that the element of the matrix Ar(3, 1) is equal to 1.25 because uncertainty was considered in that parameter. However, it could have been considered in all the matrix terms (37) without affecting the methodology. The calculations would be similar to those made for this particular case of the DC motor synchronization. Now, considering the control law from (17), the following closed-loop multi-agent system is obtained: Once the structure of the system is well defined, the fundamental problem will be to calculate the maximum time delay that the multi-agent system supports without the stability property being lost. It is well known that the property of stability of (39) is determined by the roots of the following characteristic equation; see [31] det Once this equation is developed, it represents functions called quasipolynomials that have the following form: where p 0 (s) = (s + 1) 3 The multi-agent system (39) is stable if and only if the following condition is satisfied: where C + denotes the set of complex numbers with real part greater or equal to zero. Like an extension of the stability concept, the quasipolynomials that satisfy the previous condition are called stable quasipolynomials. Due to difficulty in determining the roots of quasipolinomial functions, we will define the following associated polynomials: These associate polynomials have an important relation between their roots: suppose that s 0 = jω for some value of ω 0 ≥ 0; then, s 0 = jω 0 is a root of the characteristic equation p(s, e −τs ) for some value of τ ≥ 0 if and only if s 0 = jω 0 is a root of p(s, T) for some value of T ≥ 0. This relation that exists between p(s, e −τs ) and p(s, T) is obtained from a transformation that is carried out in the exponential function that represents the time delay; see [32], while the relation between T and τ is determined as follows (see [33]): where ω i ∈ W; the set of W is defined as follows: in the case of the multi-agent system (39), the associated polynomial is the following: where a 0 (T) = 3.25 a 5 (T) = 6.25T 4 + 12T 3 + 6T 2 a 6 (T) = 4T 4 + 4T 3 Now, define the polynomial associated Hurwitz matrix as follows: p(s, T) = a 7 (T)s 7 + a 6 (T)s 6 + ... + a 1 (T)s + a 0 (T) (50) This result shows stability conditions for any time delay; when this happens, it is said that the system is stable independent of the delay. However, our goal is to determine the maximum delay that the multi-agent system can support without losing the stability property. To do this, it is necessary to compute the values of T where the determinant of the Hurwitz matrix H[p(s, T)] becomes zero and using (47) and (48) compute the time delays for which the system loses the stability property. Carrying out the corresponding computation, we get the values of T that make the determinant of the Hurwitz matrix (51) zero; these are T 1 = 0.828427 and T 2 = 2.774851 and their corresponding ω 1 = ω 2 = 0.5. These, in turn, are used to compute τ 1 = 3.1416 and τ 2 = 7.5702; thus, the maximum delay supported by the multi-agent system is τ max = 3.1416 s. The robustness analysis performed in this section guarantees that adequate performance is obtained in experimental testing of the DC motor synchronization.

Experimental Results
The agent speed consensus control addressed in Section 2 was implemented by using a Bluetooth wireless communication system and an embedded microcontroller-based control platform, as shown in Figure 2. This platform consists of three identical modules whose elements are: a DC motor managed by a dual-core ARM Cortex-A9 embedded microcontroller system, with the ability to be programmed via WiFi, a Bluetooth transmitter, and a receiver (115,200 baud), as well as an encoder to measure motor speed, with a sampling frequency of 25 samples per second. Each motor has a load consisting of a wheel. The control algorithm was programmed using LabVIEW R . Before the tests, the WiFi communication was used to configure the controllers parameters, but, during the tests, it was only used to send the reference value from the computer to the leader controller. The gains k p = 0.07 and k cm = 1 were chosen to have an underdamped response. Note that while controllers 2 and 3 need one speed state information via Bluetooth, the controller 1, the leader, needs to have all speeds to calculate the center of mass. Approximate motor parameter values are shown in Table 1. It is important to note that, in this system, there may be several sources of uncertainty, namely motor parameters, measurement noise, and transmission delays. A schematic diagram of the multi-agent system is shown in Figure 2, and the experimental implementation is presented in Figure 3.   The tests consisted of a step reference change and a sinusoidal reference change, r(t) = 70 + 30sin(0.2πt). The response of the DC motor speeds (ω 1 (0) = 60.13 rpm, ω 2 (0) = 59.75 rpm and ω 3 (0) = 59.67 rpm) and controls to a reference step change are shown in Figures 4 and 5, respectively. It is possible to note that the leader control u 1 has a bigger transitory because it is responsible for carrying the system to the reference; the other two controls carry the states to the center of mass. The behavior of the center of mass is plotted in Figure 6, where the center of mass is very close to the reference during stationary state and smoother than the speeds, acting as a low pass filter. This variation, of approximately 0.5 rpm, is mainly due to the encoder used to measure speed. Figures 7-9 show the response, control outputs of the motor system, and the center of mass with a time-varying reference (ω 1 (0) = 0.40 rpm, ω 2 (0) = 1.10 rpm and ω 3 (0) = 1.14 rpm). The synchronization of angular speeds is appreciated under reference step change and sinusoidal reference. Observe that small errors appear when using time-varying references, due to the propagation delay of the reference over the wireless communication system and the states, working as uncertainty, but is not enough to avoid synchronization.

Conclusions and Future Work
In this article, an application of a control methodology that uses a multi-agent consensus theory was presented. The convergence of the states to both a fixed and a time-varying reference was demonstrated on a three-agents system with cyclic information flow topology. This methodology was applied in order to synchronize the speed of three DC motors. Through a robustness analysis of the uncertainty of the parameters of DC motors and the delays in communication between agents, the consensus was ensured. In addition, experimental results on a three DC motor system with a wireless communication system were presented. Most of the reviewed works presented just two motors. It was implemented by using a Bluetooth wireless agent communication system and an embedded micro-controller based control platform. It was noticed that the proposed control approach allows us to synchronize the multiple DC motor system. The small agent consensus error concerning the desired reference is due, besides the motor dynamics, to wireless communication systems, and the information flow topology.
From the information above, we identify three different research lines that may be addressed as future work; the first is to perform an independent robustness analysis in each of the parameters of the Laplacian matrix prioritizing the parameters that may present most variation. The second research line is to consider in the analysis of the time delay system a higher number of parameters with uncertainty since this paper only considers one of them. Regarding the latter, it is clear that the maximum time delay that the close loop system may withstand without losing the stability property will be smaller than the one obtained when considering only one parameter. Finally, another future work is to perform experimental testing considering different topologies of information exchange such as chain topology or balances graph topology, adapting the experimental platform for this purpose.