Swarm Robotics and Formations of Robots

Universidad Polit´ ecnica de Madrid Escuela T´ecnica Superior de Ingenieros Industriales Departamento de Autom´atica, Ingenier´ıa Electr´onica e Infor...
5 downloads 0 Views 2MB Size
Universidad Polit´ ecnica de Madrid Escuela T´ecnica Superior de Ingenieros Industriales Departamento de Autom´atica, Ingenier´ıa Electr´onica e Inform´atica Industrial Divisi´on de Ingenier´ıa de Sistemas y Autom´atica

Swarm Robotics and Formations of Robots

Trabajo Tutelado

I˜ naki Navarro Oiza Madrid, Junio 2006

ii

ver 1.1-20070620

Abstract This work studies different types of architectures of robot formations comparing them. The control of formations of robots consists in how to coordinate a group of robots making them to maintain determined relative positions and orientations between them while moving in the environment. Sometimes a desired outline must be achieved, not only an internal structure. Some of the architectures have been reproduced in the SwarmSim simulator specifically built for this purpose. The set of robot formations are analyzed from the perspective of Swarm Robotics, taking into account their scalability on the number of members. Swarm Robotics is the study of how to coordinate large groups of relatively simple autonomous robots through the use of local rules. It takes its inspiration from societies of insects, that can accomplish tasks that are beyond the capabilities of the individuals. A study of the characteristics and properties of swarm robotic systems is done, and some of the main projects in this area are described.

iii

iv

Resumen Este trabajo estudia diferentes tipos de formaciones de robots realizando una comparaci´ on entre ellos. El control de formaciones de robots consiste en coordinar a un grupo de robots consiguiendo que mantengan unas determinadas posiciones y orientaciones relativas entre ellos mientras se desplazan en su entorno. En determinadas ocasiones se requiere que el grupo posea una determinada forma externa, mientras que en otras solamente la estructura interna es de inter´es. Algunas de las arquitecturas fueron reproducidas en el simulador SwarmSim dise˜ nado para este prop´osito. Las diferentes formaciones de robots son analizadas desde el punto de vista de Swarm Robotics, teniendo en cuenta la escalabilidad en el n´ umero de robots. Swarm Robotics estudia como coordinar grupos de un gran numero de robots simples y aut´onomos que utilizan solo informaci´ on local. Est´ a inspirada en las sociedades de insectos, que pueden llevar a acabo tareas que est´ an por encima de sus capacidades como individuos. Se ha realizado un estudio de de las caracter´ısticas y propiedades de estos sistemas swarm, describiendo los proyectos m´as relevantes.

v

vi

Contents 1 Swarm Robotics 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 1.2 Motivation and Inspiration . . . . . . . . . . . . . . 1.3 Main Characteristics . . . . . . . . . . . . . . . . . . 1.4 Applications . . . . . . . . . . . . . . . . . . . . . . . 1.5 Some Projects . . . . . . . . . . . . . . . . . . . . . . 1.5.1 I-SWARM Project . . . . . . . . . . . . . . . 1.5.2 Pheromone Robotics from HRL Laboratories 1.5.3 Swarm-Bot Project . . . . . . . . . . . . . . . 1.5.4 Distributed Localization and Mapping . . . . 1.5.5 Dispersion of Swarm of Robots . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

1 1 1 2 3 4 4 6 9 13 17

2 Formations of Robots 21 2.1 Physicomimetic Formations . . . . . . . . . . . . . . . . . . . . . 22 2.1.1 Triangular Lattices . . . . . . . . . . . . . . . . . . . . . . 23 2.1.2 Square Lattices . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.3 Obstacle Avoidance and Towards Goal Behaviors . . . . . 29 2.1.4 Application on Mobile Robots . . . . . . . . . . . . . . . . 29 2.1.5 Results and Conclusions . . . . . . . . . . . . . . . . . . . 29 2.2 Self-Organized Formation with Defined External Shape . . . . . 31 2.2.1 Algorithm Basis . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.2 Triangle Shape Formation . . . . . . . . . . . . . . . . . . 32 2.2.3 Ladder and Hexagonal Shapes Formation . . . . . . . . . 32 2.2.4 Results with SwarmSim . . . . . . . . . . . . . . . . . . . 33 2.2.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3 Lattice Formation with Orthogonal Decomposition of Controllers 35 2.3.1 Line Force Method . . . . . . . . . . . . . . . . . . . . . . 36 2.3.2 Hypothesis Generation Method . . . . . . . . . . . . . . . 37 2.3.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3.4 Additional Improvements . . . . . . . . . . . . . . . . . . 38 2.3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4 Chain Based Formations with Local Sensing and Global Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.1 Experiments on Simulator . . . . . . . . . . . . . . . . . . 41 2.4.2 Physical Robot Experiments . . . . . . . . . . . . . . . . 42 2.4.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.5 Chain Based Formations with Local Sensing and Communication 43 2.5.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . 44 vii

CONTENTS

2.6

2.7

2.5.2 Results on Simulator . . . . . 2.5.3 Conclusions . . . . . . . . . . Formation Based in Social Potentials 2.6.1 Simulation Results . . . . . . 2.6.2 Conclusions . . . . . . . . . . Conclusions and Future Work . . . .

A SwarmSim Simulator A.1 Other Mobile Robotic Simulators A.2 Implementation . . . . . . . . . . A.3 Current Features . . . . . . . . . A.4 Future Work . . . . . . . . . . . Bibliography

viii

. . . .

. . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . and Attachment Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

44 45 45 47 48 48

. . . .

. . . .

. . . .

. . . .

51 51 52 53 54

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

57

Chapter 1

Swarm Robotics 1.1

Introduction

Swarm Robotics is the study of how to coordinate large groups of relatively simple robots through the use of local rules. It takes its inspiration from societies of insects, that can accomplish tasks that are beyond the capabilities of the individuals. Gerardo Beni [3] describes these kind of groups of robots as follows: The group of robots is not just a group. It has some special characteristics, which are found in swarms of insects, i.e., decentralized control, lack of synchronization, simple and (quasi) identical members. The aim of this work is to describe the state of the art in this novel field of Swarm Robotics, as well as make a description and comparison of the different strategies of formations of robots. It was decided to go deeper in this branch of formations because it is a first step in the development of more difficult tasks. This study of the different formations of robots is described in Chapter 2, that starts with an introduction to the topic, continues with the descriptions and analysis of the different architectures studied, and finishes with the conclusions. Some of the architectures of robot formations were simulated and in order to do that a simulator was built. This simulator is described in Appendix A. The rest of this chapter describes the basis of Swarm Robotics, its possible applications, and the current projects on the topic that are being developed around the world.

1.2

Motivation and Inspiration

Social insects, this is, ants, bees, wasps and termites, etc., have amazing properties that are desirable in robotic systems. Each single insect works apparently independently of the rest, but the colony looks organized. For example, Leafcutter ants, cut leaves to grow fungi, workers look for leaves and carry them back to the nest organizing real highways. Tropical wasps build complex nests, 1

CHAPTER 1. SWARM ROBOTICS made of horizontal combs and protected by an external envelope. The nest is apparently more complex than the behavior of each individual wasp [4]. How can this complexity arise from the coordination of these creatures? Insects are complex, process lot of sensory inputs, including interactions with other insects, that change their behaviors. But this individual complexity is not enough to understand the incredible tasks that colonies can perform. The explanation of it is self-organization. It is a theory developed in areas of physics and chemistry to describe the emergence of macroscopic patterns out of interactions at microscopic levels. It has been extended to social insects to demonstrate that complex behavior can emerge from interaction between individual insects having simple behaviors, without the need of a centralized coordination mechanism [4]. The discovery that self-organization works in social insects, makes them a good reason use them as an inspiration for intelligent robot systems. There are some properties that appear in social insects that are desirable also in multi-robot systems[26]: Robustness The robot swarm must be able to work even if some of the individuals fail, or there are disturbances in the environment. This characteristic can be seen at home when trying to get rid of ant raids. It is really difficult to eliminate it. Flexibility The robot swarm must be able to generate different solutions for different tasks, and be able to change each robot role depending on the needs of the moment. Ants have this capacity, being able to perform tasks of different nature such as foraging, prey retrieval, chain formation, etc. Scalability The robot swarm should be able to work in different group sizes, from few individuals to thousands of them. The coordination mechanisms must allow it. One mechanism that is present in social insects and that can be very useful when working with robots is stigmergy. Stigmergy is the implicit communication through changes made in the environment. Insects modify their behaviors because of the previous changes made by their mates in the environment. This can be seen in the nest construction of termites,where the changes in the behaviors of the workers are determined by the structure of the nest [4].

1.3

Main Characteristics

In order to understand what is Swarm Robotics a definition taken from [4] is given: Swarm robotics is the study of how large number of relatively simple physically embodied agents can be designed such that a desired collective behavior emerges from the local interactions among agents and between the agents and the environment. 2

Section 1.4 A set of criteria is necessary in order to have a better understanding on the topic, and be able to differentiate it from other multi-robot types of systems [4]: • Autonomous Robots. The individuals of the swarm must be autonomous robots able to sense and actuate. So, sensor networks that have no actuator capacities are not considered robot swarms. Modular robots, that can connect and disconnect can be considered swarm robots if there exists just decentralized control. • Large Number of Robots. The control rules for the coordination of robots must be applicable not only to small groups of robots but to those with hundreds of individuals. Swarm Robotics pretends to exploit the benefits of using large groups, but a minimum number of robots can not be defined. Traditionally in laboratory experiments small groups of robots have been used because of cost problems. The important thing is that the algorithms are scalable. • Few Homogeneous Groups of Robots. There can exist different type of robots in the swarm, but this groups must be a few and composed of a large number of individuals. Heterogeneous groups as those of robotic football are considered less ”swarm”. • Relatively Incapable. The robots must be incapable or inefficient respect to the main task the have to solve, this is, they need from the collaboration between them in order to succeed or to improve the performance. It does not imply restrictions in the software or hardware capabilities. • Local Communication and Sensing Capabilities Robots have only local communication and sensing capabilities. It ensures the the coordination is decentralized, so scalability becomes one of the properties of the system. This set of criteria tries to give a better understanding of the field, but it is not pretended to be a checklist that every swarm robotic system must fulfill. In [4] some of the possible drawbacks of these systems are stated: • Because of the lack of global knowledge a group of robots can get into a deadlock situation. • Another difficult problem for the designer is how the interactions among the robots have to be designed in order to have the appropriate group behavior. The problem is that the solution is usually emergent. • When there is some kind of heterogeneity in the swarm, existing different groups, the problem of how to assign tasks to each one of them can be difficult.

1.4

Applications

The possible real applications of Swarm Robotics will take special importance when robots will be mass produced and the costs of building swarms of robots 3

CHAPTER 1. SWARM ROBOTICS will decrease. This will come together with the development of technologies such as MEMS (Micro-Electro-Mechanical Systems) that will allow creating small and cheap robots. Swarm robots can perform tasks in which the main goal is to cover a wide region. The robots can disperse and perform monitoring tasks, for example in forests, lakes, etc. It can be really useful for detecting hazardous events, like a leakage of a chemical. The main advantage over a sensor networks is that the swarm can move an focus on the problem, and even act to prevent the consequences of that problem. In this way swarms of robots can be really useful for dangerous tasks. For example for mining cleaning and detection. It can be more useful that a unique specialized robot, mainly because of the robustness of the swarm: if one robot fails and the mine explodes, the rest of the swarm continues working. In the case of a single robot this is not possible. Other tasks where Swarm Robotics can be of special interest are: maintenance of ships and ocean cleaning; aerospacial missions both for exploring other planets and for satellite repairing. For planet exploration exists a project, called ANTS [6], of the NASA for designing and building a robot swarm that will travel to Mars and will have self-repairing properties. The number and range of possible applications is really big. The technology must first be developed both in the algorithm and control part, and also in the miniaturization technologies in order to be competitive and really useful.

1.5

Some Projects

Some of the current projects related to Swarm Robotics are summarized in the following sections in order to have an idea of the problems and applications concerning to this field.

1.5.1

I-SWARM Project

The I-SWARM project, that stands for Intelligent Small World Autonomous Robots for Micro-manipulations, aims to build a huge swarm of up to 1000 micro-robots with a size of 2x2x1mm3 . The project started in January 2004, but its relevant publication [27] is from its beginning, so practically all the information available is from the purposes of the project, and first problems found, but not about results. It tries to reach the technology to develop massproduction micro-robots, so many of them might be produced creating a real swarm and not just groups of few robots. In Figure 1.1 a reproduction the future I-SWARM can be seen. The swarm will be heterogeneous with robots using different types of sensors, manipulators and computational power. The applications it will perform will vary from micro assembly, to biological, medical or cleaning tasks. According to the authors of the project, the aim is to have capabilities that can not be reached with a single robot or small group of micro-robots, using the benefits of selforganization seen in systems like, ant states, bee colonies and other insects, as 4

Section 1.5

Figure 1.1: View of the future I-SWARM. was explained in the introduction. The project pretends to develop a positioning system using tactile sensors, and a small video system, that will enable robots to communicate between them. Not also the micro-robot is developed within this project, but also a simulator in order to test the different tasks that the robots will do. As the authors of the project say, this is very important since it allows to start testing at the same time than developing the robot, allowing to see which hardware restrictions are more important, and which are the things that are absolutely necessary. The desired size of each robot is just 2x2x1mm3 , and it is thought to move up to 1mm/s. Due to the extreme small size a modular approach in the construction is not valid, so an integrated one was chosen. The technique used is micro system technology (MST), that has as advantage that different microlocomotion systems, as walkers, conveyors and motors, have been developed making use of it. In this project not only the solution must be defined, but also the problems, since the goal is to build a swarm of robots that will solve a set of tasks that are not completely predefined. Moreover, hardware designers want to know which are the requirements from the software part, and software designers need to know the constraints given by the hardware part. Both things make the starting point of the design really difficult. The approach taken is to do an analysis of the constraints given by physics, the technologies and also of the possible scenarios where the swarm is going to work. The hardware constraints are in terms of amount energy and how to store it, sensor systems, communications and actuators. The possible scenarios to apply the swarm are inspired in biological systems and are summarized in the following part in increasing complexity order. • Aggregation: Robots must position themselves in a bigger group in a self-organized way. It is inspired from cockroaches behavior. 5

CHAPTER 1. SWARM ROBOTICS • Aggregation Controlled by an Environmental Template: Similar to the previous scenario but now a template as a light source is used to locate the place where they aggregate. • Collective Building of Piles: Robots must collect pucks from the arena and build piles. • Collective Sorting: There are different defined parts in the arena that robots can distinguish and different pucks. They must sort them, placing the pucks in the desired place. • Royal Chamber: It is inspired from the ant Leptothorax albipennis that build a wall around the queen. The radius of this wall depends on a pheromone. Robots must collect pucks, find the queen and build the wall. • A Court Around a Robot Queen: In this scenario there are two types of robots: the queen robot and the worker robots. The queen robot moves through the arena emitting a virtual pheromone. This pheromone affects the random walk of the worker robots making them to approach the queen robot. In this way court is formed around the queen robot. But while time passes the worker robots are less affected by the pheromone and leave the court. So by moving the queen robot through the arena robots are distributed uniformly in the arena. It is based on the honeybee court. • Collective Foraging for Objects Using Pheromone Trails: Robots must choose collectively the optimal source of food and move it to the nest by using virtual pheromones. These virtual pheromones are deposited on the best source by robots and can be detected by other robots. • Foraging with Distinction of the Source Quality: The same as the previous scenario but marking also the quality of the source. A difficult part is recognize if the quality of the food. The scenarios explained are just a starting point to set some of the requirements to design the robots. The authors say that the capabilities of a such a small robot will be very simple, allowing just very simple task probably not useful, but will allow the development of a set of techniques that can be applied to later projects with more advanced micro-techniques. The fact that the robots are very small will allow to have a big number of them at low price, that is one of the advantages of Swarm Robotics.

1.5.2

Pheromone Robotics from HRL Laboratories

In this section the Pheromone Robotics [22] from the HRL Laboratories are described, in which using the biologically notion of pheromone a distributed computing network of robots that serve also as user interface is created. In order to introduce this techniques a possible application of them is going to be explained. Imagine a house where there is a victim that must be rescued, then a swarm of robots is introduced in the building. The swarm spreads all 6

Section 1.5 over the house and one of the robots finds a victim. Then this robot sends a message telling its discovery, and this message is propagated through the net of robots producing a virtual pheromone gradient. When the message arrives to the entrance the rescuers get in and follow the gradient. This form of messaging used in the example and called virtual pheromones is inspired by the chemical markers used by insects for communication and coordination. It is implemented using simple beacons and directional sensors mounted on each robot. Virtual pheromones also transform the swarm into a distributed computation network embedded in the real world, that can be used to detect shortest paths as is done in insect societies. The swarm of robots used in the experiments consists of 20 robots, each one of them equipped with: the pheromone module, that will be explained later; a PDA for computing and interface purposes, and additional processors for the actuators. Virtual Pheromones They are implemented as optically transmitted signals that are propagated through the swarm. On top of each robot there is a ring of eight directional infrared transceivers that can be seen in Figure 1.2. It allows to detect the direction where the messages come from as well as the intensity, giving the relative position of nearby robots. It also works as collision detection, when a message is sent from a robot and is received by itself, it means that there is an obstacle.

Figure 1.2: Ring of IR transceivers that form the Pheromone module. Infrared has four desirable properties: it is directional, so it allows to identify where the message comes from; it propagates line of sight, that means it will not pass through walls; its intensity decreases with distance allowing to estimate how far is the neighbor; and it can be modulated to send information. 7

CHAPTER 1. SWARM ROBOTICS Each message of the virtual pheromones is divided in three fields: type, hop-count and data. Type is used to distinguish among different types of pheromones. When a message arrives it is processed and is usually modified before sending it. Normally the hop-count field is modified allowing in this way to create the gradient. When a message arrives its hop-count is decremented before transmitting it again, but only when it has higher hop-count that messages received from the same type of pheromone. Messages with lower or same value than the transmitted one are not sent. As in the ant world, robots do not need to know if the pheromone has been received.

Figure 1.3: A network of robots with the hop-count mechanism representing the gradient. One of the differences with chemical pheromones is that virtual ones are attached to the robots and not to the environment. Messages are sent just between neighbors propagate really fast creating the pheromone. If changes in the environment occur, for example a new source appears, or an obstacle is introduced, the gradient will change adjusting to the new situation really fast. In the case of chemical pheromones this change will need of a much slower process. The diffusion property of chemical pheromones is implemented as relaying the message, while the evaporation property is done as decrementing the hopcount. The origin of the pheromone is a robot retransmitting periodically the appropriate message. World Embedded Computation Normally maps of the environment are created by getting information and transforming it into a representation that can be shared among the robots in multirobotic cases. Then global information as shortest paths, can be computed maybe in a distributed way. But in the case of pheromone robots there is no separation between the sensing, the generation of the map and the extraction of the desired features. Robots act as distributed processors that perform sensing and computation tasks at the same time. One of the key concepts is that 8

Section 1.5 communication paths are also free paths for the movement of the robots. The hop-count modification, that creates the gradient, is a distributed implementation of the Dijkstra’s shortest path algorithm [7]. The hop-count decrease is used in many networks, but here is used also to report information about the environment, by transmitting them with the messages. The modification of the hop-count can be done just decreasing one point, or taking into account other properties as the signal strength, the terrain properties, that will model better the environment. World Embedded Display The information computed by the swarm must be given to the possible users. In order to do that the own swarm was chosen as display, using techniques from augmented reality. The user has a camera mounted on his head, as well as receivers that get information from the robots, like the gradient. This information is mixed with the video signal and represented on a glasses that the user wear. This allows a user to follow a gradient of robots in order to reach the objective. Results and Future Work The virtual pheromone techniques were implemented in a swarm of 20 robots by their authors. Experiments were done using primitive behaviors to disperse the swarm, creating pheromone gradients and being able to follow it to the source. The method is quite interesting since it uses local sensing and communication to find global goals. It is quite scalable, where the time of creating or modifying a pheromone is incremented with the number of robots. Nothing is said about its dependence with the group size, but in the worst case in which robots will be connected one be one the time that a message takes from the source to the end will be of order θ(n) Problems may appear when dealing with more difficult situations, as when having big number of much more small robots. In this case one robot could communicate with another one in other room just because there is a small hole in the wall, that in fact can not be passed through. In this case the topology of the network does not represent exactly the environment one. Similar problems can appear when working in 3D environments, in which there can be elevations or in which robots move truly in 3D like in underwater or aerial vehicles. Future algorithms should deal with all these problems.

1.5.3

Swarm-Bot Project

The Swarm-Bot project [9, 8, 21] is a European founded multi-partner project which objective is to design and build a new robotic system called swarmbot, inspired in the swarm robotic techniques. A new type of robot called s-bot was developed within this project. S-bots have the ability to connect to each other forming the assembled system of robots called swarm-bot. Many advantages arise from the use of this structure of robots: they can connect to 9

CHAPTER 1. SWARM ROBOTICS help each other to pass difficult gaps, cooperate moving objects, etc. S-bots can also collaborate in different tasks without being attached. A specific simulator called swarmbot3D with different degrees of detail was developed in order to test algorithms and do a faster development of the first prototypes.

The s-bot As it has been said s-bot is the basic robot that forms the swarm-bot. The s-bot is a fully autonomous mobile robot, that is able to sense, move, navigate, communicate with other robots, and grasp objects. It is quite small, having a diameter of 12 cm weighting just 660 g [20]. It posses a special locomotion system combining wheels with tracks, that has as advantages an efficient rotation with the wheels, and a circular shape that fits on the robot cylindrical one. The traction system can rotate with respect to the body that holds the sensors and the grippers to connect to other s-bots. The sensors on-board in order to navigate are: infrared proximity sensors, light and humidity sensors, accelerometers and incremental encoders for the actuators. In order to detect and communicate with other s-bots it has a set of sensors and communication systems, including an omni-directional camera, colored LEDs, and sound emitters and receivers. Each s-bot posses two grippers in order to connect to other members or to grab objects. One of them is mounted on a flexible arm having two degrees of freedom. The other is mounted directly on the base of the robot allowing rigid connections, and to lift another s-bot. A picture of a s-bot can be seen in Figure 1.4.

Figure 1.4: A s-bot.

10

Section 1.5 Experiments During the project different controllers for different behaviors were developed. They were focused on few problems, some of them basic steps of more complicate ones. All of them were tried to solve using the principles of Swarm Robotics, using just local rules, with local sensing and communication, being then scalable. The results showed that difficult tasks can be solved with these techniques. The different tasks that will be described in the following sections are: aggregation; coordinated motion; self-assembling; cooperative transport; and exploration and path formation. Aggregation Aggregation is a very basic task being a prerequisite for others, since robots have to meet before assembling or doing other cooperative tasks. Experiments were done using sound signaling. The s-bots were homogeneous having the same controller each experiment. Each s-bot has as input the proximity sensors and the sound sensors to control the motors. Behaviors were developed using artificial neuronal networks. Controllers are quite robust, but the balance between attraction and repulsion is delicate. It was seen in experiments that the algorithms are scalable to the number of robots. Tests with up to 40 robots were done, and in some of them forming a unique cluster in the arena. Self-Assembling In order to form a swarm-bot and perform more complicate tasks s-bots must assemble. The controllers for this task were implemented using neuronal networks trained in the simulator. Basically one of the robots turn on the LEDs in red, so the rest try to get close to it. Once one of the s-bots is near enough to the s-bot in red it uses the gripper to join it. When they are attached it turns the LEDs on red, so both attracts the rests of the robots. By this simple mechanism the swarm-bot is created. The process is scalable and was tested with up to 16 s-bots successfully. Coordinated Motion Once the swarm-bot is formed it must move in the appropriate direction. The difficulty of this task is that each robot has its own sensors and actuators, and not centralized control wanted to be used. Each s-bot posses a special sensor that gives the force applied between the body and the locomotion chassis. Since s-bots attach each other to the body, this sensors measures the total force applied by the different robots attached, giving the sum of the pushing and pulling forces and the direction. In this way this sensor gives the s-bot the direction were the swarm-bot is trying to move. The main problem of the controller is that initially each robot has a different direction of movement. The group direction is decided collectively using just 11

CHAPTER 1. SWARM ROBOTICS local information and reading the special force sensor. Results showed that that the algorithms worked well, independently of the topology of the swarm-bot. It was seen that the whole swarm-bot has obstacle avoidance behavior. Cooperative Transport One of the tasks that s-bots can do and that is directly inspired from ants is the cooperative transportation of objects, that in some cases can not be done by an individual robot due to the size or weight of the object. Depending on the case s-bots can connect between them or just to the object. Different controllers were developed, in which just indirect communication through the environment is used. They have scaling properties, can be applied to bigger objects using larger groups of robots, what is very interesting. But some controllers are sensitive to the size of the object. Some special experiments were done in which there were two types of robots: first type was able to detect the objects and the other s-bots, while the second one was not able to identify the object. It was seen that this blind s-bots were able to improve the performance of the group, just by attaching to other s-bots and collaborating in the movement. Exploration and Path Formation The aim is to look for an object and once found indicate the other robots how to reach it, without the need of building and sharing a map. Once one of the s-bots finds the goal it becomes a beacon indicating that the goal is near. Then if another s-bot finds this beacon it also becomes a beacon staying at a certain distance of the first beacon. In this way a chain of beacons is generated, similar to the gradient formation of Pherobots [22] described in Section 1.5.2. This chain of beacons allows other robots to reach the goal just by visual contact with the beacons. A picture of this chain of robot beacons can be seen in Figure 1.5. The algorithm does not ensure that the chain is formed in the direction of the home where other robots are. For this reason a mechanism for destroying the chain with a certain probability is used. When the complete chain is created this mechanism disappears. The controller is done using a behavior-based approach. Two implementations of it were created, in the first one beacons remain static, while in the second they move in a coordinated way. The time that building the chain takes depends on the complexity of the environment. Complete Problem Experiments were done in which all the tasks described above: exploration, obstacle avoidance, object transportation, etc; performing at the same time. A group of 18 s-bots was used with successful results. The main remaining problems that are currently under study by the members of the project are: how to allocate the tasks to each robot and when trigger the self-assembly. 12

Section 1.5

Figure 1.5: The explorer chain of s-bots. Conclusions and Future Work The robots designed and its controllers inspired in social insects prove that with just local rules and communication through the environment difficult tasks as coordinate movement, cooperative transportation and obstacle avoidance can be performed with good results. Due to the success of the project its continuation called Swarmanoid is going to start at the end of 2006. Its objective is to design and build heterogeneous autonomous robots acting and interacting in the 3D space. Flying Eye-bots, climbing and grasping Hand-bots, and walking and transporting Foot-bots will be the robotic units of the swarm. Each unit will be designed to be autonomous and to have self-reconfiguration capabilities, as well as to be able to cooperate and self-assemble with the other units to perform collective task solution.

1.5.4

Distributed Localization and Mapping

Researches from Icosystem Corporation have developed some techniques in order to make a swarm of robots explore a certain area at the same time that robots localize themselves and create a map [25]. The practical application of it can be the search of survivors or any other thing in a building, creating a map for later go to get it. The solution was implemented both in the Player/Stage simulator [14] and in the Swarmbot robots from iRobot. Swarmbots are small robots of 15x15 cm that can move up to 40 cm/s. A picture of the robot can be seen in Figure 1.6. Each robot posses an infrared system for detection of obstacles and communication with other robots, composed of four transceivers situated at each corner of the robot. The system allows the robot not only to communicate but also to know the orientation and approximate distance to other robots. According to [18] the system has a resolution of 1 cm and 2◦ at 30 cm and a maximum range of 250 13

CHAPTER 1. SWARM ROBOTICS cm. The communication system has a transmit cycle of 4 Hz, sending each time few bytes including the unique ID of the robot. Infrared transceivers are also used to detect obstacles when receiving the message the have sent.

Figure 1.6: The Swarmbot from iRobot. The robots are also equipped with radio communications, a set of colored LEDs, and an ARM CPU with limited memory. One of the main problems seen in order to create a map and localize the robots is that the accuracy of the localization of obstacles is very poor, as well as of nearby robots. The other is that due to the small memory it is difficult to store a map of the environment. The techniques developed try to overcome with these problems. In order to localize the robot and create a map the problem was divided in three subproblems: collaborative localization, in which each robot take one of two roles; dynamic task allocation, in order to decide locally and dynamically which role each robot must take; and mapping. They three are explained in the following paragraphs. Collaborative Localization Algorithm In this problem there are two types of robots: those that act as landmarks and in principle are static, and those that move exploring the environment and localizing themselves by getting information from the landmark robots. Landmarks know their global positions and heading and broadcast it using the infrared system. Moving robots can receive this information in order to update their positions, using also information from odometry. Confidence values are given to the readings got from the landmarks, to the odometry and to the current estimated position. Confidence of the odometry decreases with the traveled distance, and gets really low if the robot bumps. Landmark confidence depends on the distance to it: if it is under 100 cm is 14

Section 1.5 uniform, decreasing linearly to 150 cm. Information from different landmarks is weighted taking into account the confidence in order to guess the real position. The problem of using static landmarks is that when robots get far from the landmarks the confidence decreases, it even might happen that robots are not able to see the landmarks, so cannot go farther. A possible solution is to make landmarks mobile, but odometry errors will make this solution not acceptable, because the confidence on the position of the landmarks will be very low. The proposed solution by Icosystem is to make the roles of explorer robot and landmark robot interchangeable, then once explorer robots are far from the landmarks they become landmarks, and the landmarks become explorers. In this way the whole group can continue the exploration at the same time that maintains the global localization. The mechanism that rules the role of each robot is explained in next section. Dynamic Task Allocation The algorithm that decides the role that each robot takes must be decentralized and based in local information in order to be scalable and be able to apply it to large swarms of robots. The task allocation has two parts: first, if an explorer is allowed to stop, or a landmark to start moving; and second a variable that represents the desire of movement of the robots. The first one represents a restriction on the change of role, while the second is more a competition between the robots. A landmark is allowed to move and become an explorer if it can see a required number of landmarks, the distance to these landmarks is appropriate, and the localization information got from them is good enough. If there are nearby explorer robots that depend on its information it will not be allowed to move. On the other hand an explorer will be able to stop and become a landmark if it is enough well localized and if it is not too close to another landmark. The desire to move is based on local data, and is suppressed or enhanced by nearby robots, competing between them. They implicitly take into account the direction of movement of the group, having more desire to move those in the back of the swarm. The rules are the following: • A landmark inhibits the desire to move of neighboring landmarks. • A landmark excites nearby explorers because it does not want them to stop and be landmarks, preventing landmarks to stay to close. • A landmark inhibits distant explorers to keep moving because it does not want them to split the swarm. • An explorer inhibits the movement of close landmarks. • An explorer excites landmarks far away so they can join the swarm. • Two explorers near excite each other so they can move farther and not be too close. According to the authors, results showed that the algorithm works well, with an appropriate change of roles, and a smooth movement of the swarm. 15

CHAPTER 1. SWARM ROBOTICS Collaborative Mapping

The information got from the sensors about the distance to obstacles is very poor and cannot be used to build the map, so free space between robots is used to build it. Each time-step each explorer see if its estimated position is correct based on the confidence value. If it is, it stores its position and those of the landmarks with enough good confidence. The map is then a collection of points, and the lines that connects these points are sure free of obstacles. In addition landmarks can do the same but using information of the positions of explorer robots. In this way every robot build its own map but with common coordinates. This maps could be merged to build a better one, but in my opinion since this will require from a common channel of communication will not be scalable. Another problem seen comes from the fact that since the map is composed of points, they must be processed somehow to be useful, and probably is not possible with the hardware used. In Figure 1.7 the robots in action, their estimated positions, and the map of created by one of the robots and the shared common map can be seen.

(a) Real positions of the robots.

(b) Estimated localization of the different robots.

(c) Map created by one of the robots.

(d) General map as using information of all the swarm.

Figure 1.7: Mapping experiment.

16

Section 1.5 Results This techniques as it has been explained allow a swarm of robots to create a map in an intelligent way making use of the collaboration between the robots. The only problem found is that is not clear how this map will be used by the swarm to reach unexplored areas in a more efficient way.

1.5.5

Dispersion of Swarm of Robots

In a lot of swarm applications it can be necessary the dispersion of robots within the environment. The problem explained here and developed by McLurkin [18] is how to disperse a swarm of robots in an unknown enclosed space. The objective is to explore and cover all the space without breaking the swarm and losing the connectivity among the members. The swarm forms a network, and it is supposed to start from home where the chargers are placed and in every moment maintain the connection to these chargers in order to be able to go back home. The platform used is the Swarmbot from iRobot, described in Section 1.5.4. The principal characteristic that it has, used in this application, is an infrared communication system that allows to know the direction and approximately distance where the messages came from. It can be used also to detect obstacles. The swarm is able to create a gradient based in message relaying using a hop-count field in each message, in the same way as is done in [22] described in Section 1.5.2. Different gradients can be created with different origins, allowing robots to navigate through the swarm reaching their objectives. In order to spread the robots in the enclosed area an algorithm divided into two sub-algorithms is used. The first one called DisperseUniformly disperses the robots using boundary conditions to limit the spreading. Second called FrontierGuidedDspersion makes the robots go towards new unexplored areas. Both of them are explained in the next sections. DisperseUniformly Algorithm The algorithm is quite simple. It makes robots to spread using walls and a maximum distance between robots as a limit. The algorithm takes the vectors of the distance to the nearby robots and sum them. The robot moves in the opposite direction of the resulting vector, with a velocity proportional to its magnitude. If the nearby robots are farther than a certain distance then the robot stays in the place. The number of considered neighboring robots was set experimentally to 2 because it had better results. FrontierGuidedDispersion Algorithm As it has been said this algorithm tries to move the swarm towards unexplored area, without disconnecting the swarm net. It is also an objective to determine when all the areas have been explored, this is possible since one of the requirements is that the area delimited by a wall. 17

CHAPTER 1. SWARM ROBOTICS The first part of the algorithm decides the position that the robot occupies in the swarm, this is, wall, interior or frontier. A robot is wall if it detects an obstacle with the infrared system, it is frontier if it has no neighbors or walls within a large angle, and interior the rest. Special attention is taken with thin corridors, because a robot in a front of a corridor must be considered frontier. Once the roles or position of the robot are decided, frontier robots send a gradient message indicating that are in the border, and a gradient tree if formed. This tree has as main branch the robot in the frontier that originated it, and the leaves are those that have no children because their neighbors are closer to a frontier. The first possible solution would be make all the robots go towards the frontier using the gradient, but this would create empty areas and at the other side a frontier would appear. In this way oscillations would be created easily. In order to solve it, just robots that are at less than a certain distance of two of their children of the tree are allowed to move. In this way the network is not broken and no oscillations occur, leaves of the tree remain static actuating as anchors of the swarm.

Results Both sub-algorithms can work separately, but it has really no sense. The general algorithm that combines them works in the following way. Each robot determines if it is a frontier robot and in that case creates a frontier gradient. Then every robot see if there is one or more frontier gradient present, and in that case run the FrontierGuidedDispersion algorithm. Otherwise DisperseUniformly algorithm is run. A picture of the swarm dispersed in a test area can be seen in Figure 1.8.

(a) Initial position of the robots.

(b) The final dispersed swarm.

Figure 1.8: Application of the dispersion algorithm. To see if the termination condition takes place and there exist no frontier because all the area is covered, robots measure the time without detecting a new frontier gradient. If that time is over a threshold, FrontierGuidedDispersion algorithm is canceled, and just DisperseUniformly works. The algorithm was tested by its authors in different areas with good results, and were compared to other algorithms as: ideal gas motion, avoid closest 18

Section 1.5 neighbor, with better results in the time taken to explore and cover the area in almost every case. Some of the tests were carried with up to 108 robots. The algorithm works using swarm principles of locality, homogeneity of the members, and scalability.

19

20

Chapter 2

Formations of Robots The Formation Control or Robot Formations problem consists in how to coordinate a group of robots making them to maintain a determined position while moving in the environment. Sometimes just the relative positions between the robots are determined, in other occasions also a desired outline must be fulfilled. This chapter introduces this problem and describes some of the current proposed solutions. A different but related problem to formation is flocking of robots. Flocking is the problem of creating and moving a group of robots when the shape and relative positions between the robots are not important. The historical initial work on flocking was developed by Reynolds [24]. He created flocks of virtual birds for computer graphic animation, just using three control rules. This flock was able to move together and to avoid obstacles. The three control rules are the following: 1. Collision Avoidance, avoid collisions with nearby flock mates; 2. Velocity Matching, attempt to match velocity with nearby flock mates; 3. Flock Centering, attempt to stay close to nearby flock mates. The emergent behavior of this flocking is inspired in these kind of animal behaviors, but not are the rules. The flocking of birds, schooling of fishes, herds of land animals, or chains of ants show how groups of animals move in a coherent way by just individual decisions. Flocking of robots is really interesting because allows big groups of robots to move using decentralized control and local sensing. But formations have many advantages over flocking because the internal positions of the robots can be decided and in some architectures also the external shape. Some of the desirable characteristics taken from [16] that formations architectures should have are: • Ability to support many formation shapes, 21

CHAPTER 2. FORMATIONS OF ROBOTS • Robustness to group size changes, • Formation scalability even in case of obstacle, • Local rules and decisions based on local information, • Robots with no predefined positions in the formation. Most of the multi-robot applications can improve their performance by organizing them in formation. The applications that can take advantage are most of them described in Section 1.4. Some of the applications are enumerated: • Search and rescue operations, which performance can be improved if robots organize in formations; • Control of arrays of satellites and unmanned aerial vehicles; • Distributed sensor arrays, in which is very important to set the appropriate distances among them in order to have a better received signal; • Future applications of autonomous highway vehicles, allowing cars to move in a coordinated way; • Collective movement of objects; • Environmental monitoring; • Collective mapping. The formations explained and compared in the following sections can be divided basically into two types. Those chain based in which each robot must follow a determined neighbor at a certain distance and angle, in which the internal structure and the external shape can not be differentiated. The created formations are diamond, wedge, columns, etc. The other type is based in the creation of lattices, this is, the robots form a regular pattern formed of squares, rectangles or triangles. Lattices formed by triangles are also called hexagonal, because six triangles form an hexagon. Usually these formations are created using potential fields between nearby robots. All the formations studied have distributed control, because the interest is to use the benefits and inspiration of swarm robotics. Centralized controllers do not ensure scalability. All the problems studied are 2D, no 3D problem has been considered. All the architectures described except the one of Section 2.2 just take into account the internal structure but not the external shape.

2.1

Physicomimetic Formations

Physicomimetics, Artificial Physics(AP) or also called Physics-Based Formation Control [28, 29] constitutes a way to control a swarm of mobile robots or mobile agents in a distributed fashion inspired by natural physics laws. Each robot perceives the relative positions of its neighbors and reacts to virtual forces given 22

Section 2.1 by these positions. By means of these physical laws, triangular and square lattices can emerge. This framework has been studied from the literature but also simulated for a better understanding and comparison. Control rules are local providing one of the restrictions of swarm robotics in order to make the system scalable. Basically virtual forces are applied to each robot driving the system to the desired configuration, that is the one that minimizes the total system potential energy. Agents/robots are treated as physical particles responding to the dynamics F~ = m~a. Each one of them is defined by a position ~x, a velocity ~v and a mass m. Time is divided into time steps of ∆t. At each time step every particle is driven by a perturbation ∆~x, given by the current velocity, ∆~x = ~v ∆t. Velocity is also modified at each time step taking into account the force F that acts on every particle, ∆~v = F ∆t/m. Force F , that will be explained later, depends on the distance to the nearby robots. This force has also a frictional component for self stabilization, given by the product of a viscosity coefficient and ~v . It is important that the AP framework can be,in theory, easily translated from agent simulation to physical robots. Time-step (∆t) models the time robots take to read their sensors. A maximum force parameter Fmax limits the maximum acceleration that each robot can have. In the same way a maximum velocity parameter vmax limits the velocity of the robots. The framework does not consider collisions between robots and with obstacles, the reason given by its authors is to keep the system as simple and platform independent as possible. As a consequence of it more than one agent can be at the same place in the same position. In order to implement the algorithms in real robots some low level behaviors must be added to avoid collisions, for example by adding strong repulsive forces. This is one of the lacks of this framework, since all the conclusions got from it do not take this into account. Another drawback is that the dynamics and kinematics of real robots are not taken into account. Particles move in a pure holonomic way as individual points, being able to change the direction of movement in any moment. Once again implementing it on real robots with, for example, differential drive needs of lower level control algorithms that would probably make more difficult the convergence and robustness of the system.

2.1.1

Triangular Lattices

The performance of triangular lattices, also called hexagonal lattices, can be a priori thought as a really difficult task, but as it will be seen it just need of very basic information and simple force laws. Only distance and bearing to particle neighbors is required. Triangular lattice emerges just making every robot to be at a desired distance R of its closest neighbors. It can be understood easily by overlapping circles of radius R as seen in Figure 2.1. In order to make the particles to stay at a distance R between them an attractive force is applied when their distance is more than R, and a repulsive force when distance is less than R. A potential well appears around each of these robots, creating nodes of low energy. It is important to remark that these potential field is never calculated, robots just react to force vectors. 23

CHAPTER 2. FORMATIONS OF ROBOTS

Figure 2.1: The intersection of the seven circles form an hexagon. m m

Force is given by F = G ri p j with F R is created the particle is pushed out with no predefined the direction that will take into account the global shape, so most of the times finishes in the same position, not reaching its desired one. Triangles of less particles converge faster, doing it well those of 6 and 10 and many times for 15. For triangles of 21 particles the convergence is really bad, contrasting with results given by literature. In addition, in one of the experiments a diamond shape formation was reached when trying to create a 15 particles triangle as it can be seen in Figure 2.9(f). The important thing is that this formation was stable, so there was no possibility of getting after a triangle with more iterations. Formations of hexagonal and ladder shapes were created, but with less velocity of convergence than for triangles as is said in literature, specially for the case of hexagons. For some of the tests after thousands of iterations the desired shape was not built. In one of the tests the number of particles was introduced wrong and instead of 21 particles for a triangle, 20 was chosen. The surprising thing was that no triangle was formed but an hexagon as is shown in Figure 2.9(e). This shows 33

CHAPTER 2. FORMATIONS OF ROBOTS

(a) Triangle.

(b) Hexagon.

(c) Ladder.

(d) Small Triangle.

(e) Wrong Hexagon.

(f) Wrong Diamond.

Figure 2.9: Different formation shapes generated.

the dependence on the number of particles that is an advantage. Finally one of the problems found is the high dependence on the time-step ∆t of the simulation, since the probability P of creating the new special spring is set per simulation step, not per time unit. If time-step is set high (∆t = 0.150s) the algorithm does not converge and oscillates. If is set too low, below 0.010s then virtually springs practically do not have time to do anything once created 34

Section 2.3 and a normal one is again created, so the desired formation is not built at all. These problems could probably be canceled with a better implementation that would take into account probability per time, not per time step.

2.2.5

Conclusions

The quality of the internal formation is really good, but the disadvantage is that too much information that is difficult to know is required: • Own particle/robot acceleration, • Relative velocity to neighbor particle/robots, • Relative positions to particle/robot neighbors • Distance to a common point known by all the swarm. Getting all this information by real robots just by sensing is really difficult, specially that related with velocities, so communication among nearby robots should be shared have this information and solve these problems. The external shape for the three types of outlines tested is quite good for the examples in which it converges, but it does not do always. This suggests that some kind of global information should be shared among the particles/robots, but it is opposed to the scalability reached just by using local interactions. Another possibility that could be tested is take advantage of a global orientation given for example by a compass in order to have a faster convergence by making the robots to go around the formation to find the hole in which they must fit. Some of the main problems found when simulating are the following: • Particles are treated as holonomic, so a future implementation in real robots should deal with lower control to move in an appropriate way the robots. • Difficult to set the values of the parameters. They have been set experimentally and are really sensitive to changes. • Number of particles must be the one that completes the figure for the cases of triangle and hexagon. For example for a triangle of 15 particles it will not work if the number of particles is 14 or 16. The architecture works fine, but does not always converge. Upper rules using some shared information could be used to improve the performance.

2.3

Lattice Formation with Orthogonal Decomposition of Controllers

The framework[17] explained in the following paragraphs takes advantage of using a common reference orientation for the robots by using local control laws 35

CHAPTER 2. FORMATIONS OF ROBOTS that act in orthogonal axes in order to create square lattices. Local minimum usually appears when two behaviors have opposing goals. If behaviors work in orthogonal directions there will not be interaction between each other, so in theory this orthogonal task division will minimize local minimum. This framework has not been tested by me on SwarmSim due to the lack of details that will allow to reproduce the experiments. The first controller will operate creating equally spaced lines in one desired direction of robots/particles. Second controller makes the space between the robots of each line equal, actuating orthogonally respect to the first controller. This second controller is the same one as the first line maker controller. A third behavior for obstacle avoidance is also used. Two algorithms are proposed in the literature, second one represents an evolution of the first one. Both of them as well as their characteristics will be explained in the following subsections.

2.3.1

Line Force Method

In this method each robot sets an array of equally distant parallel lines with a common orientation. Each robot suppose that it is placed on top of one of these lines, and has as an objective place the other robots on the nearest line of this set of lines. Figure 2.10 shows robots and imaginary lines relative to the blue robot. In fact what each robot does is moving itself, so those imaginary lines are moved. Since all the robots do the same finally equally spaced lines emerge. In order to move, each robot senses the position of its neighbors generating a force vector for each one of them. These vectors are computed as follows: • The closest line to each neighboring robot is assigned to it. • If the neighbor is nearer to the robot than the assigned line then a repulsive force is generated. Otherwise a attractive vector is generated.

Figure 2.10: Robot blue applying Line Force algorithm and its imaginary lines. 36

Section 2.3 All these forces are added resulting on a final vector, which orthogonal component to the lines is taken to move the robot. The behavior produces local minimum when more than one robot are trying to stay in the same position in one of the lines. This can be solved increasing the force of the avoid obstacle behavior. By applying the algorithm in one direction lines are generated, but robots in each line are not equally spaced as it can be seen on Figure 2.11(a). If the algorithm is applied at the same time in the orthogonal direction, and the resulting orthogonal vectors are added the result is that lines are formed and robots on each line are equally spaced, so a square grid is formed, shown on Figure 2.11(b).

(a) Robots in each line not equally spaced.

(b) Square lattice formed by applying the algorithm in orthogonal directions

Figure 2.11: Particles with the Line Force algorithm applied.

2.3.2

Hypothesis Generation Method

Hypothesis Generation (HypGen) is a modification of Line Force in which instead of supposing that one of the lines passes over the target robot and the rest at the appropriate distances, an optimal set of lines is selected. Different sets of lines in which each one of the lines passes over each one of the robots are compared. The one with less distance error to the lines for all the robots is chosen. Once the optimal set of lines is calculated two forces for the target robot are calculated. First one that move the target robot to its closest line. The second force to adjust with the rest of the robots using the Line Force method. Both forces, orthogonal to the lines are added and applied to the robots. As the Line Force method it results in a set of equally distant lines of robots. Applying the algorithm twice in orthogonal directions results into a square lattice. A behavior to separate the robots in one of the directions is applied when robots are too close, as well as an obstacle avoidance behavior.

2.3.3

Results

All the results here refer only to those explained in the literature, since no simulations with SwarmSim have been done. Using a total of 100 different starting points with simulations over 5000 time steps, two parameters are measured: 37

CHAPTER 2. FORMATIONS OF ROBOTS Global formation error determined by comparison of the last step formation with a perfect grid using least mean squares. Energy consumption as the average of the distance that each robot move during the simulation. It is a good parameter since movement is proportional to energy consumption. The results are compared to the Artificial Physics method [28] as a reference, as well as with a basic spring model for lattice formation in which virtual springs are attached to the four nearby robots in the positions that would form the square lattice. It is important to see that these methods do not take into account the orientation of the lattice, so this parameter can not me compared at all. Local minimum was observed for all the behaviors compared. In the case of HypGen a special case of minimum appeared, when more than one robot of the same line is competing for the same place the entire line is moved (Figure 2.12. This error appeared in 24 of the 100 experiments performed. One solution proposed is to do a color differentiation similar to the one of AP of Section 2.1, that literature says that solves the problem for most of the cases.

Figure 2.12: Line moved result of competing particles. Algorithm based on Line Force method produced approximately the same global error than AP method and springs, but much less energy consumption with a traveled distance 104 times less. Adding a small noise vector to the Line Force method improves the formation error a little. Algorithm based on HypGen have even better results on global error with approximately the double accuracy than Line Force based method. On the other hand the traveled distance was 10 times the one by Line Force methods but still much smaller than the energy consumption by AP and spring based algorithms. In addition, the errors in the formation were of the type explained before in which one of the lines is shifted. When the color differentiation algorithm is introduced the average global error decreases, appearing the shifting error just in 1 of 100 tests.

2.3.4

Additional Improvements

Three improvements are commented in [17] compared to the basic algorithms: lattices with obstacles inside the structure, rectangular lattices and skewed lattices. In the first case the same algorithm works when just few obstacles are 38

Section 2.4 in the environment, with robots starting near to each other but because of obstacles they separate, so bigger sensor range must be taken into account. If the sensor range is not long enough disconnected sub-groups of robots might appear. Rectangular lattices are formed by introducing different separation between lines for the two orthogonal directions. If instead of using orthogonal directions for the two behaviors an angle different than 90◦ is taken for the relation between the forces, skewed formations emerge.

2.3.5

Conclusions

Since no simulations have been done with SwarmSim, all the conclusions and comparisons are based on what literature says, and practical problems that arise when tuning the algorithms can not be detected. First of all lets summarize the requirements that the robots must fulfill: • Each robot must be able to detect the distance and direction of its neighboring robots. • Robots must be able to detect their global orientation. In the case of physical real robots by a magnetic compass for example. • No communication is needed. The framework allows to create square lattices of robots in a scalable way, and according to the authors with better results than Artificial Physics framework in terms of distance traveled and quality of the formation, thanks to the orthogonal competence of the sub-behaviors. On the other hand no results with real robots are exposed and everything is about simulation. In addition the framework consider, as in previous architectures, that robots are holonomic, so a lower controller should be implemented to control non pure holonomic robots. In the other architectures simulated with SwarmSim it was seen that the performance was really sensitive to the values of the different control algorithms, and these were really difficult to tune. Since no simulations have been reproduced and no comments are given about that nothing can be said about it.

2.4

Chain Based Formations with Local Sensing and Global Communication

The objective of this formation framework [11, 12] is to make a group of robots create desired geometric shape, maintain it and even change to a different one. The basic idea of the algorithm is that each robot must keep a friend at a desired angle. It is pretended to be general enough and work with a wide range of different formations. This framework has not been simulated by me, so all the comments are referred to the information given by the authors of the algorithm. In the formations there is a robot that has a special role called the conductor that decides the heading of the formation. Any robot can be the conductor, the 39

CHAPTER 2. FORMATIONS OF ROBOTS roles of the robots can change over the time. Every robot has a unique ID that broadcasts via radio with a given frequency indicating that it is alive. The conductor also broadcasts the current type of formation. Every robot except the conductor follows a reference robot called friend, staying at a given distance and angle. Bearing is maintained by panning a camera at the desired angle and keeping the robot centered in the image. Each robot can have one follower except the conductor that can have two. The formation is made of a chain in which the conductor can be in the middle or in one of the ends. The ordering that robots take in the formation is based in their IDs. Any formation made as a chain in which the friend of each robot is in the range ±90◦ , this is in which robots do not have to look behind them, works with this algorithm. In Figure 2.13 a schematic of the chain formation for both a centered and an end conductor con be seen.

Figure 2.13: Schematic of the chain formation. There is no shared information about the heading of the conductor or the position of the robots. When the conductor starts moving each one of the robots follows its friend. By transitivity robots make the desired formation. Every robot can be the conductor so if the current one fails another one take its role. Switching between formations can be really easy and smooth, robots just have to change gradually their relative angle to their friend by panning the camera. The algorithm is implemented in each robot as a behavior-based controller, consisting of a general shared information module holding the state and three main behaviors: • State Module holds the information needed by the behaviors: own ID, total number of robots in the formation N , table of IDs, number of robots with ID lower than the own ID lessT hanM e, formation f , and camangle. • ChannelNListener Behavior that receives messages from other robots maintaining N , table of IDs, and lessT hanM e. If N or lessT hanM e are modified the conductor can change, being the own robot the conductor if lessT hanM e = N/2 for formations with centered conductor. 40

Section 2.4 • ChannelCListener Behavior receives messages from the conductor updating the formation type f . If f is changed camangle must be also modified. • Main Behavior that read the sensors, sends an alive packet and sets the translational and rotational speeds of the robot. These speeds are set using two sub-behaviors. In the first one if the robot is the conductor it pans the camera to the front and moves straight. If it is not the conductor it looks for its friend, trying to get the appropriate distance and center it in the image, using a proportional controller of rotational and translational speed of the centering and distance error. The second sub-behavior is in charge of obstacle avoidance modifying the velocities if necessary in order to circumnavigate obstacles.

2.4.1

Experiments on Simulator

The authors of the framework [11] have performed different experiments using Player/Stage [14] simulator for formations in line, column, circle, diamond and wedge. The correctness of the formation is evaluated at every time step according to a definition, being just well formed or not. For each type of formation 10 tests were done, averaging the results. Stability was evaluated as the percentage of time that the robots were in formation after they reached the formation. The distance traveled until that moment is F ReachedM ovement. Tables of the results are copied directly from [11], where Table 2.2 shows the results for formations of 4 robots and Table 2.3 for 6 robots. The robots had to travel a total distance of 19 meters. N =4 19.0 meters line column diamond wedge

F ReachedM ovement, meters 0.7 3.0 2.6 1.8

% time in formation afterF ReachedM ovement (std dev) 88.4 (4.9) 100.0 (0.0) 100.0 (0.0) 92.0 (12.7)

Table 2.2: Stability averaged over 10 experiments for formations of 4 robots N =6 19.0 meters line column circle

F ReachedM ovement, meters 3.1 5.8 3.2

% time in formation after F ReachedM ovement (std dev) 84.3 (10.5) 100.0 (0.0) 100.0 (0.0)

Table 2.3: Stability averaged over 10 experiments for formations of 6 robots As it can be seen on the tables the algorithm works worse when robots have to look at their sides, with an angle of 90◦ to their friend robot. Another conclusion that can be get from the table is that the time that takes to build the formation increases with its size, but the stability seems to be independent. 41

CHAPTER 2. FORMATIONS OF ROBOTS Switching between different types of formation was also tested in these experiments, with changes from diamond to wedge, line to diamond and line to column. All of them were performed ten times, with success in all of them except one of the tests of line to diamond. Results taken from [11] are summarized in Table 2.4, where F ReachedM ovement(1) indicates the meters that robots do to reach the first formation and F ReachedM ovement(2) to reach the second one. In the switching from line to column the conductor changes from the center one to one of the sizes successfully. In 29 of the 30 experiments robots were able to do the transition in a reasonable amount of traveled distance. N =4 diamond to wedge line to diamond line to column

F ReachedM ovement(1) (std dev) 3.6 (0.144) 1.1 (1.373) 4.0 (1.747)

F ReachedM ovement(2) (std dev) 8.3 (0.089) 9.7 (0.193) 9.2 (0.372)

Table 2.4: Stability averaged over 10 experiments for transitions in the formations of 4 robots

2.4.2

Physical Robot Experiments

The authors of the framework have performed experiments with real robots. The platform used was four Pioneer2 DX from Active media, equipped with sonars, laser and camera. The four basic formations (line, column, wedge and diamond) were tested. Robots moved in a small space of 3x5 meter so the velocity was reduced to 20 mm/sec in order to reach the formation within a so small space. The results agreed with the experiments of the simulator. Formations in which angles to the friends were different of 90◦ were really stable. Switching of formations with centered conductor were very smooth. Switching form column to line was a success, including the necessary change of conductor.

2.4.3

Conclusions

The framework allows to create any type of formation in which robots can be associated as in a chain. No global knowledge of the whole formation is needed, and behaviors are really simple, each robot just has to track its friend. According to the authors the framework works pretty well for most of the cases, both on real robots and experiments, except when the angle to the friend is near to 90◦ . The main problem of the framework is that even rules are local it is not scalable. The first reason is that robots have a predefined position in the formation according to their ID. If there are few robots the formation will be created easily, but if the number increases it can be really difficult for them to find their friend. Probably it could be solved with a more dynamic role assignment as the one explained in Section 2.5. Second reason against scalability is that the communication is not local, is global. Robots broadcast their ID to all the robots. If the number of robots increase this can be a big problem. In addition robots must identify the nearby robots they are seeing with their IDs, in order to know 42

Section 2.5 if any one is the friend. According to the literature this was done with a color code and the use of the camera, but if number of robots increase this solution is not valid. A possible solution is to use an IR local communication system like the ones described in [18, 23, 22] that indicate the ID and the angle where the message comes, so it can be assigned to the corresponding nearby robot. In addition the mechanism for finding the friend robot can be very difficult if the number of robots grows. A third problem on the scalability is given by the topology of the formation, because if the formation is very big the error will propagate from the conductor to the last follower increasing in each step. Conceptually the formations are not very robust since each robot is just attached to its friend. If for any reason this link is broken and they are not able to recover, the formation will be split into two sub-formations. This is just an hypothesis since the algorithm has not be ported to SwarmSim and tested.

2.5

Chain Based Formations with Local Sensing and Communication

This algorithm [16] is similar to the one of Section 2.4 where formations based on a chain architecture are created. As well as in that case there is a conductor robot that leads the formation and every other robot has a friend that must follow with a desired angle and distance. Here the main difference is that communication is local instead of global and the position that each robot occupies in the formation is not predefined but assigned dynamically. This will avoid some of the scalability problems that the other algorithm has. One of the possible problems of using local information is that instead of appearing one formation with all the robots, more than one can be formed as a subset of the total group of robots. This algorithm has not been simulated by me so all the comments are based on the information given by the authors. As it has been said instead of having predefined positions in the formations, robots decide them on real time. In order to do decide their positions in the formation social roles are assigned to each robot: conductor, that leads the formation; right wing, every robot on the right of the conductor takes this role; and left wing, robots on the left of the conductor assume this role. There is an additional parameter called reverse used in closed formations as diamond. If this parameter is active robots left wing behave as if they were right wing, and right wing as left wing. An example illustrating the roles and the reverse property can be seen in Figure 2.14. The social rules are assigned to each robot based on local communication, and the formation must update the internal model of the formation. This is done as follows. A robot looks for the closest robot and decides that that one is its friend. Once is at a close distance the robot sends to its supposed friend a message asking it to be its friend. The supposed current friend replies to that request. If the friend robot is not yet part of any formation it assumes to be the leader, answering the other robot with the formation type and role it must take. On the other hand if the friend robot is already part of the formation it answers telling it which is the robot it must follow, this is its real friend, and 43

CHAPTER 2. FORMATIONS OF ROBOTS

Figure 2.14: Diamond formation and respective roles and properties. which is the formation and role assigned. The robot looks for its real friend establishing its role and joining the formation. When a robot becomes a member the formation the joining message is propagated to the conductor, so every robot knows the number of followers and the conductor has a representation of the whole formation. Then the conductor can decide to redo the formation in order to balance a formation, for example when right wing is longer than left one.

2.5.1

Implementation

The framework was simulated by its authors with robots of the following virtual characteristics. Each robot has a unique ID that can be sensed by the neighboring robots. They have a set of sonars allowing to detect the distance to other robot as well as the direction of movement using the last to positions. They are provided with a communication module. The control architecture is behavior-based composed of the three following layers: • Social layer that is in charge of the communications and determines the social role of new robots of the formation as was explained before. • Logical layer that has two tasks. When robot does not belong to any formation, must look for a robot, approach it to request being part of the formation. When it has a friend to follow assigned, must keep it at the desired distance and angle. • Reactive layer that is responsible of obstacle avoidance.

2.5.2

Results on Simulator

Authors performed more than 100 experiments for three types of formations: diamond, wedge and line. Each one of the formations was simulated more than 44

Section 2.6 30 times. Time to reach the formation as well as quality, as the percentage of time that the formation was correct once created, were measured. The formation is well formed when: there is just one conductor, each robot has a social role and it is located in the correct wing, and wings are balanced. Results averaged are summarized on Table 2.5 Robots 3 5 7 Quality

Diamond 76 132 217 90%

Time in simulation steps Wedge 74 128 193 100%

Line 87 196 278 93.3%

Table 2.5: Experiment results for the different formations and number of robots It can be seen that the time of formation increases with the number of robots, what is logical. In addition the time of constructing the line formation is bigger, according to the authors is due to oscillations in the control algorithm.

2.5.3

Conclusions

As it was explained in the beginning the algorithm is an improvement of the one explained in Section 2.4. Now the global communication is eliminated as well as predefined positions in the formation. So the algorithm becomes scalable with the number of robots, with just using a way of identifying the ID of the nearby robot in an scalable way, for example as it was said before using infra-red communication. The other improvement respect to the previous algorithm is, thanks to the capability of the conductor of tracking the structure of the formation, to be able to optimize it and avoid unbalanced formations.

2.6

Formation Based in Social Potentials and Attachment Sites

This framework [2] allows the creation of different type of formations just by using local sensing without the need of any communication. The basis is that every robot has a certain point of virtual attachment sites where the rest of the robots are attracted. Depending on the positions where this virtual attachment sites are located different formations emerge. The framework has not been implemented by me due to the lack of details in how to implement the behaviors, so all the conclusions are got from the information given by the authors of the framework. The behaviors are implemented as motor schemas [1] where different behaviors have as output a vector indicating the desired direction. Then vectors are properly weighted and added resulting in the final direction the robot must take. Different behaviors were used in order to be able to create the formation: 45

CHAPTER 2. FORMATIONS OF ROBOTS MoveToGoal, AvoidObstacles, AvoidRobots, MoveToUnitCenter, and MantainFormation. This last one is the important one that explains the basis of the formation creation, and will be detailed in the following paragraphs. The attachment points of the robots are defined by three parameters: • N is the number of attachment points; • r is the distance from the attachment point to the center of the robot; • θ is the offset in degrees from the front part of the robot where the first attachment point is placed. Rest of the attachment point are equally spaced around the circumference, this is every 360◦ /N . In all the experiments done in the simulator r = 1.5 meters. The different type of attachments can be seen in Figure 2.15 with their related parameters resulting in the following formations: column (Figure 2.15(a)) with N = 2, θ = 0◦ ; line (Figure 2.15(b)) with N = 2, θ = 90◦ ; square (Figure 2.15(c)) with N = 4, θ = 0◦ ; and rotated-square (Figure 2.15(d)) with N = 4, θ = 45◦ .

(a) Column. N = 2, θ = 0◦

(c) Square. N = 4, θ = 0◦

(b) Line. N = 2, θ = 90◦ ;

(d) Rotated-square. N = 4, θ = 45◦ .

Figure 2.15: Formations generated depending on the attachment points The first thing that MaintainFormation does is to create a list of the neighboring robots and their attachment sites. It chooses the nearest attachment site and generates an attractive vector with the direction center to the robotnearest attachment of the neighboring robots, that is the result of the behavior. 46

Section 2.6 The magnitude of the vector depends on the distance to the attachment point according to the following equation:

Vlength =

  1

distance−D C−D



0

for distance > C for D < distance

Suggest Documents