0% found this document useful (0 votes)
64 views

Cluster Space Specification and Control of Mobile Multi-Robot Systems

Uploaded by

Beto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

Cluster Space Specification and Control of Mobile Multi-Robot Systems

Uploaded by

Beto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

C. Kitts and I. Mas. “Cluster Space Specification and Control of Mobile Multirobot Systems.

” IEEE/ASME Transactions on Mechatronics, v 14, n 2, pp. 207-218, 2009.


1

Cluster Space Specification and Control of


Mobile Multi-Robot Systems
Christopher A. Kitts, Senior Member, IEEE, and Ignacio Mas, Student Member, IEEE

communication, relative position sensing and actuation,


Abstract—The cluster space state representation of mobile control paradigms appropriate to real-time multi-system
multi-robot systems is introduced as a means of enabling control, the fusion of distributed sensors/actuators, man-
enhanced control of mobile multi-robot systems. A conceptual machine interfaces allowing efficient human
framework is proposed for the selection of appropriate cluster
space state variables for an n-robot system, the development of
direction/supervision of these systems, and design approaches
formal kinematics that associate the cluster space state variables supporting the economical production of such systems. These
with robot-specific variables, and the implementation of a cluster topics are being explored for multi-robot system operating in a
space control system architecture. The cluster space approach is wide range of domains to include satellite formations [1]-[5],
then demonstrated for examples of two- and three-robot clusters robotic flocks of aircraft [6]-[8], land rover clusters [9]-[11],
consisting of differential drive robots operating in a plane. In underwater robot fleets [12]-[14], and manipulator workcells
these examples, we demonstrate cluster space variable selection,
review the critical kinematic relationships, and present
[15]-[17].
experimental results that demonstrate the ability of the systems For mobile systems, one of the key technical considerations
to meet control specifications while allowing a single operator to is the technique used to coordinate the motions of the
easily specify and supervise the motion of the clusters. individual vehicles. A wide variety of techniques have been
and continue to be explored. Because of the physical
Index Terms—Multi-robot systems, formation control, distribution of components and the potential for limited
collaborative control, robot teams, cluster space. information exchange, decentralized control approaches hold
great promise [18]-[20], and these techniques have been
I. INTRODUCTION
explored for a variety of systems [11], [16], [21]-[22].

R obotic systems offer many advantages to accomplishing a


wide variety of tasks given their strength, speed,
precision, repeatability, and ability to withstand extreme
Behavioral, biologically inspired, and potential field
techniques have been demonstrated with great success [23]-
[24] although they often lack the mathematical formality of
environments. While most robots perform these tasks in an other control approaches. Centralized approaches exploiting
isolated manner, interest is growing in the use of tightly global information are also of interest [25]-[26], but they are
interacting multi-robot systems to improve performance in often not preferred due to limited scalability and the
current applications and to enable new capabilities. Potential challenges of maintaining the necessary communication links
advantages of multi-robot systems include redundancy, for many of the applications explored. However, they may be
increased coverage and throughput, flexible reconfigurability, reasonable when interaction among the robots is required by
spatially diverse functionality, and the fusing of physically applications such as the realtime fusing of sensors or actuators
distributed sensors and actuators. Applications capable of [27]-[29].
exploiting such features range from remote and in situ sensing The work presented in this article explores a specific
to the physical manipulation of objects, and the domains for centralized control approach for application to robot clusters
such applications include land, sea, air and space. of limited size (on the order of ones to tens) and locale (such
This vision, however, faces numerous technical challenges that global communication is available), with the
that must be overcome in order to field cost-effective multi- understanding that other control modes may be required for
robot systems; these challenges include inter-robot augmentation in order to achieve robust performance.

Manuscript received August 28, 2008. This work was supported in part by
II. THE CLUSTER SPACE FRAMEWORK
the National Science Foundation under Grants EIA0079815, E1A0082041, The motivation of this research is to promote the simple
and CNS0619940, by NASA Ames Research Center under Grant
specification and monitoring of the motion of a mobile multi-
NNA04CK64A, and by Santa Clara University under Grant TSC131; any
opinions, findings, and conclusions or recommendations expressed in this robot system. Central to our strategy are the concepts of
material are those of the author and do not necessarily reflect the views of the considering the n-robot system as a single entity, a cluster,
National Science Foundation, NASA Ames Research Center, or Santa Clara and of specifying motions with respect to cluster attributes,
University.
C. A. Kitts is with the Robotic Systems Laboratory, Santa Clara University, such as position, orientation, and geometry. Our approach is
Santa Clara CA 95053 USA. Phone: 408.554.4382; fax: 408.554.5474; e-mail: to use these attributes to guide the selection of a set of
[email protected].
2

independent system state variables suitable for specification, G


where i R is a rotation matrix denoting the orientation of the
control, and monitoring. This collection of state variables
{i} frame with respect to {G}, and G Pi is a vector specifying
constitute the system’s cluster space and can be related to org

robot-specific state variables, actuator state variables, etc. the translation of the origin of frame {i} with respect to {G}.
through a formal set of kinematic transforms. A supervisory
operator or realtime pilot specifies and monitors system
motion, and centralized control computations are executed
with respect to the cluster space variables. Kinematic
transforms allow compensation commands to be derived for
each individual robot (and ultimately for each actuator on
each robot), and they also allow data from a variety of sensor
packages to be converted to cluster space state estimates. Our
current work focuses on systems of robots in which each robot
is capable of closed-loop velocity control, a level of
functionality typically built into a variety of commercially
available robotic platforms.
As an example of this, consider a group of two robots that
may be driven in a plane. The cluster space view of this
simple multi-robot system could be represented as a line Fig. 1 – Robot Pose Using Conventional vs. Cluster Space
Representations. A conventional description of a cluster of robots provides
segment at a certain location, oriented in a specific direction,
individual robot frame descriptions with respect to a global frame, typically in
and with a particular size. A pilot could “drive” the cluster the form of a homogeneous transform, T. The cluster space description
along an arbitrary path while varying the orientation and size establishes a cluster reference frame; references to individual robots in the
of the line segment. Similarly, a three-robot planar system cluster are made with respect to this cluster frame.
could be represented as a triangle at a certain location,
oriented in a certain direction, and with a specific shape. The In contrast, consideration of the cluster space representation
pilot could “drive” this cluster along an arbitrary path while starts with the definition of a cluster frame, {C}, with a pose
varying the shape and size of the triangle. The triangle could denoted by GCT . The pose of each robot is expressed relative
be “flattened” into a straight line while driving through a to the cluster frame: C1T , C2T ,....., CnT . , such that for robot i,
narrow passage. Overall, the cluster space approach allows
the pilot to specify and monitor motions from the cluster space G
T = GCT * CiT
i
(2)
perspective, with automated kinematic transformations
converting this point of view to and from robot-specific drive
commands and sensor data. With this formulation, the n-robot system’s (nm) DOF’s are
The first step in the development of the cluster space now represented by [(n+1)m] cluster space variables in (n+1)
control architecture is the selection of an appropriate set of homogeneous transforms with m cluster space constraints.
cluster space state variables. To do this, we introduce a We note that the positioning of the {C} frame with respect
cluster reference frame and select a set of state variables that to the n robots is often critical in achieving a cluster space
capture key pose and geometry elements of the cluster. framework that benefits the operator/pilot. In practice, {C} is
often positioned and oriented in a manner with geometric
A. Introduction of a Cluster Reference Frame significance, such as at the cluster’s centroid and oriented
Consider the simplified, general case of an n-robot system toward the “lead” vehicle or alternatively, coincident with a
where each robot has the same m degrees of freedom (DOF) lead vehicle’s body frame. The selected placement policy
and an attached body frame, as depicted in Fig. 1. Let m=p+r dictates the nature of the m cluster space constraints that are
where p is the number of translational DOFs and r is the present among the [(n+1)m] cluster space variables.
number of rotational DOFs for each robot.
B. Selection of Cluster Space State Variables
Typical robot-oriented representations of pose use (nm)
variables to represent the position and orientation of each of We select as our state variables a set of position variables
the robot body frames, {1}, {2}, …, {n}, with respect to a (and their derivatives) that capture the cluster’s pose and
global frame {G}. These may be formalized as n robot- geometry. These variables, c1 , c2 ,", cmn , are generally
specific homogeneous transforms, G1T , G2T ,....., GnT , where for related to (and in many cases are equivalent to) the cluster-
robot i: oriented pose variables used in GCT and C1T , C2T ,....., CnT . For
the general case of n 6-DOF robots, where the pose variables
⎛ Gi R G
Piorg ⎞ of {C} with respect to {G} are (xc, yc, zc, αc, βc, γc) and where
G
T = ⎜ ⎟ (1)
i ⎜ [0 0 0] ⎟ the pose variables for robot i with respect to {C} are (xi, yi, zi,
⎝ 1 ⎠
αi, βi, γi) for i=1,2,...,n:
3

c1 = f1 ( xc , yc , zc , α c , β c , γ c , x1 , y1 , z1 , α1 , β1 , γ 1 , These shape variables allow direct specification of


geometrical features of interest, such as cluster size, which are
", xn , yn , zn , α n , β n , γ n ) generally functions of, but not identical to, the components of
c2 = f 2 ( xc , yc , zc , α c , β c , γ c , x1 , y1 , z1 , α1 , β1 , γ 1 , G
Pi for i=1 to n. As the number of robots and DOFs grow,
org

" , xn , y n , z n , α n , β n , γ n ) we have found the use of such geometric metaphors, such as


specific shapes or formation patterns, to be particularly
# valuable in contributing to operator ease of use, with the
c6 n = f 6 n ( xc , yc , zc , α c , β c , γ c , x1 , y1 , z1 , α1 , β1 , γ 1 , selection of particular shapes driving the choice of specific
(3)
" , xn , y n , z n , α n , β n , γ n ) variables and their associated specification terminology.
C. Examples of State Variable Selection
The appropriate selection of cluster state variables may be a Using the methodology introduced in the previous section,
function of the application, the system’s design, and Table A specifies the allocation of each different type of
subjective criteria such as operator preference. In practice, cluster pose variable for a variety of 2-4 robot systems with a
however, we have found great value in selecting state range of DOFs; for each, an example of how these pose
variables based on the metaphor of a virtual rigid body that variables might be used is provided. Section V details the
can move through space while being arbitrarily scaled and simple cases of two and three planar land rovers.
articulated. This leads to the use of several general categories
of cluster pose variables (and their derivatives) that specify III. CLUSTER SPACE KINEMATICS
cluster position, cluster orientation, relative robot-to-cluster We wish to specify multi-robot system motion and to
orientation, and cluster shape. compute required control actions in the cluster space, using
Cluster position variables express the location of the cluster cluster state variables selected as described in the previous
with respect to the global frame as denoted by the components section. Given that these control actions will be implemented
of G PC ; p variables are required to specify this given the by each individual robot (and ultimately by the actuators
org

assumption that all robots have identical DOFs. Cluster within each robot), we develop formal kinematic relationships
orientation variables specify the orientation of the cluster relating the cluster space variables and robot space variables.
frame with respect to the global frame as denoted by the A. Position Kinematics
G
fundamental rotations represented by R ; given the rigid To do this, we define (mn) x 1 robot and cluster pose
C
G G
body metaphor, this requires o=3 variables for systems where vectors, G R and C , respectively. These are related through
n≥p=3 or o=p-1 variables for other cases, where o is the position kinematic relationships:
number of cluster orientation variables. The use of cluster
position and orientation variables captures the fundamental ⎛ c1 ⎞ ⎛ g1 (r1 , r2 ,", rmn ) ⎞
value of referring directly to cluster pose while specifying the ⎜ ⎟ ⎜ ⎟
G ⎜ c2 ⎟ G ⎜ g 2 (r1 , r2 , ", rmn ) ⎟ (6)
desired motion of the aggregate multi-robot system. C = ⎜ ⎟ = KIN ( R) = ⎜
G

# #
Relative robot-to-cluster orientation variables express the ⎜ ⎟ ⎜ ⎟
⎜c ⎟ ⎜ g (r , r ,", r ) ⎟
relative orientation of each individual robot with respect to the ⎝ mn ⎠ ⎝ mn 1 2 mn ⎠

cluster frame as denoted by the fundamental rotations


G ⎛ r1 ⎞ ⎛ h1 (c1 , c2 ,", cmn ) ⎞
represented by each i R for i=1 to n, requiring nr variables. ⎜ ⎟ ⎜ ⎟
G ⎜ 2⎟
r G ⎜ h2 (c1 , c2 ,", cmn ) ⎟ (7)
These variables are often unavailable for independent
G
R = ⎜ ⎟ = INVKIN (C ) = ⎜ ⎟
# #
specification due to non-holonomic constraints; furthermore, ⎜ ⎟ ⎜ ⎟
⎜r ⎟ ⎜ h (c , c , " , c ) ⎟
for holonomic systems they often are derived collectively ⎝ mn ⎠ ⎝ 6n 1 2 mn ⎠

given a cluster payload orientation requirement.


Finally, cluster shape variables may be used to express the For example, for the 2 planar land rover system from Table
geometry of the multi-robot cluster; given that a total of nm A, the robot and cluster pose vectors are:
cluster space variables are sought, the number of cluster shape G
variables, s, is given by:
G
R = ( x1 , y1 , θ 1 , x 2 , y 2 , θ 2 ) T (8)

s = (nm) − p − o − (nr ) = p(n − 1) − o (4) where the variables ( xi , yi ,θ i ) specify the pose for rover i with
respect to the global frame, {G}, and:
⎧⎪ p (n − 1) − 3 for n ≥ p = 3⎫⎪ G
s=⎨ ⎬ (5)
C = ( xc , y c , θ c , θ r 1 , θ r 2 , d ) T (9)
⎪⎩ p (n − 2) + 1 otherwise ⎪⎭
4

TABLE A – EXAMPLE OF VARIABLE SELECTION FOR PROTOTYPICAL MULTI-ROBOT SYSTEMS


Robot DOFs Cluster Cluster
Multi-Robot # System Relative Orientation
(total, translation, Position Orientation Shape Variables
Cluster Type Robots DOFs Variables
rotation) Variables Variables

general n m, p, r nm p If n≥ p=3, o=3 nr If n≥ p=3, s=p(n-1)-3


Else, o=p-1 Else, s=p(n-2)+1
2 Planar Surface 2 3,2,1 6 2: (xc, yc) 1: θc 2: θr1, θr2 1: Line: d=size
Rovers/Vessels [30]
2 Aero/hydro-statically 2 4,3,1 8 3: (xc, yc, zc) 2: θc, ψc 2: ϕr1, ϕr2 (relative yaw) 1: Line: d=size
stable Robots (pitch, yaw)
2 Aircraft or Spacecraft 2 6,3,3 12 3: (xc, yc, zc) 2: θc, ψc 6: θrn, φrn, ψrn for n=1,2 1: Line: d=size
(pitch, yaw) (relative pitch, roll, yaw)
3 Planar Surface 3 3,2,1 9 2: (xc, yc) 1: θc 3: θr1, θr2, θr3 3: Triangle: d, β, ξ (size, lead
Rovers/Vessels [39] angle, skew angle)
3 Aero/hydro-statically 3 4,3,1 12 3: (xc, yc, zc) 3: θc, φc, ψc 3: θr1, θr2, θr3 3: Triangle: d, β, ξ (size, lead
stable Robots (pitch, roll, yaw) angle, skew angle)
3 Aircraft or Spacecraft 3 6,3,3 18 3: (xc, yc, zc) 3: θc, φc, ψc 9: θrn, φrn, ψrn for n=1,2,3 3: Triangle: d, β, ξ (size, lead
(pitch, roll, yaw) (relative pitch, roll, yaw) angle, skew angle)
4 Planar Surface 4 3,2,1 12 2: (xc, yc) 1: θc 4: θr1, θr2, θr3, θr4 5: Cross: o, p, q, r, β (height,
Rovers/Vessels [41] width, height offset, width
offset, skew)

where ( x c , y c , θ c ) specifies the pose of frame {C} with


respect to frame {G}, the θ ri angles specify the orientations of IV. CLUSTER SPACE CONTROL FRAMEWORK
With the formal kinematics defined, we may compose a
each rover with respect to {C}, and d specifies half of the
system controller in which desired motions are specified and
separation distance between the two rovers.
control compensations are computed in the cluster space. Fig.
B. Velocity Kinematics 2 depicts a general control architecture of this type. Desired
We also consider the formal relationship between the robot cluster space motions may be specified by a human-in-the-
G G loop pilot interface, by an automated trajectory controller, or
and cluster space velocities, G R and C . From (6), we may as regulation constants. The controller computes the control
compute the partial derivatives of the cluster space pose law in cluster space and issues compensation commands
variables, ci, and develop a Jacobian matrix, J , that maps which are transformed to robot space through the use of the
robot velocities to cluster velocities in the form of a time- inverse Jacobian relationship, as specified by (11). Individual
varying linear function: velocity commands are then provided to each of the robots,
⎛ ∂g1 ∂g1 ∂g1 ⎞ which, in turn, use their on-board closed-loop velocity control
⎜ " ⎟
⎛ c1 ⎞ ⎜ ∂r1 ∂r2 ∂rmn ⎟⎛ r1 ⎞ functionality to achieve this command. Cluster space
⎜ ⎟ ∂g 2 ⎟⎜ r ⎟ (10)
G ⎜ c ⎟ G G ⎜ ∂g 2 ∂g 2
" ⎜ 2 ⎟ variables are required to compute the required control;
C = ⎜ 2 ⎟= G J ( G R ) G R = ⎜ ∂r1 ∂r2 ∂rmn ⎟⎜ ⎟ therefore, any state data sensed in robot space must be
# ⎜ ⎟ #
⎜ ⎟ ⎜ # # % # ⎟⎜ ⎟
⎜ c ⎟ ∂g mn ⎟⎜⎝ rmn ⎟⎠
transformed through the use of the forward kinematic
⎝ mn ⎠ ⎜ ∂g mn ∂g mn
" relationships, as specified in (6) and (10). We note again that
⎜ ∂r ∂r2 ∂rmn ⎟⎠
⎝ 1 the Jacobian and inverse Jacobian transforms vary as a
G
function of G R and must be updated as the cluster changes its
As the kinematic functions in Equation 6 are generally
G pose.
nonlinear, the Jacobian is a function of G R and can be written
G
G
J ( G R) .
In a similar manner, we may develop the inverse Jacobian,
G −1 G
G
J ( R) , which maps cluster velocities to robot velocities.
Computing the partial derivatives of the robot space pose
variables from (7) yields:

⎛ ∂h1 ∂h1 ∂h1 ⎞


⎜ " ⎟
⎛ r1 ⎞ ⎜ ∂c1 ∂c2 ∂cmn ⎟⎛ c1 ⎞
⎜ ⎟ ∂h2 ⎟⎜ c ⎟
G ⎜ r ⎟
G 
G G ⎜ ∂h2 ∂h2
" ⎜ 2⎟
(11)
R = ⎜ 2 ⎟= G J −1 (G R)C = ⎜ ∂c1 ∂c2 ∂cmn ⎟⎜ ⎟
# ⎜ ⎟ #
⎜ ⎟ ⎜ # # % # ⎟⎜ ⎟
⎜ r ⎟ ∂hmn ⎟⎜⎝ cmn ⎟⎠
Fig. 2 – Cluster Space Control Architecture for a Mobile Multi-Robot
⎝ mn ⎠ ⎜ ∂hmn ∂hmn
" System. In this cluster space control architecture, desired motions and control
⎜ ∂c ∂c2 ∂cmn ⎟⎠
⎝ 1 actions are computed in the cluster space; control actions are converted to the
robot space through the use of the inverse Jacobian relationship.
5

We have successfully used this control approach to


demonstrate cluster-space-based versions of regulated motion
[30], automated trajectory control [31]-[32], human-in-the-
loop piloting [33]-[34], partitioned model-based control [35],
and potential field-based obstacle avoidance [36]-[38]. This
work has included experiments with 2-, 3- and 4-robot planar
land rover clusters [39]-[41], with 2-boat surface vessel
systems [42], and for robots that are both holonomic and non-
holonomic.

V. EXAMPLE FORMULATIONS FOR TWO- AND THREE-ROBOT


CLUSTERS
To demonstrate the simple application of this framework,
we have applied it to the specification and control of two-
robot and three-robot clusters of wheeled differential drive Fig. 4 – Pose reference frames for the planar 3-robot system
rovers operating in a plane. This section reviews the selection
of cluster space variables for each of these examples; the VI. EXPERIMENTAL TESTBED
resulting kinematic transforms are provided in the Appendix.
Several testbeds have been developed in order to evaluate
A. Two-Robot Cluster our work in cluster space control. A Matlab/Simulink
Fig. 3 depicts the relevant reference frames for the planar 2- simulation environment is routinely used to support iterative
robot problem. Because of the sensor data used in development prior to committing to hardware experiments.
experimentation, the global frame conventions were selected To enhance visualization of cluster motion, this simulator
G G includes a simple three-dimensional world representation of
as follows: yG points to the North, xG points to the East, and
G robot motion using the Virtual Reality Markup Language
θ G is the compass-measured heading. For our work, we have (VRML) Toolbox [30]. The simulator includes models of
chosen to locate the cluster frame, {C}, at the cluster’s several holonomic and non-holonomic multi-robot hardware
G
centroid, oriented with xc pointing toward Robot 1. Based on systems that are available for experimentation, and it supports
this, Table B summarizes the variables of interest, the evaluation of both automated trajectory controllers as well as
applicable degrees of freedom (DOF), and the acting interactive, human-in-the-loop controllers through the use of
constraints, following the protocol presented in Section I. joystick inputs [33], [43].
For the experiments presented in Section VII, the testbed
θ2 y2 consisted of two commercially available differential drive
chasses with a custom suite of sensing, communication, and
YG
control equipment, as depicted in Fig. 5. Developed
φ2 specifically as a low-cost testbed to support rapid integration
yc
{2} and test of new control strategies, the design of the system
x2 emphasizes these features at the expense of performance in
θc terms of robot speed, sensor accuracy, and
{C} communication/servo rates.
θ1 Each chassis is an Amigobot, available from Mobile Robots
xc y1 Inc., and is capable of closed loop velocity control through the
d use of wheel encoders and a Renesas SH7144-based
φ1
microcontroller. The chassis is commanded via a serial RS-
{1}
232 connection through which desired robot-level
d translational and rotational velocities are specified. On top of
x1 each robot is mounted a student-integrated suite of sensors
{G} XG
and microcontrollers. Sensors include a WAAS-enabled
Garmin 18 GPS receiver operating at 5 Hz and a Devantech
Fig. 3 – Pose reference frames for the planar 2-robot system CMPS03 digital compass which updates at 10 Hz. A modular
B. Three-Robot Cluster network of 6 BasicX-24 microcontrollers are used for
component interfacing and data handling; these
Fig. 4 depicts the frame assignments for the planar 3-robot
microcontrollers have a simple learning curve appropriate for
cluster with {C} once again positioned at the centroid and
a student-centered testbed, limited but sufficient
oriented toward Robot 1. Table B summarizes the variables of
computational speed and memory, and multitasking and
interest, the applicable degrees of freedom (DOF), and the
floating point math capabilities.
acting constraints, following the protocol from Section I.
6

TABLE B – SUMMARY OF CLUSTER SPACE STATE VARIABLE SELECTION PROCESS


Two-Robot System Three-Robot System
G G
Robot Space State Variables G
R = ( x1 , y1 , θ1 , x 2 , y 2 , θ 2 ) T G
R = ( x1 , y1 ,θ1 , x2 , y 2 , θ 2 , x3 , y3 ,θ 3 ) T
G
G  G
R = ( x , y ,θ , x , y ,θ ) T G 
1 1 1 2 2 R = ( x , y ,θ , x , y ,θ , x , y ,θ )T
2 1 1 1 2 2 2 3 3 3

Robot Degree of Freedom Assessment


Number of robots (n) n=2 n=3
Number of robot DOFs (m) m =3 m =3
Number of robot translational DOFs (p) p=2 p=2
Number of robot rotational DOFs (r) r =1 r =1
Number of system DOFs (n·m) n·m = 2·3 = 6 n·m = 3·3 = 9
Selection of Cluster Space State Variables
Number of cluster position variables (p) p=2 p=2
Number of cluster orientation variables (o) Given n ≥ p ≠ 3, o = p-1 = 1 Given n ≥ p ≠ 3, o = p-1 = 1
Selection of {C} pose variables xc , y c , θ c xc , y c , θ c
Cluster space constraints for {C} C
y1org = y 2org = 0,
C C
x1org =− x2org
C C
x1org = 0, C
x2or + x3org = 0,
C C
y1org + C y 2org + C y3org = 0
Number of relative robot orientation variables n·r = 2·1 = 2 n·r = 3·1 = 3
Selection of relative robot orientation variables φ1 , φ 2 φ1 , φ 2 , φ3
Number of cluster shape variables (s) Given n ≥ p ≠3, s = p(n-2)+1 = 1 Given n ≥ p ≠ 3, s = p(n-2)+1 = 3
Selection of cluster shape variables Size = d = C x1org =−C x2 org Side 1-2 length: p, Side 1-3 length: q, Lead angle: β
G G
Summary of Cluster Space State Variables C = ( x c , y c , θ c , φ1 , φ 2 , d ) T C = ( xc , yc , θ c , φ1 , φ2 , φ3 , p, q, β )T
G G
C = ( x c , y c , θc , φ1 , φ2 , d ) T C = ( xc , y c , θc , φ1 , φ2 , φ3 , p , q , β )T

A Maxstream 9Xstream™ 900 MHz serial radiomodem is


used to receive remotely generated robot-level velocity VII. EXPERIMENTAL DEMONSTRATION
commands and to return robot sensor data to an off-board We have successfully implemented our cluster space
control station consisting of a Pentium IV-class personal controller within the described hardware testbed in order to
computer. The computer runs a graphical interface (GUI) that experimentally demonstrate closed loop cluster space
allows a human operator to specify robot or cluster-level specification and control. This section presents the results
directives and to monitor activity. The computer also from selected regulated and trajectory-controlled test cases for
executes a Matlab-based control program that ingests sensor two- and three-robot clusters.
data, directives from the GUI, performs the desired control In performing these experiments, performance was limited
computation, and returns new velocity set points to be sent to by the quality of our sensors; the GPS components provided
each robot. The Matlab-based controller is particularly position data with a precision of +/- 0.95 meters (CEP) over
valuable for rapid integration and test given that our the duration of the experiments, and the digital compass was
investigators typically have a strong desire to use Matlab, accurate to within +/- 5 degrees. Performance was also
while our testbed developers typically consist of students with constrained by the use of only proportional control with
embedded systems programming knowledge. We note that we manual tuning. In addition, control commands were often
currently use only ~20% of the wireless system’s bandwidth. bounded in order to maintain robot velocities at a speed of less
than 1 m/sec.
A. Two-Robot Regulated Motion
This experiment was performed without a trajectory
generator by simply specifying constant desired values of
specific cluster speeds and using the controller to regulate
their values. The control loop servo rate was run at ~3 Hz, the
fastest possible rate at that time, in order to approximate
continuous time control; sensor acquisition and robot velocity
set-point commands were executed at the same rate. Fig. 6
shows the results of a demonstration in which the robots are
initially positioned with a size of d=4 m and a cluster heading
of θC=90°. The controller was given desired values for these
parameters of ddes=10 m and θCdes=0°; the remaining cluster
Fig. 5 – Experimental Testbed. Clusters of these vehicles were controlled
using the cluster space technique. On-board equipment includes GPS, a parameters were uncontrolled. As can be seen, once the
compass, and an array of microcontrollers. A GUI allows an operator to transient died out, cluster size was controlled to within 1 m
directly specify and monitor the motion of the two-robot cluster in real-time. and cluster heading was properly regulated.
7

(a) Overhead view of the actual path.

(b) Time history of cluster heading given a desired value of θC=0° at t=10 sec.

(c) Time history of cluster size given a desired value of d=10 m at t=10 sec.

Fig. 6 – Regulated Motion for the Two-Robot Cluster: Experimental


Results.

B. Three-Robot Trajectory-based Motion


This experiment used a trajectory generator to specify that
the cluster simultaneously translate along a 10 m diameter
circle, rotate at 1.5°/sec, and maintain its shape of a right
triangle with sides p = q = 10 m. Fig. 7 shows the resulting
motion [39]; the mean square errors were 0.504 m for XC, Fig. 7 – Trajectory Following Motion for the Three-Robot Cluster:
0.464 m for YC, 0.038° for θC, 1.589 m for p, 1.224 m for q, Experimental Results.
and 0.031° for β. These experiments were run at a control
servo rate of 10Hz. example, with increasing numbers of robots and DOFs, the
choice of appropriate shape variables is often ambiguous even
VIII. PERFORMANCE CONSIDERATIONS for a specific geometric template (e.g., there are many ways to
geometrically specify a shape as simple as a triangle). In
In considering the use of the cluster space control
addition, the selection of the appropriate geometric template is
technique, several issues relating to performance are worthy
often a function of the task, application, and operator.
of discussion.
Furthermore, given a particular geometric template, singular
A. Shape Variable Selection configurations of that geometry are possible, a condition that
Many interesting implementation issues arise due to the can provide challenges to effective control; this specific
selection and role of the cluster space shape variables. For problem is discussed further in the following subsection.
8

One strategy for effective shape variable selection is to C. Computational Complexity


select variables representing geometric parameters of little While the motivation of the cluster space approach is to
interest. The judicious use of default values for such improve specification and monitoring of mobile multi-robot
parameters can reduce complexity for the operator when motion, the inclusion of the kinematic transformations in the
directing the system without preventing the option for real-time control loop adds computational overhead. The
complete specification if desired; a good example of this is the practical effect of this overhead is the need for more powerful
skew angle of a triangular 3-robot formation. We are also processors or the reduction of the control loop servo rate.
working on techniques to support geometric template These demands make the cluster space approach intractable
switching in order to provide the most effective real-time for suitably large clusters. Although we have not yet
shape metaphor for the operator as configurations and tasks quantitatively characterized how computational complexity
change during operation. This would allow an operator using increases with the number of robots and the robot degrees of
a triangle metaphor for a three-robot cluster to seamlessly freedom, we are able to offer several observations and
direct the cluster to “line up” with certain parameters specific strategies for accommodating it in a practical manner.
to a linear template in order to achieve the next task, such as First, we note that the centralized approach and our
driving through a narrow passage. previously stated focus on applications with local operation
B. Singular Configurations and global communication makes the use of an off-board
computer for kinematic and control computations practical,
Configurations may exist for which the Jacobian or its
which is precisely why we have implemented our own testbed
inverse become singular. For example, for the three-robot
in this configuration. Use of an off-board non-mobile
cluster defined in Section V.B, singularities exist for the
computer allows more powerful processors to be used to
following cluster space values: p = 0, q = 0, p = ∞, q = ∞, and
address the computational demand.
β = π. The first two may be avoided with a collision Second, computational complexity is based on the
avoidance policy between the robots, and the second two are placement of {C} and the choice of cluster space variables.
not valid for the practical applications under consideration. As a simple illustration for both the two- and three-robot
The final configuration, however, is reached in a straight-line clusters, placing {C} coincident with Robot 1’s body frame
configuration in which Robot 1 is between the other robots. dramatically simplifies the kinematic relationships thereby
This may be avoided by policy; however, a straight-line reducing computational overhead. Third, direct sensing of
configuration is likely to be desired for arbitrary applications. cluster space variables can reduce the number of kinematic
When using a controller architecture such as that depicted computations executed in the feedback loop.
in Fig. 2, the practical effect of operating at or even near such A fourth option is to implement a dual-rate controller that
singularities is an undesirable computational amplification. updates the inverse Jacobian and, if used, the Jacobian
Exceptionally high commanded robot velocities can result in matrices, given that they are a function of the cluster’s pose, at
the forward portion of the control loop; these may be a rate slower than the primary control servo loop. The
addressed by incorporating thresholds on such commands. In Jacobian update rate would be determined based on the rates
the feedback path, errors in sensor measurements taken in the of change of the cluster’s pose, trading accuracy for
robot space and which must be transformed to the cluster computational complexity. Dual-rate controllers such as this
space via the kinematic relationships may be significantly are used for robotic manipulators [44]. A fifth strategy, one
amplified as well thereby preventing effective control; this we have yet to fully explore, is to reduce the effective size of
effect is analytically and experimentally characterized in [40]. the cluster state space in cases where certain cluster space
We are currently exploring alternatives to simply avoiding variables are held constant; this may occur for certain
singular configurations. One successfully demonstrated applications and may also result when operators use default
strategy for the three-robot straight-line singularity is to values for obscure shape parameters in large clusters, as
identify equivalent geometries for different cluster space discussed in Section VIII.A. Of course, a sixth option is to
values. For example, a non-singular three-robot straight-line execute the real-time control loop in conventional robot space
configuration is achieved for β = 0, although Robot 1 is and to use the kinematic transforms simply to support direct
positioned at the end of the line in this case. This can be interaction with the operator.
exploited by identifying non-singular configuration options While these techniques allow the cluster space technique to
for the operator or through abstraction with different robot be incrementally applied to clusters of larger size, the
assignments used by the operator than those used for real-time technique does not scale to arbitrary cluster sizes such as those
cluster control. An additional strategy currently under targeted by many of the techniques discussed in Section IX.
development is to use non-minimal cluster space variable We note, however, that such a limitation does not prevent the
representations with the objective of avoiding kinematic cluster space control approach from being a powerful and
singularities at the expense of added computational unique strategy for applications making use of a limited
complexity. number of robots operating in a local area with global
communication.
9

IX. RELATED WORK network of robotic sentry vehicles, which has been
Noteworthy comparisons and contrasts can be made by successfully demonstrated in applications ranging from
relating the work presented in this article to control system perimeter security to minefield maintenance [11].
approaches developed for both the formation control of Compared to these methods, the most distinctive feature of
mobile robots as well as the Cartesian control of robotic the cluster space approach is the abstracted level at which
manipulators. cluster pose and motions are both specified and controlled.
The control system designer can select a control policy
A. Formation Control of Multiple Robots specific to the motion quantities of interest rather than seeking
Control of non-holonomic vehicles is a well-studied topic in an applicable configuration of virtual body reference points or
the field of robotics. Work on stable and adaptive tracking for tuning the strengths of competing potential or behavioral
such vehicles have addressed both kinematic and dynamic fields. In addition, because cluster motion is specified as an
vehicle controllers and have developed the conditions for aggregate body, there is no need for explicit leaders, real or
stability [45], [46]. Within a single vehicle, compelling work virtual. Furthermore, in contrast to many “virtual rigid body”
has also been done on the coordinated control of approaches, the cluster space represents all pose degrees of
independently steered wheels that have strict kinematically- freedom, allowing the cluster to be fully articulated if this is
derived pose requirements in order to effectively implement demanded by the application.
vehicle-level maneuvers [47]. In contrast, the cluster space approach is centralized,
For multi-robot systems, significant previous work in requiring global state information in order to compute
cooperative and formation-keeping control has been compensation commands. The alternative approaches are
developed, drawing on work in control theory, robotics and decentralized, relying on local information. The result is the
biology [48] and applicable for robotic applications potential for better performance albeit at the cost of
throughout land, sea, air, and space. Notable work in this area significantly higher demands on computation and
includes the use of leader-follower techniques, in which communication resources. Enhanced performance for some
follower robots control their position relative to a designated applications, such as those requiring precise control of cluster
leader [49], [50]. A variant of this is leader-follower chains, variables such as inter-robot spacing, is also possible given
in which follower robots control their position relative to one that these states are directly controlled in our framework.
or more local leaders which, in turn, are following other local As discussed in Section VIII.C, these demands make the
leaders in a network that ultimately are led by a designated cluster space approach intractable for suitably large clusters
leader. For example, a follower robot might position itself and impractical for clusters operating with limited or
with respect to the local leader by sensing and controlling its periodically unavailable communication channels.
relative distance and bearing to that leader, or by maintaining Accordingly, the current focus for our cluster space work is
its relative distance between two local leaders [51]. for relatively small groups of mobile robots that operate
Several approaches employ artificial fields as a construct to within a limited workspace and with ample communication
establish formation-keeping forces for individual robots bandwidth such that off-board computational support is
within a formation. For example, potential fields may be used available as necessary; in addition, applications of interest are
to implement repulsive forces among neighboring robots and those in which reliable high bandwidth communications are
between robots and objects in the field in order to required for the task (e.g., realtime distributed sensor fusion)
symmetrically surround an object to be transported [52]. or in which critical cluster space quantities can be implicitly
Potential fields and behavioral motion primitives have also sensed (e.g., multi-robot object transport [33]).
been used to compute reactive robot drive commands that
B. Cartesian Control of Manipulators
balance the need to arrive at the final destination, to maintain
relative locations within the formation, and to avoid obstacles A significant comparison can be made between the cluster
[23], [53]-[54]. As another example, the Virtual Bodies and space approach and the Cartesian (or Operational) Space
Artificial Potentials (VBAP) approach uses potential fields to control approach that has been developed for serial chain
maintain the relative distances both between neighboring manipulators [44], [58]. In both, kinematic transforms allow
robots as well as between robots and reference points, or motion commands to be specified in an alternate space that
“virtual leaders,” that define the “virtual body” of the can improve the quality of operator interaction and motion
formation [55]-[56]; this approach has been successfully characteristics. Just as it would be painstaking for an operator
demonstrated in field tests of underwater robots performing a to directly specify the joint trajectories required to move the
distributed sampling mission [12]. endpoint of a 6-DOF articulated manipulator in a straight line,
Several alternate approaches have used decentralized it would be overwhelming to have a mobile cluster pilot
control theory [18], [57] as the conceptual basis for the independently drive several robots to implement a cluster-
modeling and control of robot clusters; a benefit of this level directive with any level of complexity. A second
approach is its ability to allow detailed analysis of system comparison is that in both approaches, the kinematics relate a
stability, controllability and observability. One example of an vector of variables referenced in the global frame to a vector
implemented system using this approach is the RATLER of variables that are referenced in separate frames (e.g.,
10

separate link frames for a manipulator, and a combination of particular choice of clusters space variables for each as well as
global and cluster frames for our approach). the presentation of the resulting kinematic transformations. It
In contrast, one significant difference lies in the scope of also included the use of these transforms in the real-time
the Cartesian space and cluster space controllers. To date, the control of real robots. These experiments utilized a low-cost
cluster space approach has only been used to update velocity testbed consisting of commercially available robot chasses
set points that are implemented by each robot’s closed-loop with custom sensing suites and an off-board computer that
velocity control system. In contrast, Cartesian controllers wirelessly communicated with the robots and computed the
have been proven useful not only in computing velocity set real-time control law. Experimental results show that simple
points for joints but also for full dynamic control in which cluster space motions can be specified and monitored by a
joint forces and torques are computed and directly applied to single operator or pilot, even when the equivalent robot-
the manipulator in order to achieve the desired result. specific motions are quite complex. We believe that this will
lead to enhanced performance, cost-effective improvements in
X. ONGOING AND FUTURE WORK the operator/robot ratio for controlling multi-robot systems,
To date, we have successfully used the cluster space control and a reduced learning curve for new operators/pilots.
approach to demonstrate cluster-space-based versions of Our ongoing work includes applying cluster space control
regulated motion control [30], automated trajectory control to systems of increasing DOFs and in different domains,
[31]-[32], human-in-the-loop piloting [33]-[34], partitioned addressing implementation issues such as control near singular
model-based control [35], and potential field-based obstacle configurations and computational complexity, and integrating
avoidance [36]-[38]. This work has included experiments this motion control strategy with application-layer controllers
with 2-, 3- and 4-robot planar land rover clusters [39]-[41], that support collaborative multi-robot behavior.
with 2-boat surface vessel systems [42], and for robots that are
both holonomic and non-holonomic. Current initiatives ACKNOWLEDGMENT
include implementing cluster space control on small clusters The authors thank student researchers who assisted with
of aerostatically stable 4-DOF blimps, using redundant shape performing experiments and who have contributed to the
variables to overcome the computational challenges associated development of the cluster space approach, to include authors
with singularities, and integrating a spoken dialog interface to listed in [30]-[42]. This work has benefited greatly through
allow verbal command of the system. the feedback of numerous colleagues; the authors are
In the future, we plan to explore the scalability of this particularly indebted to Dr. John Melton and the RSL graduate
approach to systems with more robots and additional degrees research team for their invaluable comments and critical
of freedom; this will include experimental demonstrations that review regarding this work.
exploit the array of our robotic devices that operate in land,
sea, air and space [59]. To address tractability issues, we plan REFERENCES
to investigate the use of dual rate control approaches in which [1] D. Folta, L. Newman, and D. Quinn, “Design and implementation of
the inverse Jacobian is updated at a rate slower than the satellite formations and constellations,” Advances in the Astronautical
Sciences, v 100, n 1, pp. 57-70, 1998.
primary servo rate. In addition, we will examine methods of [2] R. DeFazzio, S. Owens, and S. Good, “Follow that satellite: EO-1
linking application-oriented task specifications to cluster maneuvers into close formation with landsat-7,” Advances in the
space primitives in order to support goal directed behaviors of Astronautical Sciences, v 109 , n 3, pp. 2095-2113, 2002.
the multi-robot system. Finally, to improve our ability to [3] J. Goutoule and F. de Boer, “Large interferometer antennas synthesized
by satellites in formation for earth remote sensing,” Proceedings 2000
experimentally verify and validate our work, we are International Geoscience and Remote Sensing Symposium (IGARSS), v
continuously improving the capabilities and performance of 2, pp. 869-870.
our hardware-in-the-loop testbed by adding diverse pose [4] D. Miller, A. Saenz-Otero, J. Wertz, A. Chen, G. Berkowski, C. Brodel,
S. Carlson, D. Carpenter, S. Chen, S. Cheng, D. Feller, S. Jackson, B.
sensing suites, additional wireless communication links, and Pitts, F. Perez, and J. Szuminski. “Spheres: A testbed for long duration
more powerful on-board computers. satellite formation flying in micro-gravity conditions,” Advances in the
Astronautical Sciences, v 105, n 1, pp. 167-179, 2000.
[5] B. Palmintier, C. Kitts, P. Stang, and M. Swartwout, "A distributed
XI. SUMMARY AND CONCLUSIONS control architecture for small satellite and multi-spacecraft missions,"
We have introduced the cluster space state representation as Proceedings 2002 AIAA/USU Conference on Small Satellites, Logan
Utah, Paper No. SSC02-IV-6.
a means of specifying the control of mobile multi-robot [6] T. Speer, E. Mills, and J. Tate, “Formation flight technology,” Aircr
systems. Our conceptual framework includes a methodology Eng, v 43, n 7, pp. 408, July 1971.
for selecting cluster space state variables, the use of formal [7] I. Kaminer, O. Yakimenko, V. Dobrokhodov, M. Lizarraga, and A.
kinematics relating these cluster space state variables to robot- Pascoal, “Cooperative control of small UAVs for naval applications,”
Proceedings of the 2004 IEEE Conference on Decision and Control, v 1,
specific variables, and an architecture for incorporating these pp. 626-631.
kinematics into a cluster space control system. [8] R. Becker, C. Borowski, O. Petrovic, C. Kitts, and N. Quinn, “SCU
To demonstrate this technique, we have applied it to the aerial robotics team – Experimentation with an autonomous UAV
observation platform,” Proceedings 2004 AUVSI Unmanned Systems
control of two- and three-robot clusters consisting of wheeled North America Symposium, pp. 1661-1673.
differential drive rovers operating in a plane. This included a
11

[9] C. Ortiz, K. Konolige, R. Vincent, B. Morisset, A. Agno, M. Eriksen, D. M.S. Thesis, Dept. of Electrical Engineering, Santa Clara University,
Fox, B. Limketkai, J. Ko, B. Steward, and D. Schulz, “Centibots: Very Santa Clara, CA, December 2005.
large scale distributed robotic teams,” Proceedings 2004 Sixteenth [31] P. Connolley, “Design and Implementation of a Cluster Space Trajectory
Innovative Applications of Artificial Intelligence Conference (IAAI- Controller for Multiple Holonomic Robots,” C. Kitts, Adv., M.S. Thesis,
2004), pp. 1022-1023. Dept. of Mechanical Engineering, Santa Clara University, Santa Clara,
[10] R. Grabowski, L. Navarro, C. Paredis, and P. Khosla, “Heterogeneous CA, June 2006.
teams of modular robots for mapping and exploration,” Autonomous [32] T. To, “Automated Cluster Space Trajectory Control of Two Non-
Robots - Special Issue on Heterogeneous Multirobot Systems, v 8, n 3, Holonomic Robots,” C. Kitts, Adv., M.S. Thesis, Dept. of Computer
pp. 293-308, June 2000. Engineering, Santa Clara University, Santa Clara, CA, June 2006.
[11] J. Feddema, C. Lewis, and P. Klarer, “Control of multiple robotic sentry [33] M. Kalkbrenner, “Design and Implementation of a Cluster Space Human
vehicles,” Proceedings of SPIE - The International Society for Optical Interface Controller, including Applications to Multi-Robot Piloting and
Engineering, v 3693, pp. 212-223, 1999. Multi-Robot Object Manipulation,” C. Kitts, Adv., M.S. Thesis, Dept. of
[12] E. Fiorelli, N. E., Leonard, P. Bhatta, D. Paley, R. Bachmayer, and D. M. Mechanical Engineering, Santa Clara University, Santa Clara, CA, June
Fratantoni, “Multi-AUV control and adaptive sampling in Monterey 2006.
Bay,” IEEE Journal of Oceanic Engineering, v 31, n 4, pp. 935-948, [34] B. Tully, “Cluster Space Piloting of a Nonholonomic Multi-Robot
October 2006. System,” C. Kitts, Adv., M.S. Thesis, Dept. of Computer Engineering,
[13] Y. Tan and B. Bishop, “Evaluation of robot swarm control methods for Santa Clara University, Santa Clara, CA, June 2006.
underwater mine countermeasures,” Proceedings of the 2004 Annual [35] R. Lee, “Model-Based Cluster-Space Control of Multiple Robot
Southeastern Symposium on System Theory, v 36, pp. 294-298 Systems,” C. Kitts, Adv., M.S. Thesis, Dept. of Mechanical Engineering,
[14] E. Yang, and D. Gu, “Nonlinear formation-keeping and mooring control Santa Clara University, Santa Clara, CA, June 2007.
of multiple autonomous underwater vehicles,” IEEE/ASME Transactions [36] P. Chindaphorn, “Cluster Space Obstacle Avoidance for Two Non-
on Mechatronics, v 12, n 2, pp. 164-178., April 2007. Holonomic Robots,” C. Kitts, Adv., M.S. Thesis, Dept. of Computer
[15] H. Geismar, C. Sriskandarajah, and N. Ramanan, “Increasing throughput Engineering, Santa Clara University, Santa Clara, CA, June 2006.
for robotic cells with parallel machines and multiple robots,” IEEE [37] K. Stanhouse, “Cluster Space Obstacle Avoidance for Mobile Multi-
Transactions on Automation Science and Engineering, v 1, n 1, pp. 84- Robot Systems,” C. Kitts, Adv., M.S. Thesis, Dept. of Electrical
89, July 2004. Engineering, Santa Clara University, Santa Clara, CA, December 2006.
[16] O. Khatib, K. Yokoi, K. Chang, D. Ruspini, R. Holmberg, and A. Casal, [38] C. Kitts, K. Stanhouse, and P. Chindaphorn, “Cluster space collision
"Coordination and decentralized cooperation of multiple mobile avoidance for mobile multi-robot systems,” In draft for submission to
manipulators," Journal of Robotic System, v 13, n 11, pp. 755-764, International Journal of Robotics Research.
November 1996. [39] I. Mas, O. Petrovic, and C. Kitts, “Cluster space specification and
[17] D. Sun, and J.K. Mills, “Manipulating rigid payloads with multiple control of a 3-robot mobile system,” Proceedings of the 2008 IEEE
robots using compliant grippers,” IEEE/ASME Transactions on International Conference on Robotics and Automation, Pasadena, CA,
Mechatronics, v 7, n 1, pp. 23-34, March 2002. pp. 3763-3768.
[18] D. Siljak, Decentralized Control of Complex Systems, New York: [40] I. Mas, J. Acain, O. Petrovic, and C. Kitts, “Error characterization in the
Academic, 1991. vicinity of singularities in multi-robot cluster space control,” 2008 IEEE
[19] M. Ikeda, “Decentralized control of large-scale systems,” in Three International Conference on Robotics and Biomimetics, Bangkok,
Decades of Mathematical Systems Theory, H. Nijmeijer and J. Thailand, in press.
Schumacher, Eds. Berlin: Springer-Verlag, pp. 219-242, 1989. [41] E. Girod, “Design and Implementation of Four Robot Cluster Space
[20] T. Yang, H. Yu, M. Fei, and L. Li, “Networked control systems: a Control,” C. Kitts, Adv., M.S. Thesis, Dept. of Mechanical Engineering,
historical review and current research topics,” Measurement and Santa Clara University, Santa Clara, CA, June 2008.
Control, v 38, n 1, pp. 12-16, February 2005. [42] P. Mahacek, I. Mas, O. Petrovic, J. Acain, and C. Kitts, “Cluster space
[21] R. Carpenter, “Decentralized control of satellite formations,” control of a 2-robot system as applied to autonomous surface vessels,”
International Journal of Robust and Nonlinear Control, v 12, n 2-3, pp. Accepted for publication in Proceedings of the 2008 IEEE Oceans
141-161, February/March 2002. Conference, Quebec City, Canada.
[22] S. Stankovic, M. Stanojevic, and D. Siljak, “Decentralized overlapping [43] M. Neumann and C. Kitts. “Control of Two Holonomic Robots Using a
control of a platoon of vehicles,” IEEE Transactions on Control Systems Camera-Referenced Specification of Motion.” Collection of Technical
Technology, v 8, n 5, pp. 816-831, September 2000. Papers – AIAA 3rd “Unmanned-Unlimited” Technical Conference,
[23] T. Balch and R. Arkin, “Behavior-based formation control for multirobot Workshop, and Exhibit, Chicago, IL, September 20-23, 2004.
teams,” IEEE Transactions on Robotics and Automation, v 14, n 6, pp. [44] J. Craig, Introduction to Robotics: Mechanics and Control, 3rd Edition,
926-939, December 1998. Upper Saddle River: Prentice-Hall, 2004.
[24] E. Flinn, “Testing for the ‘boids’,” Aerospace America, v 43, n 6, pp. 28- [45] Y. Kanayama, “A stable tracking control method for a non-holonomic
29, June, 2005. mobile robot,” Proceedings 1991 IEEE/RSJ International Workshop on
[25] H. Yamaguchi and T. Arai, “Distributed and autonomous control method Intelligent Robots and Systems, pp. 1236-1241.
for generating shape of multiple mobile robot group,” Proceedings 1994 [46] T. Fukao, H. Nakagawa, and N. Adachi, “Adaptive tracking control of a
EEE/RSJ International Conference on Intelligent Robots and Systems, nonholonomic mobile robot,” IEEE Transactions on Robotics and
pp. 800-807. Automation, v 16, n 5, pp. 609-615, October 2000.
[26] K. Tan, and M. Lewis, “Virtual Structures for High-Precision [47] Y. Li, L. Yang, and G. Yang, “Network-based coordinated motion
Cooperative Mobile Robotic Control,” Proceedings of the 1996 control of large-scale transportation vehicles,” IEEE/ASME Transactions
IEEE/RSJ International Conference on Intelligent Robots and Systems, on Mechatronics, v 12, n 2, pp. 208-215, April 2007.
pp. 132-139. [48] V. Kumar, N. E. Leonard, and A. S. Morse, Eds., Cooperative Control:
[27] M. Hashimoto, F. Oba and T. Eguchi, “Dynamic control approach for A Post-Workshop Volume, 2003 Block Island Workshop on Cooperative
motion coordination of multiple wheeled mobile robots transporting a Control. New York: Springer-Verlag, 2005.
single object,” Proceedings 1995 IEEE/RSJ International Conference on [49] Z. Wang and D. Gu, “A local sensor based leader-follower flocking
Intelligent Robots and Systems, pp. 1944-1951. system,” Proceedings of the 2008 IEEE International Conference on
[28] D. Rus, B. Donald and J. Jennings, “Moving furniture with teams of Robotics and Automation, Pasadena, CA, pp. 3790-3795.
autonomous robots,” Proceedings 1995 IEEE/RSJ International [50] Y. Hur, R. Fierro, and I. Lee, “Modeling Distributed Autonomous
Conference on Intelligent Robots and Systems, pp. 235-248. Robots using CHARON: Formation Control Case Study,” Proceedings
[29] C.P. Tang, R.M. Bhatt, M.Abou-Samah, and V. Krovi, “Screw-theoretic 2003 IEEE International Symposium on Object-Oriented Real-Time
analysis framework for cooperative payload transport by mobile Distributed Computing, Hokkaido, Japan, pp. 93-96.
manipulator collectives,” IEEE/ASME Transactions on Mechatronics, v [51] A. Das, et al., “A Vision-Based Formation Control Framework,” IEEE
11, n 2, pp. 169-178, April 2006. Transactions on Robotics and Automation, v 18, n 5, pp. 813-825,
[30] R. Ishizu, “The Design, Simulation and Implementation of Multi-Robot October 2002.
Collaborative Control from the Cluster Perspective,” C. Kitts, Adv.,
12

G G
[52] P. Song and V. Kumar, “A Potential field Based Approach to Multi- where C = [xc yc d θ c φ1 φ2 ] , R = [x1 x2
T
y1 y 2 θ1 θ 2 ]
T
,
Robot Manipulation,” Proceedings 2002 IEEE International Conference
A = 2 ( x1 − x 2 ) 2 + ( y1 − y 2 ) 2 , B = ( x1 − x 2 ) + ( y1 − y 2 ) , and
2 2
on Robotics and Automation, v 2, pp. 1217-1222.
[53] R. Dougherty, V. Ochoa, Z. Randles, and C. Kitts, “A behavioral control
approach to formation-keeping through an obstacle field,” Proceedings
2004 IEEE Aerospace Conference, v 1, pp. 168-175. ⎡1 0 sin(θ c ) d cos(θ c ) 0 0⎤
[54] F. E. Schneider and D. Wildermuth, “A potential field based approach ⎢1 0 − sin(θ c ) − d cos(θ c ) 0 0⎥⎥
to multi robot formation navigation,” Proceedings 2003 IEEE ⎢
International Conference on Robotics, Intelligent systems and Signal G ⎢0 1 cos(θ c ) − d sin(θ c ) 0 0⎥ G
Processing, pp. 680-686. R=⎢ ⎥C
[55] N. E. Leonard and E. Fiorelli, “Virtual leaders, artificial potentials and
⎢0 1 − cos(θ c ) d sin(θ c ) 0 0⎥
coordinated control of groups,” Proc. 2001 IEEE Conf. Decision and
Control, pp. 2968–2973. ⎢0 0 0 1 1 0⎥
[56] P. Ögren, E. Fiorelli and N. E. Leonard, “Formations with a mission: ⎢ ⎥
Stable coordination of vehicle group maneuvers,” Proc of the 2002 ⎢⎣0 0 0 1 0 1⎥⎦
Symposium of Mathematical Theory of Networks and Systems, pp. 1-15.
[57] M.E. Sezer and D.D. Siljak, “Robust stability of discrete systems,” Int. J. Given the selection of cluster space state variables
Control, v. 48, n. 5, pp. 2055-2063, 1988. presented in Section IV.B, a simplified approximation of the
[58] O. Khatib, "The operational space formulation in the analysis, design,
and control of manipulators," Proc. Of the 1986 Int. Symposium on forward position kinematic relationships for the three-robot
Robotics Research, pp. 261-270, 1986. system are [39]:
[59] C. Kitts, “Surf, turf, and above the Earth,” IEEE Robotics and
Automation Magazine, v 10, n 3, pp. 30-36, September 2003.
x1 + x2 + x3
[60] MATLAB Function Reference, The Mathworks, Natick, MA, 2008. xc =
[61] I. Mas, et al., “Entrapment/Escorting and Patrolling Missions in Multi- 3
Robot Cluster Space Control,” Submitted to IEEE/RSJ International y1 + y 2 + y 3
Conference on Intelligent Robots and Systems, St. Louis MO, October yc =
2009. 3
θ c = ATAN 2({2 / 3( x1 ) − 1 / 3( x 2 + x3 )}, {2 / 3( y1 ) − 1 / 3( y 2 + y 3 )})
APPENDIX φ1 = θ 1 + θ c
Given the selection of cluster space state variables φ2 = θ 2 + θ c
presented in Section IV.A, the forward position kinematic φ3 = θ 3 + θ c
relationships for the two-robot system are [30]:
p= (x1 − x2 )2 + ( y1 − y 2 )2
xc =
x1 + x 2
yc =
y1 + y 2 q= (x3 − x1 )2 + ( y1 − y 3 )2
2 2 ⎛ p 2 + q 2 − ( x3 − x 2 ) 2 − ( y 3 − y 2 ) 2 ⎞
β = cos −1 ⎜⎜ ⎟
d=
1
( x1 − x 2 ) 2 + ( y1 − y 2 ) 2 θ c = ATAN 2(x1 − x 2 , y1 − y 2 ) ⎟
2 ⎝ 2 pq ⎠
φ1 = θ1 − ATAN 2(x1 − x2 , y1 − y 2 ) φ 2 = θ 2 − ATAN 2( x1 − x 2 , y1 − y 2 )
The resulting inverse position kinematic relationships for the
where ATAN2 is a two-argument computational function that two-robot system are:
calculates a four-quadrant arc tangent with a range of [π, -π]
[60]. The inverse position kinematic relationships are: x1 = x c + (1 / 3)r sin θ c
y1 = y c + (1 / 3)r cos θ c
x1 = xc + d sin(θ c ) y1 = y c + d cos(θ c ) θ 1 = φ1 − θ c
x 2 = xc − d sin(θ c ) y 2 = y c − d cos(θ c ) x 2 = x c + (1 / 3)r sin θ c − p sin( β / 2 + θ c )
θ1 = θ c + φ1 θ 2 = θ c + φ2 y 2 = y c + (1 / 3)r cos θ c − p cos( β / 2 + θ c )
θ 2 = φ2 − θ c
By differentiating the position kinematic expressions, the x3 = x c + (1 / 3)r sin θ c + q sin( β / 2 − θ c )
velocity kinematics may be expressed as: y 3 = y c + (1 / 3)r cos θ c − q sin( β / 2 − θ c )
θ 3 = φ3 − θ c
⎡ 1 1 ⎤
⎢ 0 0 0 0⎥
2 2
⎢ ⎥
⎢ 0 0
1 1
0 0⎥ where r = (q + p cos β )2 + ( p sin β )2 .
⎢ 2 2 ⎥
⎢ x1 − x2 − x1 + x2 y1 − y 2 − y1 + y 2
0 0⎥ G
G ⎢ ⎥ Due to limited space, the Jacobian and inverse Jacobian for
C=⎢ A A A A
y1 − y 2 − y1 + y 2 − x1 + x2 x1 − x2 ⎥R
⎢ 0 0⎥ the three-robot system are not included here. The three-robot
⎢ B B B B ⎥ kinematics provide adequate performance when p ≈ q. An
⎢ − y1 + y 2 y1 − y 2 x1 − x2 − x1 + x2
1 0⎥
⎢ B B B B ⎥ exact kinematic form is presented in [61].
⎢ − y1 + y 2 y1 − y 2 x1 − x2 − x1 + x2 ⎥
⎢ 0 1⎥
⎣ B B B B ⎦

You might also like