**Abstract**

Autonomous mobile robots have now emerged as a means of transportation in several applications, such as warehouse, factory, space, and deep-sea where direct human intervention is impossible or impractical. Since explicit communication provides a better and reliable way of multi-robot coordination compared to implicit communication, so it is preferred in critical missions, such as search and rescue, where efficient and continuous coordination between robots is required. Cooperative object transportation is needed when the object is either heavy or too large or needs extra care to handle (e.g., shifting a glass table) or has a complex shape, which makes it difficult for a single robot to transport. All group members need no participation in the physical act of transport; cooperation can still be achieved when some robots transport the object, and others are involved in, say, coordination and navigation along the desired trajectory and/or clear obstacles along the path. A distributed approach for autonomous cooperative transportation in a dynamic multi-robot environment is discussed.

**Keywords:** cooperative transportation, distributed algorithm, dynamic environment, multi-agent coordination and cooperation

### **1. Introduction**

Autonomous mobile robots are now used in several applications, such as warehouse, factory, space, and deep-sea, that may be inaccessible for humans. The main concern is to find an effective coordination mechanism among autonomous agents to perform tasks in order to achieve high quality overall performance. Although MAS research has received substantial attention, multi-robot coordination remains a challenging problem since the overall performance of the system is directly affected by the quality of coordination and control among the robots while executing cooperative tasks. Coordination in a multi-robot system can be achieved either by explicit or by implicit communication. Since explicit communication provides a better and reliable way of multi-robot coordination compared to implicit communication, so it is preferred in critical missions, such as search and rescue, where efficient and continuous coordination between robots is required.

A collaborative task cannot be executed by any single agent. It requires multiple agents at the task's location. Execution of such tasks is quite challenging in a dynamic environment, as the time and location of a task arrival, required skills, and the number of robots required for its execution may not be known a priori. This necessitates the design of a distributed algorithm for collaborative task execution

The problem of cooperative transportation, considered in this paper, involves team

determined by the state of the environment. So, at some point in time an object may be transported by two robots while at some other moment in time three or more robots are required. Few works related to coalition formation strategies are discussed below. Auction-based approaches for team formation (task allocation) are suggested in [3, 5]. A bidder agent has some resources (e.g., data center, CPU) [5], who may bid for multiple auctioneers concurrently. However, when we move to physical agents, a robot cannot be a member of multiple coalitions at any point of time simply because the tasks may be at different locations, and a robot cannot be at two different locations at the same time, even though a robot may have the capability to

In our work, a non-initiator robot (bidder) will not express its willingness to multiple initiators (auctioneers) concurrently; when more than one request message arrives, the robot stores the requests in its local queue. Having one or more resources specified in the auction is a sufficient condition for an agent to make a bid [5]. Having the required skills for a task is a necessary but not a sufficient condition for a robot to express its willingness to be part of a team, in our work. A robot's behavior, in our work, is determined by its current state, whereas in [3, 5] states

In [6], the authors describe a framework for dynamic heterogeneous team formation for robotic urban search and rescue. The task discovery is made by a member of a team and it is sent to the team coordinator for assignment. The team coordinator performs the task assignment ensuring the task will be carried out by a robot with the necessary capabilities. However, in a distributed system, no robot knows the states, locations, and skills of other robots. Thus, the robots should communicate among themselves to acquire relevant information for task execution without the intervention of any central authority. This necessitates the design of a distributed algorithm for task execution in such a dynamic environment.

In our approach, unlike [6], every robot has a similar level of priority, and each of them can perform the task management activities, i.e., searching, team/coalition formation by acquiring the information from the robots available in the environment at that moment in time. In this paper, the arrival time and location of a task are not known a priori; hence, task searching and coalition formation activities are

A formal framework of a dynamic environment and some related concepts are

Definition 3.1. (Dynamic environment) A global view (snapshot) of an environ-

, *<sup>f</sup>* , where <sup>R</sup>*<sup>t</sup>* is the set of robots present in the environment at time *<sup>t</sup>*, and <sup>T</sup> *<sup>t</sup>* is the set of tasks that arrive in the environment at time *<sup>t</sup>*, *<sup>f</sup>* : <sup>R</sup>*<sup>t</sup>* � <sup>↦</sup> *<sup>L</sup>*, is a function that gives the location of a robot at a discrete instant of time represented

A robot has a set of skills *ψ* (eg., gripper, camera), and at any instant of time it may be in any state from the set of states S ¼ f g *Idle*, *Ready*, *Promise*, *Busy* . A robot can enter the environment E at any time, but can leave only if its state is *Idle*. When

ment <sup>E</sup>, with a set of locations *<sup>L</sup>*, taken at time *<sup>t</sup>*, is given by a 3-tuple <sup>E</sup>*<sup>t</sup>* <sup>¼</sup>

formation of heterogeneous robots and gathering the robots to the location of the object to be transported. The number of robots required to transport the object is not known a priori and it is decided at runtime. For the same task, the team size is

*A Distributed Approach for Autonomous Cooperative Transportation*

*DOI: http://dx.doi.org/10.5772/intechopen.98270*

perform multiple tasks at a time.

need not be taken into consideration.

performed by a robot at runtime.

**3. Problem formalization**

by the set of natural numbers .

presented below.

R*t* , T *t*

**145**

**Figure 1.** *Snapshots of a dynamic environment.*

via runtime team/coalition formation. To form a team with a lack of global knowledge, the robots need to communicate with each other to acquire relevant information. Here, a distributed approach for collaborative task execution in a dynamic environment is discussed. We illustrate the applicability of the approach with urban search and rescue (USAR) domain and evaluate its performance with extensive experiments using ARGoS, a realistic multi-robot simulator.

We now illustrate an example scenario of the problem considered as shown in **Figure 1**. The environment, a grid world of size 4 3, consists of 12 locations marked as *a*, *b*, … , *l*. Robots can move to its adjacent location. Boxes arrive at the locations at different points in time. The task is to move a box from its arrival location to the goal location, which is marked on the box.

The snapshots of the environment at different instants of time is shown in **Figure 1**. At time *t*1, two tasks *τ*<sup>1</sup> and *τ*<sup>2</sup> arrive at locations *a* and *g* respectively, 4 robots are present at the locations *b*, *c*, *f* and *h*. The robots *r*<sup>1</sup> and *r*<sup>4</sup> detect the tasks *τ*<sup>1</sup> and *τ*<sup>2</sup> respectively. At time *t*2, *r*<sup>1</sup> and *r*<sup>4</sup> move to locations *a* and *g* to attend the tasks. Now, *r*<sup>1</sup> and *r*<sup>4</sup> determine the team sizes to be 2 and 3, and the goal locations to be *h* and *l* for the tasks *τ*<sup>1</sup> and *τ*<sup>2</sup> respectively. At this time, *r*<sup>3</sup> exits and *r*<sup>5</sup> and *r*<sup>6</sup> enter at locations *k* and *j* respectively.

At *t*2, *r*<sup>1</sup> and *r*<sup>4</sup> do not know the states and locations of other robots present in the environment, and thus with this insufficient information they cannot form their respective teams. Thus, in order to form their teams, they invoke the algorithm given in Section 4. At *t*3,*r*<sup>1</sup> and *r*<sup>4</sup> both form their teams successfully and the members reach the locations of the tasks as shown in the Figure. Finally, at time *t*4, execution of the tasks are completed and the team members for *τ*<sup>1</sup> and *τ*<sup>2</sup> reach their respective goal locations.
