Download presentation
Presentation is loading. Please wait.
Published bySusan Spencer Modified over 8 years ago
1
Thesis Presentation: Cellular Automata for Control and Interactions of Large Formations of Robots Ross Mead Committee: Dr. Jerry B. Weinberg Dr. Stephen Blythe Dr. Xudong Yu
2
2 Outline Introduction and Significance Introduction and Significance Comparison of Cellular Automata Approaches Comparison of Cellular Automata Approaches 1-Dimensional Robot-Space Cellular Automata 1-Dimensional Robot-Space Cellular Automata Algorithm Implementation 2-Dimensional Robot-Space Cellular Automata 2-Dimensional Robot-Space Cellular Automata Algorithm Extension Implementation Conclusions Conclusions Future Work Future Work Q&A Q&A
3
3 Motivation Space Solar Power (SSP) Space Solar Power (SSP) How can a massive collection of robots moving with no group organization coordinate to form a global structure? How can a massive collection of robots moving with no group organization coordinate to form a global structure?
4
4 Problem swarmformation
5
5 Approach Utilize reactive robot control strategies Utilize reactive robot control strategies closely couple sensor input to actions Treat the formation as a cellular automaton Treat the formation as a cellular automaton lattice of computational units (cells) each cell is in one of a given set of states governed by a set of rules governed by a set of rules complex emergent behavior from simplicity
6
6 “World-Space” Cellular Automata Environment is represented topologically as a 2- or 3-dimensional grid of cells… Environment is represented topologically as a 2- or 3-dimensional grid of cells… a)robot between grid cells b)boundary surrounds the automaton c)automaton wraps along boundaries d)two robots collide trying to occupy same grid cell
7
7 “Robot-Space” Cellular Automata Each robot is represented as a cell c i in a 1-dimensional automaton… Each robot is represented as a cell c i in a 1-dimensional automaton… c i = {H, s, F, S}
8
8 “Robot-Space” Cellular Automata Each robot is represented as a cell c i in a 1-dimensional automaton… Each robot is represented as a cell c i in a 1-dimensional automaton… c i = {H, s, F, S} neighborhood H i = {c i-1, c i, c i+1 } c i-1 ← left neighbor c i+1 ← right neighbor c j ← some neighbor j C automaton: C ← automaton: = H 1 H 2 … H n C = H 1 H 2 … H n = {c 1, c 2, …, c n } = {c 1, c 2, …, c n }
9
9 “Robot-Space” Cellular Automata Each robot is represented as a cell c i in a 1-dimensional automaton… Each robot is represented as a cell c i in a 1-dimensional automaton… c i = {H, s, F, S} state s i = {p, r des, r act, Γ, Θ, t} (... described later... ) C automaton: C ← automaton: = H 1 H 2 … H n C = H 1 H 2 … H n = {c 1, c 2, …, c n } = {c 1, c 2, …, c n }
10
10 “Robot-Space” Cellular Automata Each robot is represented as a cell c i in a 1-dimensional automaton… Each robot is represented as a cell c i in a 1-dimensional automaton… c i = {H, s, F, S} state transition s i = {p, r des, r act, Γ, Θ, t} (... described later... ) s i t = S(s i-1 t-1, s i t-1, s i+1 t-1 ) t ← time step (counter) C automaton: C ← automaton: = H 1 H 2 … H n C = H 1 H 2 … H n = {c 1, c 2, …, c n } = {c 1, c 2, …, c n }
11
11 “Robot-Space” Cellular Automata Each robot is represented as a cell c i in a 1-dimensional automaton… Each robot is represented as a cell c i in a 1-dimensional automaton… c i = {H, s, F, S} formation F = {f(x), R, Φ, p seed } f(x) ← description R ← robot separation Φ ← relative heading p seed ← start position C automaton: C ← automaton: = H 1 H 2 … H n C = H 1 H 2 … H n = {c 1, c 2, …, c n } = {c 1, c 2, …, c n }
12
12 F is sent to some robot, designating it as the seed cell c seed... F is sent to some robot, designating it as the seed cell c seed... c seed is not a leader, but rather an initiator of the coordination process For purposes of calculating desired relationships, each cell c i considers itself to be at some formation-relative position p i : For purposes of calculating desired relationships, each cell c i considers itself to be at some formation-relative position p i : p i = [ x i f(x i ) ] T In the case of c seed, this position p seed is given… Algorithm – Formation Definition f(x) = a x 2 p seed c seed
13
13 The desired relationship r i→j,des from c i to some neighbor c j is determined by calculating a vector v from p i to the intersection f(v x ) and a circle centered at p i with radius R: The desired relationship r i→j,des from c i to some neighbor c j is determined by calculating a vector v from p i to the intersection f(v x ) and a circle centered at p i with radius R: R 2 = (v x – p i,x ) 2 + (f(v x ) – p i,y ) 2 r i → j,des = [ v x f(v x ) ] T The relationship is rotated by –Φ to account for robot heading... Algorithm – Desired Relationships f(x) = a x 2 R r i→i-1,des r i→i+1,des desired relationship with left neighbor c i-1 desired relationship with right neighbor c i+1 –v–v +v+v p seed
14
14 p i-1 p i+1 F and r i→j,des are communicated locally within the neighborhood. F and r i→j,des are communicated locally within the neighborhood. Each neighbor c j repeats the process, but considers itself to be at different formation-relative position p j … Each neighbor c j repeats the process, but considers itself to be at different formation-relative position p j … determined by the desired relationship from the sending neighbor c i p j = p i + r i → j,des Algorithm – Desired Relationships f(x) = a x 2 Note: r j→i,des = –r i→j,des p seed
15
15 Propagate changes in neighborhoods in succession. Propagate changes in neighborhoods in succession. Calculated relationships generate a connected graph that yields the shape of the formation. Calculated relationships generate a connected graph that yields the shape of the formation. Algorithm – Desired Relationships f(x) = a x 2
16
16 Using sensor readings, robots calculate an actual relationship r i→j,act with each neighbor c j. Using sensor readings, robots calculate an actual relationship r i→j,act with each neighbor c j. State of H i governs robot movement: State of H i governs robot movement: rotational error Θ i and translational error Γ i relationships based on individual coordinate systems Algorithm – Actual Relationships
17
17 Algorithm – Formation Manipulation
18
18 Algorithm – Formation Manipulation
19
19 Algorithm – Formation Manipulation
20
20 Algorithm – Formation Manipulation
21
21 Algorithm – Formation Manipulation
22
22 Algorithm – Formation Manipulation
23
23 Scooterbot II base -strong, but very light -differential steering system XBCv2 microcontroller -Interactive C -back-EMF PID motor control -color camera ZigBee module -packet communication -share state information within neighborhood within neighborhood Color-coding system -visual identification -neighbor localization (actual relationships) (actual relationships) Implementation– Robot Platform Implementation – Robot Platform
24
24 Implementation – Color-Coding System Visual identification Visual identification the color of each robot is assigned based on ID: orange for odd, green for even orange for odd, green for even Neighbor localization (actual relationships) Neighbor localization (actual relationships) r i→j,act = [ d i→j α i→j ] T
25
25 Implementation – State Diagram
26
Implementation – Results 26... and because embedding Windows’ own media format is a too much for PowerPoint... [ Click Here ] Click HereClick Here
27
Extending the Formation Definition Consider a set f' of M mathematical functions: Consider a set f' of M mathematical functions: f' = {f 1 (x), f 2 (x),..., f M (x)}F = {f', R, Φ, p seed } For desired relationships, each f m (x) is considered individually... For desired relationships, each f m (x) is considered individually... yielding its own 1-dimensional neighborhood m h i resulting in M neighborhoods and a 2-dimensional cellular automaton ( M > 1 ) H i = 1 h i 2 h i ... M h i = { M c 1-1, …, 2 c 1-1, 1 c 1-1, c 1, 1 c 1+1, 2 c 1+1, …, M c 1+1 } 27 f 2 (x) = x √3 f 3 (x) = –x √3 f 1 (x) = 0 1 {c i-1, c i, c i+1 } 1 h i = 1 {c i-1, c i, c i+1 } 2 {c i-1, c i, c i+1 } 2 h i = 2 {c i-1, c i, c i+1 } 3 {c i-1, c i, c i+1 } 3 h i = 3 {c i-1, c i, c i+1 } R
28
28 How can this be applied to SSP? Reflector viewed as 2-dimensional lattice of robots and, thus, a 2-dimensional cellular automaton... Reflector viewed as 2-dimensional lattice of robots and, thus, a 2-dimensional cellular automaton...
29
29 Multi-Function Formations
30
Desired relationship: r i → j,des = [ v x f(v x ) ] T Desired relationship: r i → j,des = [ v x f(v x ) ] TWhathappened? Original: R 2 = (v x – p i,x ) 2 + (f(v x ) – p i,y ) 2 Original: R 2 = (v x – p i,x ) 2 + (f(v x ) – p i,y ) 2 30 Multi-Function Formations
31
Desired relationship: r i → j,des = [ v x f(v x ) ] T Desired relationship: r i → j,des = [ v x f(v x ) ] TWhathappened? Original: R 2 = (v x – p i,x ) 2 + (f(v x ) – p i,y ) 2 Original: R 2 = (v x – p i,x ) 2 + (f(v x ) – p i,y ) 2 Alternative: R 2 = v x 2 + f(v x ) 2 Alternative: R 2 = v x 2 + f(v x ) 2 31 Multi-Function Formations
32
Desired relationship: r i → j,des = [ v x f(v x ) ] T Desired relationship: r i → j,des = [ v x f(v x ) ] TSimilarly... Original: R 2 = (v x – p i,x ) 2 + (f(v x ) – p i,y ) 2 Original: R 2 = (v x – p i,x ) 2 + (f(v x ) – p i,y ) 2 32 Multi-Function Formations
33
Similarly... Alternative: R 2 = v x 2 + f(v x ) 2 Alternative: R 2 = v x 2 + f(v x ) 2 33 Multi-Function Formations
34
34 Implementation– Robot Platform Implementation – Robot Platform
35
35 Implementation – Robot “Faces” Visual identification Visual identification each robot has a unique three-color column... vertical locations of color bands correspond to ID vertical locations of color bands correspond to ID green on top for even, magenta on top for odd green on top for even, magenta on top for odd 5 locations × 4 locations = 20 unique faces 5 locations × 4 locations = 20 unique faces
36
36 Implementation – Robot “Faces” “All around me are familiar faces... ”
37
Implementation – Results 37 [ Click Here ] Click HereClick Here
38
Conclusions – Algorithm Designed and implemented a general distributed robot formations algorithm... Designed and implemented a general distributed robot formations algorithm... able to conform to a wide variety of formations Robots represented as cells in multi- dimensional cellular automata... Robots represented as cells in multi- dimensional cellular automata... simple rule sets produce complex group behavior Distinguishes itself as leaderless algorithm... Distinguishes itself as leaderless algorithm... only communication is to instigate coordination 38
39
Conclusions – Robot Platform Hardware Hardware 19 robots developed. Accurate motion control. Reasonable execution time. Reliable communication. Robot faces were excellent! Software Extensive and reusable collection of libraries. Greatest implementation hurdle—Interactive C... most time spent debugging workarounds—not fixes serial library deadlock bug list is... amusing... imposes harsh program size ... stay away! 39
40
Conclusions – Formation Classification I.Non-formation (swarm) II.Explicit formation III.Straight line formation IV.Function-based formation V.Branching formation VI.Lattice formation 40
41
Conclusions – Erroneous Relationships Theoretically possible to calculate more than two relationships... Theoretically possible to calculate more than two relationships... To alleviate this, solve for two minimums: To alleviate this, solve for two minimums: e(v) = |v x – p i,x | 41
42
Future Work Dynamic neighborhoods Dynamic neighborhoods Seed election Seed election Formation repair Formation repair Obstacle avoidance Obstacle avoidance Global positioning Global positioning 3-dimensional formations Disconnected formations Formation classification Analysis [ Click here ]Click here Formation management 42
43
43 Questions? Mead, R. & Weinberg, J.B. (2008). A Distributed Control Algorithm for Robots in Grid Formations. To appear in the Proceedings of the Robot Competition and Exhibition of The 23 rd National Conference on Artificial Intelligence (AAAI-08), Chicago, Illinois. Mead, R. & Weinberg, J.B. (2008). A Distributed Control Algorithm for Robots in Grid Formations. To appear in the Proceedings of the Robot Competition and Exhibition of The 23 rd National Conference on Artificial Intelligence (AAAI-08), Chicago, Illinois. Mead, R. & Weinberg, J.B. (2008). 2- Dimensional Cellular Automata Approach for Robot Grid Formations. To appear in Student Abstracts and Poster Program of The 23 rd National Conference on Artificial Intelligence (AAAI-08). Chicago, Illinois. Mead, R. & Weinberg, J.B. (2008). 2- Dimensional Cellular Automata Approach for Robot Grid Formations. To appear in Student Abstracts and Poster Program of The 23 rd National Conference on Artificial Intelligence (AAAI-08). Chicago, Illinois. Mead, R., Weinberg, J.B., & Croxell, J.R. (2007). A Demonstration of a Robot Formation Control Algorithm and Platform. To appear in the Proceedings of the Robot Competition and Exhibition of The 22 nd National Conference on Artificial Intelligence (AAAI-07), Vancouver, British Columbia. Mead, R., Weinberg, J.B., & Croxell, J.R. (2007). An Implementation of Robot Formations using Local Interactions. In the Proceedings of The 22 nd National Conference on Artificial Intelligence (AAAI- 07), 1889-1890. Vancouver, British Columbia. For more information, please visit http://roboti.cs.siue.edu/projects/formations/ or see the following papers: http://roboti.cs.siue.edu/projects/formations/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.