## Servicios Personalizados

## Articulo

## Indicadores

- Citado por SciELO

## Links relacionados

- Similares en SciELO

## Compartir

## Latin American applied research

##
*versión impresa* ISSN 0327-0793

### Lat. Am. appl. res. v.36 n.2 Bahía Blanca abr./jun. 2006

**Centralized formation control of non-holonomic mobile robots**

**R. Carelli, C. de la Cruz and F. Roberti**

*Instituto de Automática (INAUT). Universidad Nacional de San Juan. Av. Libertador San Martín 1109 (oeste). J5400ARL. San Juan, Argentina. e-mail:{rcarelli, delacruz, froberti}@inaut.unsj.edu.ar*

*Abstract* — This work presents a control algorithm for a group of non-holonomic mobile robots that must attain coordinately a specific formation, which can be fixed or moving in the work space. The control error is defined in terms of location, size and shape of the constellation of points placed by the robots and the constellation of objective points. The stability analysis of the proposed control system is included along with the results from simulation and laboratory experiencies which validate the good performance of this robot formation control system.

*Keywords* — Multi-Agent Robotic System. Robot Formations. Centralized Formation Control. Non-Holonomic Mobile Robots. Non-Linear Systems.

**I. INTRODUCTION**

There is a steady growth of applications where the purpose is to coordinately control a group of robots assigned to a specific task. Examples of tasks that require the cooperation of several robots are: robot teams for games, surveillance operations, search and exploration, rescue, survey and mapping, and taks that need organized robot teams in specific formations such as moving objects, cooperative handling of objects, etc.

The research on coordinated robots starts after the introduction of the behavior-based control paradigm (Brooks, 1986). Basically, there are three approaches for robot coordination reported in the literature: leader tracking (Monteiro *et al.*, 2004; Desai *et al.*, 1998), behavior methods (Fredslund and Mataric, 2001; Balch and Arkin, 1998), and virtual structure techniques (Belta and Kumar, 2002; Lewis and Tan, 1997). Most of the proposed coordination control systems are not based on dynamic systems and control theory, largely on account of the complexity of multi-robot systems. This is more so when considering non-holonomic mobile robots. However, in order to ensure system stability, it is necessary to resort to using the tools from control theory and dynamic systems (Das *et al.*, 2002; Yamaguchi *et al.*, 2001).

Within the field of robot formation control, the control task could be either centralized when there is monitoring and control of all robots to make them be placed at the desired position, or decentralized when there is no supervisor and the feedback is only the detected relative positions of each robot respecting their neighbor robots. The centralized formation control could represent a good strategy for a small team of robots, when it is implemented with a single computer and a single sensor to monitor and control the whole team. However, when considering a team with a large number of robots, the need of greater computational capacity and a large communication bandwidth could make advisable to use the decentralized formation control. Yamaguchi *et al.* (2001) presents a distributed control scheme and shows simulations for final static formations. Fierro *et al.* (2002) proposes a hierarchical control structure that allows the switching of controllers in order to have a stable formation, based on sensing their relative positions to neighboring robots, under a strategy of distributed control.

This work considers a centralized control strategy by assuming as known information the sensing of the instantaneous relative position of each robot in the work space, for example, by means of a camera that watches and monitors the entire scene. Within this known context, a controller is designed to coordinate the simultaneous movement of a number of non-holonomic mobile robots to make them reach a pre-established desired formation that could be fixed or moving. The constellation of target points and the initial positions of the robots will be considered through the polygons formed by their positions. Using non-linear control theory, it is verified that the designed controller leads to reaching asymptotically the objective of robots formation.

The work is organized as follows. Section II defines the error model used for designing the controller. Section III presents the proposed controller and the stability analysis for the formation control system. Section IV shows the results from simulations and laboratory experiences, and Section V gives some conclusions on the work.

**II. FORMATION ERROR MODEL**

The first aspect that arises in the problem stated for this work is to define an error in the formation between the group of *n *robots (constellation of robots C_{R}, see Fig. 1) and the group of their *n* desired positions (desired constellation C_{D}).

Fig. 1: Constellation C_{R} and C_{D}, for n=4

In order to calculate an index for the error between constellations C_{R} y C_{D}, let's consider that **ξ_{i}**

*=[x*is the position vector of the

_{i}y_{i}]^{T}*i-th*robot, and that

**ξ**

_{di}*=[x*denotes the

_{di}y_{di}]^{T}*i-th*desired position, with

*i=1,2,..,n*. For each case, the

*n*position vectors can be arranged in the global position vectors

**ξ**

*=[ξ*and

_{1}ξ_{2}... ξ_{n}]^{T}**ξ**

_{d}*=[ξ*. This work assumes that the indexes have already been assigned to the robots by means of, for example, an adequate assignation algorithm to make the robots travel the shortest distance to accomplish the desired formation, and to decrease the collision risk between robots. One of such algorithms is presented in Kelly

_{d1}ξ_{d2}... ξ_{dn}]^{T}*et al.*(2004).

The difference between the actual and the desired robots' positions is:

The formation error is defined as follows (Kelly *et al.*, 2004):

*ỹ = y _{d} - y; y_{d} = y*(ξ

_{d});

where ** y** is the output variable that captures the information on the state of the group of robots (posture, form, moments, etc);

**is the desired output variable. Function**

*y*_{d}**y**(ξ) is defined such that it be continuous and differentiable, and the Jacobian matrix

**that relates:**

*J*; | (1) |

is of full rank. The present work uses the following definition for the output variable:

(2) |

which represents the relative positions of the robots and the formation centroid. The resulting Jacobian matrix is:

**III. CONTROL SYSTEM**

The control objective is to make the mobile robots reach the desired formation as defined by *y _{d}*. Formally, the control objective is to satisfy: .

As a first step, a vector with reference velocities for the robots is specified as a time function computed as:

(3) |

where: is a matrix function which is introduced to prevent generating reference velocities larger than the physical limits of the robots. This function is designed such that *x ^{T}K(x)* - with

*x∈ ℜ*- is positive globally defined.

^{2n} In Eq.(3), , where (see Fig. 2) is the reference velocity of the *i*-th robot.

From (3), if (ideal velocity controllers), it yields (using Eq. (1)):

*ỹ + K*(*ỹ*) (4)

By introducing the following Lyapunov candidate function and its time derivative for system (4):

(5) |

it is then clear that the closed-loop system has asymptotic stability, thus ỹ(*t*)→0. Equivalently *y*→*y _{d}*, which means that the relative positions and the formation centroid converge to their desired values asymptotically. This condition is verified for the ideal case of the robots following exactly their reference velocity. This is not so for a real controller, which eventually reaches asymptotically the reference velocity. The convergence to zero of the formation control error, under these real conditions, will be analyzed at the end of this section; after considering a controller proposal to make the non-holonomic robot reach the reference velocities.

Fig. 2: Robot and its reference system

The linear and rotational dynamics of a mobile robot are approached through the following linear differential equations:

(6) |

where *v(t)* is the linear velocity of the robot; φ*(t)* is the robot's heading (Fig. 2); *T _{v}*,

*T*are linear and rotational time constants;

_{φ}*K*,

_{v}*K*are gains in the model;

_{φ}*u*,

_{R}*u*are the electric input voltages applied to the right and left motors respectively, and

_{L}*u*,

_{+}*u*are the common and differential voltages.

_{-}The control commands for the common and differential voltages applied to the robot's actuator will be computed so as to ensure the robot reaches the reference velocity asymptotically. These control laws are of the inverse dynamics type (Slotine and Li, 1991). The control law proposed for the heading control is:

(7) |

where φ* _{r}* is the reference heading of the robot, is the robot heading error and

*k*

_{2},

*k*

_{3}are design gains. By equating Eq. (7) to the second Eq. of (6), the following closed-loop equation is obtained:

(8) |

this implies that exponentially with t → ∞ .

The control law proposed for the linear velocity is:

(9) |

where *v _{r}* is the module of the robot reference velocity, is the velocity module error and

*k*

_{1}is a design gain. Factor allows attenuating the correction of the velocity module when the robot heading is not correct, thus giving a better robot evolution. By equating Eq. (9) to the first equation of (6), the following closed-loop equation is attained:

(10) |

Considering the following positive definite function and its time derivative:

(11) |

According to Eq. (8), reaches positive values in a finite time, while continues being finite. Therefore, the second Eq. of (11) is negative definite in a finite time, which allows concluding that (*t*)→0 with *t*→0

This way, in the design of the controller it has been proven that with ρ(*t*)→0 (asymptotic convergence of velocities). Expression (3) can now be written as (using Eq. (1)):

(12)

Considering:

*K*(*ỹ*) = *K _{c}ỹ* (13)

where:

k_{gi}>0 for *i=1,2,..,2n; a>0*.

it follows:

(14)

Regarding the Lyapunov candidate function and its time derivative:

(15) |

A sufficient condition to make the second equation of (15) be negative definite is:

(16) |

The last equation is conceptually valid if , or if it is verified in a finite time.

Since ρ(*t*) → 0, it means that ||*ỹ*(*t*)|| → 0 with t → ∞.

**Remark 1.** The effect of errors from estimating robot positions on the stability of the system can be analyzed following a similar procedure. By performing this analysis, it can be concluded that the formation errors converge into a ball whose size depends on the errors of the robot's position estimation.

**Remark 2.** To choose the constants of the matrix *K _{c}* the next analysis can be considered. For

*ỹ*≈ 0, the elements of the matrix gain in (13) are

_{i}*K*(

*ỹ*) ≈ [

*k*

_{g}_{1}

*ỹ*

_{1}/

*a*...

*k*

_{g}_{(2n)}

*ỹ*

_{(2n)}/

*a*]. For |

*ỹ*| >> 0,

_{i}*K*(

*ỹ*) ≈ [

*k*

_{g}_{1}

*sign*(

*ỹ*

_{1}) ...

*k*

_{g}_{(2n)}

*sign*(

*ỹ*

_{(2n)})], the right part of this equation is a bound for

*K*(.). The constants

*k*and

_{gi}*a*should then be chosen so as to avoid saturation of the control signals for large errors and to have a good performance of the system for small errors |

*ỹ*|.

_{i} **IV. SIMULATION AND EXPERIMENTATION**

Simulations were carried out with a set of three robots (*n*=3) to illustrate the behavior of the proposed control system. Static formations are considered for the first two simulations, whereas in the third simulation the centroid of the desired formation varies through time.

The parameters of the tracking control of reference velocities used in simulation were set to:

*k _{1}*=1,

*k*=1.3,

_{2}*k*=2.7.

_{3}The first simulation considers a static desired formation, with gains for the formation control:

*k _{gi}*=30,

*i=1,..,4*;

*k*=15,

_{gj}*j*=5,6;

*a*=50;

the initial position and heading of the robots: ξ(0) = [-0.4,-0.2,-0.3,-0.3,0,0]^{T}(given in meters), φ_{1}(0) = 0, φ_{3}(0) = 0, φ_{3}(0) = 0; and the desired formation: ξ_{d} = [-0.2,0,0.2,0,0,0.3]^{T} (meters).

From Fig. 3 and Fig. 4, it can be noted that the convergence of the relative position between robots is faster than the convergence of the constellation centroid towards its desired position. The cause for this is that the first four gains of *K _{c}* (

*k*) are greater than the last two gains of

_{gi}, i=1,..,4*K*(

_{c}*k*). According to the formation error

_{gj}, j=5,6*ỹ*, the four first gains of

*K*correspond to the error of relative positions, and the two last gains of

_{c}*K*correspond to the error of the constellation centroid.

_{c}

Fig. 3: Evolution of the robot formation in the first simulation. The small circles and arrows indicate the initial posture of the robots, and the small stars, the desired formation.

Fig. 4: Evolution of the formation error in the first simulation. The solid lines are the relative error between robots, and the dash-and-dot lines are the constellation centroid error.

The second simulation considers the same conditions as for he first one, though just modifying the gains of the formation controller to be equal and set to:

* k _{gi}*=15,

*i=1,..,6*;

*a*=50;

From Fig. 5 and Fig. 6, it can be noted that, in contrast to the first simulation, all the errors come to be closer to zero at a same time.

Fig. 5: Formation evolution in the second simulation. The small circles and arrows indicate the initial posture of the robots. The small stars, the desired formation.

Fig. 6: Evolution of the formation error in the second simulation. The solid lines are the relative error between robots. The dash-and-dot lines are the constellation centroid error.

The third simulation considers the same initial positions and headings as for the first simulation. The initial desired formation is (given in meters)

*ξ _{d}*(0) = [-0.2,0,0.2,0,0,0.3]

The centroid of the desired formation will move along a straight line forming a 45 degree-angle with the horizontal, with a velocity of 0.0707 m/s.

The following formation control gains are used:

* k _{gi}*=30,

*i=1,..,4*;

*k*=15,

_{gj}*j*=5,6;

*a*=50

The same observations made for the first simulation can be expressed for Fig. 7 and Fig. 8. In addition, it can be noted that the formation controller shows a good performance in following the desired constellation with time-varying centroids.

Fig. 7: Robot formation evolution in the third simulation. The small circles and arrows indicate the initial posture of the robots. The doted triangles are the desired formation at a given time instant.

Fig. 8: Error evolution of the robot formation in the third simulation. The solid lines are the relative error between robots. The dash-and-dot lines are the error of the constellation centroid.

For the experimental stage, a Direct Visual Control System -thoroughly described in Carelli *et al.* (2003)- was used. This control system is based only on the measurements made on the visual plane of the camera, *i.e.,* the control is performed on the image plane and not on the work plane (the plane on which the robots move). The camera is fixed, as shown in Fig. 9.

Fig. 9: Experimental systems and cellular robots.

Since the control is performed on the image plane, it should be taken into account the dynamic model for each robot on the image plane (Carelli *et al.*, 2003). Such a model is stated by:

(17) |

Jacobians *J _{v}*and

*J*

_{φ}are related as:

where, , are the robot's velocity and the heading on the image plane, whereas *v, φ * are the same variables but on the work plane. Constants T_{v}, T_{φ}, K_{v} and K_{φ} are the same ones as those used in Eq. (6).

The control laws proposed in Carelli *et al.* (2003) to control the linear velocity and heading of each mobile robot on the image plane are:

(18) | |

(19) |

Jacobians *J _{v}* y

*J*

_{φ}are estimated on-line using the α - β filter, which was described also in Carelli

*et al.*(2003).

The formation law of Eq. (3) does not change because the formation will be made on the image plane instead of the work plane. Therefore,

(20) |

To localize the robot on the image plane, a tracking system was developed which estimates from the video stream the robot's position and heading direction over time. The video camera uses an RGB representation, allowing colour detection for robot segmentation in the image plane. The robot position on the image plane is thus estimated by calculating the centre of mass on the binary image obtained from the colour segmentation. The robot heading direction is estimated likewise using the angle of the vector passing through the centre of mass of two distinct colour bars located at the front and back of the robot. These variables and their derivatives required in the control laws of (18) and (19) are estimated using the *α - β* filter.

The experiences involved performing the triangle formation of cellular robots. The centroid of the desired formation will move with a constant desired velocity.

The initial desired formation (in pixels) and the velocity of the desired robot formation centroid are:

ξ_{d}(0) = [70,109,31,31,109,31]^{T}

*v _{cdx}*=10 pixels/seg ;

*v*=8.1 pixels/seg

_{cdy}The constants of the formation control system used in the experiences are:

* k _{gi}*=27,

*i=1,..,4*;

*k*=20,

_{gj}*j*=5,6;

*a*=50

* Robot 1: k _{1}*=7,

*k*=6,

_{2}*k*=5.

_{3} * Robot 2: k _{1}*=8,

*k*=6,

_{2}*k*=8.

_{3} * Robot 3: k _{1}*=8,

*k*=6,

_{2}*k*=5.

_{3} The values for the model constants *K _{v}*,

*K*

_{φ},

*T*,

_{v}*T*

_{φ}(Eq. (6)) of each mobile robot, are:

The experimental results are shown in Fig. 10 and Fig. 11. The results validate the theoretical aspects of the robot formation control.

Fig. 10: Evolution of the robot formation obtained in experiences. The small circles and arrows indicate the initial posture of the robots. The dotted lines show the desired formation at a given time instant.

Fig. 11: Evolution of the robot formation error obtained in experiences. The solid lines are the relative error between robots. The dash-and dot lines are the error of the constellation centroid.

**V. CONCLUSIONS**

The work has presented a strategy for the centralized control of a robot formation. The absolute posture information for each robot is available, and the objective is that the robots reach a relative desired arrangement that will probably evolve through time. The formation control law generates velocity references for each robot, and they are applied to individual angular and linear velocity controllers of the non-holonomic robots. The performance of the proposed formation control system has been validated in simulations and laboratory experiences. The experimentation system consists on a fixed camera that captures the scene with small robots that lack on-board sensors. All the information on robot evolution is obtained by the fixed camera, and the formation control is performed on the image plane. The results show the feasibility and good performance of the proposed control system. Future work will delve into the issues of obstacle avoidance and collision avoidance between robots.

**Acknowledgement**

The authors acknowledge CONICET and ANPCyT (Argentina) for partially funding the research.

**REFERENCES**

1. Balch, T. and R. C. Arkin, "Behavior-based formation control for multirobot teams", *IEEE Transactions on Robotics and Automation*, **14**, 926-939 (1998). [ Links ]

2. Belta, C. and V. Kumar, "Trajectory design for formations of robots by kinetic energy shaping", *IEEE International Conference on Robotics and Automation*, Washington, DC, 2593-2598 (2002). [ Links ]

3. Brooks, R. A. "A robust layered control system for a mobile robot", *IEEE Journal of Robotics and Automation*, **RA-2**, 14-23 (1986). [ Links ]

4. Carelli, R., O. Nasisi, F. Roberti, and S. Tosetti, "Direct visual tracking control of remote cellular robots", *Measurement and Control in Robotics, *Edited by: M. A. Armada, P. Gonzalez de Santos, S. Tachi, Ministerio de Educación, Ciencia y Tecnología. 259-264 (2003). [ Links ]

5. Das, A. K., R. Fierro, V. Kumar, J. P. Ostrowski, J. Spletzer, and C. J. Taylor, "A vision-based formation control framework", *IEEE Transaccions on Robotics and Automation*, **18**, 813-825 (2002). [ Links ]

6. Desai, J. P., J. Ostrowski, and V. Kumar, "Controlling formations of multiple mobile robots", in Proc. *IEEE Int. Conf. Robotics and Automation*, Leuven, Belgium, 2864-2869 (1998). [ Links ]

7. Fierro, R., P. Song, A. Das, and V. Kumar, "Cooperative control of robot formations", in *Cooperative Control and Optimization,* R. Murphey and P. Pandalos, Eds. Dordrecht, The Neederlands: Kluwer, **5**, 73-93 (2002). [ Links ]

7. Fredslund, J. and M. J. Mataric, "Robot formations using only local sensing and control", *IEEE International Symposium on Computational Intelligence in Robotics and Automation*, Banff, Alberta, Canada, 308-313 (2001). [ Links ]

8. Kelly, R., R. Carelli, J. M. Ibarra Zannatha and C. Monroy, "Control de una pandilla de robots móviles para el seguimiento de una constelación de puntos objetivo", *VI Congreso Mexicano de Robótica*, COMRob, Torreón, Coahuila, México, 83-89 (2004). [ Links ]

9. Lewis, M. A. and K. H. Tan, "High precision formation control of mobile robots using virtual structures" *Auton. Robots*, **4**, 387-403 (1997). [ Links ]

10. Monteiro, S., M. Vaz, and E. Bicho, "Attractor dynamics generates robot formations: from theory to implementation", *IEEE International Conference on Robotics and Automation*, New Orleans, LA, 2582-2587 (2004). [ Links ]

11. Slotine, J.-J. and W. Li, *Applied non linear control*, Prentice Hall Int., (1991). [ Links ]

12. Yamaguchi, H., T. Arai, and G. Beni, "A distributed control scheme for multiple robotic vehicles to make group formations", *Robotics and Autonomous Systems*, **36**, 125-147 (2001). [ Links ]

**Received: September 21, 2005. Accepted for publication: February 6, 2006. Recommended by Guest Editors C. De Angelo, J. Figueroa, G. García and J. Solsona.**