The key ideas of the book go around multi-robot systems and multi-robot perception. The use of vision systems onboard the robots and the consensus when using these sensors is a challenging problem of recognized interest.
1.1.1 Multi-robot Systems
The idea of autonomous robots helping humans in the execution of different tasks is nowadays a reality. During the last decade, there has been an enormous advance in technology that has made it possible for individual robots to perform hard tasks with high precision [123]. From simple repetitive tasks like cleaning a house to more sophisticated operations such as mine clearance, or cleanup and recovery of oil spills, robots have become an important element in our lives, Fig.. However, as happens with humans, cooperative work seems more attractive and produces better results than individual work.
Fig. 1.1
Robots have become an important element in our lives. A vacuum robot cleaning a house ( left ) and a robot handling an explosive ( right ). Right figure reproduced with permission of the authors [103]
Fig. 1.2
Brigade of firefighters acting cooperatively. Figure reproduced with permission of the authors [103]
Let us consider for example a brigade of firefighters entering a house on fire, Fig.. It is obvious that a team of firefighters will perform all the tasks faster and better than a single firefighter. In order to success, the team requires a common knowledge about the house, for example, the state of the fire in the different rooms, where possible survivors are located, or where the exits of the building are.
If instead of a firefighters brigade the team is integrated by robots (Fig. ) introduces new challenges that designers of these systems must face.
One way to deal with multiple robots is by using a central computer that receives and processes all the information about all the robots. Centralized approaches use a specific computer, usually called server, which optimally takes the decisions and coordinates the team. These approaches are easier to design and to implement, however, they are hardly scalable and become unsuitable when the number of robots is large enough. Moreover, if the server has a failure, the task will not be accomplished, which gives the system less reliability.
Distributed approaches [68], on the other hand, are harder to design but in general perform better. These solutions assume that each robot has its own computer onboard and sends the information about the scene to a subset of the robots, its neighbors. In this way, the team of robots is able to handle changes in the communication network, usually caused by changes in their positions or failures in their systems. As a consequence, the system is more reliable and independent of individual members, Fig..
Fig. 1.4
Centralized ( left ) versus distributed ( right ) solution. In a centralized setup, one robot gathers information about the whole network and makes the decision. In a distributed scenario all the robots play the same role and exchange messages with all their neighbors. As a consequence, the system is more reliable and independent of individual members
Researchers of multi-robot systems have turned to nature on many occasions to find ideas to solve different coordination problems in a distributed way. This occurs because nature contains perfect examples of distributed cooperation that could be replicated by a team of robots. Each animal can be seen as an autonomous element interacting with the environment. But at the same time, there is cooperation and interaction with other animals of the same species. In some cases each member of the team is assigned a different role, like ant colonies and swarms of bees, where explorers look for food, builders construct new passages in the colony, and the queen is in charge of breeding new offspring.
Other species do not distinguish between different members, every individual behaves equally with the others, following a set of simple rules that lead to emergent behaviors. This is the case, for example, of a fish shoal or a flock of birds moving in formation. There is no leader conducting everybody, each animal individually makes decisions about the direction to move by just looking at near mates. However, the whole group of animals ends up moving in the same direction, forming a specific pattern, Fig..
Fig. 1.5
A fish shoal ( left ) and a flock of birds ( right ) moving in formation. Each individual moves only considering the motion of those animals close to it. However, the full group of animals presents an emergent behavior, all moving in the same direction
This second scenario is very appealing in multi-robot systems [53], to begin with, because all the robots play the same role in the task. This simplifies the task of designing the system because the same algorithm is executed by all the robots without differences. Secondly, because the robots do not require to have full knowledge about the information perceived by all the robots, it is just enough to exchange information with the robots nearby. Finally, because a global behavior is still achieved even when everything is done locally, the system is able to reach some global behavior, e.g., all the robots move in the same direction.
1.1.2 Distributed Consensus and Vision Sensors
In this framework, one of the most important emergent behaviors that can be asked in a multi-robot system is the consensus between all the robots. The idea of reaching a consensus has great interest in many cooperative tasks. Generally speaking, we say that the team of robots has reached a consensus when all the robots agree about some data value which is of interest to the team. The essence of these data will depend on the specific application context. For example, the data can be the orientations or the positions of all the robots, and the consensus can be used to make the team of robots move in the same direction, attitude consensus [53, 92, 112], like in Fig. , or gather together at a specific point, rendezvous [27].