MULTI-ROBOT FORMATIONS:
RULE-BASED SYNTHESIS AND STABILITY ANALYSIS
by
David James Naffin
A Dissertation Presented to the
FACULTY OF THE GRADUATE SCHOOL
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Fulfillment of the
Requirements for the Degree
DOCTOR OF PHILOSOPHY
(COMPUTER SCIENCE)
May 2006
Copyright 2006
David James Naffin
Acknowledgments
A thesis such as this is never created in a vacuum. So many have contributed in some
fashion that it is even hard to begin acknowledging all those involved. However I will
endeavor to try. First I would like to thank my thesis adviser, Gaurav Sukhatme, for
all his guidance. I also would like to thank my fellow lab-mates; Karthik Dantu, Amit
Dhariwal, Dennis Wolf, Kale ”Hopper” Harbick, Stefan Hrabar, Boyoon ”Gadget” Jung,
Sameera Poduri, Gabe Sibley, Marin Kobilarov, Maxim Batalin and Bin Zhang for all
their feedback over the years. I especially would like to thank Srikanth Saripalli for all
his assistance as well as our countless hours of discussions.
Closer to home, I would like to thank my wife Stephanie for all her love and encouragement during the entire process and for spending many nights alone while I labored in
my ”cave”. Finally, I would like to thank my parents James and Patricia for their years
of love, encouragement and support.
ii
Contents
Acknowledgments
ii
List Of Tables
vi
List Of Figures
vii
Abstract
1 Introduction
1.1 Problem Overview . . . .
1.2 Motivation . . . . . . . .
1.3 Significant Contributions .
1.4 Proposal Outline . . . . .
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Formations: Foundations and Definitions
2.1 Definition . . . . . . . . . . . . . . . . . . . . . .
2.2 Congruency and Maximally Constrained Graphs
2.3 Platoons . . . . . . . . . . . . . . . . . . . . . . .
2.4 Platoon Graphs . . . . . . . . . . . . . . . . . . .
2.5 Classifying Formations . . . . . . . . . . . . . . .
2.6 Graph Grammars . . . . . . . . . . . . . . . . . .
2.7 Formal Problem Statement . . . . . . . . . . . .
3 The
3.1
3.2
3.3
3.4
3.5
Formation Assembly Algorithm
Assumptions . . . . . . . . . . . . .
Overview of the Approach . . . . . .
Negotiation . . . . . . . . . . . . . .
Stable versus Unstable Rule Sets . .
Generating Rule Sets . . . . . . . . .
3.5.1 Constructive Rules . . . . . .
3.5.2 Merging Rule Sets . . . . . .
3.5.3 Destructive Rules . . . . . . .
3.5.4 Mixed Rules . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
3
4
.
.
.
.
.
.
.
5
5
6
8
10
10
12
15
.
.
.
.
.
.
.
.
.
17
18
19
20
21
22
22
23
25
26
iii
4 Experimental Results: Formation Assembly
4.1 Architecture and Implementation on Robots . . . . . . . . . . . .
4.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Choice of Sensors and the Type of Formation Geometries
4.3 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Simulations . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Physical Robots . . . . . . . . . . . . . . . . . . . . . . .
4.3.3 Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.4 Experimental results . . . . . . . . . . . . . . . . . . . . .
4.4 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Interconnected Systems and String
5.1 Types of Stability . . . . . . . . . .
5.2 String Stability . . . . . . . . . . .
5.2.1 Longitudinal Control . . . .
5.2.2 Experimental Methods . . .
5.2.3 Experimental Results . . .
Stability
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
6 Two Dimensional Controller Design
6.1 Holonomic versus Non-holonomic Control
6.2 Planar Kinematics . . . . . . . . . . . . .
6.3 Controller Design . . . . . . . . . . . . . .
6.3.1 Unidirectional Linear Control . . .
6.3.2 Bidirectional Linear Control . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
30
31
32
33
33
35
35
37
40
.
.
.
.
.
43
44
45
46
52
52
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
58
59
59
64
64
65
7 Related Work
7.1 Overview . . . . . . . . . . . . . . . . . . . .
7.2 Biological Formations . . . . . . . . . . . . .
7.3 Self Assembly . . . . . . . . . . . . . . . . . .
7.3.1 Flocking . . . . . . . . . . . . . . . . .
7.3.2 Biologically Inspired . . . . . . . . . .
7.3.2.1 Bonabeau et al, 1994 . . . .
7.3.3 Complex Arbitrate Geometries . . . .
7.3.3.1 Jones et al, 2003 . . . . . . .
7.3.3.2 Klavins, 2004 . . . . . . . . .
7.3.4 Our Contribution . . . . . . . . . . . .
7.4 Formation Maintenance Control . . . . . . . .
7.4.1 Behavior Based . . . . . . . . . . . . .
7.4.1.1 Chen and Luh 1994 . . . . .
7.4.1.2 Balch and Arkin 1994 . . . .
7.4.1.3 Balch and Hybinette 2000 . .
7.4.1.4 Fredslund and Mataric̀ 2002
7.4.1.5 Das, Fierro, et al 2002 . . . .
7.4.1.6 Lawton and Beard 2003 . . .
7.4.2 Leader-Follower . . . . . . . . . . . . .
7.4.2.1 Wang 1991 . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
70
70
71
71
71
72
72
72
72
73
73
73
75
75
75
75
76
76
77
77
77
.
.
.
.
.
iv
7.4.3
7.5
7.4.4
String
7.5.1
7.5.2
7.5.3
7.5.4
7.5.5
7.4.2.2 Desai, Ostrowski and Kumar 1998
7.4.2.3 Vidal, Shakernia and Sastry 2003
Virtual Structure . . . . . . . . . . . . . . .
7.4.3.1 Lewis and Tan 1997 . . . . . . . .
7.4.3.2 Young, Beard and Kelsey 2001 . .
Our Contribution . . . . . . . . . . . . . . .
Stability . . . . . . . . . . . . . . . . . . . .
Early Work . . . . . . . . . . . . . . . . . .
Tannar, Pappas and Kumar 2002 . . . . . .
Fax and Murray 2002 . . . . . . . . . . . .
Overlapping Controllers . . . . . . . . . . .
Our Contribution . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8 Conclusions
8.1 Significant Contributions . . . . . . . . . . . . . . . . . .
8.2 Open Issues . . . . . . . . . . . . . . . . . . . . . . . . .
8.2.1 Formation Transitions and Navigating Obstacles
8.2.2 Rigidity Analysis . . . . . . . . . . . . . . . . . .
8.2.3 Non-linear Controllers . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
77
78
78
78
78
79
79
79
80
80
80
81
.
.
.
.
.
82
82
84
84
84
84
References
84
Appendix A
Rule set for a five robot wedge . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
Appendix B
Platoon Reduction Algorithm Details
91
. . . . . . . . . . . . . . . . . . . . . . .
v
List Of Tables
3.1
Mixed rules used to create consistent labeling . . . . . . . . . . . . . . . .
28
4.1
Summary of behaviors . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.2
Holonomic simulation results . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.3
Non-holonomic simulation results . . . . . . . . . . . . . . . . . . . . . . .
38
4.4
Pioneer 2-DX results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.5
Rule set and state transitions for a three robot system assembling a platoon 41
5.1
Comparison of peak overshoot values . . . . . . . . . . . . . . . . . . . . .
52
6.1
Comparison of peak separation overshoot (in meters) . . . . . . . . . . . .
68
6.2
Comparison of peak bearing overshoot (in degrees) . . . . . . . . . . . . .
69
6.3
Comparison of steady state errors for the bidirectional controller . . . . .
69
7.1
Comparison of formation-based self assembly literature . . . . . . . . . . .
71
7.2
Comparison of formation maintenance literature . . . . . . . . . . . . . .
74
vi
List Of Figures
1.1
Thesis overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1
A sample formation and a graph representation.
. . . . . . . . . . . . . .
5
2.2
Two congruent formations graphs . . . . . . . . . . . . . . . . . . . . . . .
6
2.3
A sample formation and its maximally constrained graph representation. .
8
2.4
A sample subgraph for a platoon of size four. . . . . . . . . . . . . . . . .
8
2.5
A formation, its formation graph and its corresponding platoon graph . .
9
2.6
A sample wedge formation and its formation and platoon graphs. . . . . .
11
2.7
Two formations that are members of the diamond class . . . . . . . . . .
16
3.1
Thesis overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.2
A sample rule-set for generating a wedge formation. . . . . . . . . . . . .
20
3.3
An example of an unstable rule set. . . . . . . . . . . . . . . . . . . . . . .
21
3.4
An example of rule set generation. . . . . . . . . . . . . . . . . . . . . . .
24
3.5
Examples of destructive and mixed rules. . . . . . . . . . . . . . . . . . .
27
4.1
Thesis overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.2
System architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.3
Robots in formation: Column(TL), Line(TR), Wedge(BL), Diamond(BR)
36
4.4
Gazebo robots in formation: Column and Wedge . . . . . . . . . . . . . .
37
vii
4.5
Convergence analysis for three simple types of formations . . . . . . . . .
41
4.6
Convergence results for four physical robots . . . . . . . . . . . . . . . . .
42
5.1
Thesis overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2
Unidirectional controller demonstrating string instability (Gazebo Simulation) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
5.3
Bidirectional controller demonstrating string stability (Gazebo Simulation) 54
5.4
Bidirectional controller demonstrating string stabilities (Physical Robots)
54
5.5
Separation errors for a bidirectional longitude controller while maintaining
a 30 degree bearing. (Gazebo Simulation) . . . . . . . . . . . . . . . . . .
55
Bearing errors for a bidirectional longitude controller while maintaining a
30 degree bearing. (Gazebo Simulation) . . . . . . . . . . . . . . . . . . .
55
Separation errors for a bidirectional longitude controller while maintaining
a 45 degree bearing. (Gazebo Simulation) . . . . . . . . . . . . . . . . . .
56
Bearing errors for a bidirectional longitude controller while maintaining a
45 degree bearing. (Gazebo Simulation) . . . . . . . . . . . . . . . . . . .
56
Separation errors for a bidirectional longitude controller while maintaining
a 60 degree bearing. (Gazebo Simulation) . . . . . . . . . . . . . . . . . .
57
5.10 Bearing errors for a bidirectional longitude controller while maintaining a
60 degree bearing. (Gazebo Simulation) . . . . . . . . . . . . . . . . . . .
57
6.1
Thesis overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
6.2
Leader - Follower geometry . . . . . . . . . . . . . . . . . . . . . . . . . .
60
6.3
Unidirectional PID controller results for leader - follower . . . . . . . . . .
65
6.4
Unidirectional PID controller results for leader - follower platoon . . . . .
66
6.5
Bidirectional PID controller results for leader - follower platoon . . . . . .
69
5.6
5.7
5.8
5.9
A.1 All combinations of PCFs for a five robot wedge formation
. . . . . . . .
89
A.2 All combinations of rule sets for a five robot wedge formation . . . . . . .
90
viii
Abstract
This thesis addresses three aspects of the multi-robot formation problem. Our contributions are: a novel ”bottom-up” approach to formation assembly, a formal model for
describing the assembly coordination based on a sequence of graph transformations, and
a set of control policies that eliminate string instability within a formation. Specifically,
we present a decentralized approach to assembling and maintaining robot formations.
Starting with a collection of single robots, our approach assembles platoons, or line segments of robots, followed by larger, more complex formations. Formation growth occurs
by negotiation when robots are in close proximity and is governed by a set of simple rules
based on a graph grammar. We formally define robot formations as directed graphs and
define a rule-based graph grammar that describes the assembly coordination. Using this
formalism we state and validate three hypotheses: First, given a desired formation there
exists a set of rules which cause the formation to be created, Second, given such a set of
rules, a controller for each robot can be designed which when executed on a set of robots
will cause the robots to assemble in the proper formation, and third, this controller has
the necessary stability properties for disturbance rejection. Experimental validation for
these hypotheses is provided in simulation and in limited tests on physical non-holonomic
robots.
ix
Chapter 1
Introduction
1.1
Problem Overview
We are interested in studying the problem of assembling and maintaining formations of
robots. A formation is a set of robots that maintain a particular set of geometric constraints among themselves. We are interested in a) Developing and analyzing a distributed
control system that allows a set of robots to assemble and maintain a given formation,
and b) Developing metrics for analyzing and predicting the performance of such systems.
This chapter provides an overview of the thesis. Chapter two introduces the underlying
formalism and associated assertions following which a formal problem statement is given.
1.2
Motivation
Why study formations of robots? Besides the challenge of accurately controlling multiple
robots, there are potential benefits associated with the coordination of multiple robots.
Nature favors animals that have the ability to move in formations such as flocks of birds
or schools of fish. Animals that can combine their sensing abilities have been shown to
1
better avoid predators and efficiently forage for food [34]. Studies have shown that geese
flying in ’V’ or wedge formations can extend their range due to the energy savings from
riding each other’s air vortexes [3]. Dolphins are known to swim in formations to protect
their calves from predators [45]. Herd and pack animals have been shown to use group
organization to attack larger prey, defend against predators and increase their chances of
survival [30]. Both the Air Force and NASA have identified autonomous formations of
aircraft and spacecraft as key technological milestones for the twenty-first century [33].
General Hal M. Hornberg, Commander of Air Combat, is quoted as saying, ”The Air
Force needs UAVs that can fly in tight formations, as do manned fighter aircraft. Without that capability, the service cannot achieve the necessary strike package density. [18]
Applications of autonomous vehicle formations range from automated highway systems
where platoons of autonomous automobiles can travel safely at high speeds to formations
of unmanned aerial vehicles performing search and rescue operations over hazardous regions.
The current state of the art for multiple autonomous systems moving in formations
involves a relatively small number of robots (i.e. twenty five or fewer). Most of these
scaling issues stem from two distinct problems. First the general difficulty of designing a
large scale distributed system that can self organize and maintain the organization in the
presence of uncertain environments. The second is the difficulty in developing a hybrid
control system that can address both the high level organizational goals as well as the
lower level stability and optimal control issues.
2
1.3
Significant Contributions
This dissertation makes the following contributions:
1. A
novel
”bottom-up”
approach
to
formation
assembly.
Our approach dynamically grows formations from single robots into line segments
and ultimately larger and more complex formations. Formation growth occurs by
negotiation when robots are in close proximity.
2. A
formal
model
for
describing
the
assembly
coordination.
A formal model for this coordination has been developed in the form of a graph
grammar which can be generated automatically.
3. Developed metrics for analyzing the convergence properties of the approach.
The time necessary for the system to produce the completed formation is a key
property of any self-assembling system. A convergence analysis based on empirical
data is presented for a small sample set of formation classes.
4. Developed
control
policies
that
eliminate
string
instability.
String instability, a form of instability that is unique to weakly interconnected
systems, hampers the performance of our approach to assembling formations. Two
solutions to the problem are developed and the trade offs associated with each
solution are discussed.
3
Formation
Directed Graph
α
β
α
β
Set of Rules
a a −> b−e
c a −> d−e
b b −> g−f
β
α
Chapter 2
Chapter 3
Finite State Machine
Chapter 4
String Stable
Separation − Bearing
Control Policies
Chapter 5
Controllers
Chapter 6
Figure 1.1: Thesis overview
1.4
Proposal Outline
This thesis is organized into eight chapters with the first chapter providing an overview.
Chapter two provides a set of definitions that lays the ground work for our approach
as well as a formal problem definition. Chapter three details our approach. Chapter
four explains the results of several experimental validations for the approach. Chapter
five introduces the problems of string instability and outlines several possible solutions.
Chapter six discusses a planar controller design based on the concepts discussed in chapter
five. Chapter seven reveals how this work relates to what others have accomplished.
Finally, chapter eight summarizes all that has been discussed. Figure 1.1 depicts the
relationships between the various chapters.
4
Chapter 2
Formations: Foundations and Definitions
2.1
Definition
We define a formation as a directed graph G = (V, E) where the vertices represent the individual robots and the labeled edges represent geometric constraints that are maintained
by the robots. As an example, figure 2.1 shows a set of robots in a formation and a graph
representation of that formation. Each edge constraint is defined as the distance between
α
2
α
4
γ
6
1
α: Range 1.0m Bearing −30. 0 deg
β
δ
ε
β: Range 1.0m Bearing 30.0 deg
3
β
γ
7
5
γ: Range 2.3m Bearing
0.0 deg
δ: Range 2.5m Bearing −135.0 deg
ε: Range 2.5m Bearing 135.0 deg
Figure 2.1: A sample formation and a graph representation.
two robots as well as the bearing as seen from the edge’s tail robot to its head robot. In
this dissertation, it is assumed that for the purposes of determining bearings between two
robots that all robots in a formation synchronize their headings. In all remaining figures,
the formation’s heading is toward the top of the page.
5
2.2
Congruency and Maximally Constrained Graphs
α
α
2
α
4
γ
6
1
2
1
δ
ε
β: Range 1.0m Bearing 30.0 deg
3
β
γ
7
5
γ: Range 2.3m Bearing
0.0 deg
δ: Range 2.5m Bearing −135.0 deg
ε: Range 2.5m Bearing 135.0 deg
3
α
α: Range 1.0m Bearing −30. 0 deg
β
β
4
β
β
6
α: Range 1.0m Bearing −30. 0 deg
5
β: Range 1.0m Bearing 30.0 deg
α
7
Figure 2.2: Two congruent formations graphs
There can be a number of formation graphs that result in the same geometric arrangement (e.g. See figure 2.2). These graphs all belong to the same equivalence class.
Definition 2.2.1. Two formations are considered congruent when they result in the
same geometric arrangement.
Definition 2.2.2. The set of all formation graphs that are congruent is known as the
congruency set.
In any congruency set induced by N robots, there are always N formation graphs
which are spanning trees. These trees have the minimal number of edges necessary to
guarantee the proper geometry. The root vertices of any of these trees do not maintain
the constraints necessary for the formation’s geometry.
Definition 2.2.3. The unconstrained nodes of a formation graph are known as formation
leaders.
The graph on the right hand side of figure 2.2 is an example of a formation tree with
minimal constraints and a single formation leader (Node 1).
6
Theorem 2.2.4. For any given congruency set, there exists a unique complete graph
known as the maximally constrained formation or M ax(F ).
Proof:
For any given congruency set C, |C| < ∞ . ∀Fi ∈ C, let ei represent the set of
constraint edges in the formation graph Fi . Let E =
P
i ei
represent the set of all edges
for any combination of nodes in the given congruency set. The complete graph, by
definition, is the graph that has every possible combination of edges. In addition, it is
unique for a given number of vertices, therefore the maximum constraint graph is also
unique.
Theorem 2.2.5. ∀ formations F, G if M ax(F ) is a isomorph to M ax(G), then F and
G are congruent.
Proof:
Two graphs are isomorphic to one another if the have the same number of vertices and
there exists a one-to-one mapping of vertices labels between the two graphs. In addition,
for every edge (u, v) in the first there is a corresponding edge (f (u), f (v)) in the other.
Since two isomorphic graphs must have they same number of vertices, they share the
same complete graph. Since the set of all edges in which to choose from differ only by
the mapping of vertex names, the entire set of all possible combinations of edges must be
also be the same.
Figure 2.3 shows a sample formation and its maximally constrained formation graph.
Each edge constraint in this figure represents two constraints between two vertices. The
first is given in the figure and is made relative to the edge’s tail vertex while the second
7
γ
1
α
ε
2
α
φ
η
α: Range 1.0m Bearing −45. 0 deg
β: Range 1.0m Bearing 45.0 deg
γ: Range 2.0m Bearing −45.0 deg
3
µ
4
δ
β
β
5
δ: Range 2.0m Bearing 45.0 deg
ε: Range 1.41m Bearing 90.0 deg
µ: Range 2.83m Bearing 90.0 deg
η: Range 2.24m Bearing 67.5 deg
φ: Range 2.24m Bearing −67.5 deg
Figure 2.3: A sample formation and its maximally constrained graph representation.
α
α
α
Figure 2.4: A sample subgraph for a platoon of size four.
has the same range as the first, its bearing is given relative to the edge’s head vertex and
is the supplemental angle to the first.
2.3
Platoons
Definition 2.3.1. For any given formation there can exist one or more subgraphs with
the following properties:
1. All vertices are weakly connected via a single acyclic path.
2. All edges along this path have equivalent constraints.
3. All vertices have an in-degree of one except for possibly the first vertex of the path.
4. All vertices have an out-degree of one except for possibly the last vertex of the path.
8
α
1
α: Range 1.0m Bearing −40. 0 deg
β: Range 1.0m Bearing 45.0 deg
β
2
3
α
β
4
5
β
α
6
α
8
7
β
α
9
10
β
β
11
α
12
13
α
A
β
B
α
D
C
β
E
β
α
F
G
A: Platoon Size =1, Head=1, Tail=1
B: Platoon Size =3, Head=2, Tail=6, Constraint=
α
C: Platoon Size =3, Head=3, Tail=7, Constraint=
β
D: Platoon Size =1, Head=8, Tail=8
E: Platoon Size =2, Head=9, Tail=12, Constraint=
β
F: Platoon Size =2, Head=10, Tail=13, Constraint=
α
G: Platoon Size =1, Head=11, Tail=11
Figure 2.5: A formation, its formation graph and its corresponding platoon graph
A subgraph with these properties is known as a platoon.
Since a directed path is an ordered set of vertices, there exists a starting vertex in
the path as well as an ending vertex. The starting vertex in a platoon’s path is known as
its tail while the ending vertex in a platoon’s path is known as its head or leader. The
number of vertices in the subgraph is known as the size of the platoon. Figure 2.3 shows
the graphical representation of a platoon of size four. As a special case, any single robot
is considered a platoon of size one.
9
2.4
Platoon Graphs
Definition 2.4.1. A graph whose vertices represent platoons and edges represent the
constraints between two platoons is known as a Platoon Graph. Any given formation
graph can be transformed into a platoon graph. This transformation is known as Platoon
Reduction.
The algorithm for platoon reduction can be found in Appendix 2. It simply iterates
over all vertices in the graph. Initial, the first vertex is considered a platoon of size one.
As the other vertices are examined, they are checked against the existing sets of platoons
to see if it can be added to any existing platoon. Otherwise a new platoon is initialized
again with a single vertex. A sample formation, its formation graph and its corresponding
platoon graph are shown in figure 2.5
2.5
Classifying Formations
The number of possible formations is infinite. However, there are a few well known
classes of formations that appear often in the literature. The line, wedge and diamond
are examples of classes of formations. Platoon reduction of formation graphs provides
a mechanism for classification. In figure 2.7 there are two examples of what is typically
described as a diamond formation and their corresponding formations and platoon graphs.
Both graphs differ in the number of vertices as well as the type of constraints between
them. However, their platoon graphs are isomorphic with a possible remapping of edge
labels.
10
Line This formation class is the another name for a platoon. In a line formation all
robots (with the exception of the leader) maintains a single common constraint
with its nearest neighbor.
Wedge This formation class consists of a formation leader followed by two equal sized
platoons. The bearing portions of the platoon’s constraints are the inverse of each
other. See figure 2.6
Diamond This formation class consists of a formation leader (a single robot),four platoons and a single robot in the tail position. Like the wedge formation, two of the
platoons have constraints with the formation leader, while each of the other two
follow the first two. The robot in the tail position maintains two constraints. Four
robots in a diamond formation is a special case where two of the platoons have a
size of zero.
α
α
4
2
1
α
β
3
B
β
5
A
β
C
A: Platoon Size=1, Head=1, Tail=1
α: Range 1.0m Bearing −60. 0 deg
B: Platoon Size=2, Head=2, Tail=4, Constraint=α
β: Range 1.0m Bearing 60.0 deg
C: Platoon Size=2, Head=3, Tail=5, Constraint=β
Figure 2.6: A sample wedge formation and its formation and platoon graphs.
11
2.6
Graph Grammars
In order for a set of robots to coordinate amongst themselves to create a formation, there
needs to be a method of describing the current state of the formation assembly. We
decided to adopt the definitions given in [23] and are summarized in this section.
A labeled graph is a tuple G = (V, E, l) where V is the set of vertices, E is the set of
edges and l is a function that labels the vertices of V . A current snapshot of a formation’s
assembly is captured in our system by a labeled graph. The vertices represent the robots
involved while the edges represent the constraints that are currently maintained by the
robots. Finally the vertex labels represent the current state of the individual robots (i.e.
what role they are currently playing and how they will conform to other robots).
Initially we represent the system as a graph with N vertices and no edges. All vertices
are identically labeled with a value that represents the singleton state (a). It is assumed
that N is as large or larger then the required number of robots to complete the formation.
This initial state graph is denoted as G0 .
A rule is defined as pair of graphs r = (GL , GR ) where GL represents the state of the
system before an action occurs and GR represents the new state of the system after the
rule is applied. The number of vertices in GR and GL i are equal. A rule can be classified
as constructive if EL ⊂ ER , destructive if ER ⊂ EL or mixed if |ER | = |EL |. A rule is
considered acyclic if GR contains no cycles. A labeling function is a function that maps
12
the vertex labels from one graph to another. A labeling function h : G1 → G2 is known
as a label preserving embedding if
1. h is injective.
2. {x, y} ∈ EG1 ⇔ {h(x), h(y)} ∈ EG2
3. lG1 = lG2 ◦ h
If h is surjective then it is called an isomorphism A rule is considered applicable to graph
G if there exists a labeling function h such that h : GL → G. This function is called a
witness. An action on graph G is a pair (r, h). Given graph G = (V, E, l) and an action
(r, h) on G with r = (GL , GR ), then the application of (r, h) on G results in a new graph
G0 = (V 0 , E 0 , l0 ) such that:
V0 = V
E 0 = (E − {{h(x), h(y)}|x, y ∈ GL }) ∪ {{h(x), h(y)}|x, y ∈ GR }
l0 (x) =
l(x)
l(x) ◦ h−1 (x)
if x 6∈ VL
otherwise
[23]. Although rules can involve any number of vertices, we will focus on a class of rules
that involves exactly two vertices. These binary rules will create or destroy no more than
a single edge and/or modify the two labels of the vertices involved. A simple short hand
notation for a constructive binary rule is given by: a b ⇒ c − d where the left hand side
represents the witness and the right hand side the action. In this case two vertices are
said to conform to each other if one is labeled a and the other labeled b and neither
maintains a constraint with the other. If the rule is applied then the new graph will have
13
these vertices labeled c and d respectfully and a new edge will be created between them.
Similarly, a short hand notation for a destructive binary rule is given by b − c ⇒ a a and
for a mixed rule is given by d − e ⇒ b − e.
A initial state graph G0 along with a set of rules defines a system known as an
assembly. Rule sets provide a concise grammar to describe the transitions from one
partial assembly state to another. Since many rules can have the same witnesses and
can be applied in any order or even in parallel to each other, assembly systems are nondeterministic finite automata.
As rules are applied and edges are added, sets of vertices will form connections between
them. These subtrees represent partially completed formations (PCF). At any moment
there may be many PCFs in the state graph of the system even if the overall goal is to
create a single formation.
Each label represents a robot’s current state and these states can be broadly classified
into three categories:
Leader This class of states represents robots that do not have any constraints to maintain. Any partial assembled formation will have a single robot in this state. While
in this state the robot will wander in search of others. It is the overall responsibility
of this behavior to gather enough followers to correctly assemble the formation.
Follower This class of states represents robots that are part of a formation yet are not
a leader. Their primary function is to maintain a fixed bearing and distance to a
single target.
14
Singleton This state is a special case of the leader class. All robots are initialized to
this state. Like other leader states, singletons do not maintain any constraints and
wander in search of other singletons or PCFs.
Formation Leader Another special case of the leader class is the formation leader.
Depending on the rule set, this state is often unique and only obtained by a single
robot when a formation has been completed.
2.7
Formal Problem Statement
Given the necessary set of formal definitions we can now restate our problem as a set of
provable hypotheses.
1. H1 : Given a formation, there exists a rule set which when executed will produce
the required formation.
2. H2 : Given a rule set, a controller for a set of robots can be synthesized such that
the required formation will be assembled.
3. H3 : A controller can be designed that will have the necessary stability to maintain
the formation in the presence of disturbances.
15
1
γ
1
α
α
β
2
γ
3
β
5
β
6
β
5
δ
8
9
δ
β: Range 1.0m Bearing 60.0 deg
γ: Range 1.0m Bearing −45.0 deg
10
A
β
B
γ
C
D
E
β
F
δ
A
α
γ
γ
γ
12
δ
B
α
β
11
δ
δ: Range 1.0m Bearing 45.0 deg
α
δ
7
α: Range 1.0m Bearing −60. 0 deg
α
8
3
6
α
7
2
4
γ
4
δ
C
γ
δ
D
E
δ
F
γ
A: Platoon Size =1, Head=1, Tail=1
A: Platoon Size =1, Head=1, Tail=1
B: Platoon Size =2, Head=2, Tail=4, Constraint= α
B: Platoon Size =3, Head=2, Tail=6, Constraint= γ
C: Platoon Size =2, Head=3, Tail=5, Constraint= β
C: Platoon Size =3, Head=3, Tail=7, Constraint= δ
D: Platoon Size =1, Head=6, Tail=6
D: Platoon Size =2, Head=8, Tail=10, Constraint= δ
E: Platoon Size =1, Head=7, Tail=7
E: Platoon Size =2, Head=9, Tail=11, Constraint= γ
F: Platoon Size =1, Head=8, Tail=8
F: Platoon Size =1, Head=12, Tail=12
Figure 2.7: Two formations that are members of the diamond class
16
Chapter 3
The Formation Assembly Algorithm
Directed Graph
Formation
α
α
β
β
Set of Rules
a a −> b−e
c a −> d−e
b b −> g−f
β
α
Chapter 3
Finite State Machine
String Stable
Separation − Bearing
Control Policies
Controllers
Figure 3.1: Thesis overview
This chapter discusses the design of a controller for a set of robots that will assemble
and maintain a specified formation. The key result of this chapter is the validation of
hypothesis H1, that given a formation, there exists a rule set which when executed will
produced the required formation.
17
3.1
Assumptions
We begin by listing a set of assumptions we made.
1. Static Formations: In this thesis we concentrate on the assembly and maintenance
of static formations. Although the robots involved in the formation are always in
motion, the set of geometric constraints that the robots are attempting to maintain
do not vary with time.
2. Trees: Throughout the rest of this thesis we will focus on formations that are
defined by spanning trees. Each robot maintains only a single constraint with
respect to another robot. There is a single robot, the formation leader, which
does not maintain any geometric constraints with any other robots and is free
to move about as needed. This simplification is justified given that the minimal
spanning tree does provide the proper number of constraints to correctly assemble
and maintain a given formation.
3. Robot Capabilities All robots are assumed to be identical to one another. Each
robot has the ability to move freely in the plane. Each robot can communicate
within a fixed radius with other robots. Each robot can sense within a fixed radius
other robots. Within the proximity of this radius, a robot can uniquely identify
other robots as well as the range and bearing to these robots.
18
3.2
Overview of the Approach
Our approach to formation control is to dynamically grow a formation from simpler
constituents. Each robot starts as a Singleton; this means that it does not follow other
robots, nor is it followed by other robots. As singletons encounter other singletons, they
negotiate via a simple broadcast protocol. The outcome of these negotiations is typically
a role change for both robots involved. Two singletons leave the negotiating phase as a
leader - follower pair. The leader - follower pair represents a line segment or a platoon of
length two. As leader - follower pairs encounter other leader - follower pairs (or singletons)
they negotiate and coalesce into larger assemblies.
The current state of the formation assembly is maintained across all robots participating in the formation. Each robot maintains a single state variable that represents its role
and its relative position in the formation. This state variable decides how the robot will
conform, or how it will react to future negotiations with other robots. The rules of how
the various sub assemblies conform to one another are maintained as a state transition
table in each robot and are described by a grammar.
This bottom up approach has several merits. Although there is a leader robot, any
robot can perform this role. In order for a robot to perform any and all roles, each controller must be identical and have access to all behaviors. This decentralized approach
adds an element of robustness to the system. The approach requires each robot to sense
only its nearest neighbors. No global sensing is required. There are no predefined orderings or predetermined organizational strategies. Finally, this approach has been shown
to scale to larger numbers of robots.
19
a
a
a
a
a
Φ1 =
{
b
b
c
a
c
(a)
a a −> b−e
c a −> d−e
b b −> g−f
(b)
b
g
b
d
f
e
c
(d)
d
e
c
(c)
Figure 3.2: A sample rule-set for generating a wedge formation.
3.3
Negotiation
Rule set Φ1 as shown in figure 3.2 can be used to generate the tree needed for a wedge formation. As shown in the figure, the system begins with five robots that are all initialized
to singleton state (Figure 3.2 (a)).
The singleton state causes the robots to wander about in search of others. As two
singletons come within proximity to one another, one will sense the other and broadcast
a message to this neighbor inquiring as to its current state. Upon receiving its neighbor’s
reply, the first robot will search the rule set for an applicable rule. This negotiation
occurs whenever a robot in a leader or singleton state is in close proximity to another
robot. In the case of this example the first rule of the set is applicable. The rule’s action
results in the first robot changing its state to c and generating a broadcast a message to
its neighbor to change its state to b. Figure 3.2 (b) results after two pairs of singletons
20
a
a
a
a
a
a
Φ1 =
{
b
c
a
b
(a)
a a −> b−e
c a −> d−e
b b −> g−f
c
a
(b)
g
b
f
b
d
d
e
d
d
e
e
e
(d)
(c)
Figure 3.3: An example of an unstable rule set.
negotiate. This graph represents three partially completed formations. Each PCF has a
single leader state (a, b) and in this case a single follower state c that maintains a fixed
distance and bearing with respect to another robot labeled b. The example continues
with a singleton wandering within proximity of a follower. Again negotiations begin and
the second rule of the set is applied. The state of the assembly changes to that of figure
3.2 (c). Finally the leaders of two partially completed formations negotiate with each
other and the goal of a complete formation is reached (figure 3.2 (d)).
3.4
Stable versus Unstable Rule Sets
A property of any rule set for generating a formation is whether or not all terminating
cases are valid formations. A rule set that converges to only valid formations or valid
partially completed formations is known as a stable rule set. Figure 3.3 demonstrates
21
that the rule set given in figure 3.2 is not a stable rule set. The problem stems from
ambiguous state labels. In this example there exists a single leader state (in this case
labeled b) that represents two different partially completed formations. Since the last
rule in the set cannot distinguish between a partial formation of three nodes (b − d − e)
from that with two nodes (b − c) the problem of a terminating in an invalid state exists.
3.5
Generating Rule Sets
A rule set is a model for the coordination required to assemble a set of robots into a
given formation. The validation of hypothesis H1 is the algorithm for rule set synthesis
(Algorithm 1). It can be broken down into several phases:
1. The conversion of the formation graph to sets of constructive rules.
2. The merging of these sets into a single set with coherent labeling.
3. The addition of a set of destructive rules.
4. The addition of any necessary mixed rules.
3.5.1
Constructive Rules
A simple recursive algorithm for generating a constructive set of rules initially given by
[23] is shown below.
1
An illustrated example of this algorithm constructing a rule set for a five robot wedge
formation is presented in figure 3.4. The algorithm decomposes the formation tree (steps
1
Algorithm 1 differs from that given by [23] by how it assignment classes in lines 11 and 12
22
Algorithm 1 Simple Rule Set Construction
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
(Φ,l) = Function MakeTree(T = (V, E))
if V = {x} then
Return (∅,λz → if z = x then a else ⊥)
else
Let {x, y} ∈ E
Remove edge {x, y}
Let (V1 , E1 ) be the component of (V, E) that contains x
Let (V2 , E2 ) be the component of (V, E) that contains y
Let {Φ1 , l1 } = MakeTree(T1 = (V1 , E1 ))
Let {Φ2 , l2 } = MakeTree(T2 = (V2 , E2 ))
Let u be new unique label from the leader class
Let v be new unique label from the follower class
Let Φ = Φ1 ∪ Φ2 ∪ {l1 (x)l2 (y) ⇒ u − v}
Let l = λz → if z = x then u else
if z = y then v else
if l1 (z) 6=⊥
then l1 (z) else
l2 (z)
Return (Φ, l)
end if
a through d) until all edges have been removed. At this stage all vertices are given an
initial labeling. As the algorithm back steps out of the recursion, it replaces each edge
and generates a single constructive rule for that edge. The algorithm also updates the
label mapping function with two new labels. When the algorithm finishes unraveling, the
result is a set of rules as well as a final label set for the completed formation. Since every
label associated with each edge is unique, the resulting rule set will be stable.
3.5.2
Merging Rule Sets
Although the rules set generated by the construction algorithm described in Algorithm
1 will generate the proper formations, there are several improvements that can be made.
23
α
4
α
2
1
β
3
β
5
(a)
α
4
α
2
α
c
3
β
5
α f
g
α
c
{
3
l = {1=a}
(c)
β
5
β
e
}
α b
c
d
β
e
l = {1=a 2=b 3=d 4=c 5=e}
a a −> b−c
Φ=
a a −> d−e
{
}
(g)
a
Label
a
b
c
d
e
f
g
h
i
Role
Singleton
Leader
Follower (α)
Leader
Follower (β)
Leader
Follower (α)
Formation Leader
Follower (β)
a
a
α
a
4
l = {1=a 3=a 5=a}
(d)
2
a
a
d
l = {1=f 2=g 3=d 4=c 5=e}
a a −> b−c
a a −> d−e
Φ=
a b −> f−g
(h)
a
a
a
β
e
{ }
1
2
β
i
l = {1=h 2=g 3=i 4=c 5=e}
a a −> b−c
a a −> d−e
Φ =
a b −> f−g
f d −> h−i
(i)
(b)
α
4
α h
g
α
c
b
a
a
l = {1=a 2=b 3=a 4=c 5=a}
Φ= {a a −> b−c}
(f)
a
a
l = {1=a 2=a 3=a 4=a 5=a}
(e)
Figure 3.4: An example of rule set generation.
First, the algorithm will often generate rule sets with ambiguous witness functions.
2
In the example depicted in figure 3.4 the final rule set contains two rules with the same
witness yet different actions. Since only one rule can be applied at any given encounter
the problem of rule selection has been introduced.
2
[23] did address this short coming
24
Second, the rule set constructed by the algorithm represents a single path from the
initial state G0 to the final goal of the completed formation. Although many robot encounters will occur over the course of the assembly process, only a specific set of encounters
in the proper order guarantees that the goal state will be reached. This situation results
in a problem of convergence.
The solution to both these problems lies with constructing not just one rule set that
generates a path from the starting state to the goal of a complete formation, but as many
possible rule sets that covers as many paths as possible. The pivotal step in Algorithm 1
is the selection of the edge to remove at each level of recursion. The selection of the first
edge decides what PCF are to be used as ”stepping stones” to the completed formation.
By generating all possible combinations of PCF for a given formation, we maximize the
probability that any given set of robot encounters will move the system closer to the goal.
The improved algorithm partitions the rules into small subsets that describe PCFs.
Next these sets are grouped by their size (i.e. the number of vertices). Two sets of rules
that produce the same size PCFs are compared. If they are isomorphic to one another
then one set is eliminated. In order to merge the final sets into a single set, a new
labeling function needs to be formulated that preserves each robot’s role and in the case
of the followers their constraints. The number of possible PCFs can grow very quickly as
depicted in Appendix A.1.
3.5.3
Destructive Rules
A follower may not always be able to maintain its constraint. This may occur if an
obstruction (i.e. another robot or an obstacle) comes between the follower and its target
25
or if the follower has some sort of failure. It can also occur due to sensing limitations
and noise. When these situations occur, followers search their rule sets for an applicable
destructive rule.
Destructive rules allow the system to degrade gracefully. Without destructive rules,
a failure by a follower could leave an assembly in a non stable state. At first glance it
would see that there should be an equal number of destructive rules as constructive rules
in a rule set. In fact there are almost always more. Figure 3.5 demonstrates a set of rules
for creating a three robot platoon. Only two constructive rules are necessary to grow
the formation, however three destructive rules are needed to handle all possible modes
of failure. The extra destructive rule arises from nodes that are labeled more than once
during the assembly phase. With the addition of destructive rules the state transition
graph will have cycles. A PCF can now cycle between two or more states due to the
application of both destructive and constructive rules.
3.5.4
Mixed Rules
Mixed rules play two important roles in rule sets; assisting destructive rules in the gracefully degradation of the system and as a means to communicate state changes through
a PCF. A mixed rule’s action neither creates nor destroys a constraint but does change
the labels of the two robots involved. In Figure 3.5 (c) a destructive rule’s application
resulted in a PCF with a terminating label. There are no constructive rules in the set
that will allow this PCF to continue. The addition of the mixed rule b − e ⇒ b − c
re-labels the follower robot and allows progress to be made. Whereas constructive rules
are triggered by two robots moving in close proximity of each other and destructive rules
26
a
Φ2 =
{
b
a
a a −> b−c
b−c −> a a
a a −> b−c
c a −> d−e
b−c −> a a
d−e −> c a
b−d −> a b
b−e −> b−c
c
(a)
b
b
c
d
c a −> d−e
d−e −> c a
a
e
(b)
b
d
e
a
b−d −> a b
(c)
b
e
b
b
e
b−e −> b−c
(d)
c
Figure 3.5: Examples of destructive and mixed rules.
are triggered by a robot’s inability to maintain its constraint with another, mixed rules
are triggered by both events. Unlike constructive and destructive rules, an event can
trigger any number of mixed rules. Mixed rules are implemented by having robots in the
following state periodically query their target’s label. If the target label does change then
the follower will search the rule set for an applicable mixed rule.
Since platoons are chains of robots in following roles, mixed rules can act as a communication mechanism. A label change at either end of a platoon can ripple up or down
a platoon chain. This is very useful for reducing the number of label states necessary
to implement a rule set. With mixed rules PCFs of the same size can have a consistent
labeling scheme. Table 3.5.4 shows rule sets for constructing two, three and four robot
27
platoons. All platoons of size two have the labeling of (b − c) while all platoons of size
three and four have a labeling of (d − e − f ) and (g − h − i − j) respectfully. Since platoons of size less than N are PCFs for platoons of size N , only a minimal set of additional
constructive, destructive and mixed rules are needed to extend the rule set.
Constructive
rules for two
robot
platoons
Destructive
rules for two
robot
platoons
Constructive
and mixed
rules for
three robot
platoons
a a ⇒ b-c
b-c ⇒ a a
a b
c a
b-e
e-c
⇒
⇒
⇒
⇒
d-e
e-f
d-e
e-f
Destructive
and mixed
rules for
three robot
platoons
d-e
e-f
b-f
d-c
⇒
⇒
⇒
⇒
a b
c a
b-c
b-c
Constructive
and mixed
rules for four
robot
platoons
a d
f a
c b
h-e
i-f
e-i
d-h
b-h
i-c
⇒
⇒
⇒
⇒
⇒
⇒
⇒
⇒
⇒
g-h
i-j
h-i
h-i
i-j
h-i
g-h
g-h
i-j
Destructive
and mixed
rules for four
robot
platoons
g-h
i-j
h-i
d-i
e-j
h-f
g-e
g-c
b-j
⇒
⇒
⇒
⇒
⇒
⇒
⇒
⇒
⇒
a d
f a
c b
d-e
e-f
e-f
d-e
b-c
b-c
Table 3.1: Mixed rules used to create consistent labeling
28
Chapter 4
Experimental Results: Formation Assembly
Formation
Directed Graph
α
α
β
β
Set of Rules
a a −> b−e
c a −> d−e
b b −> g−f
β
α
Finite State Machine
Chapter 4
String Stable
Separation − Bearing
Control Policies
Controllers
Figure 4.1: Thesis overview
The intention of this chapter it to provide evidence that validates hypothesis H2, that
given a rule set, a controller for a set of robots can be synthesized such that the required
formation will be assembled. We provide validation in the form of experimental results
for both simulations as well as physical robot trials for our approach.
29
Finite Automaton
Broadcast Data
Coordinating Behavior
Message
Listener
Behavior
Broadcast Messages
Coordinating States
Control Policies
Sensor Data
(Sonar)
Sensor
Behavior
Motor
Behavior
Control
law
Actuator
(Motor Control)
State
Motor
Behavior
Sensor Data
(Laser)
Sensor
Behavior
Control
law
Actuator
(Motor Control)
State
Motor
Behavior
Control
law
Actuator
(Motor Control)
Figure 4.2: System architecture
4.1
Architecture and Implementation on Robots
The controller on each robot consists of a collection of layered behaviors (Figure 4.2). At
the top of this layering are the coordinating behaviors. They are responsible for providing
overall coordination of all other behaviors. They are a form of finite automata driven by
a predefined graph grammar, discussed in the previous chapter.
All lower level behaviors can be classified into three categories:
Sensor Behaviors These behaviors typically poll a raw sensor such as a camera or
laser range finder and update an internal state that can later be queried by other
behaviors.
Motor Behaviors These behaviors implement the control policy for the robot’s actuators. At any given moment only a single motor behavior will be active. These
behaviors implement simple Proportional-Integral-Derivative (PID) controllers.
30
Communication Behavior Similar to the sensor behaviors, this behavior polls a simple
broadcast messaging system. It filters messages received but not intended for it. It
updates the internal states of other behaviors that subscribe for certain messages.
A complete list of behaviors used is shown in Table 4.1
Behavior
singleton
follower
leader
message-listener
follow-target
investigate
wander
locate
spin
detect-obstacles
detect-target
track-target
Type
Coordinating
Coordinating
Coordinating
Communicating
Motor
Motor
Motor
Motor
Motor
Sensor
Sensor
Sensor
Description
Single wandering robot
A follower in the formation
Formation leader
Receive broadcast messages and update internal states
Maintain relative position to target
Close gap between robot and a potential target
Wander about an area while avoiding obstacles
Move toward a potential target location
Rotate in place
Report on obstacle bearings
Report bearings to all potential targets in view
Report on the target’s range, bearing and orientation
Table 4.1: Summary of behaviors
4.2
Operation
Initially several singletons are released into an arena and wander about searching for one
another. Each is initialized with identical grammars that will assemble and maintain
a formation of a given shape and size. Upon recognizing another robot’s identifier via
the detect-target behavior, a singleton broadcasts a message to the newly discovered
partner querying it to begin negotiations. If the other robot is also a singleton, than
the leader of the pair will be chosen as the robot who is at positional advantage to
lead. Due to the sensor arrangement on our robots, it is not possible for two robots to
simultaneously sense each others fiducials. We use this as an aid to break the symmetry
of the encounter. When two singletons encounter each other, only one robot will see the
31
others’ beacon (discussed in 3.3), and therefore it has a positional advantage to follow the
other. Likewise the singleton which can not see its partner is at a positional advantage
to lead. At this point the coordinating behaviors on both robots will change accordingly.
If the newly discovered robot is not a singleton but a leader of an existing incomplete
formation then the singleton is instructed to join the formation and assigned a target to
follow as well as a desired range and bearing to keep. If the newly discovered robot is a
follower in an existing formation, then it informs the singleton of the broadcast address
of its leader to negotiate with.
4.2.1
Choice of Sensors and the Type of Formation Geometries
In order to assemble and maintain a formation, each robot must have the capability
to avoid obstacles, distinguish other robots from the environment and determine the
bearing, range and heading of other robots relative to itself. The capability of the chosen
sensors directly affects the possible formation geometries. For any given position in the
formation, there must be a neighbor that is within the robot’s view in order to track it.
For our purposes, we decided on a laser range finder as our mode of sensing. The SICK
LMS-200 laser range finder can accurately measure the distance to any object within a
hemispherical region in front of the unit within a radius of eight meters. The device
is also able to distinguish certain highly reflective materials from other surfaces. We
constructed beacons from strips of this material attached to cardboard backings. These
beacons are attached to robots to distinguish them from other objects in the environment.
In addition, by creating binary patterns of these reflective strips, the laser can uniquely
identify them as well. By positioning these beacons on the back of each robot, we are
32
able to distinguish another robot from the environment as well as measure its relative
distance and bearing. Since the laser range finder can measure distance within its range
to an accuracy of less than a centimeter, we are not only able to measure the distance
and bearing to a beacon, but by measuring the distance of both ends of the beacon, we
are able to determine the beacon’s relative orientation as well. However, accurate beacon
identification can only be accomplished within approximately two meters of the beacon.
The type of geometries possible with a forward looking mode of sensing include those
that are connected, are constructed of line segments, and do not require any backwardlooking sensing (often referred to as frontally concave [15]). Examples of these shapes are
diamonds, triangles, hexagons and wedges. Many of these restrictions are artifacts of the
mode of sensing and not our approach. Using multiple laser range finders or an omnidirectional camera would remove the backward looking sensing restriction. However, in
this thesis, we concentrate on the forward looking sensing mode.
Note that the capability to sense other robot’s heading is not absolutely necessary.
All that is needed is a means for each robot to maintain the same heading as its leader.
It is possible for the leader to broadcast its heading changes to its followers. However,
this requires that each robot have some means of determining its global orientation (i.e.
compass, odometry, a fixed beacon observable by all, etc).
4.3
4.3.1
Experiments
Simulations
Simulations were performed using the Player/Stage/Gazebo Simulation system.
33
Player is a network server for robot control. Player provides a standard interface to the
robot’s sensors and actuators over an IP network. Player client-server architecture
allows a robot’s controller, the client, to execute ”off-board” from the physical robot.
Player also provides a level of abstraction for the many devices usually attached
to a robotic system (i.e. range finders, cameras, etc). Currently the Player server
system supports many different robot platforms as well as interfaces to Stage and
Gazebo Simulators. [17].
Stage simulates a population of mobile robots, sensors and objects in a two-dimensional
bit-mapped environment. Stage provides a library of predefined objects as well
as models for many robotic platforms. Stage provides virtual devices for Player’s
server. This allows for rapid prototyping of robot controllers that can be ported to
physical robots with little or no code changes [42].
Gazebo is a multi-robot simulator for outdoor environments. Like Stage, it is capable
of simulating a population of robots, sensors and objects, but does so in a threedimensional world. Gazebo utilizes a physics simulation engine to increase the
fidelity of the robots as well as the environment [24].
All simulations were performed in a virtual bounded region with a fixed number of
robots for any given experiment. With the exception of the robots themselves, there are
no other obstacles within the arena.
34
4.3.2
Physical Robots
Experiments were performed on four Active Media Pioneer 2-DX robots each equipped
with SICK LMS-200 Laser Range Finders.
4.3.3
Metrics
We selected three metrics to measure the performance of our system.
Positional error: Given a formation, which is defined as the tuple < G, h, d > where G is
a connected geometric shape, h is a desired heading, and d is a desired inter-robot
spacing, there exist K positions relative to the leader that represent the perfect
formation. Given N robots attempting to construct this given formation, where
N ≤ K, we define the formation’s positional error as P =
1
N
PN
i=1
| D(pi , ki ) |
where pi is the ith robot’s position (relative to the leader) and D(pi , ki ) is the
Euclidean distance between the two positions. We say that a given set of robots is
”in formation” if P < , where is a user specified tolerance. We used an = 0.33
meters in simulation and a = 0.5 meters for the physical robot trials.
Time to convergence: The time to convergence Tc (N ) is defined as the duration of
time required for a formation to reach a given size N and be in formation for that
size. The clock starts when the current leader is elected and ends when the formation
has grown to N followers that have stabilized into their ”in formation” positions.
For the physical robot experiments, these times are wall clock times. However, for
the simulations the times are normalized to update cycles of the simulator.
35
Percentage of time in formation: Once a formation has reached its current maximum size and settled into the ”in formation” state, the leader’s wandering will
cause the positional error of the formation to occasionally increase (such as when
making turns to avoid obstacles). Often the added positional error will result in the
formation being broken. Therefore, the percentage of time in formation is defined
as F =
tin
ttotal
where tin is the time in formation since the formation reached its
current size and ttotal is the time elapsed since the formation reached its current
size.
Figure 4.3: Robots in formation: Column(TL), Line(TR), Wedge(BL), Diamond(BR)
36
Figure 4.4: Gazebo robots in formation: Column and Wedge
Trial No.
1
2
3
4
5
6
7
8
9
10
11
12
Geometry
Column
Column
Column
Line
Line
Line
Wedge
Wedge
Wedge
Diamond
Diamond
Diamond
N
5
10
20
5
10
20
5
10
20
5
10
20
Max
5
7
9
4
5
6
5
6
7
4
6
8
Tc (sec)
102
997
1457
125
183
610
127
147
567
110
211
1329
Pmin (m)
0.142
0.197
0.035
0.524
0.499
0.518
0.232
0.192
0.190
0.116
0.201
0.216
Pave (m)
0.308
0.318
0.309
1.124
1.235
1.347
0.551
0.566
0.631
0.398
0.527
0.619
F %
81.83
90.81
89.57
21.22
5.97
3.30
63.90
23.02
15.24
71.89
27.82
15.61
Table 4.2: Holonomic simulation results
4.3.4
Experimental results
Table 4.2 summarizes the holonomic simulations. The column formation had the least
overall error. Since each follower simply had to maintain a zero degree bearing (i.e.
straight ahead) to it target, these results were expected. Diamond and wedge formations
had similar results. Only line formations had significantly different results. Table 4.3
summarizes the non-holonomic simulations. These results are similar to the holonomic
results, but reveal that the holonomic drive equipped robots are better able to maintain
37
Trial No.
1
2
3
4
5
6
7
8
9
10
11
12
Geometry
Column
Column
Column
Line
Line
Line
Wedge
Wedge
Wedge
Diamond
Diamond
Diamond
N
5
10
20
5
10
20
5
10
20
5
10
20
Max
5
7
8
3
5
5
5
6
7
4
6
7
Tc (sec)
117
843
1189
141
190
210
188
301
885
117
288
1927
Pmin (m)
0.179
0.162
0.196
0.414
0.443
0.438
0.289
0.182
0.290
0.136
0.266
0.295
Pave (m)
0.301
0.330
0.342
0.876
0.723
0.747
0.652
0.466
0.481
0.374
0.382
0.549
F %
88.56
84.84
79.57
39.11
8.37
9.30
69.11
43.02
35.27
68.23
35.53
21.67
Table 4.3: Non-holonomic simulation results
Trial No.
1
2
3
4
5
6
7
8
9
10
11
12
Geometry
Column
Column
Column
Line
Line
Line
Wedge
Wedge
Wedge
Diamond
Diamond
Diamond
N
4
4
4
4
4
4
4
4
4
4
4
4
Max
4
3
3
2
2
3
3
3
3
3
3
4
Tc (sec)
316
182
202
65
38
241
135
142
137
147
137
271
Pmin (m)
0.14
0.12
0.12
0.31
0.34
0.33
0.17
0.15
0.18
0.19
0.26
0.31
Pave (m)
0.29
0.27
0.27
0.66
0.62
0.74
0.48
0.44
0.48
0.39
0.41
0.42
F %
92.2
98.7
99.1
39.1
11.2
22.2
77.2
74.0
75.1
81.2.
77.3
66.9
Table 4.4: Pioneer 2-DX results
38
their positions within the formation. Table 4.4 summarizes the physical robot trials.
These results are similar to the non-holonomic results.
An unexpected result was that non-holonomic drive robots seems better able to maintain the line formation than those equipped with holonomic drives. Since each target in a
line formation is just barely within the maximum viewing angle for the laser range finders, a follower would momentarily lose sight of its target. This situation causes a switch
of motor behaviors for the follower. The locate behavior for a holonomic drive would
perform a lateral movement in an attempt to bring the target back into view, however
this maneuver often is not necessary and will move the robot out of formation. Although
the behavior is the same for non-holonomic robots, it is much slower with non-holonomic
drives. Therefore, the target would often be re-acquired before the behavior had a chance
to take it out of formation.
Another interesting aspect of the experiments, was the effect that the boundaries had
on the resulting maximum formation sizes. Having large arena results in longer periods
of time traversing the open spaces, therefore allowing the followers more opportunity to
settle into their proper positions before being disturbed by a leader’s heading change to
avoid the boundary. However, the boundaries also act as a catalyst that forces singletons
and smaller formations to interact. Choosing the ideal size for the arena is an important
consideration. An excessively large arena results in prohibitively long times to coalesce
into formation, where as too small of an arena results in too much interference to allow
larger formations to assemble.
39
4.4
Convergence
An important performance metric of any self assembling system is how fast does the system converge to its final configuration. The convergence time of a self assembling system
depends on many factors (e.g. size of the arena, velocity of the robots, arrangement of the
robot’s sensors, etc.). Our approach to convergence analysis is to model the PCF states
associated with a rule set as a Markov chain. For our purposes, time can be discretized
by sequencing rule executions as discrete event steps. It should be noted that the time
interval between events is not a constant.
For any given rule set we can create a transition matrix P by collecting statistics
from a large number of trials and normalizing all possible transitions out of a given state.
Once the probability vectors for each state have been established, we can we can calculate
the N-step transition matrix P N . This matrix indicates what the chances are that the
system is in the proper formation (or any PCF state for that matter) after N rules have
executed. Using P we can also calculate the cumulative distribution function for the
complete formation state and determine what is the probability that after N rules have
executed that the system has ever reached the proper formation state. Table 4.5 depicts
a rule set for assembling a three robot platoon as well as the state transitions for all
possible PCF states. Finally figure 4.5 plots the the number of rule executions required
to reach a probability of convergence of greater than 0.5 for three simple formations types
as a function of the number of robots in the formation. Simulations were performed for
sets of 5,10,50,100, and 500 robots. The resulting data points were fitted using non-linear
least-squares to find the best approximating curve.
40
b−f −> b−c
c a −> e−f
Rules
a a −> b−c
a a ⇒ b-c
a b ⇒ d-e
c a ⇒ e-f
b-c ⇒ a a
d-e ⇒ a b
e-f ⇒ c a
b-e ⇒ d-e
e-c ⇒ e-f
b-f ⇒ b-c
d-c ⇒ b-c
Starting State
aaa
a b−f
b−e−f
a b −> d−e
a b−c
d−e −> a b
b−e −> d−e
e−c −> e−f
d−e−c
d−e−f
d−c a
e−f −> c a
Completed Formation
b−c −> a a
d−c −> b−c
Table 4.5: Rule set and state transitions for a three robot system assembling a platoon
100000
Number of Rule Firings
10000
1000
100
10
1
Column
Wedge
Plus
2.0 * x ** 1.75
1
10
100
Number of Robots
1000
Figure 4.5: Convergence analysis for three simple types of formations
41
Time to Convergence
900
Columns
Lines
Wedges
Diamonds
800
700
Time (sec)
600
500
400
300
200
100
0
0
1
2
3
Number of Robots
4
5
Figure 4.6: Convergence results for four physical robots
42
Chapter 5
Interconnected Systems and String Stability
Formation
Directed Graph
α
α
β
β
Set of Rules
a a −> b−e
c a −> d−e
b b −> g−f
β
α
Finite State Machine
String Stable
Separation − Bearing
Control Policies
Chapter 5
Controllers
Figure 5.1: Thesis overview
Finite state machines work well in a Markovian world of finite states and discrete
possibilities. However, physical robots must deal with the analog nature of the real
world. We are using finite automata to switch between several low level control policies
that interact with a continuous world. An important design criteria of any control system
43
is its stability. This chapter focuses on issues of stability and in particular the problem
of string stability. This chapter lays the foundations for the validation of hypothesis H3,
that a controller can be designed that will have the necessary stability to maintain the
formation in the presense of distrubances.
5.1
Types of Stability
”A system that always gives responses that are appropriate to the stimulus is considered to
be stable.” [13]. Although a single concise summary definition for stability can be stated,
there are many formal definitions for stability. Three distinctly different definitions of
types of stability are:
Bounded Input Bounded Output Stability A system is said to have bounded inputbounded output (BIBO) stability if every bounded input results in a bounded output
regardless of what happens inside the system. [13] This definition is well described
in the control literature and is often applied to control systems that are linear time
invariant systems.
Lyapunov Stability A Lyapunov stable system is a system for which the states will
remain bounded for all time, for any finite initial condition. It is a more general
definition of stability that covers time varying as well as non-linear systems.
Mesh and String Stability Mesh stability is a property of interconnected systems
whereby a disturbance is attenuated as it propagates from one subsystem to the
next. For the one dimensional case, this property is referred to as string stability.
44
5.2
String Stability
For the case of a platoon of robots, we can define the inter-robot spacing error as:
ei (t) = xi−1 (t) − xi (t) − xd
(5.1)
where xi (t) is the robot’s position and xd is the desired inter-robot spacing. String
stability requires that the following constraints be met:
||e1 ||∞ ≥ ||e2 ||∞ ≥ · · · ≥ ||eN ||∞
(5.2)
For any two adjacent robots, we can define the following transfer function:
G(s) =
Ei (s)
Ei−1 (s)
(5.3)
where Ei (s) is the Laplace transform of ei (t). An established result from linear system
theory is:
||ei ||∞ ≤ ||g(t)||1 · ||ei−1 ||∞
where ||g(t)||1 =
R∞
0
(5.4)
|g(t)|dt. A sufficient and necessary condition that guarantees distur-
bances will not amplify as they propagate upstream is:
||g||1 ≤ 1
(5.5)
45
Another well established fact from linear system theory is that:
||G||∞ ≤ ||g||1
(5.6)
where ||G||∞ = maxω |G(jω)|. Therefore if ||G)||∞ > 1 then the system is string unstable.
[29]
5.2.1
Longitudinal Control
We are assuming a string of N robots obeying identical kinematic and dynamic constraints. For this case study we will assume that each robot obeys the following constraint:
ẋ = u
(5.7)
where u is the control input to the system. All robots except the leader implement
identical control policies. The design of these control policies can be categorized by
the number and types of constraints they attempt to maintain. For the rest of this
chapter we will discuss three types of controller designs; unidirectional, leader-centric
and bidirectional control.
Unidirectional Controllers: This type of controller implements only a single constraint. It attempts to minimize the inter-robot spacing error (5.1). Only a single local
measurement of the inter-robot spacing from the robot immediately in front (i.e. toward
46
the leader) is necessary to implement this control strategy. Since only a single local measurement is necessary, it is the most desirable of the three control strategies. Using the
standard linear (PID) combinations of this error signal results in a control policy of:
Ui (s) = K(s)Ei (s)
(5.8)
where
K(s) = kp +
ki
+ kd s
s
(5.9)
Implementing a feedback system that utilizes this controller will result in the following
transfer function:
Ei (s)
kd s2 + k p s + k i
=
Ei−1 (s)
(1 + kd )s2 + kp s + ki
(5.10)
In order for this system to Bounded-Input Bounded-Output (BIBO) stable, the real
portion of (5.10)’s two poles must be less than zero (i.e. lie in the LHP). This requirement
results in the following constraints on the selection of the gain parameters (k p ,ki , and kd ):
kp > 0
(5.11)
ki > 0
(5.12)
kd > −1
(5.13)
kp < 0
(5.14)
or
47
ki < 0
(5.15)
kd < −1
(5.16)
In addition the system will need to meet the constraints necessary for string stability.
In particular:
Ei (jω) E (jω) i−1
∞
k − k ω 2 + jk ω
i
p
d
=
≤1
ki − (1 + kd )ω 2 + jkp ω (5.17)
which simplifies to:
|ki − kd ω 2 | ≤ |ki − (1 + kd )ω 2 |
From (5.18) it can be seen that when ω 2 =
ki
1+kd
(5.18)
that the RHS of (5.18) will be zero, but
the LHS will not. In order for this system to be string stable for all frequency of ω ≥ 0
it will be necessary that the integral gain parameter (ki ) be zero. Therefore there is no
choice of kp , ki and kd that will result in a controller for each follower that will guarantee
both BIBO stability as well as string stability. This result has been proved for systems
that employ more complicated dynamics by many others (e.g. Peppard [31], Seiler et
al[35], etc).
Leader-centric Controllers: Leader-centric controllers implement two constraints.
They attempt to minimize both the inter-robot spacing error given by (5.1) as well as a
new constraint of:
eli (t) = x0 (t) − xi (t) − ixd
(5.19)
where x0 (t) is the platoon leader’s current position. This new constraint (5.19) requires a
much more difficult to obtain global measurement between the platoon leader and itself.
48
This additional measurement effectively decouples the followers from one another. Any
disturbance in the leader’s trajectory is immediately (or nearly immediately) sensed by
each follower in the platoon. An instance of a linear controller for this type can be written
as:
Ui (s) = K(s)[βEi (s) + (1 − β)Eil (s)]
(5.20)
where 0 ≤ β ≤ 1 can be thought of as a measurement mixing factor. The special case
in this system is the first robot after the leader. Since the ei (t) and eli (t) are the same
measurement for this case this robot will end up implementing (5.8) control policy. From
this controller we can derive the following error transfer function:
β(kd s2 + kp s + ki )
Ei (s)
=
Ei−1 (s)
(1 + kd )s2 + kp s + ki
(5.21)
The characteristic equation of (5.21) is identical to the characteristic equation of (5.10)
and therefore the BIBO stability constraints on the various PID gains (5.11),(5.12) and
(5.13) still apply. However, the mixing factor β plays an important role in the system’s
string stability. The constraint for string stability for this system is given by:
Ei (jω) E (jω) i−1
∞
β(k − k ω 2 + jk ω) i
p
d
=
≤1
ki − (1 + kd )ω 2 + jkp ω (5.22)
For any BIBO stable choice for the PID gains kp ,ki ,kd there is always a choice for β
that will satisfy this constraint. In the extreme case of β equal to zero, each follower is
completely decoupled from its neighbors. In this case we have N independent systems
49
and there are no string instabilities. In the case that β equals one, the system degrades
into a unidirectional controller.
Bidirectional Controllers: Similar to the leader-centric approach, the bidirectional
controller strategies employ two constraints. Like the unidirectional and leader-centric
strategies, the bidirectional approach attempts to minimize the inter-robot spacing error
(5.1) as well as the following:
ei+1 (t) = xi (t) − xi+1 (t) − xd
(5.23)
This type of controller utilizes two local measurements; the inter-robot spacing between
itself and its immediate predecessor and between itself and its immediate successor (i.e.
the robot ahead as well as behind). Since both constraints require only local measurements, this strategy is more desirable then the leader-centric approach. An instance of a
linear controller for this type can be written as:
Ui (s) = K(s)[βEi (s) + (1 − β)Ei+1 (s)]
(5.24)
Again where 0 ≤ β ≤ 1 can be thought of as a measurement mixing factor. Implementing
a feedback system that utilizes this controller will result in the following two transfer
functions: (5.21) as well as
Ei (s)
(1 − β)(kd s2 + kp s + ki )
=
Ei+1 (s)
(1 + kd )s2 + kp s + ki
(5.25)
50
(5.25) represents how errors propagate forward along the string. This error transfer
function must also meet the requirements for string stability. In particular:
Ei (jω) E (jω) i+1
∞
(1 − β)(k − k ω 2 + jk ω) i
p
d
=
≤1
ki − (1 + kd )ω 2 + jkp ω (5.26)
One might wonder why there would be any error signals propagating from the back of
the platoon toward the leader? First, the bidirectional strategy results in a fully connected
system (i.e. all follower robots affect all other followers). Second, the last follower robot in
the platoon is a special case and simply implements the unidirectional control law (5.8).
When a forward propagating disturbance reaches the last follower, it has a ”reflective
effect” that creates a disturbance that propagates back toward the leader.
It should be noted that these two string stability constraints are opposing each other.
The choice of the measurement mixing factor β is a design trade off. The optimal mixing
factor is affected not only by the choice of PID gains but also by the length of the platoon
as well as the special case of the last follower. A value of 0.5 is the special case of equal
attenuation of disturbances in both directions. Values greater than 0.5 attenuate the
disturbances fast in the forward then in the backward direction while values less then 0.5
have the opposite effect.
The choice of β also affects the reactiveness of the platoon to the leader’s changes. A
smaller value of β has a ”sluggish” effect resulting in larger overshoot and settling times
for the first followers in the platoon. The extreme case of β equal to zero will result in
the platoon ignoring all leader inputs! Larger values of β will result in a more reactive
system but increasing it will eventually lead to string instabilities.
51
No.
1
2
3
4
Unidirectional
Peak Value % increase
123
148
20.3
184
24.3
236
28.2
Bidirectional
Peak Value % increase
191
179
-6.3
142
-20.7
83
-41.5
Table 5.1: Comparison of peak overshoot values
5.2.2
Experimental Methods
The various controllers were tested using the Player [17] robot server and Gazebo simulator. Physical robot experiments were performed using four Active Media Pioneer 2
DE mobile robots equipped with 802.11b wireless Ethernet and Sick LMS200 laser range
finders. We utilized an overhead camera to provide ground truth measurements [19].
5.2.3
Experimental Results
Figures 5.2 demonstrates the problem of string instability. Although all error signals have
a steady state error of zero (i.e. each robot is individually stable), the peak overshoot
of each robot increases along the platoon. Table 5.1 lists the peaks for each robot and
the percentage increases from one robot to the next. Figure 5.3 shows the identical setup
as figure 5.2, however the robots are utilizing a bidirectional controller. As revealed in
Table 5.1 the initial disturbance of the lead robot’s starting motion (a step response) is
attenuated along the platoon. Finally figure 5.4 demonstrates the string stable behavior
for three physical robots (Pioneer 2 DE). The last six figures demonstrate the stability and
performance of the bidirectional controller using both longitudinal and lateral feedback.
In each case, four robots formed platoons at various bearings. Initially the robots are
in their proper positions and at rest. The figures plot the separation and bearing errors
52
generated by the leader’s stop-and-go motion (i.e. the step response input). In each case
the controller was able to attenuate the disturbance without any string stability problems.
Figure 5.2: Unidirectional controller demonstrating string instability (Gazebo Simulation)
53
Figure 5.3: Bidirectional controller demonstrating string stability (Gazebo Simulation)
Figure 5.4: Bidirectional controller demonstrating string stabilities (Physical Robots)
54
Figure 5.5: Separation errors for a bidirectional longitude controller while maintaining a
30 degree bearing. (Gazebo Simulation)
Figure 5.6: Bearing errors for a bidirectional longitude controller while maintaining a 30
degree bearing. (Gazebo Simulation)
55
Figure 5.7: Separation errors for a bidirectional longitude controller while maintaining a
45 degree bearing. (Gazebo Simulation)
Figure 5.8: Bearing errors for a bidirectional longitude controller while maintaining a 45
degree bearing. (Gazebo Simulation)
56
Figure 5.9: Separation errors for a bidirectional longitude controller while maintaining a
60 degree bearing. (Gazebo Simulation)
Figure 5.10: Bearing errors for a bidirectional longitude controller while maintaining a
60 degree bearing. (Gazebo Simulation)
57
Chapter 6
Two Dimensional Controller Design
Formation
Directed Graph
α
α
β
β
Set of Rules
a a −> b−e
c a −> d−e
b b −> g−f
β
α
Finite State Machine
String Stable
Separation − Bearing
Control Policies
Controllers
Chapter 6
Figure 6.1: Thesis overview
This chapter builds upon the concepts introduced in the previous chapter and details
the design of a planar non-holonomic seperation-bearing controller. This controller’s
design, along with the experimental results of its performance, validates hypotheisis H3,
58
that a controller can be designed that will have the necessary stability to maintain the
formation in the precense of distrubances.
6.1
Holonomic versus Non-holonomic Control
An important design criteria for any controller is whether there are any constraints on
the control states with respect to the inputs of the system. A system that has the same
number of controllable states or degrees of freedom (DOF) as its number of inputs is
known as a holonomic system. Systems with fewer inputs than controllable degrees of
freedom are known as non-holonomic systems [25]. Most mobile robot systems employ
some sort of steerable drive system that results in a non-holonomic constraint, such that
a robot’s position and orientation can not be controlled independently.
6.2
Planar Kinematics
This chapter addresses the design issues of a two-dimensional or planar controller. In
order to better understand the planar problem, we studied the simple case of maintaining
a column formation of holonomic robots. Each robot’s state (position and orientation)
can be described by the following state vector:
x
x= y
(6.1)
θ
59
β 12
(x 1 ,y1 )
θ1
ψ12
β 21
l12
ψ 21
(x2 ,y 2 )
θ2
Figure 6.2: Leader - Follower geometry
and each robot’s motion is described with the following planar kinematic model:
cos θ
ẋ = sin θ
− sin θ 0
cos θ
0
0
u
0
(6.2)
1
The control vector u is defined as
vx
u = vy
ω
(6.3)
where vx and vy are the forward and lateral velocities in the robot’s body reference
coordinate system (See figure 6.2).
Each robot in the column is required to maintain a fixed distance and bearing with
respect to its predecessor. In addition each robot in the column is required to maintain
a common heading with the formation leader. This constraint is necessary due to the
relative nature of bearing measurements between robots. These three constraints define
60
error signals that ultimately drive the controller. These constraints are depicted in 6.2
and are described by
˜l =
q
(x1 − x2 )2 + (y1 − y2 )2 − ldesired
ψ̃ = tan−1
y1 − y 2
x1 − x 2
− θ2 − ψdesired
φ̃ = θ1 − θ2
(6.4)
(6.5)
(6.6)
where ldesired and ψdesired are defined as constant parameters of the formation.
Finding the partial derivatives of these equations with respect to the follower’s state
variables, we obtain:
dl
dx2
dl
dy2
dψ21
dx2
dψ21
dy2
= − cos β21
(6.7)
= − sin β21
(6.8)
sin β21
l
cos β21
= −
l
=
(6.9)
(6.10)
(6.11)
Using the chain rule to combine these partial derivatives along with the kinematic equations of motion (6.2) results in:
ė = M21 u
(6.12)
61
where
l
˜
e = ψ̃
(6.13)
φ̃
While M21 is a non-linear transformation, whose terms can be partitioned as follows.
M21
where
=
0
Ψ21
−1
−1
0 0
− cos ψ21
sin ψ
Ψ21 =
l
21
(6.14)
− sin ψ21
− cos lψ21
(6.15)
By defining a new control vector u’
Ψ−1
21
u0 =
0 0
0
0
1
u
(6.16)
we can re-write (6.12) as a linear transformation in terms of the new control vector:
ė = M021 u0
(6.17)
62
where
M021
1
= 0
0
1
0
−1
(6.18)
0 0 −1
Solving for u’ in terms of ė we find:
−1
u0 = 0
0
−1
0
0
0
ė
1
(6.19)
1
or written simply:
˙
vx0 = ˜l
(6.20)
˙
˙
vy0 = ψ̃ 21 − φ̃
(6.21)
˙
ω = −φ̃
(6.22)
For the special case of a column of robots attempting to maintain a zero degree bearing
˙
with their leaders, the Ψ21 matrix can be approximated by I2 . Since ˜l represents the
˙
velocity error and ψ̃ 21 represents the angular velocity error between leader and follower
respectively, this results in what we intuitively expect, that the follower’s forward velocity
should be proportional only to the error in the relative velocity between the follower and
its leader. While the robot’s lateral velocity should be proportional to the angular velocity
error and inversely proportional to the difference in heading between the two robots.
63
6.3
Controller Design
We now describe a linear control design for the column formation problem.
6.3.1
Unidirectional Linear Control
Define a feedback control policy
u = Ψ21 (Kp21 ė + Ki21 e)
(6.23)
where
Kp21 = Kp
(6.24)
Ki21 = Ki
(6.25)
Kp =
p
Kl
0
0
i
K
=
Kli
0
0
0
Kψp
0
0
Kψi
0
0
0
(6.26)
Kφp
0
0
(6.27)
Kφi
This is a PI controller. Results with a two robot system where the follower is attempting to maintain a fixed bearing of zero degrees and a fixed separation of one meter
are shown in Figure 6.3. As shown in the figure, after a certain settling period, all errors
reach a zero steady state value. However, Figure 6.4 reveals that the controller is not
64
string stable. As we increase the number of robots, small disturbances are amplified.
Peppard [31] demonstrated these same results with a platoon of vehicles using only longitudinal control. This is not just a problem with tuning the gain constants. Seiler et al [35]
and Aguiar et al [1] have shown that there are no combinations of gains for purely linear
control that will drive all error signals to zero in a finite time period while preserving
string stability.
Figure 6.3: Unidirectional PID controller results for leader - follower
6.3.2
Bidirectional Linear Control
However, not all is lost for linear control. Both Peppard [31] and de Wit and Brogliato [8]
hinted that a solution to this problem can be found by incorporating information not only
65
Positions
12
8
0.6
Leader
Follower #1
Follower #2
Follower #3
0.4
Error (m)
Y (meters)
10
Forward Seperation Error
6
4
0
−0.2
−0.4
2
0
−4
0.2
−0.6
−2
0
X (meters)
2
−0.8
4
0
2000
Forward Bearing Error
4000
6000
Time (msecs)
8000
Forward Heading Error
0.4
Error (degrees)
Error (degrees)
0.6
0.2
0
−0.2
−0.4
0.5
0
−0.5
−0.6
500
1000
Time (msecs)
1500
500
1000 1500 2000
Time (msecs)
2500
Figure 6.4: Unidirectional PID controller results for leader - follower platoon
from the vehicle ahead, but also from the vehicle behind. In order to implement this we
will need to look at how change in the leader’s states affects the errors signals. Finding
the partial derivatives of equations 6.4, 6.5 and 6.6 with respect to the leader’s state
variables we find that:
dl
dx1
dl
dy1
dψ21
dx1
dψ21
dy1
= − cos β12
(6.28)
= − sin β12
(6.29)
sin β12
l
cos β12
= −
l
=
(6.30)
(6.31)
66
(6.32)
Notice these equations are similar to equations 6.7, 6.8, 6.9, and 6.10. As performed
previously in the case of the follower, from these equations we can define a transformation
that maps the leader’s control inputs to changes in the error signals:
M12
− cos ψ12
= sin ψ12
l
0
− sin ψ12 0
− cos lψ12
0
0
(6.33)
1
In a similar manner as M21 , M12 can be linearized by partitioning M12
M12
where
=
Ψ12
0
0
0 0
− cos ψ12
sin ψ
Ψ12 =
l
12
1
(6.34)
− sin ψ12
− cos lψ12
(6.35)
Now we can define a controller that utilizes two constraints; the usually forward looking
set of constraints as well as a backward looking set.
u = Ψ21 (Kp21 ė + Ki21 e) + Ψ12 (Kp12 ė + Ki12 e)
(6.36)
67
where
Kp21
=
βKp
(6.37)
Ki21
=
βKi
(6.38)
Kp12
=
(1 − β)Kp
(6.39)
ki12
=
(1 − β)Ki
(6.40)
0 ≤β≤ 1
(6.41)
β is a weighting factor that controls how much damping will be added by the backward
looking constraints. Too large of a beta value and the system will be string unstable.
Too small a value and the system will be too unresponsive to the leader’s actions. The
results of this controller with a beta value of
2
3
are shown in Figure 6.5. Notice that
with each robot added to the platoon, the maximum value of its overshoot is less than
it predecessor. Tables 6.1 and 6.2 illustrate that disturbances are not amplified by the
individual controllers on each robot.
No.
1
2
3
Unidirectional
Peak Value % change
0.1
0.2
100
0.7
250
Bidirectional
Peak Value % change
0.078
0.076
-2.56
0.062
-18.4
Table 6.1: Comparison of peak separation overshoot (in meters)
Finally we can add these bidirectional control policies to the behaviors we designed in
chapter three to instantiate a set of control systems that will not only assemble a given
formation, but maintain it as well, thus validating hypothesis H3.
68
No.
1
2
3
Unidirectional
Peak Value % change
0.45
0.51
13.3
0.61
19.6
Bidirectional
Peak Value % change
0.06
0.05
-16.7
0.04
-20.0
Table 6.2: Comparison of peak bearing overshoot (in degrees)
Separation
Final Value % change
-0.007
-0.005
-28.6
-0.001
-80.0
No.
1
2
3
Final
-0.33
-0.19
-0.01
Bearing
Value % change
-42.4
-94.7
Final
-0.18
-0.09
-0.01
Heading
Value % change
-100.0
-88.9
Table 6.3: Comparison of steady state errors for the bidirectional controller
Leader
Follower #1
Follower #2
Follower #3
8
0.06
0.04
Error (m)
10
Y (meters)
Forward Seperation Error
Positions
12
6
4
0.02
0
2
0
−4
−0.02
−2
0
X (meters)
2
4
100
Forward Bearing Error
0.8
300 400 500
Time (msecs)
600
Forward Heading Error
0.6
0.2
Error (degrees)
Error (degrees)
0.4
200
0
−0.2
0.4
0.2
0
−0.2
−0.4
−0.6
−0.4
100
200
Time (msecs)
300
200
400
600
Time (msecs)
800
Figure 6.5: Bidirectional PID controller results for leader - follower platoon
69
Chapter 7
Related Work
7.1
Overview
The study of robot formation assembly and maintenance spans many related areas of
research. This chapter focuses on explaining how this dissertation fits into the framework
of what has been accomplished and discusses the gaps that it has filled. In particular
there are three broad areas of study that we contribute to:
1. Self Assembling Systems: The study of systems that self organize.
2. Formation Maintenance Systems: The study of distributed control systems that
maintain a set of geometric constraints.
3. String Stability Analysis: The study of stability properties of a set of distributed
systems that are weakly interconnected.
70
Markovian
Environment
Reynolds 1987
Jadbabaie et al 2002
Bonabeau et al 1994
Jones et al 2003
Klavins 2004
Naffin 2005
Arbitrary
Geometric
Constraints
X
X
X
X
X
Construction
Grammar
Convergence
Analysis
Physical
Robot
Results
X
X
X
X
X
X
X
X
X
X
X
Table 7.1: Comparison of formation-based self assembly literature
7.2
Biological Formations
Biological systems have shown to utilize formations to their benefit. [3] demonstrated
the energy saving utility of formations by flocks of geese. [45] have shown how marine
mammals use formations to protect their young from predators. [30] and [2] explains how
fish use formations to increase their sensing capabilities.
7.3
Self Assembly
Most of the literature on self assembly research primarily focuses on two areas; reconfigurable robots and manipulation of nano-size structures. However there are a few contributions to the formation assembly problem.
7.3.1
Flocking
Some of the earliest work in formation behaviors originated in the artificial life literature.
In the late 1980’s, Craig Reynolds landmark ”Boids” work [34] set the stage for further
research on multi-agents formations. He demonstrated how combining three simple behaviors results in a group ”flocking” behavior. His work was the first to show that only
71
local sensing was necessary to create such a behavior. More recently [20] analyzed how
the behavior of agents that simply average their headings with their nearest neighbors
will eventually synchronize the headings of a group of planar agents. Their work was
one of the first to provide a convergence analysis for such systems. Both did not address
the problem of maintaining constraints of complex geometries nor did neither take into
account real robot dynamics.
7.3.2
7.3.2.1
Biologically Inspired
Bonabeau et al, 1994
Modeled after Wasps building nests, [7] proposed a set of rule-based algorithms that
allows simple agents to construct 3D lattices. The system has no global representation
and uses stimergy to communicate. In contrast to our approach the system does not
generalize to building arbitrary structures. They have a strong Markovian assumption
about the environment and have only validated their ideas using a set of low fidelity
simulations.
7.3.3
7.3.3.1
Complex Arbitrate Geometries
Jones et al, 2003
Similarly to our synthesis approach, [21] has developed a transition rules set compiler that
generates a set of rules for assembling a given goal configuration. However, their goal
objectives are generating rules for one or more robots to create static structures within
the environment and not the formations of the robots themselves.
72
7.3.3.2
Klavins, 2004
[22] provided the first use of graph grammars to model self assembly. Our motivation
to utilize graph grammars as a framework for self assembly coordination originated with
[22]. However in [22], Klavins has focused on topological constraints of his models and
not geometric constraints such as those associated with formations. In addition he makes
no attempt to bridge the gap between the Markovian world of his nano-scale simulations
and the physical world it represents. His results are only validated using low fidelity
simulations.
7.3.4
Our Contribution
Our main contribution to the field of self assembly is the development of a formal model
for describing the assembly process with respects to robot formations. In addition to
our approach to formation assembly, we developed metrics and analyzed the convergence
properties of our approach.
7.4
Formation Maintenance Control
The literature on formation maintenance can be broadly classified into three types of
approaches: behavior based, leader - follower and virtual structure. Behavior based approaches produce coordinated group behavior from the aggregation of simpler behaviors.
The basis behaviors usually utilize simple control strategies (i.e PID control, linear models, etc) and either switch between them or utilize a fusion mechanism such as motor
schema’s. The leader -i follower approach assigns predetermined roles to robots. Usually
73
Approach
Chen & Luh 1994
Balch & Arkin 1998
Balch & Hybinette 2000
Fredslund & Matarı́c 2002
Das et al 2002
Lawton & Beard 2003
Naffin 2005
Wang 1991
Desai et al 1998
Vidal et al 2003
Lewis & Tan 1997
Beard et al 2001
Chen & Luh 1994
Balch & Arkin 1998
Balch & Hybinette 2000
Fredslund & Matarı́c 2002
Das et al 2002
Lawton & Beard 2003
Naffin 2005
Wang 1991
Desai et al 1998
Vidal et al 2003
Lewis & Tan 1997
Beard et al 2001
BB
BB
BB
BB
BB
BB
BB
LF
LF
LF
VS
VS
Stability
Analysis
X
X
X
X
X
X
X
X
X
Actuation
Model
NH
NH
H
NH
NH
NH
NH
H
NH
NH
NH
H
String
Stable
Sensing
Requirements
Local
Global
Local
Local
Local
Global
Local
Local
Local
Local
Global
Global
Simulation
Results
X
X
X
Communication
Requirements
Global
Global
Local
Local
Local
None
Local
None
None
Global
Global
Global
Physical
Robot
X
X
X
NA
NA
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Table 7.2: Comparison of formation maintenance literature
these approaches require no communication since robots roles are fixed. In the virtual
structure approach a single control model is used for the formation. Although most approaches are decentralized, they usually require global sensing or global communication.
Therefore, these approaches are considered tightly coupled and do not suffer the problem
of string instability.
74
7.4.1
7.4.1.1
Behavior Based
Chen and Luh 1994
[9] proposed a behavior based approach that assembles as well as maintain formations of
circles and other convex polygons. They developed a set of ”tasks” that assembles the
geometry, maintains a global heading, and coordinates between robots to maintain their
constraints and the overall group stability.
Their approach does not allow for arbitrary geometric constraints. They validate
only a few tasks (i.e. circle assembly and maintaining a global heading) using low fidelity
simulations (i.e. no robot dynamics). They do not address the problem of string stability
nor do they provide any validation to their stability claims.
7.4.1.2
Balch and Arkin 1994
[4],[5] demonstrated behavior-based control utilizing motor schema’s on physical robots
that could negotiate obstacles. They were the first to adopt a set of metrics for formation
evaluation as well as defining the various formation position strategies (i.e. unit-center,
leader or neighbor-referenced). However, they did not address the formation assembling
problem nor did they examine any stability properties of their approach.
7.4.1.3
Balch and Hybinette 2000
In [6] the authors describe a behavior-based approach to formations based on potential
fields. Separate motor schema’s compute a vector for moving to the proper formation
75
position, avoiding static obstacles, avoiding other robots and maintaining the current formation. Each robot builds a list of potential attachment sites and generates an attraction
vector for the closest.
Our approach is similar to [6] in that formations are grown bottom-up from simpler
constructions. However our approach does not used fixed attachment sites for each robot.
They did not investigate any stability properties of their approach.
7.4.1.4
Fredslund and Mataric̀ 2002
[16],[15],[14] developed a behavior-based approach for formations where each robot is
designated a unique friend robot to follow by visual servoing. A conductor robot that is
viewed by all followers maintains the overall heading of the formation. They validated
their approach on a set of physical robots. However, they did not address the formation
assembling problem nor did they examine any stability properties of their approach.
7.4.1.5
Das, Fierro, et al 2002
[10] describes a framework for vision-based control of formations using a single omnidirectional camera. Their approach emphasizes the ability to switch between simple
decentralized controllers and therefore change their overall formation. A control graph
describes the relationships between the leader - followers. In most of the experiments
the control graph is static and predefined. In a few cases they allowed the control graph
to vary but within rigid limits. They did provide a detailed analysis of the stability
properties of their approach. Our approach differs in that the control graph for our
76
formations is implicit and distributed across all the robots involved in the formation.
The formation assembly phase automatically generates our control graph.
7.4.1.6
Lawton and Beard 2003
[26] demonstrated a behavior-based approach to formation transitions. Three different
control behaviors that can minimized the geometric constraint errors are fully developed
along with detailed stability analysis for each. A novel switching controller is developed
that allows the system to select the best behavior for the given constraints. Their approach is very similar to ours. However, our graph grammars are more fault tolerant
approach.
7.4.2
7.4.2.1
Leader-Follower
Wang 1991
[44] did some of the earliest work in controlling multiple agents that maintain geometric
constraints. Each robot is modeled by a point mass and can sense other robots within
a cone projected in the robot’s direction of travel. Wang demonstrated asymptotically
stability for groups of four robots. However, his approach utilized fixed geometric constraints and did not address the formation assembly problem or any string instability
issues.
7.4.2.2
Desai, Ostrowski and Kumar 1998
[11] developed methods of feedback linearization to exponentially stabilize the relative
distance and orientation of one robot relative to another. They also developed a control
77
policy that uses the distances between three robots to maintain a formation member.
They validated their approach using simulation and provided stability proofs. However,
their approach did not address the formation assembling problem nor any string instability
issues.
7.4.2.3
Vidal, Shakernia and Sastry 2003
[43] demonstrated the use of omni-directional cameras and a nonlinear control to maintain
formations. They utilize control graphs to represent their formation and provide input-tostate stability analysis. The focus of their work was developing a non-holonomic control
system that minimized positional errors. They did not address the formation assembly
problem.
7.4.3
Virtual Structure
7.4.3.1
Lewis and Tan 1997
[28] demonstrated how a virtual structure approach can be used to maintain a group of
non-holonomic robots in a plane. They performed simulations as well as experiments on
a set of physical robots. However, their approach focused on minimizing formation errors.
Each robot’s role was predetermined and they did not address the formation assembly
problem.
7.4.3.2
Young, Beard and Kelsey 2001
In [46] the authors describe a virtual structure approach to formations. Their approach
incorporates formation feedback where by the formation leader receives feedback from its
78
followers. Their approach allows for stability guarantees, and was validated in simulation
as well as on a set of holonomic physical robots. However, like [28] their approach focused
on minimizing formation errors and they did not address the formation assembly problem.
7.4.4
Our Contribution
Our main contribution to the field of robot formation control is our novel bottom-up
approach that bridges the gap between the self assembly field and the formation maintenance field. We are also one of the few whom address the string stability problem.
7.5
7.5.1
String Stability
Early Work
Some of the earliest research on strings of moving vehicles was done by Levine and Athans
[27]. They showed how a string of high speed moving vehicles could be controlled using
a linear quadratic regulator. [31] and[32] added to this work by showing how string
stability could be obtained with PID control using both forward and rearward separation
measurements. [38] are often cited as the first to give formal definitions for string stable,
exponentially string stable and lp string stable. Canudas de Wit and Brogliato [8] provided
a detailed overview of string stability and how various control polices and inter-vehicle
spacing strategies affect string stability. Seiler et al [35] analyzed various classes of linear
controllers with regard to string stability.
79
All of these early works in string stability address the generalized string stability
problem and not the formation constraint problem. In addition many were completely
theoretical or validated their works with simple one dimensional problems.
7.5.2
Tannar, Pappas and Kumar 2002
Pappas and Kumar [39],[40], [41] introduced the concept of leader-to-formation stability
(LFS) an offshoot of input-to-state stability. In particular they studied the effect of the
group leader on the rest of the formation. This type of stability is more generalized than
string stability though not as rigorous as mesh stability. Similar to our approach, they
developed a linearized non-holonomic control policy that demonstrates this new type of
stability.
7.5.3
Fax and Murray 2002
Fax and Murray [12] have developed a Nyquist-like criteria based on graph laplacians
for vehicle formations. Their approach handles multiple constraints but requires global
sensing as well as holonomic actuation.
7.5.4
Overlapping Controllers
Currently there is intense research in the control theory community is the design of
”Overlapping” controllers. These systems develop higher dimensional state spaces and
design multiple controllers that have subsystems that share common components. [37]
developed an Overlapping controller that maintained a formation of Unmanned Aerial
80
Vehicles (UAV). While [36] used an overlapping controller to maintain a platoon of ground
vehicles.
7.5.5
Our Contribution
Our contribution to the field of string stability analysis is the development of a set of
separation bearing controllers for holonomic and non-holonomic mobile robots that are
string stable. We also provide validation by utilizing physics-based simulations as well as
experiments on physical robots.
81
Chapter 8
Conclusions
In this thesis we presented a solution to the problem of assembling and maintaining
multi-robot formations.
8.1
Significant Contributions
We proposed and validated three hypotheses:
1. H1 : Given a formation, there exists a rule set which when executed will produce
the required formation.
2. H2 : Given a rule set, a controller for a set of robots can be synthesized such that
the required formation will be assembled.
3. H3 : A controller can be designed that will have the necessary stability to maintain
the formation in the presence of disturbances.
82
In the process of validating these hypotheses we have made the the following contributions:
1. A
novel
”bottom-up”
approach
to
formation
assembly.
Our approach dynamically grows formations from single robots into line segments
and ultimately larger and more complex formations. Formation growth occurs by
negotiation when robots are in close proximity.
2. A
formal
model
for
describing
the
assembly
coordination.
A formal model for this coordination has been developed in the form of a graph
grammar which can be generated automatically.
3. Developed metrics for analyzing the convergence properties of the approach.
The time necessary for the system to produce the completed formation is a key
property of any self-assembling system. A convergence analysis based on empirical
data is presented for a small sample set of formation classes.
4. Developed
control
policies
that
eliminate
string
instability.
String instability, a form of instability that is unique to weakly interconnected
systems, hampers the performance of our approach to assemble formations. Two
solutions to the problem are developed and the trade offs associated with each
solution are discussed.
83
8.2
Open Issues
There are several open issues that could be explored further.
8.2.1
Formation Transitions and Navigating Obstacles
The next logical extension to our work would be to examine how our graph grammar
could used to dynamically transition from one formation to another. The problem of a
formation traversing an obstacle fields can be addressed by a transformation from one
formation into simpler formation.
8.2.2
Rigidity Analysis
Another logical extension to our work is to make use of non-spanning tree graphs of a
congruency set. This will introduce multiple constraint for each robot and requires us to
analyze the more complicated mesh stability problem.
8.2.3
Non-linear Controllers
Utilizing non-linear control for our motor behavior would have many advantages on nonholonomic systems. Motor behaviors based on a non-linear control design would not
require the switching between heading correcting and bearing correcting behaviors that
we have used so far.
84
References
[1] A. P. Aguiar, A. N. Atassi, and A. M. Pascoal. Regulation of a nonholonomic
dynamic wheeled mobile robot with parametric modeling uncertainty using lyapunov
functions. In Proceedings of the 39th IEEE Conference on Decision and Control
(Sydney, Australia), volume 3, pages 2995–3000, December 2000.
[2] C. Anderson and N. R. Franks. Teams in animal societies. Behavior Ecology,
12(5):534–540, 2001.
[3] J. P. Badgerow. An analysis of function in the formation flight of canadian geese.
The Auk, 105:749–755, October 1988.
[4] T. Balch and R. C. Arkin. Motor scheme-based formation control for multiagent
robot teams. In Proceedings of the First International Conference on Multiagent
Systems (ICMAS’95), pages 10–16. AAAI Press, June 1995.
[5] T. Balch and R. C. Arkin. Behavior-based formation control for multi-robot teams.
IEEE Transactions on Robotics and Automation, 14(6):926–939, December 1998.
[6] T. Balch and M. Hybinette. Social potentials for scalable multi-robot formations.
In IEEE International Conference on Robotics and Automation (ICRA ’00), pages
73 – 80, April 2000.
[7] E. Bonabeau, M. Dorigo, and G. Théraulaz. The building behavior of lattice swarms.
In R. Brooks and P. Maes, editors, Proceedings of the Fourth International Workshop on the Synthesis and Simulation of Living Systems, pages 307–312. MIT Press,
September 1994.
[8] B. Brogliato and C. Canudas de Wit. Stability issues for vehicle platooning in
automated highway systems. In Proceedings of the IEEE International Conference
on Control Applications, (Hawaii USA), pages 1377–1382, August 1999.
[9] Q. Chen and J. Luh. Coordination and control of a group of small mobile robots.
In Proceedings of the IEEE International Conference on Robotics and Automation,
volume 3, pages 2315–2320, May 1994.
[10] A. K. Das, R. Fierro, V. Kumar, J. Ostrowski, J. Spletzer, and C. Taylor. A framework for vision based formation control. IEEE Transactions on Robotics and Automation, 18(5):813–825, October 2002.
85
[11] J. P. Desai, J. Ostrowski, and V. Kumar. Controlling formations of multiple mobile robots. In Proceedings of the IEEE International Conference on Robotics and
Automation, volume 4, pages 2864–2869, Leuven, Belgium, May 1998.
[12] J. Fax and R. Murray. Graph laplacians and stabilization of vehicle formations.
Technical Report CDSTR:2001.01-007, California Institute of Technology, 2002.
[13] G. Franklin, J.D. Powell, and A. Emami-Naeini. Feedback Control of Dynamic Systems. Addison-Wesley, 1986.
[14] J. Fredslund and M. J. Matarić. Robot formations using only local sensing and
control. In Proceedings of the IEEE International Symposium on Computational
Intelligence in Robotics and Automation (CIRA’01), pages 308–313, August 2001.
[15] J. Fredslund and M. J. Matarić. A general algorithm for robot formations using
local sensing and minimal communications. IEEE Transactions on Robotics and
Automation, 18(5):837–846, October 2002.
[16] J. Fredslund and M. J. Matarić. Robots in formation using local information. In
Proceedings of the 7th International Conference on Intelligent Autonomous Systems,
pages 100–107, Marina del Rey, California, March 2002.
[17] B. Gerkey, R. T. Vaughan, K. Støy, A. Howard, G. S. Sukhatme, and M. J. Matarić.
Most valuable player: A robot device server for distributed control. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS’01), volume 3, pages 1226–1231, October 2001.
[18] A. Herbert. New horizons for combat uavs. Air Force Magazine, 86(12), December
2003.
[19] A. Howard. Mezzanine user manual; version 0.00. Technical Report IRIS-01-416,
Institute for Robotic and Intelligent Systems, University of Southern California,
2002.
[20] A. Jadbabaie, J. Lin, and A. S. Morse. Coordination of groups of autonomous agents
using nearest neighbor rules. IEEE Transactions on Automatic Controls, 48(6):988–
1001, June 2003.
[21] C. V. Jones and M. J. Matarić. From local to global behavior in intelligent selfassembly. In IEEE International Conference on Robotics and Automation, pages
721–726, Taipei, Taiwan, Sep 2003.
[22] E. Klavins. Toward the control of self-assembling systems. In Workshop on Control
Problems in Robotics and Automation, pages 153–168, December 2002.
[23] E. Klavins, R. Ghrist, and D. Lipsky. Graph grammars for self assembling robotic
systems. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 5, pages 5293–5300, May 2004.
86
[24] N. Koenig and A. Howard. Design and use paradigms for gazebo, an open-source
multi-robot simulator. In IEEE/RSJ International Conference on Intelligent Robots
and Systems, volume 3, pages 2149–2154, Sendai, Japan, September 2004.
[25] J.C. Latombe. Robot Motion Planning. Kluwer Academic Publishers, 1991.
[26] J. R. T. Lawton, R. W. Beard, and B. J. Young. A decentralized approach to
formation maneuvers. IEEE Transactions on Robotics and Automation, 19(6):933–
941, December 2003.
[27] W. S. Levine and M. Athans. On the optimal error regulation of a string of moving
vehicles. IEEE Transactions on Automatic Control, 11(3):355–361, July 1966.
[28] M. A. Lewis and K-H. Tan. High precision formation control of mobile robots using
virtual structures. Autonomus Robots, 4(4):387–403, October 1997.
[29] X. Liu, S.S. Mahal, A. Goldsmith, and J.K. Hedrick. Effects of communication
delay on string stability in vehicle platoons. In IEEE 4th International Conference
on Intelligent Transportaion Systems (ITSC), pages 625–630, Aug 2001.
[30] D. McFarland. Ainmal Behavior. Benjamin Cummings, 1985.
[31] L. E. Peppard. String stability of relative-motion pid vehicle control system. IEEE
Transactions on Automatic Control, 19(5):579–581, October 1974.
[32] L. E. Peppard and V. Gourishankar. Optimal control of a string of moving vehicles.
IEEE Transactions on Automatic Control, 15(3):386–387, June 1970.
[33] J. Lawton R. W. Beard and F. Hadaegh. A coordination architecture for spacecraft
formation control. IEEE Transactions on Control Systems Technology, 9(6):777–790,
November 2001.
[34] C. Reynolds. Flocks, herds and schools: A distributive behavioral model. Computer
Graphics, 21(4):25–34, 1987.
[35] P. Seiler, A. Pant, and K. Hedrick. Disturbance propagation in large interconnected
systems. In Proceedings of the American Control Conference, volume 2, pages 1062–
1067, Anchorage, Alaska, May 2002.
[36] S. S. Stanković, M.J. Stanojević, and D. D. Šiljak. Decentralized overlapping control
of a platoon of vehicles. IEEE Transactions on Control System Technology, 8(5):816–
831, September 2000.
[37] D. Stipanović, G. Inalhan, R. Teo, and C. Tomlin. Decentralized overlapping control of a formation of unmanned aerial vehicles. In Proceedings of the 41st IEEE
Conference on Decision and Control, volume 3, pages 2829–2835, December 2002.
[38] D. Swarrop and J. K. Hedrick. String stability of interconnected systems. IEEE
Transactions on Automatic Control, 41(3):349–357, March 1996.
87
[39] H. Tanner, V. Kumar, and G. Pappas. Stability properties of interconnected vehicles. In Proceedings of the 15th International Symposium on Mathematical Theory
of Networks and Systems, Notre Dame, Indiana, August 2002.
[40] H. Tanner, G. Pappas, and V. Kumar. Input-to-state stability on formation graphs.
In Proceedings of the IEEE International Conference on Decision and Control, (Las
Vegas, NV), volume 3, pages 2439–2444, December 2002.
[41] H. Tanner, G. Pappas, and V. Kumar. Leader-to-formation stability. IEEE Transaction on Robotics and Automation, 20(3):443–455, June 2004.
[42] R. T. Vaughan. Stage: A multiple robot simulator. Technical Report IRIS-00-393,
Institute for Robotic and Intelligent Systems, University of Southern California,
2000.
[43] R. Vidal, O. Shakernia, and S. Sastry. Formation control of nonholonomic mobile
robots with omnidirectional visual servoing and motion segmentation. In IEEE
International Conference on Robotics and Automation, volume 1, pages 584–589,
September 2003.
[44] P. K. C. Wang. Navigation strategies for multiple autonomous robots moving in
formation. Journal of Robotic Systems, 8(2):177–195, 1991.
[45] H. Whitehead. Culture in whales and dolphins. In Encyclopedia of Marine Mammals. Academic Press, 2002.
[46] B. J. Young, R. W. Beard, and J. M. Kelsey. A control scheme for improving multivehicle formation maneuvers. In Proceedings of the American Control Conference,
volume 2, pages 704–709, June 2001.
88
Appendix A
Rule set for a five robot wedge
This appendix shows the resulting rule set for generating a five robot wedge formation.
Figures A.1 and A.2 demonstrate the size of the search space generated by the construction algorithm. The rules for two, three, four and five robots are listed.
a
a
α b
c
a a −> b−c
a
d
a
β
e
a a −> d−e
α f
α g
a
α b
c
c
a a −> b−c
a b −> f−g
a
α b
c
i
a a −> b−c
c a −> h−i
a
j
d β
e
d
β
k β
e
a a −> d−e
a d −> j−k
α
c
a
α b
α h
α b
c
d
β
e
a
n β
o
a a −> d−e
e a −> l−m
d
a
α
q
β
e
c
α
α g
a
a a −> b−c
a b −> f−g
f a −> r−s
j
a
α
c
α
c
a
α
c
α
c
a a −> b−c
b a −> n−o
o a −> v−w
n β
o
a a −> b−c
b a −> n−o
c a −> h−i
a
b
d β
e
t
α
i
α
a a −> b−c
c
a a −> d−e
d b −> z−aa
β
k β
e
n β
v β
w
α
h
d
l
α
q
p β
e
β
m
α
q
α b
c
p
α
q
a a −> d−e
e a −> l−m
d a −> p−q
d β
e
p
α
y
β
l
β
m
p β
l β
m
a a −> d−e
d a −> p−q
e a −> l−m
β
e
a a −> d−e
d a −> p−q
q a −> x−y
β
o
i
α
q
a
n
α
α h
β
a
n β
o
z β
e
β
e
a a −> b−c
c a −> h−i
b a −> n−o
a
α
aa
p
a
i
a a −> d−e
a d −> j−k
j a −> t−u
n β
o
α b
α h
β
s
c
α
u
β
k β
e
r
β
m
a a −> d−e
d a −> p−q
a a −> b−c
b a −> n−o
α f
α g
β
l
α
x
p β
e
α ab β
ac β
c
e
a a −> d−e
a a −> b−c
b d −> ab−ac
Figure A.1: All combinations of PCFs for a five robot wedge formation
89
α
c
α
y
α r β
g
s
α
g
a
α
x
r β
ad
α
c
a a −> b−c
a b −> f−g
f a −> r−s
s a −> ad−ae
p β
e
α
y
a
β
ae
α
x
α
i
p β
l
β
m
α
c
α n β
o
h
α
a
i
a a−> b−c
c a−> h−i
b a−> n−o
o a−> af−ag
α z β
e
a
β
e
a
α
α t β
k
ah
β
e
α
q
α
i
c
l
a
α n β
v
h
α
c
β
w
ab
c
d
β
e
β
m
α
y
β
ac
β
e
a
α
c
ak
aj
β
k
α
i
p β
α
x
l
α
h
ab
α
c
a a −> b−c
a b −> f−g
a a −> d−e
f d −> al−am
α z
d β
α b
β
e
l
c
a a −> b−c
a a −> d−e
a d −> j−k
j b −> aj−ak
α f
g
α
β
m
β
m
a a −> d−e
e a −> l−m
d a −> p−q
q a −> x−y
α
β
e
l
β
ac
β
e
a a −> d−e
a a −> b−c
b d−> ab−ac
c a −> h−i
j β
k
aa
p β
a a −> b−c
b a −> n−o
o a −>v−w
c a −> h−i
α b
ag
a a−> b−c
a a−> d−e
d b −> z−aa
e a−> l−m
ai
β
w
α
c
a
a a −> d−e
a d −> j−k
j a −> t−u
u a −> ah−ai
α n β
c
v
β
α z β
aa
a a−> d−e
d a −> p−q
q a −> x−y
e a −> l−m
α t β
u
k
α n β
af
h
β
m
α
c
β
aa
l
β
m
a a −> b−c
a a −> d−e
e a −> l−m
d b −> z−aa
α al β
g
am
α b
β
e
α h
i
d
β
e
α
i
α
h
ab
β
ac
β
e
a a −> b−c
c a −> h−i
a a −> d−e
b d −> ab−ac
Figure A.2: All combinations of rule sets for a five robot wedge formation
90
Appendix B
Platoon Reduction Algorithm Details
This appendix describes the details of the platoon reduction algorithm. The main procedure list below takes as input a formation graph G and returns a platoon graph P .
It make use of three sub-procedures; FindHead(), BuildEdges()and MarkEdges(). FindHead(), when given the tail vertex of a platoon, locates the head vertex. Once the
platoon vertices have been established, BuildEdges() constructs the platoon edges by
utilizing a list of exterior edges that were generated while constructing the vertices. Finally, MarkEdges() given a platoon, locates all edges that enter or leave the platoon (i.e.
exterior edges).
91
Algorithm 2 Platoon Reduction
1: P ← empty graph
2: for all vertex v ∈ V (G) do
3:
color[v] ← white {Initailize all vertices to white}
4: end for
5: for all edge e ∈ E(G) do
6:
exterior[e] ← false {Initailize all edges to interior}
7: end for
8: for all vertex v ∈ V (G) do
9:
if color[v] = black then
10:
continue
11:
end if
12:
if out(v) = 1 then
13:
if in(v) = 0 then
14:
FindHead(v) {Platoon tail}
15:
else if in(v) = 1 then
16:
a ← constraint associated with v out-bound edge
17:
b ← constraint associated with v in-bound edge
18:
if a 6= b then
19:
FindHead(v) {Platoon tail}
20:
end if
21:
else if in(v) > 1 then
22:
FindHead(v) {Platoon tail}
23:
end if
24:
end if
25:
if out(v) = 0 or out(v) > 1 then
26:
if in(v) = 0 or in(v) > 1 then
27:
Create new vertex w in P
28:
size[w] ← 1
29:
head[w] ← v
30:
tail[w] ← v
31:
Add w to P
32:
MarkEdge(w)
33:
end if
34:
end if
35: end for
36: BuildEdges()
92
Algorithm 3 Build Platoon Edges
1: Procedure BuildEdges()
2: for all edge e ∈ E(G) do
3: if exterior[e] then
4:
vertex v ← head of e
5:
vertex u ← tail of e
6:
for all vertex w ∈ V (P ) do
7:
if tail[w] = v then
8:
vertex x ← w
9:
end if
10:
if head[w] = u then
11:
vertex y ← w
12:
end if
13:
end for
14:
Create edge (x, y) in P
15: end if
16: end for
Algorithm 4 Procedure to locate the head of a platoon
1: Procedure FindHead(Vertex v)
2: Create new vertex w in P
3: tail[w] ← v
4: size ← 1
5: a ← constraint associated with v out-bound edge
6: while out(v) = 1 do
7: b ← constraint associated with v out-bound edge
8: if a 6= b then
9:
break
10: end if
11: size ← size + 1
12: color[v] = black
13: v ← vertex adjacent along v’s out-bound edge
14: end while
15: head[w] ← v
16: constraint[w] ← a
17: Add w to P
18: color[v] = black
19: MarkEdge(w)
Algorithm 5 Procedure to mark all exterior edges of a platoon
1: MarkEdge(w)
2: for all edge e ∈ E(G) do
3: if e enters tail[w] or e leaves head[w] then
4:
exterior[e] = true
5: end if
6: end for
93
© Copyright 2026 Paperzz