=Paper=
{{Paper
|id=Vol-2842/Invited_paper_1
|storemode=property
|title=Protected Group Control System for Mobile Robots
|pdfUrl=https://ceur-ws.org/Vol-2842/Invited_paper_1.pdf
|volume=Vol-2842
|authors=Elena Basan,Maria Lapina,Massimo Mecella
}}
==Protected Group Control System for Mobile Robots==
Protected Group Control System for Mobile Robots Elena Basan a, Maria Lapina b, Massimo Mecella (*) b,c a South Federal University, 2 Chekhov St., Taganrog, 347928, Russia b North-Caucasus Federal University, 2, Kulakov prosp., Stavropol, 355029, Russia c Sapienza Università di Roma, DIAG, via Ariosto 25, Roma, 00185, Italy Abstract The purpose of this work is to present a secure group control system for ground mobile robots. The paper includes the analysis of existing group control algorithms, a description of the implementation of some of the algorithms, their testing and analysis of characteristics. When we solve the problem, we adhere to the following aspects: The multivariance of simulated situations, the feasibility of algorithms within the framework of existing computer systems and their applicability within the framework of real group control systems, the use of cryptographic information security tools using distributed methods, the development of a model for group control of robots and testing of developed solutions should be carried out using a simulator, approbation of the developed solutions is carried out using a full-scale model, which includes a set of single-board computers, between which a wireless network is organized, robots perform the main task of analyzing the terrain and building a terrain map, while the terrain map should be distributed between robots and updated periodically, robots must be able to avoid obstacles and collisions with each other, perform the task of moving towards the goal and the task of following the group leader. Security solutions must ensure the property of integrity, proof of authorship, and trust in the data. Implementing the choice of the group leader must also provide the ability to select a trusted entity as the group leader. Keywords 1 Group control system, mobile robots, key generation procedure, signature, signature verification operations 1. Introduction Robots are increasingly used to effectively solve practical problems, and some tasks are completely impossible to implement without automation. The first includes the tasks of production, protection, constant analysis of the environment. The second type of tasks include demining, exploration of dangerous areas, participation in hostilities. Robots often have to operate in a non- deterministic environment, i.e. environment that may have its own characteristics over time, for example, changing weather conditions, the structure of the territory itself (the appearance of new objects), etc. The use of groups of robots is often most appropriate. There are several reasons for this: The production cost of one robot in a group is often lower than the production of a single prototype, The use of groups of robots can significantly speed up the execution of tasks assigned to such systems, The use of groups of robots allows expanding the scope of their application, due to greater efficiency, compared to single robots and a person. YRID-2020: International Workshop on Data Mining and Knowledge Engineering, October 15-16, 2020, Stavropol, Russia EMAIL: ele-barannik@yandex.ru (Elena Basan); norra7@yandex.ru (Maria Lapina); mecella@diag.uniroma1.it (Massimo Mecella) (*) This work was performed while visiting researcher in North-Caucasus Federal University ORCID: 0000-0001-6127-4484 (Elena Basan); 0000-0001-8117-9142 (Maria Lapina); 0000-0002-9730-8882 (Massimo Mecella) ©️ 2020 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) 4 A group of robots is a set of similar or different types of robots, united by one or a group of common tasks. Identical robots are understood to have: Identical design features, Identical functional purposes, Same functionality. Group Robot Control System (GRCS) controls group robots. GRCS can implement methods of centralized or decentralized management strategy. Centralized group management systems are distinguished by the presence of the so-called a leader which, based on the information coming from the robots of the group, is engaged in the overall coordination of the entire system. In decentralized control systems, such a leader is absent, therefore, each robot in this system is engaged in coordinating the entire system. The implementation of the GRCS involves many components: A set of robotic nodes, A set of goals, The presence of the environment. Each robot is characterized by many parameters, for example, charge, carried weight, range of input devices (sensors), output (network devices) information. The goals given to a group of robots depend on the functions of the GRCS that it can perform. Among others, the following can be distinguished: Exploration of a given territory, Tasks for movement, patrolling, transportation of goods within a given deterministic territory, Execution of commands not related to the GRCS (for example, carrying out pollution measurements, notification of violations, etc.). The environment is a space in which the subjects of the GRCS carry out their activities. Environments, as mentioned earlier, are divided into deterministic (predictable) and non-deterministic (unpredictable). The environment may contain obstacles in the form of stationary (walls) or moving objects (other robots). Thus, the task of the group control system is reduced to determining at each moment of time such actions of each robot that will provide a given amount of change in social functionality over a time interval for given states of robots [1-4]. The goal is to develop and implement a model of a robotic group control system in a protected design. To achieve this goal, it is necessary to solve the following tasks: Analyze the architecture of group management, Conduct an analysis of group control algorithms, Demonstrate the implementation of the selected group control algorithms, Implement the described group control algorithms in an emulated environment or using single board computers connected in a wireless environment, Conduct experimental measurements to identify the characteristics of the algorithms under consideration. 2. Development of the architecture of a group control system for robots Based on the hierarchical structure [5], it is necessary to single out several main components of the management system (MS). To do this, consider the levels of the control system and highlight the important tasks that are solved at each of them. The strategic management level is the level that solves distribution problems for the entire group. The most important tasks here are: The task of target allocation, The task of forming groups of robots, The task of forming the formation of mobile robots, The task of exchanging trusted messages. 5 2.1. Development of the target allocation algorithm The solution to this problem boils down to the fact that robots receive a list of goals and must decide how to choose goals in order to fulfill them most effectively. Efficiency is here understood as the smallest total time of movement of all robots to their chosen targets. There are a large number of goal distribution algorithms, but most of them come down to compiling a matrix that includes robots, goals, and attractiveness coefficients [6]. In this paper, a general scheme for compiling such matrices will be given and I will give an example of calculating goals. An MxN matrix is compiled, where M is the number of targets (horizontally), N is the number of robots ready to fulfill these goals (vertically). Each robot and each target is given its own serial number in this matrix. Further, at the intersection of each target and each robot, the coefficient “target attractiveness” is set. The larger this coefficient, the more convenient the target is for the robot. To calculate this coefficient, first of all, it is necessary to take into account the distance from the robot to the target, obtained taking into account the trajectory of this robot. Thus, the coefficient will be inversely proportional to the distance from the robot to the target. This value may already be enough to calculate the coefficient. But you can also use other values, for example, the remaining charge of the robot is directly proportional to the coefficient, the number of turns in the path from the robot to the target, inversely proportional to the coefficient. The more parameters are included in the calculation of this coefficient, the more accurately the optimal targets for robots will be calculated. Formula (1) shows an example of a formula for calculating the attractiveness coefficient from two values: the remaining charge in the battery (q) and the distance from the robot to the target (d): 𝑞 𝑘= (1) 𝑑 Further, after the matrix is obtained, the algorithm for calculating the optimal goals is launched. It is executed until the number of assigned targets is equal to the number of robots, if there are fewer robots or the same number of targets [7]. Or until the number of targets assigned is equal to the number of targets, if there are more robots than targets. The matrix usually includes the serial numbers of the robots along the vertical, the serial numbers of the targets along the horizontal and the coefficients of the attractiveness of a particular target for the robot at the intersection [8]. After such a matrix is ready, the goal calculation algorithm comes into operation [9]. There are several different variations of these algorithms. The following is the most general target allocation algorithm: 1. Cycle for I from 1 to N, where N is the number of robots; 1.1. The maximum value of the row I of the matrix (maxTrgt) is selected; 1.2. If maxTrgt > = of all values in column I then: 1.2.1. Assign to robot I the target maxTrgt; 1.2.2. All values in rows and columns numbered I = 0; 1.3. else: 1.3.1. Move to the next iteration of the cycle. 2.2. Development of an algorithm for organizing a group of robots in space The task of organizing robots in space solves several issues, among which there were two main ones: Avoiding collisions of robots with obstacles and with each other, Implementation of the possibility of movement of a group of robots after the leader. The method of potential fields [10] is based on the fact that the target should attract the robot, while obstacles, on the contrary, should repel it. The potential field method is usually used in a static environment to avoid static obstacles. It can also be used in dynamic environments. But in the case of static environments, the trajectory can be calculated in advance. In the case of dynamic environments, either constant recalculation of the vectors of interaction of the dynamic environment and constant correction of the trajectory according to these vectors by both robots, avoiding collisions with each 6 other, or modeling by each robot of its own behavior and the behavior of the robot with which a collision should be avoided, will be required. The method of slowing down movement [8] by one of the robots, including its complete stop, is also capable of solving problems of avoiding collisions with dynamic objects. The main stage in the implementation of the algorithm is to determine the point of collision of two objects, and to decide which of the two robots will wait. In addition, one should either take into account the errors (turning time, uneven surfaces), calculate the waiting time for one robot to pass another, or organize a network communication between the robots, then the waiting robot will continue to fulfill its goals only after it receives a message from the second that the collision point has been overcome. The problem with the previous two methods is that they do not solve the problem of the oncoming movement of two robots in a narrow corridor and some other special cases. There are 2 ways out of these situations: either use other collision avoidance methods for these cases, or take all measures to prevent these situations from arising. For example, divide the map between robots into zones, and only one robot will have the right to explore each of them. The problem lies in the fact that, getting on the map, robots have no idea not only about its size, but also about its shape. In such a situation, there is no way to divide the map so that everyone gets about the same area for research, and that part of the space allocated for the robot for research is not fenced off from it. Tracking the leader's position is carried out using network interaction and sensors for tracking one's own position and thus comes down to the equipment that will be used at the stand, which includes robots that implement group control. At the same time, tracking a leader in an emulated environment comes down to the selected mechanisms for transferring data from one node to another. The movement towards the position of the leader is carried out using pathfinding algorithms. These include Dijkstra's algorithm [5] and the A * family of algorithms [6]. Dijkstra's algorithm is effective when exploring a territory whose structure is unknown to the robot. If there is a fully or partially explored map and it is necessary to construct a trajectory of movement along given points lying on the investigated areas, the A * family is used. This family includes a large number of algorithms, the effectiveness of which differs depending on the structure of the map, its size and other factors. Therefore, the use of the root A * algorithm will be the optimal solution at the initial stages. The problem with the described methods is that they do not solve the problem of the oncoming movement of two robots in a narrow corridor and some other special cases. There are 2 ways out of these situations: either use other collision avoidance methods for these cases, or take all measures to prevent these situations from arising. To avoid the possibility of robots colliding with each other, you can divide the map between robots into zones, in which only one robot can be at a time. The disadvantage of this approach is the impossibility of using it in non-deterministic spaces, since once on the map, robots have no idea not only about its size, but also about its shape. In such a situation, there is no way to divide the map so that everyone gets about the same area for research, and that part of the space allocated for the robot for research is not fenced off from it, as in Figure 1. In this figure, the robot in the upper left sector is responsible for exploring the upper left square, but it cannot reach all of its zones without crossing other robot's zones and will consider these unreachable zones impassable. In this case, it remains to rely only on the fact that the lower left robot detects a passage to such an area. Figure 1 shows the map explored by the robot, where the robot is marked with a red circle, an impassable obstacle with a black square, and investigated zones with white and colored squares. An effective solution for most situations will be the implementation of the potential fields method, which will be included in the work when the robots approach each other in a certain way. At the same time, such a method should calculate the trajectories of the robots bypassing each other in advance, taking into account obstacles on the map and surface irregularities. 7 Figure 1: An example of incorrectly allocated study areas The simplest solution to the problem of oncoming traffic in the corridor is to install charges of different sizes on the robots (for example, randomly in a given range, or according to their id). In this case, complete building-up can be avoided, but it will become more difficult to predict the behavior of such a system. 2.3. Development of an algorithm for exchanging trusted messages When a group of robots investigates a dynamically changing map, there is a possibility that different participants will store different maps of the area at the same time. In addition, the study of the map by a group of robots suggests an increase in the effectiveness of this study relative to a single one. To do this, you must use the card synchronization algorithm. The general card synchronization algorithm works as follows: 1. One of the nodes sends its map and position on the map by broadcasting, 2. Other clients validate (described below), 3. If the card is valid, then: i. Refresh the map in your local storage. 4. Otherwise: i. Fix the map, ii. Broadcast the corrected map and your position. The algorithm presented above assumes the use of a decentralized system. In a centralized system, the initiator node sends a change request to the leader, who authenticates. Thus, the task of synchronizing the card is reduced to the implementation of network interaction in the group of robots and the implementation of the authentication algorithm. The exchange of trusted messages can be implemented in two main ways: using cryptographic methods [11] and using algorithmic methods for determining trusted messages. 3. Development and implementation of an experimental study of the GRCS, in the Group2DEmul environment As part of the experimental study, the following algorithms for group control of robots were implemented: Algorithm of target allocation, Algorithm of follow up the leader, Algorithm for the exchange of trusted messages using cryptographic functions, Algorithms for trajectory planning, including wave algorithm, algorithm A*. In this section, the power of these algorithms will be assessed depending on the various structures of maps, as well as the temporal characteristics of the algorithms being implemented. 8 3.1. Experimental studies of the target allocation algorithm The effectiveness of the target allocation algorithm depends on how the target calculation matrix is composed. To determine the speed of the algorithm, let's take two extreme situations: - The matrix is compiled as effectively as possible, in such a way that in each row of numbers there is a maximum number greater than the maximum number from a column, - The matrix is compiled as ineffectively as possible, so that the maximum number greater than the maximum number from the column is always in the last row [12]. With a matrix compiled most efficiently with a matrix dimension of N*N, the speed of the algorithm tends to O(N). With the matrix compiled as ineffectively as possible with the matrix dimension N*N, the speed of the algorithm tends to (𝑁+1)𝑁 O( ) (2) 2 We give the time characteristics for the matrix, compiled in the most ineffective way in table 1. Table 1 Time characteristics of the target allocation algorithm for the N*N matrix N, for a matrix of size N*N Elapsed time, sec 50 0.01 100 0.032 500 0.76 Based on the above time characteristics, we can conclude that similar target allocation algorithms are well suited for GRCS, the number of robots in which is about 100 units. It should be understood that the measurements are demonstrated for a matrix composed in the most ineffective way, and the probability of obtaining such a matrix in systems with N robots is 1 (3) 𝑁! 3.2. Experimental studies of the leader selection algorithm In this section, the following leader selection algorithms will be analyzed: Bully Election Algorithm, Token Ring Election Algorithm, RAFT. These algorithms solve the problem of choosing a leader by communicating nodes with each other. The order and structure of such messages are different in the algorithms under study and cannot be compared. However, we can compare the sheer number of messages transmitted over the network to establish a leader. The Bully Election Algorithm works in such a way that each node sends messages to nodes whose priority is higher than its own and waits for an acknowledgment message. Thus, the number of messages in the network depends on which node starts the procedure for re-election of the leader. In the worst case, the node with the lowest priority starts this procedure. Then a group of N robots for re- election of a leader in a network with all available nodes needs (𝑁−1)(𝑁−2) 𝑁 2 −3𝑁+2 2 = 2 (4) request messages, (𝑁−1)(𝑁−2) 𝑁 2 −3𝑁+2 2 = 2 (5) confirmation messages and N-1 \ notification messages about the election of a new leader. Thus, all 𝑁 2 − 2𝑁 + 1 = (𝑁 − 1)2 (6) messages to establish a new leader in the network, where the node that started the procedure is selected as ineffectively as possible. 9 The Token Ring Election Algorithm operates in a ring structure, which minimizes the number of messages on the network. The chain of messages traverses such a ring 2 times, which means that in a group of N robots, the number of messages in the network for the implementation of the leader re- election algorithm will be equal to 2N. The total number of messages of the RAFT algorithm cannot be estimated due to the fact that this algorithm works during the entire life cycle of the RAFT. But it is possible to evaluate only that part of the algorithm that is responsible for establishing a new group leader, from the same point of view as the previous two. To solve the problem of re-election of a leader, a node whose internal timer expires faster sends messages to the rest of the nodes in the network that it is a leader and is waiting for acknowledgments [13]. Thus, in a group of N robots, the number of messages in the network for implementing the leader re-election algorithm will be equal to 2(𝑁 − 1). (7) Here is Table 1 illustrating the number of messages in the network for the described algorithms for a different number of nodes in the network: Table 2 The number of messages required to solve the problem of leader re-election Number of nodes Algorithms 10 20 30 40 50 Bully Election 18 361 841 1521 2401 Token Ring Election 20 40 60 80 100 RAFT 18 38 58 78 98 From the results obtained, it can be seen that the number of messages required to solve the leader re-election problem for the Bully Election algorithm grows much faster than for other analyzed algorithms. At the same time, the number of messages of the Token Ring Election and RAFT algorithms is comparable and almost equal. However, due to the ring structure, the Token Ring Election algorithm is quite vulnerable, since if one node is lost in such a structure, the entire structure is destroyed and it must be reorganized. The RAFT algorithm avoids both of these problems by having a one-to-one structure and a fairly small number of messages required to solve the leader re- election problem. 3.3. Experimental studies algorithm follow up the leader The algorithm for following the leader is reduced to calculating the positions of the nodes to place them around the leader. The algorithm calculates the position for each point using trigonometric functions. Thus, the speed of the algorithm for n nodes, the speed of the algorithm is O(n). The calculation time depends on the speed of the trigonometric operations in a specific programming language on a specific device. Here are the time characteristics for calculating the positions of nodes in table 3. Table 3 Time characteristics of the leader movement algorithm for N nodes N, number of nodes Elapsed time, μs 1000 3982 5000 18395 10000 27970 Based on the results obtained, it can be concluded that this algorithm for placing robots around the leader is applicable even with a very large number of robots (about 10,000), which indicates the possibility of its use in GRCS. 10 3.4. Experimental studies of the algorithm for exchanging trusted messages using cryptographic functions When implementing the algorithm for exchanging trusted messages using cryptographic functions, the time spent depends on the used DSA algorithm, the key length and the power of the computing facilities used. In chapter 4.3.1, the RSA algorithm for creating an DSA was considered, therefore, the time characteristics will be considered for it. As stated earlier, there are 3 main steps to signing a message: Generation of public and private keys, Formation of a message signed with a private key, Verification of the signature of the received message from the network. We present the time characteristics for keys of different lengths for the indicated stages in tables 4- 6. Signature and signature verification is carried out over a 1MB message. As you can see, the most time-consuming operation is the generation of keys, which is why it must be performed in advance, before the exchange of trusted messages begins. At the same time, signature and signature verification are rather fast operations and come down to raising numbers to a power. The duration of the signature and signature verification operations is the same in time. They differ only in the numbers raised to a power. Table 4 Timing characteristics of generating public private keys of the RSA algorithm for keys of different lengths for message length Key length, bit Elapsed time, sec 128 0.028275012969970703 256 0.10507702827453613 512 0.24528908729553223 1024 3.6004180908203125 Table 5 Time characteristics of the signature of a 1 MB message using the RSA algorithm for keys of various lengths Key length, bit Elapsed time, sec 128 0.0003 256 0.0015 512 0.0024 1024 0.0081 Table 6 Timing characteristics of signature verification of a 1MB message using the RSA algorithm for keys of various lengths Key length, bit Elapsed time, sec 128 0.0003 256 0.0015 512 0.0024 1024 0.0081 Based on the results obtained, we can conclude that the key generation procedure is indeed the longest in relation to the signature and signature verification operations. The key generation time depends on its length; therefore, the task is to choose the most optimal option for the key length in terms of its length, and, consequently, information security and generation time. Based on the data given in Table 4, we can conclude that for the RSA algorithm the most effective key from this point of view is a 512-bit key. However, it must be remembered that this length may vary for other signature algorithms. In addition, the preparation of signing keys usually occurs before the very 11 procedure of interaction between robots and, therefore, does not affect the efficiency of such systems. The data described in Tables 5 and 6 indicate that although the signing and signature verification time also grows with the growth of the key length, it is still small enough to be taken into account. 4. Conclusion The systems of group control were analyzed, the algorithms of the GRCS were described, their comparative analysis was carried out and their temporal performance characteristics were measured. The described algorithms were implemented in the emulated Group2DEmul environment and their temporal characteristics are given. The efficiency of the algorithms was evaluated in relation to the time of their execution for various input data. Based on the experimental measurements, it was concluded that the algorithms under study are effective. The developed emulated environment has the functionality for describing most of the algorithms of the GRCS. The data obtained from this system can be used to make adjustments to the proposed algorithms before introducing them into real GRCS. In the future, it is planned to add tools for customizing the user interface through the user interface, add the ability to generate automatic reports on the effectiveness of the algorithm, which could be attached as a justification for the use of the algorithm when implemented in real GRCS. 5. References [1] Pshikhopov V.Kh., Soloviev V.V., Titov A.E. and others. Group control of mobile objects in uncertain environments – 2015 – 9 p. [2] Basan, A.S., Basan, E.S., Lapina, M.A., Kormakova, V.N., Lapin, V.G. Security methods for a group of mobile robots according to the requirements of Russian and foreign legislation: IOP Conference Series: Materials Science and Engineering, 2020, 873(1), 012031 DOI: 10.1088/1757-899X/873/1/012031 [3] Basan E., Lapina M. and Orel D. Host-based Method and System for Detecting Anomalies in Network Traffic for a Robotic System: CEUR Workshop Proceedings YSIP3 – Proceedings of the Young Scientist's Third International Workshop on Trends in Information Processing, 2019. [4] Proshkin, N.A., Basan, E.S., Lapina, M.A., Klepikova, A.G., Lapin, V.G. Developing models of IoT infrastructures to identify vulnerabilities and analyse threats: IOP Conference Series: Materials Science and Engineering, 2020, 873(1), 012018 DOI: 10.1088/1757- 899X/873/1/012018 [5] Description of the hierarchical structure of group control systems [Electronic resource]. – URL: http://roboticslib.ru/books/item/f00/s00/z0000003/st014.shtml/ (date of access: 22.09.20). [6] D.A. Beloglazov, V.V. Soloviev et al. Target distribution method in groups of intelligent mobile robots – 2016 – 122 p. [7] Description of the Bully Election Algorithm [Electronic resource]. – URL: https://www.cs.colostate.edu/~cs551/CourseNotes/Synchronization/BullyExample.html (date of access 22.09.20). [8] Description of the Ring Election Algorithm [Electronic resource]. – URL: https://www.cs.colostate.edu/~cs551/CourseNotes/Synchronization/RingElectExample.html (date accessed 22.09.20). [9] Description of the RAFT algorithm [Electronic resource]. – URL: http://thesecretlivesofdata.com/raft (date of access 22.09.20). [10] Description of the method of potential fields [Electronic resource]. – URL: https://keldysh.ru/papers/2001/prep40/prep2001_40.html (date of access 22.09.20). [11] Chichikin G.Ya., Semyonov D.A. Cryptosystem RSA, 2019 – 15 p. [12] Implementation of the wave algorithm in Python. [Electronic resource]. – URL: https://pythondigest.ru/view/2681/ (date of treatment 22.09.20). [13] Implementation of the A * algorithm in Python. [Electronic resource]. – URL: https://www.pvsm.ru/python/77932/ (date of access 22.09.20). 12