A Neural Network Approach to a Cooperative Balancing ... - IEEE Xplore

0 downloads 0 Views 253KB Size Report
The Institute of Electrical and Electronics Engineers Inc. (IEEE) – Philippine Section ... Gokongwei College of Engineering. De La Salle University. Manila ...
8th IEEE International Conference Humanoid, Nanotechnology, Information Technology Communication and Control, Environment and Management (HNICEM) The Institute of Electrical and Electronics Engineers Inc. (IEEE) – Philippine Section 9-12 December 2015 Water Front Hotel, Cebu, Philippines

A Neural Network Approach to a Cooperative Balancing Problem in Quadrotor-Unmanned Aerial Vehicles (QUAVs) Gerard Ely U. Faelden, Jose Martin Z. Maningo, Reiichiro Christian S. Nakano, Argel A. Bandala, Elmer P. Dadios Gokongwei College of Engineering De La Salle University Manila, Philippines [email protected], [email protected] Abstract — There is growing interest in unmanned aerial vehicles (UAVs) such as quadrotors over the past several years. Cooperation among multiple quadrotors is one of the areas of focus. This paper proposes a neural network form of control for a cooperative task done by four quadrotors and will be tested through simulations. The task at hand is a ball and plate balancing problem during flight of multiple quadrotors carrying the plate. The objective is to maintain the keep the ball at the center of the plate even if the ball is introduced at different parts of the plate. The neural network controller will output the appropriate motor speeds of the rotors based on the detected area of introduction of the ball. Results show that the artificial neural network controller successfully directs the ball towards the center of the plate. The network outputs an average deviation of 0.00924 units from the expected PWM signal strength which corresponds to a 0.249% error from the expected value. Index Terms — UAV, quadrotor, artificial neural network, controller, cooperative tasks I. INTRODUCTION A growing interest in unmanned aerial vehicles have been seen throughout the years due military, commercial, or entertainment purposes. Recent advancements include fleet coordination and communication [1, 2, 3], swarm control [4, 5], aggressive flight [6] and cooperative tasks [7] [8]. It has also been used in several applications that are impractical or hazardous for humans to do themselves [9] [10] [11]. In cases wherein fast response is crucial, multi-robot systems can be utilized with its advantage of covering large areas in a short amount of time [12] [13]. Possible scenarios where multi-

978-1-5090-0360-0/15/$31.00 ©2015 IEEE

robot systems are applicable are search and rescue, exploration, maintenance, and transport. These applications usually require a high level of cooperation among the robot members in order to successfully achieve the objective. This paper presents an artificial neural network approach to a cooperative task to be performed by quadrotor-unmanned aerial vehicles (QUAVs). The neural network is used as a controller for four quadrotor lifting a plate. The task to be performed is a ball and plate balancing problem where the plate is carried by four quadrotor. The objective is to generate a mix of additional PWM signal strength in order to direct a ball to the center of the plate and keep it there. The additional PWM generates force vectors to generate movement of the ball. II. ARTIFICIAL NEURAL NETWORKS Artificial Neural Networks (ANN) is a one kind of computational intelligence that is inspired by the sophisticated functionality of the human brain [14]. It is made up of a number of simple, highly interconnected processing elements, which process information by their dynamic state response to external inputs [15]. Like the interconnected neurons of the human brain, the ANN consists of multiple layers of neurons arranged in a certain architecture. Connections between neurons are associated with a numeric number called weights. In order to determine the weights and biases of the connected neurons, it relies on the rigorous training of the system upon repeated exposure to training data sets. This method is known as supervised learning and will depend on the knowledge of the trainer and amount of data introduce to the system. Generally, the more knowledge introduced to the

8th IEEE International Conference Humanoid, Nanotechnology, Information Technology Communication and Control, Environment and Management (HNICEM) The Institute of Electrical and Electronics Engineers Inc. (IEEE) – Philippine Section 9-12 December 2015 Water Front Hotel, Cebu, Philippines

system would increases its performance and capability to solve given unknown situations. The size of the neural network will depend on the user and creator of the system. A large ANN might have hundreds or thousands of processor units as compared to the human brain with billions of neurons that corresponds to an increase in the overall interaction and emergent behavior. Although, researchers are generally not concerned with the exact replication of the neural network’s architecture and size but rather on the functionality of accurate simulation and functionality of certain systems. III. METHODOLOGY Collection and Generation of Training and Test Data Sets

objective direction of the ball and the resultant vector of the four quadrotor vectors. This is given by , , , represent the force The vectors provided by each of the quadrotors by adding PWM signal strength. All vectors are assumed to be directed towards the plate’s center. The farthest distance from the center of the plate would theoretically be only have the value of (1/√2) units and this is arbitrarily given an additional required signal strength of 20 along the axes of the force vectors. A combination of different PWM levels and force vectors will be done in order for the ball to move towards the center. An arbitrarily defined equation demonstrates the required PWM strength needed for a certain distance from the center. The equation is as follows: 28.28247

Levenberg-Marquardt Training Method of the Artificial Neural Network using MATLAB

Testing of Neural Network for Data Analysis and Interpretation

Final System Modeling and Performance Figure 1. Neural Network Design Process

Figure 1 shows the design process to be used in the development of the artificial neural network system. Initially, training and test data will be collected and generated using assumed and computed values required for the objective. The training will be performed using the Levenberg-Marquardt method available in MATLAB. Sample data for testing will be used to determine and analyze network and system performance. Finally, a program is to be develop to simulate the movement of the ball upon introduction to the plate. The system will be made up of four quadrotors that will carry and balance a ball and plate. The objective is to keep the ball at the center of the plate and balanced. Additionally, the ball may be introduced at any point in the plate and the quadrotors’ PWM strength will be adjusted to direct the ball towards the center of the plate. Figure 2 shows the direction of the movement (red vectors) corresponding to the additional PWM level of the quadrotors. The blue vector shows the

where, d – direct distance from the center S – PWM strength required Additionally, simulation of the ball’s movement during system operation is assumed wherein the theoretical maximum vector generated will only produce movement of 0.1 units. This movement is to be made along the direction of the vector and is defined by the equation 28.28247 where, r – resultant vector magnitude D – movement distance

Figure 2. Vector Representation in Plate

8th IEEE International Conference Humanoid, Nanotechnology, Information Technology Communication and Control, Environment and Management (HNICEM) The Institute of Electrical and Electronics Engineers Inc. (IEEE) – Philippine Section 9-12 December 2015 Water Front Hotel, Cebu, Philippines

IV. EXPERIMENT AND ANALYSIS OF RESULTS The control of the four PWM signals will be done using a feed-forward back propagation neural network. As seen in Figure 3, it will consist of 2 inputs and will have 4 outputs corresponding to each of the quadrotors lifting the plate. The network will be trained using generated data from the expected signal strengths at different points of introduction for the ball.

Figure 3. Neural Network Block Diagram

The artificial neural network would be a multi-layered network with 3 layers, an input and output layer and a hidden layer. There will be 10 neurons for its hidden layer. The feedforward information flow of the artificial neural network is demonstrated in Figure 4. The weights and biasing of each layer are determined after training the system. The training would be done using the Levenberg-Marquardt method, which stops training when the network stops improving as determined by the mean square error of the validation samples. Training data is necessary to develop the neural network for the application. It is composed of 2 matrices for the input and target data. It was derived from vector computations from different part of the plate. Around 10,000 data sets were generated to have a high degree of network knowledge. The total training samples will be divided randomly into 3 groups. 70% of sample data will be used for training while 15% each will be used for validation and testing of the system.

O1 I1

O2

I2

O3 O4

Figure 4. ANN Information Flow

The artificial neural network was implemented using the neural network tool available in MATLAB. The initial test phase consists of the tool determining the proper weights and biases of the system in order to achieve minimal error as determined by the user. It makes use of 6 validation checks for it to determine optimal network performance. Network training was completed in 752 epochs resulting to best validation performance of 0.026098%. Figure 5 shows the performance of the validation data during the entire training process. It can be seen that the performance of the system significantly increases at the start of the training sequence followed by a slower rate of performance increase until the set parameter for best validation performance is met.

Figure 5. Validation Performance during Network Training

Figure 6 shows the gradient, mu and validation checks of the system during the duration of the training. The neural network type is feedforward backpropagation and makes use of the gradient as feedback data in the optimization phase of the training to update the weights of the system. Mu controls how much the weights are changed on each iteration. The value of mu is very important in training the neural network. Too small of a value will cause the network to converge to the proper weights too slowly. On the other hand, too large of a value will cause the convergence to be erratic. As a final part of the training process, 6 validation checks must be satisfied before termination of the training program or up until 1000 epochs of training was concluded.

8th IEEE International Conference Humanoid, Nanotechnology, Information Technology Communication and Control, Environment and Management (HNICEM) The Institute of Electrical and Electronics Engineers Inc. (IEEE) – Philippine Section 9-12 December 2015 Water Front Hotel, Cebu, Philippines

average of about 50 iterations or 50 instances of the neural network in order to direct the ball towards the center and get out of the neural network loop.

Figure 6. Gradient, Mu, and Validation during Network Training

A test data set was prepared in order to see the performance of the artificial neural network system. Based on the results, the system shows an average deviation of 0.00924 from the expected PWM signal strength. This corresponds to about 0.249% error in the results. The deviation seen is very minimal and does not contribute significant error in the desired path towards the plate center. Shown in TABLE 1 are sample test data fed to the system and its output using the artificial neural network. TABLE 1. SAMPLE TEST DATA AND RESULTS

INPUT X 0.1966

Y 0.2511

0.6160

0.4733

0.3517

0.8308

0.5853

0.5497

0.9172

0.2858

0.7572

0.7537

OUTPUT A

B

C

D

1.1208 0.0018 9.5831 0.008 0.0002 0.0565

0.0002 1.7815 3.6565 2.6805 4.0751 10.2274

11.062 0.0028 0.0012 0.0018 0.0011 0.0003

0.0049 2.8387 0.0003 0.7097 12.6365 0.1027

After testing random data and analyzing performance and errors, a program was created to test the neural network continuous iterations. The program starts and a random start location is selected. The neural network goes into a continuous loop until the ball is successfully within 0.1% of the plate center. The plate is a square with side length of 1 unit. Figure 7 shows the results of the testing in multiple runs of the program. Each color seen in the figure corresponds to a different trial of the system. The results show that the program successfully centers the ball in the center of the plate. The program takes an

Figure 7. Program Trial Results

As a final test of the robustness and reliability was performed with 1000 continuous loops of the program. Each program made use of the complete program previously demonstrated. All of the program trials successfully converged the ball to the center of the plate and shows the reliability and robustness of the system developed. V. CONCLUSION AND FUTURE RECOMMENDATION This paper presented an artificial neural network controller to a ball and carried by multiple quadrotors in a simulated ideal environment. The artificial neural network is feedforward backpropagation network that was trained using the Levenberg-Marquardt method with over 10000 training data sets. The ANN outputs the required PWM signal strength of the four quadrotors to direct the ball towards the center. Test results shows that iIt is successful in directing the ball towards the center of the plate. It shows only a deviation of 0.00924 from the expected PWM signal strength. This corresponds to about 0.249% error from the expected results. A continuous neural controller takes about 50 iterations or 50 instances of the neural network in order to keep the ball within 0.1% from the center of the plate. Performance data shows the accuracy of the developed artificial neural network controller. The Mean Square Error (MSE) of the model results to a very low value which implies that the system collectively has a very

8th IEEE International Conference Humanoid, Nanotechnology, Information Technology Communication and Control, Environment and Management (HNICEM) The Institute of Electrical and Electronics Engineers Inc. (IEEE) – Philippine Section 9-12 December 2015 Water Front Hotel, Cebu, Philippines

low error for all the test samples. Errors seen in the results are very low and is tolerable and is not very significant. The proposed system was also tested to a continuous series of scenarios to direct the ball to the center. This test was successful in over 1000 scenarios. These results show that the proposed neural network controller is accurate and robust. It is observed that the proposed ANN system performs well in terms of accuracy and reliability. It is also found that the MATLAB neural network tool for training and testing performs well for this system. For future works, full dynamics and kinematics of the ball and plate system as well as the multiple quadrotors must be considered. A full real time 3D simulation may be considered to see interaction of the various factors involved. Other aspects to look at is variations of the controller wherein the user may choose where the ball should be balanced in the plate and the proper adjustments to the neural network needed. A full hardware implementation of the system should also be explored.

[6]

[7]

[8]

[9]

REFERENCES [1] A. Kushleyev, D. Mellinger, C. Powers and V. Kumar, "Towards a swarm of agile micro quadrotors," in Proceedings of Robotics: Science and Systems, RSS, 2012. [2] G. Faelden, J. Maningo, R. Nakano, A. Bandala and E. Dadios, "Blind localization method for quadrotorunmanned aerial vehicle (QUAV) utilizing genetic algortihm," in Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM), 2014 International Conference on, Palawan, 2014. [3] J. Maningo, G. Faelden, R. Nakano, A. Bandala and E. Dadios, "Optimization of decentralized information dissemination in quadrotor swarm using genetic algorithm," in Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM), 2014 International Conference on, Palawan, 2014. [4] R. Nakano, A. Bandala, G. Faelden, J. Maningo and E. Dadios, "A genetic algorithm approach to swarm centroid tracking in quadrotor unmanned aerial vehicles," in Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM), 2014 International Conference on, Palawan, 2014. [5] A. Bandala, R. R. P. Vicerra, E. P. Dadios and L. A. G.

[10]

[11]

[12]

[13]

[14]

[15]

Lim, "Swarming Algorithm for Unmanned Aerial Vehicle (UAV) Quadrotors in Swarm Behavior for Aggregation, Foraging, Formation and Tracking," Journal of Advanced Computational Intelligence and Intelligent Informatics, vol. 18, no. 5, pp. 745-751, 2014. D. Mellinger and V. Kumar, "Minimum Snap Trajectory Generation and Control for Quadrotors," in 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 2011. D. Mellinger, M. Shomin, N. Michael and V. Kumar, "Cooperative Grasping and Transport using Multiple Quarotors," in Proceedings of the International Symposium on Distributed Autonomous Robotic Systems, 2010. Q. Lindsey, D. Mellinger and V. Kumar, "Construction of Cubic Structures with Quadrotor Teams," in Proceedings of Robotics: Science and Systems (RSS), Los Angeles, CA, USA, 2011. A. Kim, M. Kim, E. Puchaty, M. Sevcovic and D. DeLaurentis, "A system-of-systems framework for the improved capability of insurgent tracking missions involving unmanned aerial vehicles," in 5th International Conference on Systems of Systems Engineering (SoSE), Loughborough, 2010. J. Lin, H. Tao, Y. Wang and Z. Huang, "Practical application of unmanned aerial vehicles for mountain hazards survey," in 18th International Conference on Geoinformatics, Beijing, 2010. L. Mingzheng, L. Hongjian and Z. Hualei, "Unmanned aerial vehicles for logistics applications," in 33rd Chinese Control Conference (CCC), Nanjing, 2014. A. Jevtic, P. Gazi, D. Andina and M. Jamshidi, "Building a Swarm of Robotic Bees," in World Automation Congress (WAC), 2010, Kobe, Japan , 2010. A. Jevtic and D. Andina, "Swarm intelligence and its applications in swarm robotics," in Proc. of the th WSEAS International Conference on Computational Intelligence, Man-Machine Systems and Cybernetics (CIMMACS '07), Tenerife, Canary Islands, Spain, 2007. S.-C. Wang, "Artificial Neural Network," in Interdisciplinary Computing in Java Programming, US, Springer, 2003, pp. 81-100. M. Caudill, Neural Network Primer Part 1, 1989.