Go, Team! Group Robotics
What makes a group of robots a team? If you can control one robot, what’s different about getting a group of them to do something together? Why is it a hard thing to do well?
Controlling a group of robots is an interesting problem that presents a whole new set of challenges compared with controlling one robot. These include:
1. Inherently dynamic environment
2. Complex local and global interaction
3. Increased uncertainty
4. The need for coordination
5. The need for communication.
Having an environment full of robots creates a very fast-changing, dynamic world. As we already know, the more and the faster the environment changes around the robot, the harder control can be. Multiple robots inherently create a complex, dynamic environment because each moves around and affects the environment and other robots around it. All this naturally leads to increased complexity of the environment, and also more uncertainty for everyone involved. A single robot has to contend with uncertainty in its sensors, effectors, and any knowledge it has. A robot that is part of a group or team also has to deal with uncertainty about the other robot’s state (Who is that guy? Where is that guy?), actions (What is he doing?), intentions (What is he going to do?), communication (What did he say? Did he actually say that? Who said that?), and plans (What does he plan to do? Does he have a plan?
Will that interfere with my plan?). In a group situation, a robot has a whole new type of interaction to deal with, one that involves other robots. Just like people, groups of robots must coordinate their behavior effectively in order to get a job done as a team. There are different kinds of "jobs" that teams can do, and different kinds of COORDINATION teams. Coordination has to do with arranging things in some kind of order (ord and ordin mean “order” in Latin). Notice that the definition does not COOPERATION specify how that order is achieved. Cooperation, on the other hand, refers to joint action with a mutual benefit. As you will see, some robot teams are coordinated without really being cooperative, while others must cooperate in order to coordinate team performance. Quite a large area of active robotics research is concerned with the challenges of coordinating teams of robots. It is variously called group robotics, social robotics, team robotics, swarm robotics, and multi-robot systems. Let’s see what kinds of things it studies.
Benefits of Teamwork
To begin with, let’s consider why we would want to use more than one robot at a time. Here are some potential benefits of using multiple robots:
· It takes two (or more): Some tasks, by their very nature, simply cannot be done by a single robot. Perhaps the most popular example is pushing a box (as in figure), a prototypical task that has to do with transporting a large, heavy, awkward, or fragile object that cannot be effectively handled by a single robot. Cooperative transportation is useful in construction and habitat building, clearing barriers after a disaster, moving wounded people, and many other real-world applications that require teamwork.
· Better, faster, cheaper: Some tasks do not require multiple robots, but can be performed better by a team than by an individual robot. Foraging is the most popular example. Foraging is the process of finding and collecting objects (or information) from some specified area. Foraging has been studied a great deal, because it is a prototype for a variety of real-world applications of group robotics, such as locating and disabling land mines, collectively distributing seeds or harvesting crops in agriculture, laying cables in construction, covering an area with sensors in surveillance, and so on.
Foraging can be performed by a single robot, but if the area to be foraged
A robot team collectively pushing a box; one robot (behind the box) is the watcher, which steers the team toward the goal, while the two others are the pushers. In this case, it takes three to tango, or at least to push this particular box
is large compared with the size of the robot, which is usually the case, the job can be performed faster by a robot team. However, determining the right number of robots for such a task is a tricky proposition, since too many will get in each other’s way, and too few will not be as efficient as a larger team might be. Determining the right team size is just one of the challenges of group robotics. We’ll talk about others later in this chapter.
Being everywhere at once: Some tasks require that a large area be monitored so that robots can respond to an emergency event if/wherever it ocSENSOR-ACTUATOR curs. Sensor networks are a popular example. Sensor-actuator networks are NETWORKS groups of mobile sensors in the environment that can communicate with each other, usually through wireless radio, and can move about. By having a large number of sensors in a building, an intruder or an emergency can be detected in any area, and nearby robots can be sent to fix the problem. Such networks are also used for habitat monitoring – for example, for tracking animals and fish in the wild in order to conserve their environment, for detecting and measuring oil spills in the ocean, and for tracking the growth of algae or some contaminant in the water supply. The more such robots there
Robot dogs playing soccer.
are, the larger the area that can be monitored.
Having nine lives: Having a team of robots can result in increased robustness in performing a task. Robustness in robotics refers to the ability to resist failure. In a team of robots, if one or a small number of robots fails, the others can make up for it, so that the overall team is more robust than any REDUNDANCY individual alone would be. This type of robustness results from redundancy, the repetition of capabilities on the team. Of course, not all teams are redundant: if every member on a team is different, and thereby none can make up for the failures of any others, then the team is not redundant, and is accordingly is not very robust, since the whole team depends on each and every member, and the failure of any one team member can break down the entire team. This type of team organization is usually avoided everywhere, from sports to armies.
Challenges of Teamwork
The above-listed advantages of robot teams have their price. Here are some disadvantages that create the challenges of multi-robot control:
· Get out of my way! Interference among robots on a team is the main challenge of group robotics. The more robots there are on a team, the more chance there is that they will interfere with each other. Since the laws of physics just won’t allow two or more robots to be in the same place at the same time, there is always the potential for physical interference on a team. Besides this basic type of interference which stems from the robot’s physical embodiment, there is also another kind: goal interference, which has to do with robots’ goals conflicting. One robot can undo the work of another, intentionally or otherwise, if their goals are conflicting. It turns out that understanding, predicting, and managing interference is one of the great challenges of working with more than one robot at a time.
· It’s my turn to talk! Many multi-robot tasks require the members of the team to communicate in some way. The most popular means of communication is through wireless radio. A whole field of engineering deals with communications and all the challenges that come with it. As in human communication, there are interference issues here as well. If the robots share a communication channel, they may need to take turns sending messages and receiving them, to avoid "talking over each other", which is the same as collisions in communication-space (rather than in physical space, as in physical interference). Simply put, the more robots there are, the more communication may be useful but also challenging.
· What’s going on? We have already seen that uncertainty is an inescapable part of a robot’s life. The more robots are involved in a task, the more uncertainty there can be. Similarly, the less each individual robot team member knows, the harder it is to get the whole team to agree, in case such agreement is needed (such as in moving to the next part of the task, or recognizing when the task is over; not all tasks require this, as you will see shortly). Some clever multi-robot controllers use multiple members of a robot team to reduce uncertainty, but this does not come for free: it requires clever algorithms and communication among robots.
· Two for the price of one? Even with discounts for bulk, more robots are always costlier than fewer, and more robots have more hardware failures and maintenance requirements to worry about as well. Cost is a practical issue that influences real-life decisions in robotics as it does everywhere else.
The challenges of group robotics are what makes programming a team of robots a new and different problem from programming one robot. Before we look into how to program them, let’s see what kinds of robot teams there are.