MEV Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 Journal of Mechatronics, Electrical Power, and Vehicular Technology e-ISSN: 2088-6985 p-ISSN: 2087-3379 www.mevjournal.com doi: https://dx.doi.org/10.14203/j.mev.2020.v11.1-10 2088-6985 / 2087-3379 ©2020 Research Center for Electrical Power and Mechatronics - Indonesian Institute of Sciences (RCEPM LIPI). This is an open access article under the CC BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/). Accreditation Number: (RISTEKDIKTI) 1/E/KPT/2015. Swarm control of an unmanned quadrotor model with LQR weighting matrix optimization using genetic algorithm Endra Joelianto a, c, *, Daniel Christian b, Agus Samsi c a Instrumentation and Control Research Group - Institut Teknologi Bandung Jl. Ganesha No. 10, Bandung, 40132, Indonesia b Externship Researcher of Engineering Physics Study Program - Institut Teknologi Bandung Jl. Ganesha No. 10, Bandung, 40132, Indonesia c Engineering Physics Study Program - Institut Teknologi Bandung Jl. Ganesha No. 10, Bandung, 40132, Indonesia Received 30 April 2020; accepted 21 June 2020; Published online 30 July 2020 Abstract Unmanned aerial vehicle (UAV) quadrotors have developed rapidly and continue to advance together with the development of new supporting technologies. However, the use of one quadrotor has many obstacles and compromises the ability of a UAV to complete complex missions that require the cooperation of more than one quadrotor. In nature, one interesting phenomenon is the behaviour of several organisms to always move in flocks (swarm), which allows them to find food more quickly and sustain life compared with when they move independently. In this paper, the swarm behaviour is applied to drive a system consisting of six UAV quadrotors as agents for flocking while tracking a swarm trajectory. The swarm control system is expected to minimize the objective function of the energy used and tracking errors. The considered swarm control system consists of two levels. The first higher level is a proportional – derivative type controller that produces the swarm trajectory to be followed by UAV quadrotor agents in swarming. In the second lower level, a linear quadratic regulator (LQR) is used by each UAV quadrotor agent to follow a tracking path well with the minimal objective function. A genetic algorithm is applied to find the optimal LQR weighting matrices as it is able to solve complex optimization problems. Simulation results indicate that the quadrotors' tracking performance improved by 36.00 %, whereas their swarming performance improved by 17.17 %. ©2020 Research Center for Electrical Power and Mechatronics - Indonesian Institute of Sciences. This is an open access article under the CC BY-NC-SA license (https://creativecommons.org/licenses/by-nc-sa/4.0/). Keywords: unmanned aerial vehicle (UAV); quadrotor model; swarm model; proportional – derivative (PD) controller; linear quadratic regulator (LQR); optimization problems; genetic algorithm. I. Introduction Unmanned aerial vehicles (UAVs) are a type of aircraft that continues to develop because of its ability to fly without a human pilot. With the development of technology, especially for unmanned aircraft driven by propellers, the interest of researchers to acquire air vehicles with four rotors (quadrotor) is increasing [1][2][3]. The potential use of UAV quadrotors is progressing rapidly and extensively, ranging from simple flying to performing difficult tasks such as carrying equipment to places that are not easily accessible or are dangerous. For example, a quadrotor can be used to bring first-aid equipment to victims who are in locations that are difficult to reach, to find and notify about the location of earthquake victims in a building, and to take aerial photographs of areas that are difficult to visit. A UAV quadrotor has several advantages over conventional propeller planes, which are only driven by one or two rotors. The propeller on the opposite side of a quadrotor rotates in the opposite direction so that the gyroscopic effect, torque, and moment on the axis of the plane tend to be more balanced [1]. As a result, quadrotor aircraft can maneuver better and can approach obstacles without having to fear to crash [2]. Moreover, the quadrotor's ability to fly vertically and float makes this type of aircraft very suitable for flying in areas that have many obstacles. Research on quadrotors and how to fly them has received considerable attention in many years. Bresciani [3] in his thesis has modelled a quadrotor * Corresponding Author. Tel: +62-22-2504424; Fax: +62-22- 2506281 E-mail address: ejoel@tf.itb.ac.id https://dx.doi.org/10.14203/j.mev.2020.v11.1-10 http://u.lipi.go.id/1436264155 http://u.lipi.go.id/1434164106 http://mevjournal.com/index.php/mev/index https://dx.doi.org/10.14203/j.mev.2020.v11.1-10 https://creativecommons.org/licenses/by-nc-sa/4.0/ https://crossmark.crossref.org/dialog/?doi=10.14203/j.mev.2020.v11.1-10&domain=pdf https://creativecommons.org/licenses/by-nc-sa/4.0/ E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 2 by explaining the influence of aerodynamic forces acting on it and modelling its components. Sudiyanto et al. [1] have developed quadrotor modelling by using the first-principle approach. One of the problems in UAV quadrotors is the limited payload available, as this depends on lift force of the rotors. In many practical applications, the payload problem can be solved by using many quadrotors [4]. Advances in UAV technologies and improvement of sensor capabilities have led to group operation of quadrotors, which is important for applications that require large coverage areas such as search and rescue missions, inspection and detection, and surveillance reconnaissance [5]. Swarming is a group behaviour that is found in nature. This group behaviour can be found in organisms that live in groups such as bacteria, birds, fish, and ants. Swarm behaviour can arise through various mechanisms that are usually out of the instinct of the organism [6]. Several studies on models and controls for moving together have also been carried out, on mobile robots [7][8][9], autonomous helicopter [10][11], and quadrotor [12][13][14]. In [15], a modelled multi-agent swarm movement of a system to be able to follow the desired path has been investigated. Coordination of movements between two or more quadrotors is needed to optimize the work to be performed by the quadrotors. Therefore, the swarm coordination of quadrotors is a very interesting topic to study. Research on quadrotor swarm has been carried out in previous studies [16][17][18]. In [17], quadrotor swarming is considered using the leader–follower formation approach. In [18], the particle optimization approach is used to make the optimal formation control for a group of quadrotors. Some studies did not consider linear quadratic regulator (LQR) controllers, although they are well-known controllers that have been used in various applications, such as in controller systems, up until now [19][20][21]. The use of an LQR controller on a quadrotor is only for maneuver control, not yet for swarm motion [22][23]. The selection of LQR weighting matrices in the cost function is a major obstacle that makes it difficult to obtain the minimum cost function performance or desired control response. In the diagonal weighting matrix, the number of selected weight values is proportional to the order of the system plus the number of system control signals. Weight selection is often done by trial and error or using the desired response based on the analysis method [24][25]. Recently, many studies have proposed using the genetic algorithm (GA) method to obtain the LQR weighting matrices, which results in desired control performances more quickly and easily [26][27][28]. This paper considers a swarm control system of many quadrotors with two levels of the control loop and also defines simulation showing the coordination of six UAV quadrotor models to move and to form flocks. The design of the swarm control system is used in three-dimensional space simulations. Given the length limit of the article, the swarm center reference model is assumed to have been optimally provided by the higher-level control. This paper then focuses on designing the tracking control of the optimal swarm center reference model with LQR to minimize tracking errors. The problem of selecting the optimal weighting matrices of LQR is difficult to handle, but in this paper, the problem is solved by implementing a GA in order to produce the optimal performance of the UAV quadrotor swarm control system, which minimizes swarm tracking control errors in terms of the root-mean-square error (RMSE). II. Materials and Methods A. Quadrotor mathematical model The working principle of a quadrotor is the balance of lift and torque produced by the rotation of four rotors. The lifting force is obtained from the acceleration of air around the blades that occurs because of the rotation of the rotors. Accelerated air displacement produces forces in the opposite direction from the air displacement. If the force exceeds the weight of the quadrotor, then the quadrotor can move vertically. The forward and reverse movements, as well as the left and right movements, can be obtained with the combination of the four propellers. For example, the forward movement results from the rotation of the two front propellers, which is faster than that of the propellers on the backside. This combination produces the resultant force and torque that make the quadrotor move forward. Figure 1 shows the main components of a UAV quadrotor and the lifting force generated by the rotors. In addition to lifting, a quadrotor also works by balancing the torque produced by the four propellers. Setting the rotation speed of the rotating blades opposite can adjust the quadrotor rotation. In general, maneuvers that can be carried out by a quadrotor are shown in [29]. The lift force and torque of the blades are greatly influenced by the type of blades used. Calculation of lift and torque can be explained through the momentum theory and propeller element theory. The momentum theory can be used to determine the relationship between lift, speed, and power in the propeller [1]. The principle of energy conservation is used to formulate the lift force in a floating state by including the efficiency of the rotor. Based on Newton's second law for translational motion with the fixed vehicle mass, the transformation matrix of the Earth axis, the body axis, and angular movements, the equilibrium moment equations are obtained. Using the translational motion with fixed vehicle mass in the form of Cartesian coordinates and kinematic triad relations, the following nonlinear model of a quadrotor is obtained using Equations (1) to (9): �̇�𝐵 = 1 𝑚 ∙ ∑𝐹𝑥𝐵 − 𝑔 ∙ sin 𝜃 + 𝑟 ∙ 𝑣𝐵 − 𝑞 ∙ 𝑤𝐵 (1) �̇�𝐵 = 1 𝑚 ∙ ∑𝐹𝑦𝐵 + 𝑔 ∙ sin 𝜙 ∙ cos 𝜃 − 𝑟 ∙ 𝑢𝐵 + 𝑝 ∙ 𝑤𝐵 (2) �̇�𝐵 = 1 𝑚 ∙ ∑𝐹𝑧𝐵 + 𝑔 ∙ cos 𝜙 ∙ cos 𝜃 + 𝑞 ∙ 𝑢𝐵 + 𝑝 ∙ 𝑣𝐵 (3) E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 3 �̇� = 1 𝐽𝑥𝑥 ∙ ∑𝑀𝑥 − (𝐽𝑧𝑧−𝐽𝑦𝑦) 𝐽𝑥𝑥 ∙ 𝑞 ∙ 𝑟 (4) �̇� = 1 𝐽𝑥𝑥 ∙ ∑𝑀𝑥 − (𝐽𝑧𝑧−𝐽𝑦𝑦) 𝐽𝑥𝑥 ∙ 𝑞 ∙ 𝑟 (5) �̇� = 1 𝐽𝑥𝑥 ∙ ∑𝑀𝑥 − (𝐽𝑧𝑧−𝐽𝑦𝑦) 𝐽𝑥𝑥 ∙ 𝑞 ∙ 𝑟 (6) �̇� = 1 𝐽𝑥𝑥 ∙ ∑𝑀𝑥 − (𝐽𝑧𝑧−𝐽𝑦𝑦) 𝐽𝑥𝑥 ∙ 𝑞 ∙ 𝑟 (7) �̇� = 1 𝐽𝑥𝑥 ∙ ∑𝑀𝑥 − (𝐽𝑧𝑧−𝐽𝑦𝑦) 𝐽𝑥𝑥 ∙ 𝑞 ∙ 𝑟 (8) �̇� = (𝑞 ∙ sin 𝜙 + 𝑟 ∙ cos 𝜙) ∙ sec 𝜃 (9) Equations (1) to (9) show the quadrotor motion state variables consisting of three body velocity variables ( 𝑢𝐵 , 𝑣𝐵 , 𝑤𝐵 ), three angular velocity variables (p, q, r), and three angular variables ( 𝜙, 𝜃, 𝜓) . The detail derivation and the notation description can be found in [1]. The quadrotor mathematical model can then be written in the linear time-invariant state space equation after being linearized in the specified flying conditions as Equations (10) and (11): �̇�(𝑡) = 𝐴𝑥(𝑡) + 𝐵𝑢(𝑡); 𝑥(𝑡0) = 𝑥0 (10) 𝑦(𝑡) = 𝐶𝑥(𝑡) + 𝐷𝑢(𝑡) (11) where 𝑥 ≜ {𝑑𝑢 𝑑𝑣 𝑑𝑤 𝑑𝑝 𝑑𝑞 𝑑𝑟 𝑑𝜙 𝑑𝜃 𝑑𝜓} , 𝑥 ∈ 𝑅𝑛 , denote state space variables, and 𝑢 ≜ {𝑑Ω𝑅1 𝑑Ω𝑅2 𝑑Ω𝑅3 𝑑Ω𝑅4 } , 𝑢 ∈ 𝑅𝑚 , describe input variables; 𝑦 denotes the output, 𝑦 ∈ 𝑅𝑙 ; and the matrices are 𝐴 ∈ 𝑅𝑛𝑥𝑛 , 𝐵 ∈ 𝑅𝑛𝑥𝑚 , 𝐶 ∈ 𝑅𝑛𝑥𝑙 , and 𝐷 ∈ 𝑅𝑙𝑥𝑙. The initial state condition at the time 𝑡0 is denoted by 𝑥0 . The components of the matrix {𝐴,𝐵,𝐶 ,𝐷} of the linear time-invariant quadrotor model in Equations (10) and (11) used in this paper are obtained when flying it at a speed of 5 m/s as follows [1]. B. Swarm model Each swarm agent, in this case, a quadrotor, is assumed to move simultaneously and know the relative position of its members. The equation of motion of individual 𝑖 by following [30] is given by the following Equation (13): �̇�𝑖 = −∇𝑥𝑖𝜌(𝑥𝑖) + ∑ 𝑓(𝑥𝑖 − 𝑥𝑗 𝑁 𝑗=1,𝑗≠𝑖 ), 𝑖 = 1, ⋯ , 𝑁 (13) where 𝑥𝑖𝜖 𝑅 𝑛 denotes the position of individual 𝑖 , 𝜌(·): 𝑅 → 𝑅 is an odd function, and 𝑁 denotes the number of individual swarm members. In the second term, 𝑓(∙) is a function that describes the mutual attraction and repulsion that occur between agents as the following Equation (14) [31][32]: 𝑓(𝑦) = −𝑦�𝑎 − 𝑏 exp(− ||𝑦||2 𝑐 )� (14) where 𝑎 , 𝑏 , and 𝑐 are positive constants and ||𝑦|| represents the distance between agents. Equation (14) shows that attraction dominates on long distances, whereas repulsion dominates on close distances. The function determines the direction and movement of each agent and prevents collisions between agents. In practice, the value 𝜌(·) represents the attractant, repellent, or neutral profile that determines where the swarm agents will move together, for example, if there are hot spots in an area or the source of leakage of toxic chemicals [30]. The negative 𝜌(·) value represents the attractant profile where the swarm agents will gather, whereas the positive 𝜌(·) value indicates the repellent profile where the swarm agents will move away. The neutral condition is denoted by 𝜌(·) = 0. Distance is 𝐴 = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 −0.1008 −0.1285 −9.8034 0 0 0 0 0 0 0 0 0 0 −1.9314 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −0.1285 9.8034 0 −4.9983 0 0 0 0 0 0 0 0 −1.9314 0 0 0.0867 0 0 0 0 −0.0531 4.9983 0.2520 0 0 0 −1.1869 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ 𝐵 = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −0.0017 0.0022 0 0 0 0 0 0 0 0 0 0 −0.0004 0.0008 −0.0014 0.0030 0 0 0 0 0.0086 0.0111 −0.0111 −0.0111 −0.0013 −0.0014 −0.0014 −0.0014 0 0 0 0 ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ 𝐶 = � 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 � 𝐷 = 0 (12) E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 4 affected by repulsion, and its magnitude is affected by parameters 𝑎, 𝑏, and 𝑐. There is a position where the magnitudes of attraction and repulsion are balanced. The magnitude of the dominant attractant for ||𝑦|| > 𝛿, and that for the dominant repellent for ||𝑦|| < 𝛿. From (14), it can be seen that a sign change occurred at that time using Equation (15): 𝑦 = 𝛿 = � 𝑦 = 0 ‖𝑦‖ = �𝑐 ln 𝑏 𝑎 (15) It should also be noted that the change in sign will only occur if the value of 𝑏 > 𝑎 ; thus, the condition will be obtained when the attraction function changes to the repulsion function. If this condition is not met, then there will be no change in the value of the function, resulting in a collision between swarm agents. By using the attraction/repulsion model as in Equation (14), for 𝑡 → ∞, the swarm model will stop moving [30]. This shows that at time instant 𝑡,̅ the agents in the swarm will be in a position where the attraction and repulsion functions will be balanced. The cohesiveness of swarm agents can be influenced by the selected model. Movement between agents can be done by referring these agents to the swarm center as it will always be in the same position [31]. Another alternative is to refer to the position of an agent to other agents. Moreover, based on the model used, swarm cohesiveness can also be influenced by the nature of the attraction and repulsion functions. Attractions and repulsions in the swarm model can be local, when they occur only because they reached a certain threshold, or global when they are felt by the agent in whatever position the agent is located. Based on the theorem developed by Gazy and Passino [31], it can be said that if a swarm system has only an attraction function, then the swarm agents will converge to a point that is the center of the swarm. By contrast, if the system has only a repulsion function, the swarm agents will move away from the central point to an infinite position. On this basis, it can be concluded that the best model that can be used is one that has the attraction function dominating at large distances to prevent swarm agents from dispersing and the repulsion function dominating at close distances to prevent these agents from colliding with each other [30]. C. Quadrotor tracking Quadrotor tracking is expected to produce very small quadrotor position errors against the desired target. The technique commonly used is to add an integrator to an error or to use a derivative of an error [25]. Error state variables are described as Equation (16): 𝑒(𝑡) ≜ 𝑥𝑟𝑒𝑓(𝑡) − 𝑥(𝑡) (16) If derived from time, then the following Equation (17) is obtained: �̇�(𝑡) = �̇�𝑟𝑒𝑓(𝑡) − �̇�(𝑡) (17) If the reference does not change (tracking target at a fixed point), then the derivative of 𝑥𝑟𝑒𝑓 is 0, so �̇�(𝑡) = −�̇�(𝑡). From (17), the path tracking equation can use the following general Equation (18): �̇�(𝑡) = −𝜂�̇�(𝑡) (18) where 𝜂 represents a constant that determines the weight of the tracking in the cost function. In the form of a matrix, the above equation can be written as Equation (19): �̇�(𝑡) = � �̇�𝑥(𝑡) �̇�𝑦(𝑡) �̇�𝑧(𝑡) � = � −𝜂�̇�𝑥(𝑡) −𝜂�̇�𝑦(𝑡) −𝜂�̇�𝑧(𝑡) � (19) Substituting �̇�𝑥 = 𝑢 , �̇�𝑦 = 𝑣 , and �̇�𝑧 = 𝑤 yields Equation (20): �̇�(𝑡) = � �̇�𝑥(𝑡) �̇�𝑦(𝑡) �̇�𝑧(𝑡) � = � −𝜂𝑢(𝑡) −𝜂𝑣(𝑡) −𝜂𝑤(𝑡) � (20) Based on the theorem developed [30], for an ideal system, the swarm center point will not move when the agents are flocking. Therefore, when given a target, the movement of the swarm center should be a straight line from the initial swarm center position toward the target [31]. D. A two-level swarm control system The swarm control system consists of two levels. The lower-level controller uses a discrete LQR to control the movement of an individual quadrotor so that it can follow the desired tracking path. On the other hand, the higher-level controller is a proportional – derivative (PD) type controller that controls the movement between swarm members by producing paths that must be followed by each quadrotor. The swarm control system block diagram followed [11] is shown in Figure 2. 1) Lower-level control The lower-level controller uses a discrete LQR. This controller is used to control the movement of each quadrotor against the trajectory produced by the high-level controller. A full state feedback gain 𝐾𝐿𝑄𝑅 of the LQR is obtained by varying the weighting matrices 𝑄 = 𝑄𝑇 ≥ 0 and 𝑅 = 𝑅𝑇 > 0 on a cost function defined as Equation (21): 𝐽∞ = ∑ [𝑥𝑇(𝑘)∞𝑘=1 𝑄𝑥(𝑘) + 𝑢𝑇(𝑘)𝑅𝑢(𝑘)] (21) with discretized dynamic equations of each quadrotor (10) given by Equation (22): 𝑥(𝑘 + 1) = 𝐴𝑥(𝑘) + 𝐵𝑢(𝑘) (22) Optimal quadratic control signal 𝑢(𝑘), by using the tracking definition and discretized error (16) above, is defined as Equation (23): 𝑢(𝑘) = −𝐾𝐿𝑄𝑅𝑒(𝑘) (23) with a full state feedback gain matrix 𝐾𝐿𝑄𝑅 that fulfils the Equation (24): 𝐾𝐿𝑄𝑅 = (𝑅 + 𝐵𝑇𝑆𝐵)−1𝐵𝑇𝑆𝐴 (24) E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 5 The 𝑆 matrix is the steady-state solution of the algebraic Riccati equation in Equation (25): 𝑆 = 𝑄 + 𝐴𝑇𝑆𝐴 − 𝐴𝑇𝑆𝐵(𝑅 + 𝐵𝑇𝑆𝐵)−1𝐵𝑇𝑆𝐴 (25) The Riccati equation is solvable if the pair {𝐴, 𝐵} is stabilizable and there is no unobservable mode on the unit circle of the pair {𝑄, 𝐴}. Two adjustable variables are sought to optimize the cost function (21) of the lower-level controller, namely, the 𝑄 and 𝑅 matrices. The 𝑄 matrix has row and column sizes of a number of state variables in the system, whereas the matrix R has a number of rows of input variables. The movement of a controlled quadrotor agent will be determined based on a closed-loop system in the state space function in Equation (26): 𝑥(𝑘 + 1) = �𝐴 − 𝐵𝐾𝐿𝑄𝑅�𝑥(𝑘) + 𝐾𝐿𝑄𝑅𝑥𝑟𝑒𝑓(𝑘) 𝑦(𝑘) = 𝐶𝑥(𝑘) (26) The closed-loop system (26) is asymptotically stable utilizing the solvability of the Riccati Equation (25) [25]. 2) Higher-level control The higher-level controller in the swarm model used in this paper implements a PD controller. The attraction and repulsion functions used follow equation (14). In addition to the above functions, the swarm agent movement is also influenced by a repulsion function that occurs if the agent is too close. This function is represented in Equation (27): 𝑢′ = 𝑘𝑟 exp � −1 2 �𝑥𝑖−𝑥𝑗� 2 𝑟𝑠 2 � (27) where 𝑘𝑟 > 0 is the magnitude of the repulsion and 𝑟𝑠 > 0 is the size of the area around the agent. The difference between agents is too far; that is, when �𝑥𝑖 − 𝑥𝑗� is very large relative to 𝑟𝑠 , then the function will be zero. Let us respectively define the swarm center and the average velocity, which are generally time-varying [33], as Equation (28): �̅� = 1 𝑁 ∑ 𝑥𝑖𝑁𝑖−1 and �̅� = 1 𝑁 ∑ 𝑣𝑖𝑁𝑖−1 (28) The dynamics of the error system for position and velocity of each agent 𝑖 are defined as Equation (29): 𝑒𝑖,𝑝 = 𝑥𝑖 − �̅� and 𝑒𝑖,𝑣 = 𝑣𝑖 − �̅� (29) In the end, the movement of the agent in the swarm model used in this paper is determined by the Equation (30) in [33]. 𝑢𝑖 = −𝑀𝑖𝑘𝑎𝑒𝑖,𝑝 − 𝑀𝑖𝑘𝑏𝑒𝑖,𝑣 − 𝑀𝑖𝑘𝑣𝑣𝑖 +𝑀𝑖𝑘𝑟 ∑ exp � 1 2 �𝑒𝑖,𝑝−𝑒𝑗.𝑝� 𝑟𝑠 2 ��𝑒𝑖,𝑝 − 𝑒𝑗,𝑝� − 𝑀𝑖𝑘𝑓�∇𝐽𝑝(𝑥𝑖) − 𝑑𝑓 𝑖� (30) Here, it is assumed that each agent has mass 𝑀𝑖 and velocity 𝑣𝑖 with a bounded sensing noise signal 𝑑𝑓 𝑖 . The scalar value 𝑘𝑎 > 0 denotes a reinforcement of attraction indicating how aggressive the agent is to aggregate. The scalar value 𝑘𝑟 > 0 is a reinforcement of repulsion that indicates how much agent 𝑖 will move away from agent 𝑗. In this paper, the developed swarm model has the characteristic of having no leader among swarm members. Swarm member dynamic equations are modelled as in Equation (14). The state of agent 𝑖 was defined with 𝑥𝑖 (𝑖 = 1, … , 𝑁), and it is assumed that the agent moves in the 𝑛 -dimension in Euclidean space, with the equation of motion of each agent determined by the combination of the following equations: �̇�𝑖 = 𝑣𝑖 𝑚�̇�𝑖 = 𝑢𝑖 ; 𝑥𝑖, 𝑣𝑖, 𝑢𝑖 ∈ 𝑅𝑛, 𝑖 = 1, … , 𝑁 (31) where, respectively, 𝑥𝑖, 𝑣𝑖, 𝑢𝑖, and 𝑚𝑖 are the position, speed, control input, and mass of the agent. The main goal of the swarm model control design is to control the dynamic movement of all swarm members to the desired position. The dynamic movement of the agent is influenced by the following: (i) the distance and velocity between the agents, and (ii) the attraction and repulsion on the designed profile. In this paper, the control protocol is a modification from [33] for the agent modelled as Equation (32): 𝑢𝑖 = −𝑀𝑖𝑘𝑎𝑒𝑖,𝑝 − 𝑀𝑖𝑘𝑏𝑒𝑖,𝑣 − 𝑀𝑖𝑘𝑣𝑣𝑖 +𝑀𝑖 ∑ (𝑎 − 𝑏)exp � ||𝑒𝑖,𝑝−𝑒𝑗,𝑝|| 𝑐 �𝑁𝑖=1.𝑖≠𝑗 �𝑒𝑖,𝑝 − 𝑒𝑖,𝑝� − 𝑀𝑖𝑘𝑓 �∇𝐽𝑝(𝑥𝑖)� (32) It is assumed that the agent is equipped with sensors and programs having the mass of 𝑀𝑖 and the speed of 𝑣𝑖 . The proportional gain 𝑘𝑎 > 0 is a reinforcement that affects the aggressiveness of the agent to aggregate. The gain 𝑘𝑟 > 0 functions as a parameter that affects the repulsion that occurs between agents. Both 𝑘𝑎 and 𝑘𝑏 are proportional gains, whereas 𝑘𝑣 and 𝑘𝑓 are attenuation of speed and derivative strengthening to follow the desired agent movement profile. The model in (32) is modified from (30), by adding the attraction force between the agent and the value 𝑀𝑖 = 1 (to simplify the control system). The swarm control system diagram block is designed as in Figure 2. III. Results and Discussions A. Determination of trial and error parameters The mathematical equation model implemented in the simulation uses the parameters of reference [1] discretized with 0.01 s sampling time. Searching for the optimal values of 𝑄 and 𝑅 using the trial and error method, the initial parameters are simulated using predetermined 𝑄 and 𝑅 matrices as Equations (33) and (34): IQ IQ IQ IQ ×= ×= ×= ×= 10000 1000 100 10 4 3 2 1 (33) E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 6 IR IR IR IR ×= ×= ×= ×= 0001.0 001.0 01.0 1.0 4 3 2 1 (34) where I denote the identity matrix with an appropriate size of 𝑄 and 𝑅. The combination of the parameters 𝑄 and 𝑅 from Equation (33) and (34) is then simulated for tracking a quadrotor on the trajectory function defined by 𝑙(𝑡) using Equation (35): 𝑙𝑥(𝑡) = ⎩ ⎪ ⎨ ⎪ ⎧ 𝑥0 + 𝑡 20 , for 0 < 𝑡 ≤ 1000 𝑥0 + 50, for 1000 < 𝑡 ≤ 2000 𝑥0 + �50 − 𝑡 − 2000 20 � , for 2000 < 𝑡 ≤ 3000 𝑥0, 𝑓𝑜𝑟 3000 < 𝑡 ≤ 3999 𝑙𝑦(𝑡) = ⎩ ⎪ ⎨ ⎪ ⎧ 𝑦0, for 0 < 𝑡 ≤ 1000 𝑦0 + 𝑡 − 1000 20 , for 1000 < 𝑡 ≤ 2000 𝑦0 + 50, for 2000 < 𝑡 ≤ 3000 𝑦0 + �50 − 𝑡 − 3000 20 � , for 3000 < 𝑡 ≤ 3999 𝑙𝑧(𝑡) = ⎩ ⎪ ⎨ ⎪ ⎧ 𝑧0 + 𝑡 20 , for 0 < 𝑡 ≤ 1000 𝑧0 + 50, for 1000 < 𝑡 ≤ 2000 𝑧0 + (50 − 𝑡−2000 20 ), for 2000 < 𝑡 ≤ 3000 𝑦0, for 3000 < 𝑡 ≤ 3999 (35) The performance of the tracking error is measured using the RMSE method. The best weight matrix results are obtained for 𝑄 = 1000𝐼 and 𝑅 = 0.001𝐼, which have an RMSE value of 7.122 m. Simulation results are shown in Figure 3. B. Parameter optimization using genetic algorithm GA is one area of research that has received considerable attention until now [34][35][36]. GAs can help produce a solution of complex functions on the basis of the selection process that occurs in nature. They work on the basis of the initial population that can be linked to certain variables. In general, this initial population contains randomly constructed binary combinations 1 and 0. This binary combination corresponds to the value of the variable to be found. In this paper, by following the GA, the mating probability of each chromosome is determined using the following Equation (36): 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 = 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 𝑡𝑜𝑡𝑎𝑙 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 × 100% (36) The parameters used in the GA are as follows: the number of chromosomes, which is 20; the number of genes per chromosome, 1,000; and the number of generations produced, 30. The chromosomes containing binary numbers are encoded into real- valued individuals in the specified interval of [100; 1,000]. The process of reproduction of selected chromosomes has a crossover probability of 0.6. Chromosomes in a population have a mutation probability of 0.5 %. Next, the GA is applied to find the 𝑄1 to 𝑄12 parameters in the matrix 𝑄 defined as Equation (37): 𝑄 = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ 𝑄1 0 0 0 0 0 0 0 0 0 0 0 0 𝑄2 0 0 0 0 0 0 0 0 0 0 0 0 𝑄3 0 0 0 0 0 0 0 0 0 0 0 0 𝑄4 0 0 0 0 0 0 0 0 0 0 0 0 𝑄5 0 0 0 0 0 0 0 0 0 0 0 0 𝑄6 0 0 0 0 0 0 0 0 0 0 0 0 𝑄7 0 0 0 0 0 0 0 0 0 0 0 0 𝑄8 0 0 0 0 0 0 0 0 0 0 0 0 𝑄9 0 0 0 0 0 0 0 0 0 0 0 0 𝑄10 0 0 0 0 0 0 0 0 0 0 0 0 𝑄11 0 0 0 0 0 0 0 0 0 0 0 0 𝑄12⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ (37) and the value of 𝑅𝑣 on the matrix 𝑅 defined as Equation (38): 𝑅 = 𝑅𝑣 × 𝐼4×4 (38) The fitness function of the GA uses the quadrotor motion RMSE of the trajectory tracking according to the trajectory described in Equation (35). The accomplishment of the GA results in the minimum RMSE of the tracking error with the parameters 𝑄 and 𝑅 as mentioned in Equation (39): The control parameters obtained from the GA are then simulated in tracking. The results of the simulation can be seen in Figure 4. Simulation results show an RMSE value of 4.5429 m. It can be concluded that the GA improves quadrotor tracking performance by 2.5791, or by 36 %. It can be seen in the simulation results of trajectory tracking using the best trial and error parameters (Figure 3a) that the movement of quadrotor has a considerable difference to the path (RMSE 7.122 m). In addition, there is a slight delay so that when the path turns the quadrotor does not immediately follow. After optimization using GA (Figure 4a), it can be seen that 𝑄 = ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ 1.21𝑒 + 7 0 0 0 0 0 0 0 0 0 0 0 0 11.75𝑒 + 5 0 0 0 0 0 0 0 0 0 0 0 0 2.67𝑒 + 04 0 0 0 0 0 0 0 0 0 0 0 0 30.24 0 0 0 0 0 0 0 0 0 0 0 0 51.00 0 0 0 0 0 0 0 0 0 0 0 0 46.84 0 0 0 0 0 0 0 0 0 0 0 0 9.64 0 0 0 0 0 0 0 0 0 0 0 0 38.85 0 0 0 0 0 0 0 0 0 0 0 0 98.49 0 0 0 0 0 0 0 0 0 0 0 0 68.99 0 0 0 0 0 0 0 0 0 0 0 0 2.05 0 0 0 0 0 0 0 0 0 0 0 0 1.58𝑒 + 02⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ 𝑅𝑣 = 8.14 × 10 −5 (39) E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 7 the quadrotor movement is closer to the tracking path. C. Swarm simulation The higher-level controller has seven parameters that must be chosen properly to produce swarming with fast aggregation. The selection of these parameters requires a separate discussion. In this paper, it is assumed that these parameters have been obtained properly using GA. The optimal higher- level control parameters for swarm models and flocking simulations are specified as 𝑎 = 1, 𝑏 = 10, 𝑐 = 3 , 𝑘𝑎 = 0.7779, 𝑘𝑏 = 4.3194, 𝑘𝑣 = 2.4428 , and 𝑘𝑓 = 1.4214 . The trajectory of the swarm center using the above parameters is shown in Figure 5. Flocking simulation results using these parameters are shown in Figure 6. The movement of UAV quadrotor agents in a swarm is shown by colors: red, (a) (b) Figure 1. (a) Quadrotor at the Artificial Intelligence, Control and Automation Laboratory-ITB; (b) The dynamics of a quadrotor Figure 2. Higher-level and lower-level controllers in a swarm control system (a) (b) Figure 3. (a) Path tracking using LQR parameters based on the trial and error method; (b) Pitch angle, roll, and yaw tracking simulation with LQR parameters based on the trial and error method E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 8 yellow, blue, green, light blue, and purple. In addition, the center of the swarm is represented by a black “×” sign, and a steady-state line is represented by a black line. RMSE is calculated by looking at the difference between the distance of the swarm center movement and the line equation when the swarm system has reached a steady-state. The simulation application of LQR parameters for swarm system simulation uses the best trial and error results, namely, 𝑄 = 1000 × 𝐼12×12 and 𝑅 = 0.001 × 𝐼4×4 shown in Figure 6. The LQR using the trial and error method produces an RMSE of the swarm model of 0.2365 m. After that, a swarm model simulation is performed using the LQR (a) (b) Figure 4. (a) Path tracking using LQR parameters based on the genetic algorithm; (b) Pitch angle, roll, and yaw tracking simulation with LQR parameters based on the genetic algorithm Figure 5. Swarm center movement using optimal parameters by the genetic algorithm (a) (b) Figure 6. (a) Swarm agent movement using LQR parameters from the trial and error method; (b) Swarm agent movements and tracking trajectories using LQR parameters from the trial and error method E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 9 parameters obtained from GAs. The simulation results can be seen in Figure 7, this parameter produces a system RMSE of 0.1959. The swarm model performance improvement was 0.0406, or 17.17 %. In Figure 7a, it can be seen that agent aggregation using LQR parameters is faster than the aggregation of agents before optimization (Figure 6a). Aggregation of agents in the simulation before optimization occurs around a height of 40 m, whereas agent aggregation in the simulation after optimization occurs around a height of 45 m. This faster aggregation is caused by the quadrotor’s quick response to the tracking of the path produced by the swarm model. It can also be seen in Figure 7b that the movement of each quadrotor agent follows the tracking path provided by the swarm model better after the LQR is optimized with the GA, although this can have a large enough effect if the swarm target moves to produce a more complicated trajectory. The summary of the improved performance is given in Table 1. IV. Conclusion Tuning the weighting matrices of LQR is difficult by using the trial and error method because the nature of the system is random and complicated. Hence, it is difficult to find the best parameters as the amount of value sought is in a large range. This paper considered the tracking control optimization of the LQR weighting matrices in the swarm control system to produce quadrotor unmanned flocking vehicles with GA optimization. The weighting matrix optimization using the GA improved the performance of the swarm control system: in tracking performance, 4.5429 m (RMSE) improved by 2.5791 m (36.00 %); flocking aggregation 0.1959 m (RMSE) improved by 0.0406 m (17.17 %), and flocking speed at height 45 m means 5 m (12.50 %) faster. Acknowledgement This work was partially supported by ITB Research Program, Institut Teknologi Bandung. The authors would like to thank Institut Teknologi Bandung for providing research facilities to complete the research. Declarations Author contribution All authors contributed correspondingly as the main contributor to this paper. All authors read and endorsed the final paper. Funding statement This research did not receive any particular grant from funding agencies in the public, commercial, or not-for- profit sectors. Conflict of interest The authors declare no conflict of interest. Additional information No additional information is available for this paper. References [1] T. Sudiyanto, M. Muljowidodo, and A. Budiyono, “First principle approach to modeling of primitive quad rotor,” International Journal of Aeronautical and Space Sciences, vol. 10(2), pp.148-160, 2009. [2] P. Pounds, R. Mahony, J. Gresham, P. Corke, and J.M. Roberts, “Towards dynamically-favourable quad-rotor aerial robots,” In Proceedings of the 2004 Australasian Conference on Robotics & Automation. Australian Robotics & Automation Association, 2004. (a) (b) Figure 7. (a) Swarm agent movement using LQR parameters generated by the genetic algorithm. (b) Agent swarm movements and tracking trajectories using LQR parameters generated by the genetic algorithm Table 1. Simulation results and performance Description LQR tracking (RMSE in m) Flocking aggregation (RMSE in m) Flocking speed at height (m) Trial error 7.1220 0.2365 40 Genetic algorithm 4.5429 0.1959 45 Improvement 2.5791 (36.00 %) 0.0406 (17.17 %) 5 (12.50 %) http://dx.doi.org/10.5139/IJASS.2009.10.2.148 http://dx.doi.org/10.5139/IJASS.2009.10.2.148 http://dx.doi.org/10.5139/IJASS.2009.10.2.148 http://dx.doi.org/10.5139/IJASS.2009.10.2.148 http://www.araa.asn.au/acra/acra2004/papers/pounds.pdf http://www.araa.asn.au/acra/acra2004/papers/pounds.pdf http://www.araa.asn.au/acra/acra2004/papers/pounds.pdf http://www.araa.asn.au/acra/acra2004/papers/pounds.pdf http://www.araa.asn.au/acra/acra2004/papers/pounds.pdf E. Joelianto et al. / Journal of Mechatronics, Electrical Power, and Vehicular Technology 11 (2020) 1-10 10 [3] T. Bresciani, “Modelling, identification and control of a quadrotor helicopter,” MSc Theses, Lund University, 2008. [4] A. Kushleyev, D. Mellinger, C. Powers, and V. Kumar, “Towards a swarm of agile micro quadrotors,” Autonomous Robots, vol. 35(4), pp. 287-300, 2013. [5] J. Leonard, Al Savvaris, and A. Tsourdos, “Towards a fully autonomous swarm of unmanned aerial vehicles,” In Proceedings of 2012 UKACC International Conference on Control, pp. 286-291. IEEE, 2012. [6] C.W. Reynolds, “Flocks, herds and schools: A distributed behavioral model,” In Proceedings of the 14th annual conference on Computer graphics and interactive techniques, pp. 25-34, August 1987. [7] A.E. Turgut, H. Çelikkanat, F. Gökçe, and E. Şahin, “Self- organized flocking in mobile robot swarms,” Swarm Intelligence, vol. 2(2-4), pp. 97-120, 2008. [8] E. Ferrante, A.E. Turgut, C. Huepe, A. Pinciroli, and M. Dorigo, “Self-organized flocking with a mobile robot swarm: a novel motion control method,” Adaptive Behavior, vol. 20(6), pp. 460-477, 2012. [9] S. Ramroop, F. Arvin, S. Watson, J. Carrasco-Gomez, and B. Lennox, “A bio-inspired aggregation with robot swarm using real and simulated mobile robots,” In Annual conference towards autonomous robotic systems 2018, Springer, Cham., pp. 317-329, 2018. [10] E. Joelianto, A. Qurthobi, “Optimal Control Design for A Formation Tracking with Leader-Follower Concept of Multi- Agent Autonomous Helicopter Model,” Proceedings of International Conference on Intelligent Unmanned Systems, vol. 7, 2011. [11] E. Joelianto, and A. Sagala, “Swarm tracking control for flocking of a multi-agent system,” IEEE Conference on Control, Systems & Industrial Informatics, pp. 75-80, September 2012. [12] E. de Vries, and K. Subbarao, “Cooperative control of swarms of unmanned aerial vehicles,” 49th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition, pp. 78, January 2011. [13] Z. Hou, W. Wang, G. Zhang, and C. Han, “A survey on the formation control of multiple quadrotors,” In 2017 14th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI), pp. 219-225. IEEE, 2017. [14] Hönig, J.A. Preiss, T.S. Kumar, G.S. Sukhatme, and N. Ayanian, “Trajectory planning for quadrotor swarms,” IEEE Transactions on Robotics, vol. 34(4), pp. 856-869, 2018. [15] Miswanto, H. Pranoto, and D.M. Muhammad, “The Collective Behavior of Multi-Agents System for Tracking a Desired Path,” International Journal of Basic & Applied Sciences IJBAS-IJENS, vol. 11, pp. 81-86, 2011. [16] A. Trizuljak, F. Duchoň, J. Rodina, A. Babinec, M. Dekan, and R. Mykhailyshyn, “Control of a small quadrotor for swarm operation,” Journal of Electrical Engineering, vol. 70(1), pp. 3- 15, 2019. [17] K. Choutri, M. Lagha, L. Dala, and M. Lipatov, “Quadrotors UAVs swarming control under Leader-Followers formation,” In 2018 22nd International Conference on System Theory, Control and Computing (ICSTCC), pp. 794-799. IEEE, 2018. [18] I. M. Lazim, A.R. Husain, N.A.M. Subha, Z. Mohamed, and M.A. M. Basri, “Optimal formation control of multiple quadrotors based on particle swarm optimization,” In Asian Simulation Conference, pp. 121-135. Springer, Singapore, 2017. [19] D. Das, G. Gurrala, and U.J. Shenoy, “Linear quadratic regulator-based bumpless transfer in microgrids,” IEEE Transactions on Smart Grid, vol. 9(1), pp. 416-425, 2016. [20] Z. Ge, Y. Wang, and M. Lv, “Three-dimensional trajectory tracking guidance law based on linear quadratic regulator,” Journal of Physics: Conference Series, vol. 1039(1), p. 012042. IOP Publishing, 2018. [21] L. Cao, S. Tang, and D. Zhang, “Flight control for air-breathing hypersonic vehicles using linear quadratic regulator design based on stochastic robustness analysis,” Frontiers of Information Technology & Electronic Engineering, vol. 18(7), pp. 882-897, 2017. [22] M. İçen, A. Ateş, and C. Yeroğlu, “Optimization of LQR weight matrix to control three degree of freedom quadcopter,” In 2017 International Artificial Intelligence and Data Processing Symposium (IDAP), pp. 1-6. IEEE, 2017. [23] E. Okyere, A. Bousbaine, G.T. Poyi, A.K. Joseph, and J.M. Andrade, “LQR controller design for quad-rotor helicopters,” The Journal of Engineering, no. 17, pp. 4003-4007, 2019. [24] B.D. Anderson. and J.B. Moore, “Optimal control: linear quadratic methods,” Dover Publications, Inc., New York, 2007. [25] E. Joelianto, “Linear Quadratic Control: A State Space Approach,” ITB Press, 2017. [26] J.M. Ahmed, “Optimal tuning linear quadratic regulator for gas turbine by genetic algorithm using integral time absolute error,” International Journal of Electrical & Computer Engineering, vol. 10(2), pp. 1367-1375, 2020. [27] M. Ali, S.T. Zahra, K. Jalal, A. Saddiqa, and M.F. Hayat, “Design of optimal linear quadratic gaussian (LQG) controller for load frequency control (LFC) using genetic algorithm (GA) in power system,” International Journal of Engineering Works, vol. 5(3), pp. 40-49, 2018. [28] H. Asadi, S. Mohamed, C.P. Lim, and S. Nahavandi, “Robust optimal motion cueing algorithm based on the linear quadratic regulator method and a genetic algorithm,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 47(2), pp. 238-254, 2016. [29] G.B. Raharja, G.B. Kim, and K.J. Yoon, “Design of an autonomous hover control system for a small quadrotor,” International Journal of Aeronautical and Space Sciences, vol. 11(4), pp. 338-344, 2010. [30] V. Gazi, and K.M. Passino, “Stability analysis of social foraging swarms,” IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, vol. 34(1), pp. 539-557, 2004. [31] V. Gazi, and K.M. Passino, “A class of attractions/repulsion functions for stable swarm aggregations,” International Journal of Control, vol. 77(18), pp. 1567-1579, 2004. [32] V. Gazi, and K.M. Passino, “Stability analysis of swarms,” IEEE transactions on automatic control, vol. 48(4), pp. 692-697, 2003. [33] K.M. Passino, “Biomimicry for optimization, control, and automation,” Springer Science and Business Media, 2005. [34] G. Lindfield, and J. Penny, “Numerical methods: using MATLAB,” 4th Ed., Academic Press, 2018. [35] R.C. Chakraborty, “Fundamentals of genetic algorithms,” Reproduction, 22, p. 35, 2010. [36] S. Mirjalili, “Genetic algorithm. In Evolutionary algorithms and neural networks,” Springer, pp. 43-55, 2019. http://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=8847641&fileOId=8859343 http://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=8847641&fileOId=8859343 https://doi.org/10.1007/s10514-013-9349-9 https://doi.org/10.1007/s10514-013-9349-9 https://doi.org/10.1007/s10514-013-9349-9 https://doi.org/10.1109/CONTROL.2012.6334644 https://doi.org/10.1109/CONTROL.2012.6334644 https://doi.org/10.1109/CONTROL.2012.6334644 https://doi.org/10.1109/CONTROL.2012.6334644 https://doi.org/10.1145/37402.37406 https://doi.org/10.1145/37402.37406 https://doi.org/10.1145/37402.37406 https://doi.org/10.1145/37402.37406 https://doi.org/10.1007/s11721-008-0016-2 https://doi.org/10.1007/s11721-008-0016-2 https://doi.org/10.1007/s11721-008-0016-2 https://doi.org/10.1177/1059712312462248 https://doi.org/10.1177/1059712312462248 https://doi.org/10.1177/1059712312462248 https://doi.org/10.1177/1059712312462248 https://doi.org/10.1007/978-3-319-96728-8_27 https://doi.org/10.1007/978-3-319-96728-8_27 https://doi.org/10.1007/978-3-319-96728-8_27 https://doi.org/10.1007/978-3-319-96728-8_27 https://doi.org/10.1007/978-3-319-96728-8_27 http://ojs.unsysdigital.com/index.php/icius/article/view/364 http://ojs.unsysdigital.com/index.php/icius/article/view/364 http://ojs.unsysdigital.com/index.php/icius/article/view/364 http://ojs.unsysdigital.com/index.php/icius/article/view/364 http://ojs.unsysdigital.com/index.php/icius/article/view/364 https://doi.org/10.1109/CCSII.2012.6470477 https://doi.org/10.1109/CCSII.2012.6470477 https://doi.org/10.1109/CCSII.2012.6470477 https://doi.org/10.2514/6.2011-78 https://doi.org/10.2514/6.2011-78 https://doi.org/10.2514/6.2011-78 https://doi.org/10.2514/6.2011-78 https://doi.org/10.1109/URAI.2017.7992717 https://doi.org/10.1109/URAI.2017.7992717 https://doi.org/10.1109/URAI.2017.7992717 https://doi.org/10.1109/URAI.2017.7992717 https://doi.org/10.1109/TRO.2018.2853613 https://doi.org/10.1109/TRO.2018.2853613 https://doi.org/10.1109/TRO.2018.2853613 http://ijens.org/Vol%2011%20I%2001/116701-3838%20IJBAS-IJENS.pdf http://ijens.org/Vol%2011%20I%2001/116701-3838%20IJBAS-IJENS.pdf http://ijens.org/Vol%2011%20I%2001/116701-3838%20IJBAS-IJENS.pdf http://ijens.org/Vol%2011%20I%2001/116701-3838%20IJBAS-IJENS.pdf https://doi.org/10.2478/jee-2019-0001 https://doi.org/10.2478/jee-2019-0001 https://doi.org/10.2478/jee-2019-0001 https://doi.org/10.2478/jee-2019-0001 https://doi.org/10.1109/ICSTCC.2018.8540747 https://doi.org/10.1109/ICSTCC.2018.8540747 https://doi.org/10.1109/ICSTCC.2018.8540747 https://doi.org/10.1109/ICSTCC.2018.8540747 https://doi.org/10.1007/978-981-10-6463-0_11 https://doi.org/10.1007/978-981-10-6463-0_11 https://doi.org/10.1007/978-981-10-6463-0_11 https://doi.org/10.1007/978-981-10-6463-0_11 https://doi.org/10.1109/TSG.2016.2580159 https://doi.org/10.1109/TSG.2016.2580159 https://doi.org/10.1109/TSG.2016.2580159 https://doi.org/10.1088/1742-6596/1039/1/012042 https://doi.org/10.1088/1742-6596/1039/1/012042 https://doi.org/10.1088/1742-6596/1039/1/012042 https://doi.org/10.1088/1742-6596/1039/1/012042 https://doi.org/10.1631/FITEE.1601363 https://doi.org/10.1631/FITEE.1601363 https://doi.org/10.1631/FITEE.1601363 https://doi.org/10.1631/FITEE.1601363 https://doi.org/10.1631/FITEE.1601363 https://doi.org/10.1109/IDAP.2017.8090164 https://doi.org/10.1109/IDAP.2017.8090164 https://doi.org/10.1109/IDAP.2017.8090164 https://doi.org/10.1109/IDAP.2017.8090164 https://ieeexplore.ieee.org/document/8737094 https://ieeexplore.ieee.org/document/8737094 https://ieeexplore.ieee.org/document/8737094 https://books.google.co.id/books/about/Optimal_Control.html?id=fW6TAwAAQBAJ&source=kp_book_description&redir_esc=y https://books.google.co.id/books/about/Optimal_Control.html?id=fW6TAwAAQBAJ&source=kp_book_description&redir_esc=y http://sinta.ristekbrin.go.id/affiliations/detail?page=20&view=books&id=379 http://sinta.ristekbrin.go.id/affiliations/detail?page=20&view=books&id=379 http://doi.org/10.11591/ijece.v10i2.pp1367-1375 http://doi.org/10.11591/ijece.v10i2.pp1367-1375 http://doi.org/10.11591/ijece.v10i2.pp1367-1375 http://doi.org/10.11591/ijece.v10i2.pp1367-1375 http://doi.org/10.5281/zenodo.1193795 http://doi.org/10.5281/zenodo.1193795 http://doi.org/10.5281/zenodo.1193795 http://doi.org/10.5281/zenodo.1193795 http://doi.org/10.5281/zenodo.1193795 https://doi.org/10.1109/TSMC.2016.2523906 https://doi.org/10.1109/TSMC.2016.2523906 https://doi.org/10.1109/TSMC.2016.2523906 https://doi.org/10.1109/TSMC.2016.2523906 https://doi.org/10.1109/TSMC.2016.2523906 https://doi.org/10.5139/IJASS.2010.11.4.338 https://doi.org/10.5139/IJASS.2010.11.4.338 https://doi.org/10.5139/IJASS.2010.11.4.338 https://doi.org/10.5139/IJASS.2010.11.4.338 https://doi.org/10.1109/TSMCB.2003.817077 https://doi.org/10.1109/TSMCB.2003.817077 https://doi.org/10.1109/TSMCB.2003.817077 https://doi.org/10.1080/00207170412331330021 https://doi.org/10.1080/00207170412331330021 https://doi.org/10.1080/00207170412331330021 https://doi.org/10.1109/TAC.2003.809765 https://doi.org/10.1109/TAC.2003.809765 https://doi.org/10.1109/TAC.2003.809765 https://doi.org/10.1007/b138169 https://doi.org/10.1007/b138169 http://dl.booktolearn.com/ebooks2/science/mathematics/9780128122563_Numerical_Methods_5964.pdf http://dl.booktolearn.com/ebooks2/science/mathematics/9780128122563_Numerical_Methods_5964.pdf https://www.myreaders.info/09_Genetic_Algorithms.pdf https://www.myreaders.info/09_Genetic_Algorithms.pdf https://doi.org/10.1007/978-3-319-93025-1_4 https://doi.org/10.1007/978-3-319-93025-1_4 Introduction II. Materials and Methods A. Quadrotor mathematical model B. Swarm model C. Quadrotor tracking D. A two-level swarm control system 1) Lower-level control 2) Higher-level control III. Results and Discussions A. Determination of trial and error parameters B. Parameter optimization using genetic algorithm Swarm simulation IV. Conclusion Acknowledgement Declarations Author contribution Funding statement Conflict of interest Additional information References