Human-rover interactions and swarm algorithms of mobile robots in an open and crowded environment: a survey

As a result of extensive research in the field of mobile robots (rovers) and swarms, a number of 1 algorithms exist to assist them for executing a mission in the three levels of software architecture: strategic 2 (interaction loop level), tactic (planning) and operational (sensing, control and actuation). They allow them 3 to achieve their goals while adapting to their environment through a multitude of methods designed for each 4 situation. For this reason, a literature review of the latest research conducted in previous years is required to 5 identify new research trends in human-swarm interaction applied to help humans in hazardous environment such 6 as militarized zone. In this paper, we will present some interesting algorithms for interactive and autonomous 7 mobile robots acting in swarms in an open and crowded environment. A discussion will focus on comparing 8 different algorithms and their advantages and disadvantages. 9


11
The study of mobile robots swarm has reached a high level of maturity including human-swarm interaction  fingers, scanning the screen, enlarge or reduce with two fingers, etc.). With this interface, it uses an algorithm to 217 influence the behavior of the swarm through several attractive or repulsive beacons: 218 The attractive Beacon :

219
It attracts the robot swarm towards its position. 220 The obstacle beacon :

221
It emits repulsive force so that the robots avoid going to its zone and thus avoid collision with the 222 obstacle.

224
Similar to attractive Beacon. It is used in an emergency or at the end of a test exercise. 225 The management beacon :

226
It is supposed to lead the swarm towards its objective.

227
The Beacon circle :

228
It is a mix between the attractive Beacon, the obstacle Beacon and the management. It's used for 229 zone control. 230 Dividing or multiplying Beacon :

231
It is used to change the perception of the environment of robots in an area in order to change their 232 behavior accordingly.

233
Each of the beacons located on the screen has a modifiable influence radius. Simulations have been carried 234 out to validate the operation of this concept, which allows the behavior of a swarm of robots to be intrinsically It can be achieved by exciting or inhibiting the behavior of bees in their exploration whether by 249 specifying a direction of research or altering their speed. 250 Association control :

251
The operator can directly control one robot of the swarm, which will then influence the overall 252 swarm.

253
Environmental monitoring : 254 This is done by placing attractive or repulsive beacons in the bee environment.

255
Strategic control : 256 It is to ensure that the swarm changes the allocation of these own objectives in order to select the best 257 strategy to adopt. In this case, it would be to reassess the quality of a site after a certain operating 258 time.

259
In conclusion, the authors admit that these methods of influence work well if the operator knows exactly 260 how to give the tasks to be carried out by the swarm and accepts the sharing of control with it.

326
The robot must ignore all commands from a remote control other than glasses. to select the ranges of parameters to be tested. The blinking frequencies were chosen according to [63] study.

340
The distance between the target and the operator was chosen according to [64] study. For the color of the LED, 341 the authors decided to make their own selection because the scientific community is not able to give the best 342 one (there is some debate between white, red, green and blue). Several tests were conducted with individuals.

343
The results indicate that the success rate varies greatly from person to person (on average 75% success with a 344 standard deviation around 15% of success depending on the frequencies used). The authors stress that the more 345 trained operators are in this process, the better the results will be. This method also has a delay of several seconds robots. The swarm used is made up of a leading robot and other followers robots that maintain a given formation.

351
The operator can control the speed of the leader, which can influence the behavior of the swarm. This is done 352 through a haptic device. The feedback given by the force of the haptic device indicates to the operator whether 353 his control is good or bad for the swarm, that is to say whether the speed of the following robots is more or less 354 different from that of the leading robot. This information allows the operator to adjust the leader's speed. The to have a simple command interpreted by the swarm of decentralized robots but also to allow it to make some 360 feedback. Since a swarm is too difficult to command directly, the authors decided to subdivide it into several 361 sub-swarms. The following commands are used by the operator:

362
• Direct: the operator can guide a sub-swarm to a target position.

366
• Selection: the operator chooses the sub-swarm with which he wants to interact.

367
Each of these controls is associated with a gesture of the operator's arms. control, such as a robot selection rectangle, which then defines a sub-swarm obedient to different commands of 376 the swarm in general, but also places a Beacon that attracts robots to its area. 377 Diana and al.
[40] use a joystick made of modeling paste as a physical medium for interaction. This allows 378 the operator to control the formation of the robot swarm. It uses modeling paste to define the desired formation 379 for its swarm. A camera takes the form and compares it to a library to perform the reconnaissance. Once this 380 is done, the information is sent to the swarm who performs the desired formation using a method based on 381 minimizing the energy of the system during its displacement. Simulations were carried out with a real swarm of 382 mobile robots.   Table 1 shows a summary of the various interaction media. Through these various articles, we have been 392 able to observe the diversity of the interaction between human and swarms. These have several advantages and 393 disadvantages depending on their nature. One of the advantages that we find quite often is to be able to control 394 the formation of the swarm in order to adapt it to its changing environment. Despite this control, the operator 395 must always be able to explicitly give a target to the swarm. There is no interaction support that can do this 396 implicitly. This has an impact on the autonomy of the swarm, which certainly remains at a fairly high level but The operator should see the swarm and make an exact gesture to give an order cannot be completely autonomous in its decision-making. Its autonomy is limited to planning its displacement 398 and mastering its deployment training. The following section will be devoted to algorithms that can perform 399 these actions. One of the big challenges today is to allow robots to operate in an environment without having to adapt the 406 environment for robots, that is, robots are self-sufficient to carry out the mission. In these circumstances, ensuring 407 the performance of a task under the conditions of safety and efficiency requires consideration of the environment 408 as it can be perceived by embedded sensors. In addition, the swarm must be equipped with algorithms enabling it 409 to move and be able to perform the tasks it must perform. This section will be devoted to the presentation of 410 existing algorithms for this purpose. We will describe them and discuss their effectiveness. We will also present 411 a taxonomy of these swarm algorithms in Figure 2.  A centralized swarm is a swarm controlled by a leader, which can be a robot of the swarm or a distant 414 server which sends command to the robots. The leader can also be a human operator sending the commands to 415 the swarm. In this section, we will present all the algorithms developed for this kind of swarm. Histogram (VFH) method [78] to detect obstacles and bypass them. The last step is an algorithm which takes 426 the result of the VFH algorithm, and convert it into a motor command for each robot. This last algorithm used 427 a fuzzy logic to find the good command according to the target position and the obstacle avoidance. With all 428 these three parts, the leader is able to control all the robots and move them around the group of migrants. Vaidis 429 and Otis also used a state detection algorithm in order to detect some issues with robots. This algorithm used a 430 Convolutional Neural Network (CNN) to process the data coming from an Inertial Measurement Unit (IMU).

431
The data of the IMU are converted into a picture, then these pictures are analyzed by the CNN to find the state of   have been carried out and have shown that robots consume much less energy by driving rather than by flying, but • The target of robots is defined.

472
• The system initializes its parameters with the aim of computation.

473
• The diagram of Voronoi is generated and cells are computed.

474
• The error of position of every robot is evaluated.

475
• If this one is bearable, the algorithm pursues its execution. Otherwise he begins again from the beginning 476 by updating the position of the robot.

477
• the robot performs the given trajectory. If the target is reached, the robot performs its task. Otherwise the 478 next iteration is done to plan its next move.

479
Each robot is represented with a rectangular prism in order to simplify the recognition of collisions. Several    position. If it is the case, another target will be allocated to her and it will begin again this action.

540
Avoiding : the robot bypasses the obstacle in its path and will continue to follow its landmarks.

541
Exchange : if there is a frontal collision, the two robots will bypass each other and then continue to track 542 the marker afterwards.

543
Passing through : if a side collision occurs, the robot continues its way while the other waits for it to 544 pass in front of it. Subsequently, it conducts the benchmark tracking.

545
Docking : the robot has reached its target and is placed in its intended location.

546
Waiting for a safe distance : the robot expects another robot and keeps a safe distance from it. When 547 the other robot leaves the area, he resumes his normal activities.

548
Waiting to get through : following a side collision, the robot is waiting for the time the other robot 549 passes in front of it. Then it continues its activities.

550
Waiting for docking : the robot must wait for another robot to finish mooring at the same dock.

551
All these behaviors allow the swarm to organize and carry out their tasks. level of centralized swarm autonomy is less than the decentralized swarms of robots. This is due to the fact that 559 the leader of the centralized swarm has to give commands to each of the robots in the swarm. Without these 560 commands, the robots will not be able to achieve the task of the swarm. In a decentralized swarm of robots, 561 each robot communicate with each other and then distribute the tasks between each other. This prevents some 562 issues due to miscommunication between the leader and the swarm, and also allow the swarm to do difficult tasks.

563
Nevertheless, centralized swarms can perform very well simple tasks because of their ease of implementation.   Optimize the trajectory planning of robots. If a gas leak is detected by a robot, the algorithm will 572 lead the robot to its source. Otherwise the robots move freely in the area to be explored.

574
Used to detect a gas leak using MQ3 (Alcohol Vapor) and MQ5 (LPG, Natural Gas, Town Gas) 575 sensors.

576
The combination of these algorithms allows to boost the performance of robots to locate a gas leak.  In their work, Nurmaini and al. [48] have developed a fuzzy logic algorithm that allows a swarm to move.

595
The robots are equipped with three infrared sensors used for obstacle detection. A CCD camera is used for 596 experimenting and allows to see the position of the robots and their orientation. Each robot can be identified 597 by its color (in the tests: red, green, blue). All this information is given at the input of the blurred logic block 598 which sends out the engine speed (in translation and rotation) for each robot. This allows them to reach the target 599 position they have received. decision-making has a great importance on the behavior of robots. The bigger it is, the more robots will go 611 directly in the right direction to find the source.   • Control laws for the non-linear heterogeneous robotic system and invariant according to its accelerations.

623
The swarm of mobile robots should therefore be able to avoid the other swarm of obstacles. The artificial 624 potential field represents the energy of the system and the forces generated by it or on it. The goal is to minimize 625 this function. The result is a translation and rotational control for the swarm robots. Simulations were made to 626 validate the functioning of the algorithm. 627 Roy and al.
[50] compare two algorithms so that their swarm of mobile robots can move around avoiding 628 obstacles: bacterial foraging and particle Swarm Optimization. Functions designating the purpose to be achieved 629 and the obstacles to be avoided are defined. Another function defining time errors is then set from the previous 630 two. The purpose of both algorithms is to minimize this function. To do this, the swarm must first move in a 631 coordinated way, that is, each robot must have about the same average speed as well as the same average direction.

632
The control of the swarm must then be defined autonomously. Simulations show that the first algorithm is more 633 concerned with maintaining the formation of the swarm, while the second will optimize its movement.

634
In their work, Jann and al. [51] use the D*lite algorithm [74] to get a mobile robot swarm through an 635 obstacle field. Several checkpoints are defined in the obstacle zone and the robots must go through one of them. possesses information on the map and then updates itself when moving the robots. A cost function is defined 638 based on the cost of moving the robot between two nodes of the map, as well as the heuristic cost of travel.

639
The purpose of the algorithm is to minimize this function. Several simulations were carried out with different 640 changing parameters: the number of vehicles, static or dynamic obstacles. In all cases, the robots were able to 641 reach their objective without hindrance. Trajectory planning is highly dependent on the disposition of obstacles 642 as well as the grid used. 643 Devi and al.
[52] using gorilla behavior to create an algorithm for moving a swarm of mobile robots. In this 644 algorithm, three behaviors are possible:

645
Action of climbing/moving : the gorilla will move to an elevation position that will allow it to have an 646 overview of its environment.

647
Observation of an easier path : once the gorilla has reached a peak, it observes the surroundings in 648 order to find a higher point to reach it. colliding with each other. The purpose of this algorithm is to evenly distribute robots on a circle around a target.

657
The robots follow the contour of the circle and stand one by one at the coordinates assigned to them. Several 658 simulations were carried out in environments with or without obstacles to verify the proper functioning of the 659 algorithm. The advantage of this method is that it avoids local minimum problems. 660 Caska and al.
[45] use an algorithm whose purpose is to compute the number of drones and mobile robots 661 composing a swarm in order to cover all the landmarks of a surveillance zone, but also to plan their trajectory 662 optimally. As a first step, the algorithm defines coordinated points to be reached for vehicles on the ground and 663 for drones. Then it calculates the greatest distance to travel between the previous points, taking into account the 664 climb or descent of a slope. A computation of the energy consumption is then carried out to determine whether 665 the vehicle and the drone can carry out the distance without any problems. If so, a drone and vehicle will suffice.

666
Otherwise the algorithm proposes to increase the number of vehicles and drones until the energy consumption is 667 sufficient to carry out the journeys. The authors assume that each robot and drone can travel three kilometers at 668 full load. A genetic algorithm was also used to compute the optimal solution to this problem. can move without collisions. This algorithm makes it possible to find the shortest path between the swarm and 677 the desired target. It is based on the deposit of pheromones and the probability that one robot will choose one 678 path over another. The algorithm will browse the map ahead for robots following several trajectories. The shorter 679 a trajectory, the more pheromone deposition will be important, which will increase the probability that this path 680 will be chosen. In the end, this path will be chosen to lead the robot. Each path found for these will be added as 681 you go on the obstacle map. Simulations were performed to validate the functioning of the algorithm. 682 Vicmudo and al.
[54] using genetic algorithms to direct their swarm of underwater robots. They initialize 683 the algorithm with random positions as the starting population. The chromosomes used to contain all the robot's 684 movement coordinates. When the initial population changes, the chromosomes will be sorted according to 685 the sum of the distances they will contain to get to the target. If this distance is too great, the chromosome 686 will be removed. If two robots were to have the same position during the algorithm, a penalty is given to the chromosomes. Three different simulations were conducted with several starting populations (150, 250 and 500). 688 The conclusions are that the larger the initial population, the more the algorithm will converge towards the 689 optimal solution. This method is able to plan the trajectory of robots moving in swarms. 690 Hedjar and al.
[55] use a collision avoidance algorithm for mobile robots swarm. It creates a safety ring 691 around the robot that prevents it from moving towards the obstacle if the ring is in it. The ring is capable of 692 adapting to several types of robot shapes. In addition to this, trajectory planning is achieved using convex 693 optimization of a nonlinear equation system. A cost function is defined for each route of the robots. This must 694 be minimized to plan their route. Each robot considers the other robots as dynamic obstacles. Simulations and 695 experiments were conducted to validate this model. Using convex optimization avoids local minimum problems.

696
In addition, this algorithm is capable of being integrated into centralized and decentralized robot swarm systems.

697
Also, the position of the obstacles must be known in advance. Otherwise, you have to add to the system a means   which usually stores a copy of data of the other robots to take a decision. A decentralized system can be just as 713 vulnerable to issues as a centralized one. However, by designing there are more tolerant and robust due to the 714 fact that robots have their own information to take decision, and share them with others. A distributed system is 715 similar to a decentralized swarm. The difference is the way robots share information between each other. In an 716 undistributed decentralized swarm, the information is not uniformly distributed. Some robots will have more 717 information than others. This section is dedicated to this type of swarm. In their work, Hattori and al. [19] have developed a mobile robot swarm algorithm that is decentralized and 862 allows robots to do separate tasks. This is an upgrade to the SLAM algorithm [77]. It proposes to estimate the 863 position of a robot with fewer resources and calculate its displacement. The robots are divided into two classes: 864 one is designated as the parent and the other as the son. The robots are both equipped with a camera and markers.

865
The father robot receives the coordinates to be reached and travels to them. The robot son then tries to follow the 866 robot father by estimating the position of the robot thanks to the camera in his own marker. Robots regularly 867 communicate their data to each other to synchronize.

868
Seng and al.
[24] offer an algorithm that can move a swarm of mobile robots while retaining their formation.

869
It is divided into two stages: the first allow the swarm to maintain the formation without the robots exchanging 870 information with each other, and the second involves the planning of the trajectories of the different robots.

871
Each of them can perform collision avoidance by their own means, but an algorithm has been added to keep 872 the formation of the swarm. One robot is considered the leader, the others will follow it and maintain the 873 formation. Experimentations were conducted to validate the method. This gives a good result and a very high 874 robot placement accuracy.

876
A comparison of the previous algorithms is given in Table 6. There is a few algorithm for decentralized 877 and distributed mobile robot swarms. This is due to the fact that most robots perform the same task within the 878 swarm. The two algorithms presented differ from this case since the robots have two different behaviors: leaders 879 (father/mother) and followers (son/daughter). This leads to few context of use in real life especially because of 880 the difficulty to implement the system, including disturbances from the environment. The robots are autonomous 881 in their movement as long as the target is indicated for the swarm.  First of all, with regard to human-swarm interaction media, we have seen the different advantages and 886 disadvantages of these. The choice of an interacting medium depends above all on the intended use of the swarm 887 in order to facilitate the operator's control of the swarm. It also revealed that the autonomy of the swarm was 888 more or less affected, since it could not reach a complete autonomy because the operator must always give an 889 objective to be attained. Then we presented the various types of algorithms existing for the trip of a swarm. The 890 realized taxonomy allows seeing certain peculiarities of the functioning of these. There also it is necessary to 891 choose the algorithm according to the action that the swarm wants to make. We can notice the lack of distributed 892 decentralized swarm. It results can be because it is still difficult to design algorithms for this application, robots 893 in front of made by the different tasks.