ICRA03 Tutorial http://www.cc.gatech.edu/fac/Sven.Koenig/icra03-tutorial.html

ICRA-03 Tutorial on -Based Mobile : Robust Navigation and Coverage with Single Robots and Teams

Abstract

Ant robots are simple and cheap robots with limited sensing and computational capabilities. This makes it feasible to deploy teams of ant robots and take advantage of the resulting fault tolerance and parallelism. Ant robots cannot use conventional planning methods due to their limited sensing and computational capabilities. Rather, their behavior is driven by local interactions. For example, ant robots can communicate via markings that they leave in the terrain, similar to that lay and follow pheromone trails. In the past couple of years, researchers have developed ant robot hardware and software and demonstrated, both in simulation and on physical robots, that single ant robots or teams of ant robots solve robot-navigation tasks (such as path following and terrain coverage) robustly. Thus, ant robots might provide a promising alternative to the currently very popular probabilistic approaches. Researchers have also developed a theoretical foundation for ant , based on ideas from real-time heuristic search, stochastic analysis, and graph theory. This half day tutorial on the current state of the art in ant robotics is given by experts who will give an overview of this exciting area of mobile robotics without assuming any prior knowledge on the topic. It will cover all important aspects of ant robotics, from theoretical foundations to videos of implemented systems. To this end, it will bring together the various research directions for the first time, including theoretical foundations, ant robot hardware, and ant . Its primary objective is to give non-specialists a comprehensive overview of the state of the art of the field, for example, to allow researchers and students to do research in the area and to allow practitioners to evaluate the current state of the art in ant robotics. Consequently, it is of interest to anyone who is interested in mobile robotics and artificial intelligence. Speakers

The material for the tutorial will be provided by the five researchers listed below, all of which are experts on the topic of ant robotics. They have been selected to cover the theory of ant robotics as well as practical approaches, including ant robot software and hardware. Sven Koenig (Georgia Institute of Technology, USA)

Sven Koenig became an assistant professor in the College of Computing at Georgia Institute of Technology after receiving his Ph.D. in computer science from Carnegie Mellon University. He is the recipient of an NSF CAREER award, an IBM Faculty Partnership Award, the Raytheon Faculty Fellowship Award from Georgia Tech, and a Fulbright Fellowship Award. He is currently on the editorial board of the Journal of Artificial Intelligence Research (JAIR) and will co-chair the International Conference on Automated Planning and Scheduling (ICAPS) in 2004. Sven’s research centers around techniques for decision making (planning and learning) that enable situated agents to act intelligently in their environments and exhibit goal-directed behavior in real-time, even if they have only incomplete knowledge of their environment, limited or noisy perception, imperfect abilities to manipulate it, or insufficient reasoning speed. He has published over 60 papers on this topic in the artificial intelligence and robotics literature. ICRA03 Tutorial http://www.cc.gatech.edu/fac/Sven.Koenig/icra03-tutorial.html

Israel Wagner (Technion and IBM Haifa Research Lab, Israel)

Israel Wagner received his B.Sc. degree in computer engineering from the Technion (Israel Institute of Technology), Haifa, in 1987, cum laude, an M.Sc. degree in computer science from Hebrew University, Jerusalem, in 1990, cum laude, and a Ph.D. degree in computer science from the Technion in 1999. He was a research engineer at General Microwave, Jerusalem, from 1987 until 1990, when he joined the IBM Haifa Laboratories as a member of the technical staff. Israel is currently an adjunct senior lecturer in the Computer Science Department at the Technion. His research interests include multi-agent robotics, manual and automatic VLSI design, computational geometry, and graph theory. He has published over 25 papers on these topics in the artificial intelligence, robotics, and VLSI literature and co-edited a special issue of the Annals of Mathematics and Artificial Intelligence on ant robotics in 2001. Andrew Russell (Monash University, Australia)

Andrew (Andy) Russell received his B. Eng. and Ph.D. degrees in 1972 and 1976, respectively, from the University of Liverpool, in the U.K. After a brief period in the computer industry he took a position as Engineer working on robot design and applications in the Department of Artificial Intelligence at the University of Edinburgh, Scotland. For the past 19 years he has been a member of academic staff at the University of Wollongong and now at Monash University (both in Australia). Andy’s research interests include robot tactile sensing, the design of robotic mechanisms and olfactory sensing for robots. He has written books on robot tactile sensing and odour sensing for mobile robots and published over 70 refereed conference papers and journal articles describing his work in intelligent robotics.

Andrew will give a video presentation. David Payton (HRL Laboratories, USA)

David Payton is principal research scientist and manager of the Cooperative and Distributed Systems Department at HRL Laboratories in Malibu, California. He received his B.S. degree from UCLA in 1979 and his M.S. degree from MIT in 1981. David is currently principal investigator for the DARPA Pheromone Robotics project and is also involved in development of agent-assisted multi-user collaboration tools. After joining HRL Laboratories in 1982, David has been involved in numerous projects for the development of intelligent autonomous agents. This includes work on the DARPA Autonomous Land Vehicle project, the and the development of behavior-based robot control. David has over 25 publications in the area and holds six patents.

Richard Vaughan (HRL Laboratories, USA)

Richard Vaughan received a D.Phil. in Computation from Oxford University in 1999, and a B.A. (Hons.) in Computing with Artificial Intelligence from Sussex University in 1993. He was a postdoctoral research associate at the Robotics Laboratory of the University of Southern California from 1998 to 2001, and is currently a member of the technical staff at HRL Laboratories. Richard’s research concerns the mechanisms of intelligent behavior in individuals and groups of people, animals, robots and software agents. His projects emphasize dynamic autonomy, scalability, interaction and simplicity. The majority of his more than 20 publications concern the functional analysis and recreation of aspects of animal behavior, a methodology he calls "constructive ethology". His other papers are on simulation, interfacing and networking for robotics applications. Richard is a founding member of the Player/Stage project, which creates tools for robotics and sensor network research. Sven Koenig Georgia Institute of Technology USA Overview

Overview: Ant Robotics One-Time or Repeated Coverage of Known or Unknown Terrain with Single Ant Robots or Teams of Ant Robots for Terrain Coverage - Mine Sweeping - Surveillance - Surface Inspection - Guarding Terrain Sven Koenig Structure: - Motivation - Theoretical Results - Real-Time Search - Empirical Results College of Computing - Simulation Georgia Institute of Technology - Actual Robots

joint work with: Jonas Svennebring, Boleslaw Szymanski (RPI), and Yaxin Liu

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 1 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 2

Motivation

limited computational and sensing abilities cheap fault tolerance groups of robots parallelism

Motivation

DC06 Cye

Robomow Koala

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 3 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 4 Motivation Approach 1: POMDP-Based Navigation Architecture

You want to build a team of robots that cover terrain repeat- You want to build a team of robots that cover terrain repeat- edly, for example, to guard a museum at night. edly, for example, to guard a museum at night.

The terrain could be initially unknown. The terrain could be initially unknown. The terrain could change dynamically. The terrain could change dynamically. The robots have very noisy actuators or sensors. The robots have very noisy actuators or sensors. The robots can fail. The robots can fail.

Probabilistic Planning

R. Simmons and S. Koenig. Probabilistic Robot Navigation in Partially Observable Envi- ronments. In Proceedings of the International Joint Conference on Artificial Intelligence, 1080-1087, 1995.

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 5 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 6

Approach 1: POMDP-Based Navigation Architecture Approach 1: POMDP-Based Navigation Architecture

Xavier Advantages of Navigation with POMDPs - uniform, theoretically grounded framework - maintains arbitrary probability distributions over the poses - explicitly models all uncertainty using probabilities - utilizes all available sensor data (landmarks, robot movements) simulator interface to Xavier - robust towards sensor errors (no explicit exception handling required)

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 7 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 8 Approach 2: Ant Robotics Approach 2: Ant Robotics Path Following using Pheromone Traces

You want to build a team of robots that cover terrain repeat- edly, for example, to guard a museum at night.

The terrain could be initially unknown. The terrain could change dynamically. The robots have very noisy actuators or sensors. The robots can fail.

Probabilistic Planning - short lived traces - alcohol [Sharpe et al.] no location estimates! - heat [Russell] no planning! - odor [Russell el at.] no direct communication! - virtual traces [Vaughan et al.; Payton et al.] simpler hardware and software!

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 9 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 10

Approach 2: Ant Robotics Exploration and Coverage using Pheromone Traces

Theoretical Results (Real-Time Search)

- long lived traces [Svennebring and Koenig]

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 11 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 12 Theoretical Results (Real-Time Search) Theoretical Results (Real-Time Search) Node Counting time step 0 time step 1 time step 2 time step 3 000 00 300 00 310 00 310 00 44444 4 000 00 000 00 200 00 220 00 533 533 00 00 00 00 00 00 10 00 000000 000000 000000 000000 544 544 000000 000000 000000 000000 time step 4 time step 5 time step 6 time step 7 Initially, the u-values u(s) are zero for all states s. 310 00 311 00 311 00 312 00 1. s := start location 221 00 221 00 222 00 222 00 12 00 12 00 12 00 12 00 2. s’ := a neighboring location of s with a minimal u-value 000000 020000 021000 021000 3.u(s) := 1 + u(s) 000000 000000 010000 111000 4. move the ant robot to location s’ 5. go to 2. 312 00 222 00 12 00 021000 111000

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 13 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 14

Theoretical Results (Real-Time Search) Theoretical Results (Real-Time Search)

The numbers (= markings) coordinate the ant robots!

6000

5000 random walk 4000

3000 Cover Time (steps)

cover time cover 2000 Random Walk

Node Counting 1000 node counting

0 0 10 20 30 40 50 60 70 80 90 100 Coverage Number programming: Jonas Svennebring coverage number

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 15 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 16 Theoretical Results (Real-Time Search) Theoretical Results (Real-Time Search) Additional Real-Time Search Methods The numbers (= markings) coordinate the ant robots! 44444 4 1400 533 533

1200 544 544

1000 Initially, the u-values u(s) are zero for all states s. 800 node counting (individual markings) Node Counting: Individual Markings 1. s := start location

Time (steps) 600 2. s’ := a neighboring location of s with a minimal u-value

cover time cover 3.u(s) := 1 + u(s) Node Counting 400 or u(s) := 1 + u(s’) Korf’s LRTA* (= Wagner’s VAW)

200 or if u(s) ≤ u(s’) then u(s) := 1 + u(s) Wagner’s Update Rule Node Counting: Shared Markings node counting (shared markings) or u(s) := max(1 + u(s), 1 + u(s’)) Thrun’s Update Rule 0 0 5 10 15 Number of Robots 4. move the ant robot to location s’ number of robots 5. go to 2.

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 17 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 18

Theoretical Results (Real-Time Search) Theoretical Results (Real-Time Search)

Theorem: Node Counting Teams of ant robots that all use the same real-time 2#vertices/2+1/2-3 search method cover all strongly connected graphs 1e+12 [Koenig and Simmons, 1992] repeatedly. 1e+11 start goal 1e+10

1e+09 Proof: 1e+08 Korf’s LRTA* 1e+07

1e+06 cover time guaranteed to be no 100000 worse than O(#vertices diameter) 10000 on any strongly connected graph 1000 [Koenig and Simmons, 1992] 100 QED time to reach goal (log scale) 10 0 50 100 150 200 250 300 350 400 number of vertices (n) number of vertices

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 19 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 20 Theoretical Results (Real-Time Search) Theoretical Results (Real-Time Search)

start Initially, the u-values u(s) are zero for all states s. goal 1. s := start location 1e+11 Node Counting 2. s’ := a neighboring location of s with a minimal u-value sqrt((1/6-epsilon)#vertices) 1e+10 #vertices 3.u(s) := 1 + u(s) exponential cover time 1e+09 [Koenig and Szymanski, 1999] or u(s) := 1 + u(s’) polynomial cover time 1e+08 Korf’s LRTA* 1e+07 ≤ cover time guaranteed to be no or if u(s) u(s’) then u(s) := 1 + u(s) polynomial cover time 1e+06 or u(s) := max(1 + u(s), 1 + u(s’)) polynomial cover time 100000 worse than O(#vertices diameter) 10000 on any strongly connected graph 4. move the ant robot to location s’ 1000 [Koenig and Simmons, 1992] 5. go to 2. 100

time to reach goal (log scale) time to reach 10 simulation formula 0 50 100 150 200 250 300 350 400 number of vertices (n) number of vertices

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 21 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 22

Theoretical Results (Real-Time Search) Theoretical Results (Real-Time Search)

Is the worst-case cover time of a single ant robot that uses node counting polynomial or exponential in the number of vertices (an adversary can choose the graph topology, the start vertex, the goal vertex, and the tie-breaking rule),

- if the strongly connected graphs are directed? yes (see 3 slides ago) - if the strongly connected graphs are undirected? yes (see 2 slide2 ago) Wagner’s Update Rule - if the strongly connected graphs are undirected grids? unknown time cover Korf’s LRTA* Node Counting Thrun’s Update Rule

number of robots

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 23 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 [Koenig et. al., 2001] 24 Theoretical Results (Real-Time Search)

Empirical Results (Simulation and Actual Robots) Node Counting Korf’s LRTA* BORG Lab [Svennebring and Koenig, 2003]

Wagner’s Update Rule Thrun’s Update Rule Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 [Koenig et. al., 2001] 25 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 26

Empirical Results (Actual Robots) Empirical Results (Actual Robots)

Ant Robot Hardware

404 404 432

Ant robots that all use node counting are easy to implement! Thanks to Ashwin Ram for the hardware. A: trail sensor B: trail sensor C: pen D: micro-controller E: RS232 interface

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 27 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 28 Empirical Results (Actual Robots) Empirical Results (Actual Robots)

Ant Robot Software Ant Robot Software

our ant robots use a schema-based navigation strategy with an our ant robots use a schema-based navigation strategy with an obstacle avoidance behavior and a trail-avoidance behavior obstacle avoidance behavior and a trail-avoidance behavior

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 29 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 30

Empirical Results (Actual Robots) Empirical Results (Simulation and Actual Robots)

Our ant robots cover closed terrain even if - they don’t know the terrain in advance or the terrain changes, - some ant robots fail, - some ant robots are moved without realizing this, or - some trails are destroyed.

destroyed areas of trails low-intensity trails

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 31 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 32 Empirical Results (Actual Robots) Empirical Results (Modeling with Real-Time Search)

404 The terrain gets saturated with trails over time. 404 432

randomly drop a drop increase this number by one of ink into this cell with probability (16-4)/16

Initially, the u-values u(s) are zero for all states s.

1. s := start location 2. s’ := a neighboring location of s with a minimal u-value 3.with probability (170-u(s))/170 do: u(s) := 1 + u(s) 4. move the ant robot to location s’ end of first coverage end of third coverage 5. go to 2.

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 33 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 34

Empirical Results (Simulation) Empirical Results (Simulation)

end of first coverage end of tenth coverage trails after first coverage trails after tenth coverage with one ant robot with one ant robot

20000 3000 Modified Node Counting modified node counting

16666 2500

13333 2000 trail removal

10000 1500 Cover Time (steps)

Cover Time (minutes) random walk cover time cover TeamBots Simualtion of Random Walk 6666 1000

3333 500 with without cleaning no cleaning TeamBotsrobot Simulation (without of Pebbles trail removal) 0 0 trail removal 0 10 20 30 40 50 60 70 80 90 100 Coverage Number coverage number

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 35 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 36 Empirical Results (Simulation) Empirical Results (Simulation)

500

450

400 robot (without trail removal) 350 TeamBots Simulation of Pebbles without Cleaning 300

250

200 Cover Time (minutes) cover time cover cover time cover 150

100 robot (with trail removal) 50 TeamBots Simulation of Pebbles with Cleaning

0 0 10 20 30 40 50 60 70 80 90 100 Coverage Number coverage number terrain size

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 37 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 38

Empirical Results (Simulation) Empirical Results (Simulation)

85 hours without any ant robot getting stuck cover time cover

25 x 25 meters number of ant robots 10 ant robots

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 39 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 40 The Future Summary

Real-time search methods provide an interesting means for coordinating single ant robots or teams of ant robots that cover known or unknown terrain once or repeatedly. They leave markings in the terrain, similar to what some ants do. The ant robots robustly cover terrain even if the robots are moved without realizing this, some robots fail, and some markings get destroyed. The robots do not even need to be localized.

small infrared tranceivers as smart markers (similar interesting work is performed at USC and other institutions)

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 41 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 42

Selected Publications Additional Information Ant Robotics [Svennebring and Koenig, 2002] J. Svennebring and S. Koenig. Building Terrain-Covering Ant Robots. Technical Report, GIT-COGSCI-2002/10, College of Computing, Georgia Institute of Technology, Atlanta (Georgia), 2002 [Koenig et. al., 2001] S. Koenig, B. Szymanski and Y. Liu. Efficient and Inefficient Ant Coverage Methods. Annals of Mathematics and Artificial Intelligence, 31, 41-76, 2001.

[Svennebring and Koenig, 2003] J. Svennebring and S. Koenig. Trail-Laying Robots for Robust Terrain Coverage. In Proceedings of the International Conference on Robotics and Automation, 2003.

Real-Time Search

[Koenig and Szymanski, 1999] S. Koenig and B. Szymanski. Value-Update Rules for Real-Time Search. In Proceedings of the National Conference on Artificial Intelligence, 718-724, 1999.

[Koenig and Simmons, 1996a] S. Koenig and R.G. Simmons. Easy and Hard Testbeds for Real-Time Search Algorithms. In Proceedings of the National Conference on Artificial Intelligence, 279-285, 1996.

[Koenig and Simmons, 1996b] S. Koenig and R.G. Simmons. The Influence of Domain Properties on the Performance of Real-Time Search Algorithms. Technical Report, CMU-CS-96-115, School of Computer Science, Carnegie Mellon University, Pittsburgh (Pennsylvania), 1996.

[Koenig and Simmons, 1995] S. Koenig and R.G. Simmons. Real-Time Search in Non-Deterministic Domains. In Proceedings of the International Joint Conference on Artificial Intelligence, 1660-1667, 1995.

[Koenig and Simmons, 1992] S. Koenig and R.G. Simmons. Complexity Analysis of Real-Time Rein- forcement Learning Applied to Finding Shortest Paths in Deterministic Domains. Technical Report, CMU-CS-93-106, Computer Science Department, Carnegie Mellon University, Pittsburgh (Pennsylva- http://www.cc.gatech.edu/fac/Sven.Koenig/ants.html nia), 1992.

Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 43 Ant Robotics: Terrain Coverage; Sven Koenig; Georgia Institute of Technology; 2003 44 Israel Wagner Technion and IBM Haifa Research Lab Israel

¢¡¤£¦¥¨§ ©¤§ £ 

   !"!#$"!#%&!

' ( ) * + ,.-0/ 12* 3546+ )

7 869;: < = > <? < @ A

B C D

7 E F G H H = I G E F J K A F G LMA5? < @

N6O O

L P Q F G R S J T = G E T G6U G P < R F LG E F V W G T X E = E

Y Z Z [\ ] ] ^6^6^_ ` a _ Z b ` Y _ ` _ ] f ^ b h ]

C c d C B c e B g C

‡†‰ˆ.Š ‹‰ŒˆŠ †Ž

( + ) “6* ” • –64— * 46” (˜* ™ š6• + “6+›• œ‰6) + ( ( • “6+›) + ( ž6, ” ( Ÿ6+ ( 6+ ™ • * , ,

&’‘

) – ž6( ” 46+ ( ( Ÿ6¡6+ ( 6• ” +• 46š6+ ) + 46”, • œ‰• ” * ” • –646(˜* 46¡£¢ ) + ¤6ž6+ 46”.¢ * • , ž6) + (

‘

ž6+ ( ” • –646(.—

&¥

¦¦§;¨ © ª6«›© ¬ ­ ®©˜¯ ° ± ² ³± ´.® µ «›³ ¶ ­ · ¶ µ «›µ ª ­ ¸¹ ° ­ © ª ² ° ­ ®

«›² ¹ ¨›«›± ° ­˜­ ´ ´ µ ¹ µ ­ º ª5ª ¨ © º›© º »® µ º ¯ ¶ ­˜± º ­˜¼

¦¦½© º¾­˜¿ ± ° ° ± ¾0µ ¸ ­ © ®´ ± °.° ± ¿ ± ª µ ¹ ®M¼

ž6)M* ( ( ž6œ‰6” • –64—

&

ÀÁš6+* 46”  (˜( ” ) + 4636” š• (˜) + , * ” + ¡” –£• ” (˜Ã’+ * Ä646+ ( ( —

, • œ‰• ” + ¡( + 46( • 4636Ÿ6™ –6œ‰6ž6” • 463* 46¡£™ –6œ‰œ‰ž646• ™ * ” • –64£• œ‰6, • + ( —

Å6Æ£Ç È Å ÉÊ Ë›Ì6È ÍÆ ÎÈ Å Î Æ6Ï Ð’Ñ6Í È Æ6ÅÈ Ç˜Ò Ï È Í È Ò Ñ6Ê Ê Ó;È Ð ÔÆ6Ï Í Ñ6Å6Í

' 4£” š6+( + ¤6ž6+ , —Á( –6œ‰++ Õ* œ‰6, + (˜–6¢M* 46* , 5( • ( Ÿ6( • œ‰ž6, * ” • –64* 46¡



, * + Õ66+ ) • œ‰+ 46” ( Ÿ6¡6+ œ‰–646( ” ) * ” • 463” š6+›) – ž6( ” 46+ ( (˜–6¢* 46” Ö ) – –6” (

‘ ‘ ‘

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ „

ØÚÙ

ˆÛ Š Ž0Ü

-’46” (˜* 46¡ݒ) * 6š6(



Þàߛáâãä å æ.çÁä ä6á›è é æå ê ë£é ì í›ä6áæ‰îï é ðñä

Þàò£æå ê ëé ì íä6é æó‰ô5õô ì ç˜ä

< E ú.F X G Q H G R T K T H G

ö÷ ø.ù ÷

O

< E ú.F X G6: < L= H F ET K T H G

öû.ø.ù

, * 46Ä+ ”” • œ‰+

ÞàüMé å ï áì ì ý æî‰é æó‰å ñçþ

ÿ¡ £¢ ¤ ¥§¦ ¢¨¤ © ¦ ¢ ¤  ¢   

Þ¤ò ê ü 

Þ˜é â‰üMï á ç ô å ä 

N N

9 < E ú 

ö ø

N N6O O

E F = E Q Q A E F < H  

ö ø.ù ø ù

ÿ ¢"!  ¥ ¤  ¦ ¢ ¥# ¢ $¨ ¦ ¢ % &  ¥  ¦ ¢ ¥

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

(

¦  ¢ ¤ )*¦ + ,¨-£ ¤ © .

/

+ $ $ 0£1 +  % , ¥ ¤  ¢ 2 3 % © # 4 ¢ $ ¢ 5 #  62 7 & ¦ ¢"8  6¦ ¢ 2

9

& # $  6 +§:¨# ¢ ¦ ; ¥ ,  2 <"¦ # >=£¦ + $ ¦ ¢ 2 8 ¦ ¢ ¢¨?¨  $ # +

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ ×

A

Ž0ˆ BC ŒÛ D>E †‰ŽGFIH›Œ*J>K>E

 < R < ú = I L¨M

L

Þàë£é ì í‰é ï áãæó‰å ñç’îï é ðñ

Þàì ç é Nç’å ï é ô ç˜ä

Þàæé Ný îé å ç’ãä ý æî‰å ñçå ï é ô ç˜ä

N6O

< L P H G M ú I G E F < H  TS < U  U < U V ú I G Q E F = E I W X M

LÚ÷ O ÷ ø ù  P§Q R ÷

-’( ( ž6œ‰6” • –64— ” š6+ ) +›• (˜*ZY 46+ Õ” [6–6• 46” + )M• 4+ * ™ š£“6+ ) ” + Õ6Ÿ

6–6• 46” • 463” –£–646+–6¢M” š6+›–6ž6” 35–6• 43+ ¡636+ (

\T]_^

ߛãì ç"

` a§b c d e d f g d h f e d i c j k i l f g g m n l e d o n pq6d cr§s p n et u v w x q y{z |"} ~

 a§b e n l f e d i c p j € n d c f e m n l e n ‚§q ƒ i

b.\ † b ‡ Z ˆ ‰ Š ‹

J G F

„

C

b ‡ Z ˆ ‰ ŠM\ †T b ‡ Z ˆ ‰ Š Ž_  ‘ b ˆ ‰ Š ‹

J G F

Œ

C C d D D g

b ”

O O

< H E I

’ “

b • e –§i§— i l ˜ i l n ™ f  n c e p i o o š › œ{e  n p f ˜ n m n l e n ‚ s

g n e e  n ˜Tf o e p n ž š n c e d f g g œ{Ÿ œ§p i ˜ n f l Ÿ d e l f l œ§i l ƒ n l

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ @

A

¡ C¢B¤ÜT£Œ¥¤¦J0Û Ü

ª

„

Œ

§ ¨

Œ

„

©

«

# ¤ ©¨¬­

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ

A

¡ C¢B¤ÜT£Œ¥¤¦J0Û Ü

ª

„

Œ

§ ¨

Œ

„

©

«

# ¤ ©¨¬¥­ ¯ ° ± ­§² ¯ ± ¯ ° ± ­ ³ ´

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ ®

A Ù

¡ C ŒŽ>¶ ˆK0Ü·¡ Û ÜTH·¸º¹*»›Û Ü

-’( ( ž6œ‰+›* 4_¼Á¡636+-’46”.12* , Ä£–64*›35) * 6š¾½_¿ À£Á ¨Ã



¼Áž6, + ) Ä 5™ , +ZÅ Æ6ÇÉÈ Ê*›™ 5™ , +• 4£Ã’š6• ™ š+ * ™ š£+ ¡636+• 4ZÂ2• (



“6• ( • ” + ¡ –646™ +

Ë ËÑ6Ò Í Ê Ó

ÀÁš6+ –6) + œ2—



' ¢¨Ì2• ("¼Áž6, + ) • * 4Å Í Î Ï Ï ¢ –6)M* , ,.“6+ ) ” • ™ + ( È Ÿ

± Ð Ñ Ò Ð Ð Ó Ô Õ ¬ Ö Ô × ± Ð Ñ Ò Ð Ð Ó Ô Õ Ô

” š6+ 4* 4¥Æ6ØÉÙڝ6) –6™ + ( (˜™ –646“6+ ) 36+ (˜” –* 4¼ž6, + )M™ 5™ , +

–6æ, –6463¡6–6+ (˜• ”.” * Ä6+ZÛ

·Ú

ÜIÝ¥Þ ß¥à áâ ã¥äTå æåZߥçÉè é6è â à ç_è ê§è

ë

1 © # ¤ ¤ 2 7§; ¢ 2 = + ¢ 5 + ì 2 í# 0 # +Éî ï ï ð ñ

ÜòÝ¥Þ ß¥ó"á§â{ã¥äTå æå6ó¥ç_ô õ ö ß¥Þ ÷¨á

ë

:¨# ¢ ¦ ; ¥ ,  2 )*# ì ¢ + 2 1 +  % , ¥ ¤  ¢"î ï ï ð ñ

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ µ

A

¡ Cúùüûþý>ÿ ¢¡ Œ‰Ž>¶Gû¤£¦¥ ¢§©¨ ¢¨üû ý>ÿ ¢¡

1š6* ”• ¢£Ì• (˜46–646Ö ¼Áž6, + ) • * 4_Û



¼ÁÕ6” + 46¡6+ ¡¼ž6, + ) Ä 5™ , +ZÅ ÆZÆ6ÇTÈ6—



*›™ 5™ , +• 4£Ã’š6• ™ š* , ,.+ ¡636+ (˜• 46Â2* ) +“6• ( • ” + ¡

” š6+›( * œ‰+›46ž6œ + )M–6¢M” • œ‰+ (

‘

¼ÁÕ6* œ‰6, +—



*  36) * 6š—

Å6Æ6Å Ê Ë Ï È Ñ6Å



ª

§



"!$#

©

¨

* 4¼£¼¨Ä¤–6¢M–6) ¡6+ )—¦            

Å *›™ 5™ , +Қ+ ) +›+ * ™ š£+ ¡636+›–6™ ™ ž6) (˜+ Õ6* ™ ” , È

Í È Ò Ë

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ ø

A Ù Ù

¡ Cúùü¡ Û ÜTH&ŒŽ>¶G¡þ£ˆܛŽ>¶0ÜT¶G¡ Û ÜTH

ÀÁš6+ –6) + œ2—



ÀÁš6+ž646• ¢ • + ¡6* ” š£–6¢M*›35) –6ž6£–6¢'&* 36+ 46” (

* 66, • 43” š6+TÆZØÉÙÚ) ž6, ++ “6+ 46” ž6* , , + 46” + ) (

* 46 ¦ Å –6¢M( –6œ‰+›–6) ¡6+ ) È

ËÍ Ë Å (6Ë ( Ê Ë Ï*)6ÓÒ Ê Ë

–6æ, –6463¡6–6+ (˜• ”.” * Ä6+ZÛ

·Ú

+ ( ” • œ‰* ” • –64£Ã’• ” š£( • œ‰ž6, * ” • –54— , + ( (˜” š6* 4+ ,

ݒž6+ ( (.—



” • œ‰+¡6+ ™ ) + * ( + (˜Ã’• ” š¦&5Ÿ ž6”.46–6) –6–6¢M 5+ ” /

‘

-’66, • ™ * ” • –64— *46+ ” Җ6) Ä6Ÿ6” š6* ”• ( —



ÔÑ6Í Ï Æ6Ê Ê È Å É

™ –646” • 46ž6–6ž6( , ’+ ՝6, –6) • 463* , ,+ ¡636+ ( Ÿ£* (- * (˜6–6( ( • , +

‘

Å6È Î Æ6Ï Ð’Ê Ó

+ ”.ž6(˜¢ • ) ( ”.™ –646( • ¡6+ )*( • œ‰6, + )Mœ‰+ ” š6–6¡–6¢ Å ( ” –6™ š6* ( ” • ™ È

/.

6* ” ) –6, , • 46310

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ %

AŒˆH›†Û Û Š Ž©BDC>¹¨ŒDE Œ‰Ž>¶0†*¤ C Œ‰Û D

-’4 –64¥Ì-6 798 : ; 85) ž6, + ¡

 ‘

Ç È Ð ÔÊ ËÏ Ñ6Å (6Æ6Ð4Ñ6Ê 5

oqr s

~

€ 

„

‡‰ˆ

 †

u v w x9y z {*| } y

€  ‚ ƒ

t

€

ƒ

o p

ƒ

• (˜* 4 6) –6™ + ( (˜” š6* ”.+ “6+ 46” ž6* , , * ) ) • “6+ (˜* ”.*

Ë Ï ÉÆ (6È Ò Ç Í Ñ6Í È Æ6Å6Ñ6Ï Ó

(6È Ç Í Ï È Ì Í È Æ6Ŧ<< =

< <

H M L

G

M L Q M L Q

N O P

T G I J G

J K

F

S

R

* 46¡£” š6+™ –646“6+ ) 36+ 46™ +TÅ Y œ• Õ6• 463{[ ÈM) * ” +” – ™ * 4 +›+ Õ66) + ( ( + ¡

‘

<

’” š6+

ë

‘

Ì6Ê Ñ6Å 5 Ë ÍÍ È Ð’Ë >

)* ¢ , & +2 ? % , + 6# ¢"î ï @ ð ñ .

f i h f g h

ik g

j j

V \ X^ __ \ ` a V WXZY[\ ] [ b

U

m n n c

l

d ef i h ef g h

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ 2 3

AŒˆH›†Û Û Š Ž©BDC>¹¨ŒDE Œ‰Ž>¶0†*¤ C Œ‰Û D

ÿI1 & # ¢ , ¤ ¤  6 î $ ì ; + ¥  ¦ ¢ ð .

í§© Š  + ¥ ¤ ¤  " # ¤ -£©  % © 2 Š ¦ +# ¢ 0¨¤ -£¦" $ ì ¥ ‹ Œ ¾ ¢Ž"2

³µ´²

· ¸ ¹¸ º ¹

½

±

³ ¶ ²

· ¸ ¹¸ º ¹¼»

½

ÿü5 0¨+ # ¢ $ ¦  -¨# & , .

Î

‘ ’ “

¬•”£Ó –Ó — Ö Ñ¢— Ö Ñ Õ ˜ Õ î ™ % ¤ $ ð

-£© + Zšò ¥§¤ © ™ % ¤ $"% ¦ ; +§¤  " ¦ Š-›

ë

9 /

?¨# © ¢ 2 ?¨ Z2 4¦ ; # ¥ œ 2 "î £ 9ž Ÿ Ÿ ð ñ

Í § §

ë

Ö × Ð ¡¢š_% # ¢£5 # ¥& # + ì # ¥¢Z£ ¤ ¥ ¦ # ¥ ¢"#— Ö — — Ö ì + # © ñ

’­¬® ¯°

ÿü5 0©¨ªZ«. î $ ¤ + 6 ¢  ¥ ¤  % ð

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ

2 2

¾ Ù Ù A A

Š ¤ Û Œ‰ˆ.Š †‰Ž>E Bà Û ˆŠ BÜ›Ž0ˆ Ž0ˆ C Œ‰Û D

i j k l m n m k o p q r s q t u v w i x y u z j v t { s | }~6 v p € j o m j {  ‚ ‚ ƒ 2 „

Ý-Þ ßáà©â ã¦ä‰Þ å¦æ©çéè1ê¤â ã¦æ©ë1ì¢äíä‰Þ ßáì

î ï‰ð ñ ò ó ô ñ õö ð ñ ò÷ ø øò ó ù õ ö úZî û9ü ô ò ó ý þ ÿ ¢¡ £ þ¥¤ øð ñ ò £ ¡ ¦ ñ ÿ ü

§©¨ ¨

       ¨  ¨ ¥       ¨      ¨ ! ¨  ¨ "          #

$

" %  &   ¨  ' (         )  ! *    +

¿ À Á Â Ã Ä Ã Á Å Æ Ç È É Ç Ê Ë Ì Í ¿ Î Ï Ë Ð À Ì Ê Ñ É Ò ÓÕÔ Ö Ì Æ × À Å Ã À Ñ Ø Ù Ù Ú Û Ü

IKJMLONQPSRUT¢VSWYXZNQ[]\ ^ T¢_QPU`Kacb ^ W

dfehg iQj k l mnpoq r k s t uQvhw¥xygr q)r k s j n{zh|j r |ps g r |~}  €   ‚pj nQƒ„j

j j l s ‡{s ˆg r l k qhmnr s

†

d‰uQŠh‹ŒŽ mk s i‘

j s npg Ž g Œ|“‡ms j l¢r mnl g j npg n{eho•”

’ ’

†

– —'˜ ™ š › œ —  › — ˜ š¥ž Ÿ ¡ š¥¢¤£ ¥ ¦ § ¨ © ª «¬ ¥ ¨ § ­ ®)§ £ ­ ¯ ª°£ ¯ ± ¨ § ²©³

d‰uQŠh‹j ´hnmzhn{l mps µ{¶'· ¸ ¹ºy»¤¼ ½ ¾ ½ “{|s n¿r snml¢ mk g k sj n

†

l j iQs¤À©Á Ã'Ä Å Æh“Çnk s ©¶'Ȥµh¶

dfÉhÇŽ'Êˤ¾ · Ì Ë¤Í »¤Ì Î ½ ÏQg ŒŒŽ mg r |pt ÐhÑhÒӓÔ'Õ©Ö×ÑSØ w

Ù

Ž s Œs g l s ‡k qhl Ž g s Ž s l |s Ž g Œ|“iQg Ž Új n l |s s Ž l j r s

’ ’

† †

Ù

g k zhg q) mpl m{l |s ns j |m¿Ž¥zhj l |{iQj nj iQÇiÛl Ž g r s

’ ’

dfog n{l |j Ü s Ž l s ˆÝ Þ k g mŽ¥mÞ¥ß×ÑhÒàk s g ‡{l mpg n{eho•”

† †

, - . / 0 1 0 . 2 3 4 5 6 4 7 8 9 : , ; < 8 = - 9 7 > 6 ? @AB 9 3 C - 2 0 - > D E E F G H

IKJKLONcPSRUXâJKã

äpåæ

cçè é ê è ëì í©Å¤ê ìîhï ðyñ ò s Ž l s ˆ'ó ô

†

¥ ¨  (   % "¢ý©        )   & ¨% þ ÿ ¡ ¢

õ öh÷cø ùûú ü

ÿ¿þ ¢ ÿ¿þ ¢ ¤¦¥

£ ö ú ø ù ú

¡ þ ¢ ¡

§ ö ú ø ù

¡ ¡ ¤©¥

¨ ö ø ù

( % %

 ‰ç)è é ê è ëì íŤê ì)î{ï ð

Ñhng k q)l j r Ž s Çk l ¢

§©     %    #  ¨ ¥    ¡   ¤%  



%  ¨      #  ¨ ¥ " ¨!#" ¡ §©     %  



, - . / 0 1 0 . 2 3 4 5 6 4 7 8 9 : , ; < 8 = - 9 7 > 6 ? @AB 9 3 C - 2 0 - > D E E F

G á

%

\ ['&S^ NcT¿\ _cP

() *+,) - . * / 0 1 ) +32#/ +54 6 . ) 0,7 * / 8 9 - :

) 0 < = * 7 = 0 =. ),/ 0#2,>©4 -? / - .

; ;

@ A

4 . 9 4 0,B C D

p

r x

s

w

r uv

t

EF . G54 . 1 = 8 = 0 1 -) 0IH J

r s

. 9 =K L MK NO P Q R Q S T S U V

m q

m

op

o

l m n

2#= 0 = W

;

X

8 ) - - 4 Y 6 =9 = F * 4 - . 4 ? ) * Z\[

;

] ^ _ ` a b c d e d f g f h ij a k

, - . / 0 1 0 . 2 3 4 5 6 4 7 8 9 : , ; < 8 = - 9 7 > 6 ? @AB 9 3 C - 2 0 - > D E E F G $

– —™˜›š›œž Ÿ›¡Iœ#œ©¢¦£¥¤ ¦§—¦Ÿ©¨«ª¦š›¬  ­¯®±°Iª™²›³›œ

A

9 / . 9 / 8 8 = 0 -. )ž¶·ž¸¥4 ?= / 9,= 1 7 =? / 4 6 - 4 . 9ž8 * ) Y / Y 4 6 4 . ¹H©º

´±µ

;

9 = ) * = +\W

´¼»

A

½ ?= / 9,= 1 7 =4 -8 * ) 0 =. )#? / 4 6 F * = 4 . 9ž8 * ) Y / Y 4 6 4 . ¹H:

;

. 9 = 0

Ó Ô Õ

Ò

Í

×

ÚÛ ÜÝ

Ï Ð

ÉÊË Ì ÆÇÈ

Í

ئÙ

Ó Ô Õ Ö Ñ

Ò Ò

× ×

Î

A

9 = * ¾ =¾

¾ ¾

+5/ À 4 +,F +3< = * . = À,1 = 7 * = =4 05Á

¿

0 F +žY = *) ?= 1 7 = -

ÂÄÃ

Å 1 4 / +,= . = *) ? Á

Ã

y z { | } ~ } {  €  ‚ ƒ  „ † ‡ y ˆ ‰ Š z † „ ‹ ƒ Œ \Ž † €  z  } z ‹ ‘ ’ ’ “ ” •

ß ß

—™à¦¡ °Iá Ÿ›â¯ª —™Ÿ›á Ÿ›š›—™š›œä㠗™å'ª¦á Ÿ

æ±çéè ê ë ê ì í î ï ð ñ ê ì ò ë èó ì ð ô î ê õ,ö

÷¥ø

ò ñ ê ë ö íù ê ú ð û üéí è ê ë ú ù ý ì ð ô ð ú ù þ í ì ô ò ú ì í ì ò î ÿ¡ ò ù ú ì ò ô ¢ ú ê ò ëí ë¡¢ ë £ ë ð ¤ë

ï ð ë ú ò ë ¢ ð ¢ ù ì ê è ò ð 릥\ð û ó ð ù ò ú ò ñ êõžê í ù ¢ ì ê

÷¥ø

ð í î ö ê ú ê ì õò ë êíì ¢ î êð û õžð ú ò ð ëû ð ì ê í ï §ì ð ô ð ú þ

ù ¢ ï §ú § í ú í û ú ê ì û ð î î ð ¤ ò ë èò ú û ð ì íó ê ì ò 𠩨 þ

ú § êì ê è ò ð ë¡¥\ò ùï ð ñ ê ì ê þ

4 3 5 4 3 5 6 6 6 5 4 9 3

8 7

: ; : ; : ;

÷

ú § í ú ò ù ö û ò ë þ û ð ì ê í ï §ì ð ô ð ú þ íû ê í ù ò ô î êù ê ú ð û ó ð ò ë ú ù ö

ù ¢ ï §ú § í ú

# %

!"!

0 0

+ ,-, ./.

* ) 2

$('

$

&

1-1

¤ § ê ì ê   ò ù ú § êí ì ê íï ð ñ ê ì ê û ì ð õéó ð ò ë ú  

÷

ëží ë ú  ì ð ô ð ú ò ï ù þ ù í õêó ì ð ú ð ï ð î í ó ó î ò ê ù ú ðí î î ì ð ô ð ú ù



æ ù ù ¢ ê ù ö

÷

ç î è ð ì ò ú § õ

÷

ð ¢ ë ð ëžï ð ñ ê ì ú ò õê ¤ ò ú § üéí è ê ë ú ù þ ¨  ü 

÷

ð ô ¢ ù ú ë ê ù ù ú ðžö

`   f  _` b b c b 



 ^ f  f ^ e g e f g b ` 



” Þ

y z { | } ~ } {  €  ‚ ƒ  „ † ‡ y ˆ ‰ Š z † „ ‹ ƒ Œ \Ž † €  z  } z ‹ ‘ ’ ’ “

=?>A@CBED©F GHJIJ=?>CGK F GL>ALMON>CPQICF G

B ] B

´QRTSVU W S S XEYCZ X [ \ S XEU W S S X¡^ W Z Z _ Z \ W Z ` W a

BCg B g g g h B ] g h B i

´cb¡d aEX S `/S e f Z a aES ` e Z f W a a _ Z ^/S X Z e \ e X Z f a Z

B i ] i

f S _ a X a Z X a ZTk a l l \ X e m

j

BCg B g B B B ] B i B i

´Qn e f Z a a¡\ e d aEf W a Z \ Z X a ZTZ Z©W \ e e W a¡`/a o S l

prq s tuq v¡w(xzy { | sC} pr~zx

~z€  y s ‚ ƒ „¡ J†

‡ ˆ ‰ Š ‹ Œ  Ž  ‘A’”“ • – — ˜ ™Cš¡› “ ™ – —©œ zžŸ

¡z¢ £ ¤ ¥ ¦ § ¦E¨ © ª «T¬ « ­ ® ¯ ¦ § ¦ °©± ® ¨ « ¤ ¨ «T¤ ¥ ¦

© ¦ « © ¨ « ²Tª § ¦ ª ³

& ¶ · ¸ ·©¹ º » ¼A½ · º ¾ ·E& ¸ º ¿ · À

´/µ

¤ ¥ ¦ § é¨ © ¦ ³

Á/Â

·E& ¶ ·E& ¸ º ¿ ·E& º ¿ Ç & ¸ º ¿ Ç

Ä Å µTÆ

¢ £ « ® ÃE¥ ¦ § ¦¡¤ ®EÈ ª ­ É ¤ § ª ­ É/³

Á

&

Å µ Ê

y z { | } ~ } {  €  ‚ ƒ  „ † ‡ y ˆ ‰ Š z † „ ‹ ƒ Œ \Ž † €  z  } z ‹ ‘ ’ ’ “ ” <

èêéìëîíïéñðóòuô õöT÷ ö

øcùzú û ü ý þ ÿ ¡ ¢¤£¦¥

§©¨

¡ ûVÿ ¢¤£  ü¤£ ÿ ¡  ÿ    ú¤¤¡   ý ÿ ¤

¤¢ û üCþ ü ý ¡  ü ûVÿ ý ü  ü  ¡ ý   ü û#"  ü £¤ ü ý û

!

ø%$©ü ÿ¥

&

ÿ  ' (¤) *+¤) ,Cû ü  ¢ þ ü ý ûVÿ  ü ÿ û -+ . /0£ ü ÿ ý ü ÿ

!

ø%12 ü ¢ ý ü ©¥

c

a

lnm

dfe2g#h j i

o

k

b `

 ü ý ü¥

!

3547698 :; 8 < =?> @BA6C D E CGF H I E D E JK LCGD H K H M¤N OH O E2P M E Q

3SR?6D H K H M T PUD C J N V P W X6¦Y2; :Z [9; \ ; :< =?>

ø%] ¢¤ ü¥  üCû  ÿ üCÿ ^ ^ ü  ûG ¢ þ ü ýU ¡ ü þ¤¡ ÿ-_

Ë Ì Í Î Ï Ð Ï Í Ñ Ò Ó Ô Õ Ó Ö × Ø Ù Ë Ú Û × Ü Ì Ø Ö Ý Õ Þ ßCà á Ø Ò â Ì Ñ Ï Ì Ý ã ä ä å æ ç

qsrtu v twrwx5yrz%{¦v t}|S~r¦tu 

ø71 ü ý ¢ ú¤¢¤ ¦ý ü  ý £ ûG ¢¡ £¤¡ ¡ ÿ  ¤¢¤¡ £¤ €

 ‚?ƒ

 „

‘ ’ “9”?• –¤— ’ ˜¤™

ø7 ¦ÿ û ü ýU  ÿ £ ý ü ¤¡  ü ”ú¤¢¤¤£¤¦€

ø ù ¤ ¡ ÿ  ÿ ¡ ûG] †f ÿ ý ¦€

øˆ‡ ü £ û ¡ ¡ þ ü ¢  ÿ £¤ ü ûG¡ £^  ¢¤¢ ý ¤ ÿ £¦€

ø7‰¦¢¤¢¤ ü ý ÿ ¡ þ üCú ü  ÿ þ¤¡ ¢ ý ¡ ûG ý ü û ü £¤ ¦ú¤¤

û ü ü ¤¤ ¡ ûG ¢ ü ý€

!

ø71 ü ý ü û ¤ ¡ £¤  ý ÿ  ü ¡ ûVÿŠ ‹¦+¤Œ¤Œ¤ Œ Ž



)  2¢¤^U  üCý ü ¤¡ ¢¤£¦€

Ë Ì Í Î Ï Ð Ï Í Ñ Ò Ó Ô Õ Ó Ö × Ø Ù Ë Ú Û × Ü Ì Ø Ö Ý Õ Þ ßCà á Ø Ò â Ì Ñ Ï Ì Ý ã ä ä å

æ p

¶¸·º¹¼»½2¾f¿s¹

ÀÂÁÃsÄ Å Æ?Ç È¤É¤Ê É¤Ë Ì Ë Í Î Ë ÏÐÈ¤Ñ¤Ò Ç Ë Ó¤Ô¤Õ ÖU×Ê Ç Ê Ó¤Ø¤È¤ÙÛÚ Ê Ì ÜË ÓÝ

À%Þ2ߤà¤Ò Ï Î Ò ØÏ È¤Ñ¤Ò Ç Ë Ó¤ÔÎ Ë ÙÒ Ë ÍGɤȤá¤Ó¤Ø¤Ò ئâ

ãä#åæ?ç è5ésê¤ëëì íîï ð?ñ ò óì íî¤ï ð

ë ë

Ë ÍGÎ ù¤Ò ÙÊ ß¤Ë Ùá¤ÙÛÇ Ò Í Ë Í Î Ê Ó¤Ï Ò Ë Óúû

ô¦õ¤ö ÷ ö2ø

Ë üUÙÊ Ø¤ÒȤüUÊ ÙÊ Î Ò Ç Ë Ê Ì#Ú Ë Î ùá¤Ó¤Ë Î ý Í ùÒ Ò Î þ Ç Ò Í Ë Í Î Ê Ó¤Ï Ò

Ä Ê Ì Ú Ê ýÍGÌ Ò Í ÍGÎ ù¤Ê ÓÎ ù¤Ò Ø¤Ë Ê ÙÒ Î Ò Ç Ö

À%ÿ Ò Ó¤Ï Òâ

Æ?Ð0Ë Í¡ ¢ £ Î ù¤Ê Ó¥¤§¦ Ð0ɤá¤ÎÙá¤Ï ùÙÈ¤Ç Ò £©¨© © Î ÈGâ

ôö ÷ ÷

               !     

"#   $           

À&% á¤ÇUÒ ßà¤Ò Ç Ë Ò Ó¤Ï Òâ ¤'¦ Ð)(#Æ?Ð0ù¤ýÉ¤Ç Ë ØË ÍGÉ¤Ò Í Î

š › œ  ž Ÿ ž œ ¡ ¢ £ ¤ ¢ ¥ ¦ § ¨ š © ª ¦ « › § ¥ ¬ ¤ ­ ®¯¤° § ¡ ± › ž › ¬ ² ³ ³ ´ µ µ

+',¥-#./#-10 2 314!567-#8:9¥5 0 8!;

<7=¥=¥-1/)>¥.!9¥?¥@¥8A.!?B31.!C-#/)0 2 D&-)>¥EF4!?¥0 G H45 I¡8

˜

– Œ ‹ “  • ” – ‘ ‹ Š —:Œ Œ ‘ ’:‹ “©” Š ‹ ŒŽ

[ } k ~ _ ] [ }  ~ _

‡#v#„

q p s

f x f ‚

† |

q r ˆ‰



[ } k ~ _ ] [ }  ~ _

ƒcv#„

f €  f ‚

{#|

Y i©] jckml n o [ \c] ^ _

umvwh

p q r s t

p s

x e d d y y z

g©h Y ZM[ \:] ^ _ ` a b©[ \c] ^ _

d e d f

J KML K K

Ê Ä ÔÒ Ö Ó¤Î Í û Ç Ò Í Ë Í Î Ê ÓÏ Ò ûON à¤Ò Ç Ë ÙÒ Î Ò Ç û

ø

KML KML K K

Ñ¤Ò Ç Î Ë Ï Ò Í ûRQ Ò Ø¤Ô¤Ò Í û&S Ø¤Ë Ê ÙÒ Î Ò Ç û)T ü Ê Ë Ì á¤Ç Ò à¤Ç ȤÉU

P

K K K

V

Î È¤Î Ê Ì#Ê Ç Ò Ê ûBW Ç È¤É¤È¤Î X Í¦Ê Ç Ò Ê û Ç È¤É¤È¤Î X ÍGÇ Ê Ø¤Ë á¤Í

÷

š › œ  ž Ÿ ž œ ¡ ¢ £ ¤ ¢ ¥ ¦ § ¨ š © ª ¦ « › § ¥ ¬ ¤ ­ ®¯¤° § ¡ ± › ž › ¬ ² ³ ³ ´

µ *

šœ›mžAšœŸ 'Ÿm¡½£¢ ¤¦¥§

¨

ÒÒ ßÊ ÙË Ó¤Ò ØÎ Ú ÈÚ Ê ýÍGÎ ÈË Ùà¤Ì Ò ÙÒ Ó¤ÎÒ Ñ¤Ê à¤È¤Ç Ê Î Ë Ó¤ÔÎ Ç Ê Ë Ì Í?â

Àª© Ë Ç Î á¤Ê ÌÎ Ç Ê Ï Ò ÍGË ÓÇ È¤É¤È¤Î X ͦÙÒ ÙÈ¤Ç ý2â

¤§¦ Ð0Ç È¤É¤È¤Î#Ú Ë Î ùü Ë Ø¤á¤Ï Ë Ê Ì Í

Ä «¬­Ê ɤû¤ÐA¬® Ò à¤Î U û©¯Ò Ï ù¤ÓË È¤Ó¤Ö

À Þ2Ñ¤Ê à¤È¤Ç Ê Î Ë Ó¤ÔÌ Ë °¤á¤Ë ØȤÓÎ ù¤Ò ü Ì È¤È¤Ç¤â

¨

©¡¦ Ç È¤É¤È¤ÎÚ Ë Î ùÒ Ñ¤Ê à¤È¤Ç Ê Î Ë Ó¤ÔÎ Ç Ê Ï Ò Í

Ä ¤ Ò Ï ù¤Ê Î Ç È¤Ó¤Ë Ï Í­Ê É¤û©¤ Þ±® Ò à¤Î U û©¯Ò Ï ù¤Ó¤Ë ȤӤÖ

š › œ  ž Ÿ ž œ ¡ ¢ £ ¤ ¢ ¥ ¦ § ¨ š © ª ¦ « › § ¥ ¬ ¤ ­ ®¯¤° § ¡ ± › ž › ¬ ² ³ ³ ´ µ ™

¶¸·º¹³šœŸ 'Ÿm¡)´µ·¶ž Ÿf½#›&ž ŸmŸ¸

š › œ  ž Ÿ ž œ ¡ ¢ £ ¤ ¢ ¥ ¦ § ¨ š © ª ¦ « › § ¥ ¬ ¤ ­ ®¯¤° § ¡ ± › ž › ¬ ² ³ ³ ´

µ ²

ÖØסÙ7Ú ÖØÛ©Ü ÝÞסßMàmÙ¡á©â©ã Ü ä1å¡á©æMá©ç1è ßmç éMã!ê ëmì!Û©æ

íïî¥ðwñŽò ó ôó õ

ö ÷ø

îŽð1ùwú ôû ü ý þ ÿ

í¡ þ ó ¢!ý õ ò £ ú ¤ ò ý ý¦¥ û § ¨ © û õ ¨ ó ¥

ü ¨ ¥ © ý ¨  ¨ ¥ © ¤ ¨ þ ¨ û  ü

û ¥ þ¢!ý ¢!ó ò ¨  ý þ¢!û ò  ¨ ¥ © ü

í¨ õ 

      ! " #  $ %'&

("  $ ! )* + , - &

. /  !*( 0 1 &

21 0  '3  1    4

¹ º » ¼ ½ ¾ ½ » ¿ À Á  à Á Ä Å Æ Ç ¹ È É Å Ê º Æ Ä Ë Ã Ì Í!Î©Ï Æ À Ð º ¿ ½ º Ë Ñ Ò Ò Ó Ô Õ

R S R T U V W V X Y Z X [ \ ] ^ _ ` W

a bdc e fhg'i j kldc mj k n o j p qrp s t c u i c n v2j w2x2p e p k2yzr{ |l j } u i ~

5 6 7 8 9 : 9 7 ; < = > ? = @ A B C 5 D E A F 6 B @ G ? H IJK B < L 6 ; 9 6 G M N N O P Q

œž Ÿ¡2¢ £¤¦¥  Ÿ

¦§¨ª©¦«¬§¨®­d¯°²±³§´µ ¶·´¸­¦¹ º¦»¦¼*½ ¾ ¿ÀÂÁÃÁ ¿2»¦Ä¸¾ ¿Å

­¦°2Ʀ­¦¯2¾ ­¦ºdÅÁ »dǧ¯¾´h»¦Æ¦Å*¼*½ ¯2º¦©¦´ȦÉ*¹ ½ ¯ºÊ­¦¯°

¶·­d¾ ¼*»¦¹ ¹ ½ ¯ºdË

ÌÎÍÐÏÑÒ Ó Ô Õ×Ö Ø Ô Ù Ú×ÏÛ×Ù¦Ü×ÏÝ Ô Ù Ô ÏÕ×Ô Õ×Ö

ÌÎÞÐÛ×Ù Ï*ßáàÙ Ô â ã*ßáÏä×Û×å àÓâ Ï*ÏÜ×Ò Ó àÙ Ô ÏÕ

ÌÎæ×Ô ßáÜ×å Ô â Ô Ù çÃÒ Õ×àè×å Ò ÝÓ Ò ä×Û'Õ×ä×àÕ×â çÃàÕ×äéÓ Ïè×Û×Ý Ù Õ×Ò Ý Ý Ù Ï

Ý Ò Õ×Ý Ô Õ×Ö Ò Ó Ó ÏÓ Ý ãÓ Ïè×ÏÙ¦ê àÔ å Û×Ó Ò ÝàÕ×äéÒ Õ×ÑÔ Ó ÏÕ×ßáÒ Õ×Ùdâ Ú×àÕ×ÖÒ Ý

ÌÎëÐÒ Ù¦ìÃßáàÕ×ç í×Û×Ò Ý Ù Ô ÏÕ×Ýà*Ó ÒÝ Ù Ô å å'ÏÜ×Ò ÕÂî

 €  ‚ ƒ „ ƒ  † ‡ ˆ ‰ ‡ Š ‹ Œ   Ž  ‹  € Œ Š ‘ ‰ ’ “”• Œ † – € ƒ € ‘ — ˜ ˜ ™ š ›

ðÐñ¬òôó³õ¡öÊó·÷ùøúÊó·û ü*ý ñé÷Êû

Ìÿþ²Û×å Ù Ô ÐÏè×ÏÙ¢¡ £¥¤ ¤ ¦¥§ ¨¥£ ©

Ü×Ü×Ò Ó·è×ÏÛ×Õ×ä×ÝÏÕ ¢  2ê ÏÓ2Þ ã¥ÐÞ àÕ×äéþÂÞÐÍ

ÌÚ×ÒÒ ê ê Ò â Ù¦Ïê  ¥¦¥¥¥¤ ¡ ¡ ©

â Ú×ÏÏÝ ÒÙ Ú×ÒÕ×Ò Ù¦Ý Ù Ò ÜéØ Ô Ù ÚáÜ×Ó Ïè×àè×Ô å Ô Ù ç

Ô Õ×â Ó Ò àÝ Ò·Ó Ïè×Û×Ý Ù Õ×Ò Ý ÝÙ ÏÃÕ×ÏÔ Ý çÃÝ Ò Õ×Ý ÏÓ Ý! ¥"

ÌÿÞÐÜ×Ü×å çÃÙ ÏÃßáÏÓ Ò·â ÏßáÜ×å Ò #£¥ ¥$¥% ¤ ¡ ©

Ò & Ö¥&àÝàÕéàÕáàÜ×Ü×Ó Ïàâ ÚéÙ Ï â ÏÏÜ×Ò Ó àÙ Ô ÑÒÜ×Ó Ïè×å Ò ß Ý Ïå ÑÔ Õ×Ö

' ( ) * * + , + - .¥* , / 021 34- .657/ 8 / - 9;:4< . ) 0;) = > . ) / - ?!' 3457:4@ A * / B - ( + (!C 9 A

/ , ) E /!+ .¥> 8 A B F ) - E!B F +E 8 / CG> 8 H - / I78 + ( E + @

D

Ìÿæ×Ú×àÜ×ÒKJ ¥  L M ¥ ©

è×Ó Ô Õ×ÖÃÙ Ú×Ò·ÖÓ ÏÛ×ÜéÙ Ï àÃä×Ò Ý Ô Ó Ò äáâ ÏÕ×ê Ô ÖÛ×Ó àÙ Ô ÏÕ×ã

Ø Ô Ù Ú×ÏÛ×Ù¦â Ò Õ×Ù Ó àå*â ÏÕ×Ù Ó Ïå

 €  ‚ ƒ „ ƒ  † ‡ ˆ ‰ ‡ Š ‹ Œ   Ž  ‹  € Œ Š ‘ ‰ ’ “”• Œ † – € ƒ € ‘ — ˜ ˜ ™

š ï

ðÐóP óQ·ü'óRTSÂú2U2P ý QVéü*ý ñé÷Êû

WYXZ [K\ Z ]¢^ _ \ \ ` ^ a b cb d d e¢c dc \ ` ^ a f Z \ ^ _ g!_ a h ]!i

j k¥l m;l n o p q r s t u v w x m;y t z u {|y t v q y } ~ w t u } } v  u w q u oG€   ‚ ƒ

W „ †4] b b ^ c¢^!h d †¥‡6ˆ \ ^ \ a d _ ^ b ` ] c d ˆ ` h ]|‰

^!b ] c c d _!Š¢]h ^ _!b ] ^ ` _ ‹ ` d †Œ\ Z ]|^ _ \

j ~ l k¥l Ky  w u o x m;l Ž v w  u w  y p {|x k¥l m!l n o p q r s t u v w x ~ ‘ ’ “G‘¢€   ” ƒ

W–•|—4˜ „4‰•4™ fG] š _ \ c › —7] \ Š¢d ` e c ›G˜ ` ] ] c¢^ _ g4„ ˆ œ f ` ^ ‡¥Z c

j ~ l k¥l Ky  w u o x m;l Ž v w  u w  y p {|x k¥l m!l n o p q r s t u v w x  ž6“G‘6Ÿ ƒ

W¢¡K•7£¤ c ¥ ¦£#§ ¨;] \ ] ` †4a _ a c †©^ _ g4ª6^ _ g d †7_ ] c c¢^ c£|d †¥‡|b ] †4] _ \ ^ ` [

•G‡ ‡6` d ^ h Z ] c¢\ d7ª|d œ d \ a h|«G¬ ‡6b d ` ^ \ a d _!d ‹!£|d _ \ a _ ˆ d ˆ c!­6_ e _ d Š|_¨;d †7^ a _ c

~ l k¥l Ky  w u o x m;l Ž v w  u w  y p {|x k¥l m!l n o p q r s t u v w x¥~ ¯ °G°!Ÿ ƒ

®

W–•#¨;a c \ ` a œ ˆ \ ] g¢•_ \ •b fGd ` a \ Z †;‹ d `¥« ‹ ‹ a h a ] _ \ b [!¦6^ \ ` d b b a _ fK^—4] \ Šd ` e

j ±¥l ²¥y w ³ ´ s r v x ~ l k¥l Ky  w u o x k¥l m!l nGo p q r s t u v w x kGµ¥’ ‘ ¶ Ÿ ƒ

34- - > 8 F6/ *G·©> . ¸ + 0;> . ) ¹ F|> - (;34, . ) * ) ¹ ) > 8 º - . + 8 8 ) E + - ¹ + A

W

» ¼ ½ ¾ ¿ À Á ¿   à ½Ä Å

•_ \ ª|d œ d \ a h c

~ l k¥l Ky  w u o x k¥l m;l nGo p q r s t u v w¥Æ6ÇG v t ³ o s x Ÿ € ƒ

®

È ÉGÊ Ë¥Ì Í Í Î Ï Ì ÐGÑ6Ò¥ÓGÔ ÕÖ Ð × Ð Ø Ù Í × Ú Û Ü Ï Ý Þ Î Ø Ý Ð Ê Ì ß Þ Ð Û × Ì Í Ì Î Ê Ë¥Ð Ê à Ï Ý Ê Í Ì Ý Ñ6Û Ï Î Ø Ð × Ì á

â ã ã ä6å æ æ ç¥ç¥ç6è é ê è ã ë é â ì í î ì è ï é è í ð æ ñ çGï ò ì ë ó æ

 €  ‚ ƒ „ ƒ  † ‡ ˆ ‰ ‡ Š ‹ Œ   Ž  ‹  € Œ Š ‘ ‰ ’ “”• Œ † – € ƒ € ‘ — ˜ ˜ ™ N O David Payton Richard Vaughan HRL Laboratories USA 2/18/2003

Virtual Pheromone Robotics

David Payton Richard Vaughan

[payton,vaughan]@hrl.com

Overview

We seek the benefits of Ant Algorithms while using more convenient robot communications technology We describe two systems that perform realistic tasks in unknown indoor environments 1. An ant-like resource transportation team 2. A of simple robots that locates a target Both use conventional comms (serial IR and 802.11 wireless) to create environmental gradients

1 2/18/2003

System 1: Ant-like Resource transportation

Team of N robots starts from a `home’ location A in an unknown environment Explore to find supply of resource at B Carry resource home and return for more Exemplified by foraging of ants & bees

Insect trail-following

Ants lay & follow directional chemical trails - Honey bees communicate parameters of successful missions to their sisters Pros: adaptive, robust, distributed, scalable Cons: not necessarily optimal, emergent, tricky mechanism

2 2/18/2003

Trails in localization space

Abstract away the chemical trail Communicate landmarks in shared localization space Will work as long as localization spaces are correlated to within the system’s noise tolerance Pros: adaptive, robust, distributed, scalable + lightweight, simple Cons: not necessarily optimal, robots must be localized (not trivial indoors, but many options exist)

Crumb trails

A crumb is a landmark/signpost in localization space, indicating the direction to move next Trail represented by a linked list of “crumb” data structures Each crumb contains: a position (x,y) a suggested heading θ a timestamp t

3 2/18/2003

Trail laying algorithm

Trail reading algorithm

Obstacle

Robot

Suggested movement = vector sum of crumbs within sense radius

4 2/18/2003

Simulation study

Trail following outperforms random walk and directed search Tolerates significant localization error Emergent resistance to interference

Whistling in the Dark: Cooperative Trail-Following in Uncertain Localization Space Vaughan, Stoy, Sukhatme & Matarić, Proc.Int.Conf Autonomous Agents 2000

Real world evaluation

Transfer the earlier results to real 4 x Pioneer 2 robot team in a structured environment Use trail-following with a different, specialized local navigation controller Communicate via wireless ethernet using UDP Localize using odometry How quickly will real-world odometric drift cause system failure?

5 2/18/2003

Results

Four robots ran for 27 mins, completing 28 round trips of 60m each (total 1.68km) before accumulated odometry errors defeated system. The 4 robots performed 3 times better than a single ideal-performing robot.

1234

Self-correcting trails

Robots agree on a set of task-relevant events (e.g. get- resource, drop-resource) A crumb is a landmark/signpost in localization space, indicating the distance to a goal event Each robot announces a crumb on the network every T seconds Received crumbs stored in a linked list, representing a ‘trail’ Each crumb contains: an event name E a position (x,y) a distance-to-event estimate d a timestamp t

6 2/18/2003

Using the trail

Suggested movement = towards the crumb within r with lowest distance-to-goal

Results

“LOST: Localization-Space Trails in Robot Teams”, Vaughan, Stoy, Sukhatme & Mataric, IEEE Transactions on Robotics and Autonomous Systems18:5 2002

7 2/18/2003

Resource transport summary

Demonstrated cooperative search and transport 4 robots traveled 8.2km (5.1 miles) over 3hrs 10mins until batteries or other hardware failed The trail laying/following method is robust wrt. real-world odometry error scales to N sources, M sinks, O population is independent of navigation strategy: therefore independent of robot hardware Builds just enough world model for stigmergy has low computation and bandwidth requirements (16 bytes/second per robot)

System 2: Swarm finds hidden target

T T T

Deployment Dispersion Detection

T

Pheromone Propagation

Path Visualization

8 2/18/2003

Key Themes

IR Virtual Pheromones a message protocol that emulates pheromone diffusion robot behaviors based on attraction & repulsion to gradients

World Embedded Computation the structure of a distributed computation is directly entailed by the environment

World Embedded Display robots distributed in the environment become pixels contributing to a larger overall picture

Dispersion With Pheromone Propagation

Target

Arrows show shortest path to target

Pheromone messages propagate when target is detected

9 2/18/2003

IR Virtual Pheromones

Transceiver Hardware decrement Pheromone Directional IR Digital Directional IR Transmit Receivers Beacons pheromone Source modified to provide signal (under each receiver) strength strength output

Pheromone ignore Relay Communications packets of PIC lower pheromone strength Chemical Pheromones Virtual Pheromones Facilitates emergent coordinated activity of thousands of yes cooperating agents Sender needs not know identity of yes recipient Sender needs no acknowledgement yes of message receipt Information conveyed through Yes, but by using intensity-tagged intensity gradients message packets Propagation is sustained passively Propagation is sustained by active through the environment relaying between robots Different chemical types needed Messages may be tagged with for different messages additional data The virtual pheromone is inspired by properties of chemical pheromones used by social such as ants and termites.

World-Embedded Computation Many complex graph-theoretic algorithms can be performed without creating an intermediate representation. The world is its own map. The computation remains the same, WORLD ABSTRACTION RESULT only the data is SINGLE changed. MAP PROCESSOR

CONVENTIONAL WORLD-EMBEDDED The structure of the computation is

MANY entailed by the DISPERSION WORLD MOBILE RESULTS PROCESSORS structure of the environment itself.

10 2/18/2003

World-Embedded Computation of Dijkstra's Algorithm

97 98 99 100 96 95 T T T

94

93

92

Dispersed Pheromone Local Gradient Robots Wave Front Points Toward Objective

Using Multiple Pheromone Gradients

Overlapping pheromone wavefronts allow each robot to determine which target is nearest.

T1 T1

0/2 T1 T2 1/2 T2

1/1 2/0 T2 T2

2/1

11 2/18/2003

Multiple Gradients to Find Choke Points

T T T

S S S

S T

Opposing pheromone gradients drive robots toward median

World-Embedded Display

Information about the environment can be conveyed to the user even though robots have no explicit maps of their locale.

Augmented-Reality System

See-Through Display

Labels and Camera Information

Enemy 55m

Blinking Enemy 30m Beacon User’s View on Robot User’s View Through Display

12 2/18/2003

Augmented Reality Mast

Transmits 8 distinct codes in 8 directions

Codes convey a gradient arrow that retains constant orientation from any viewing angle

Augmented Reality HMD Virtual IO Display uses Pencil Cam For Tracking IR

User Sees Virtual Pheromone Vectors Overlaid Over Real World

13 2/18/2003

Commanding Robot Swarms Command Pheromone allows switching between different control systems • Commanding Individual Robots Narrow Infrared Aim Beam with Laser

PDA Command is not Propagated

• Commanding Swarms Wide Infrared

PDA

Robots Propagate Command to Neighbors

Controlling Dispersion The handheld beacon triggers remote robots to halt and emit a repelling pheromone, creating a barrier to other robots Barrier Pheromone

14 2/18/2003

Multi-Sensor Detection From Combined Pheromones

Reinforcing pheromones reduce false positives in detecting an intruder.

Motion Detector

Sound Detector

Conclusion

We introduce Virtual Pheromones: frequent, small packets of data encoding a ‘distance’ propagated via an artificial medium implement parallel, local, gradient-based algorithms Our systems demonstrate how VP can create coordinated global behavior in teams/swarms of robots The example systems are very different Broadcast vs. line-of-sight comms Ant algorithm vs. Dykstra’s algorithm Abstract (localization) space vs. world-embedded The VP technique: Combines attractive features of Ant Algorithms with convenient communications technology Extends to non-ant algorithms

15 Andrew Russell Monash University Australia 1. Ant robot hardware

In order for a robot to be able to work with physical chemical trails it will require a sensor system to detect and accurately determine the location of chemical markings on the ground. The robot will also need the means to deposit volatile chemicals in a controllable way.

1.1.2 Tin oxide sensors

There are many sensors that respond to volatile chemicals. However, very few are suitable for use in robotic applications. Taking into account physical size, response time, sensitivity, cost, robustness, and power consumption, three technologies are commonly used in robotics. Probably the most convenient of these chemical sensors are those based on the changing conductivity of tin oxide.

1.1 Chemical sensors

Tin oxide sensors are available commercially. They are inexpensive, small in size, easy to interface and the latest miniature devices made by thick-film technology have relatively low power consumption. Some research groups have manufactured their own sensors. The tin oxide sensor element is heated to about 300˚C where the presence of reducing gasses causes a drop in sensor resistance. Sensitivities of the order of 1 ppm are claimed and sensors have been developed with responses optimized for solvents, halocarbons, and a range of combustible gasses. The relationship between sensor resistance and the concentration of detected gas is non-linear. Over a limited range of concentrations this relationship can be approximated by (Watson, 1984):

≅ α R KRoC (1.1) where α = sensitivity R = sensor resistance on exposure to target chemical Ro = sensor resistance in clean air K = scaling constant C = concentration

As shown in Figure 1.1, a simple potential divider provides a signal that can be directly digitized by an analogue to digital converter. Figure 1.1 Circuit to energize the Figaro TGS800 air quality sensor (redrawn from Figaro advertising material).

1.1.2 Quartz crystal microbalance

Quartz crystal microbalance sensors use a quartz crystal as a sensitive balance to weigh odor molecules. A chemical coating on the crystal is chosen to have a specific affinity for the target odorant molecules. When air containing molecules of this odor is drawn over the crystal some of the molecules become temporarily attached to the coating. This increases the effective crystal mass and lowers its resonant frequency. A simple model proposed by Sauerbrey predicts the effect of small amounts of added mass (Lu, 1984):

2 f 2∆m ∆f = − (1.2) ρv where: ∆f = change in crystal resonant frequency f = crystal resonant frequency ∆m = increase in mass of the crystal per unit area, ρ = density of crystal material v = velocity of sound waves in the crystal material

A crystal coated with silicone OV-17 and camphor as target odorant provide a good combination for robotics experiments (Deveza, et al. 1994). However, a wide range of different coatings have proved useful. Here is a list of coating materials given by Moriizumi, Nakamoto, and Sakuraba (Moriizumi, et al. 1992):

• dioleyl phosphatidylserin, • sphingomyelin (egg), • lecithin (egg), • cholesterol, • polyethylene glycol, • ethyl cellulose, and • acetyl cellulose.

For the quartz crystal microbalance frequency shift is reported to be proportional to target odorant concentration. The circuits shown in Figure 1.2 produces a digital output at the difference frequency between a reference 10MHz oscillator (SG351P) and the sensor oscillator (HA7210IP). The low-pass filter on the output of the SN74HC74 removes spurious high frequency transitions caused by metastable failure.

Figure 1.2 Quartz crystal microbalance sensor circuit.

1.1.3 Conducting polymer sensors

Conductive polymers have also been used to make chemical sensors for use in robotics. A cheap and safe method of making polypyrrole has been developed using electrochemical polymerisation of pyrrole between a pair of electrodes. The materials and processing techniques used to make conductive polymer sensors are cheap and readily available. Conductive polymer sensors are also easy to use for robotics applications being very small in size and exhibiting a substantial resistance change on exposure to volatile chemicals. Typical device exposed to methanol produced a 14% change in resistance with a response time to go from 0 to 95% of the final value of 24 seconds. However, there are problems of consistency between sensors and of stability and aging. The circuit shown in Figure 1.3 converts a change is sensor resistance into a varying frequency output. There is no d.c. component in the voltage across the polymer sensor. Figure 1.3 Conducting polymer sensor oscillator.

1.2 The control of airflow

Ants detect pheromone markings by tapping their antennae on the ground. At the interface between a solid surface and a fluid there is a thin layer of fluid that is essentially immobile. Volatile chemicals can only pass through this layer by a process of diffusion. The relatively slow rate of diffusion means that the chemicals within this layer of stagnant air do not move very far parallel to the surface and remain close to the source. When the ant's tapping antenna penetrates the stagnation layer it can gather reliable concentration readings for localizing the chemical markings. Larger scale robots measure chemical concentration at a much greater distance from the surface where local airflow can affect the measurements.

The fluid flow simulation shown in Figure 1.4 demonstrates that air drawn over a sensor crystal can originate some distance from the sensor inlet. In this case the sensor system is very poor at localizing chemical markings on the ground.

Figure 1.4 A simulation of airflow around an aspirated sensor. Four chemical particles originate on the ground below the sensor and four others are carried towards the sensor by a current of air travelling left to right. When a chemical sensor moves up-wind towards a chemical marking on the ground erroneous results are produced as the chemical is detected well before the sensor arrives at the trail (Figure 1.6). A solution to this problem has been developed which involves providing an air curtain surrounding the sensor inlet. This establishes an outward current of air that prevents external chemical getting to the sensor inlet. In Figure 1.5 a fluid flow simulation shows that the air curtain deflects chemical carried towards the sensor by an external airflow.

Figure 1.5 Simulation of the effect of an air curtain around the sensor inlet. Chemical particles introduced on the left-hand side are excluded from the sensor.

The improved localization capability of the air-curtain sensor is demonstrated in Figure 1.6. Once again the sensor approaches a chemical marking in an up-wind direction. In this case the sensor does not respond to the chemical until it is close to the marking. Figure 1.6 Response of a quartz crystal microbalance sensor with and without air curtain approaching in an up-wind direction and then passing over a camphor trail at 0.2 cm/sec.

1.3 Laying chemical trails

A simple solution for depositing chemical markings on the ground is based on a felt- tipped pen (Russell, 1999b). As shown in Figure 1.7, a plug of felt is soaked in the marking chemical (camphor dissolved in ethanol in this case) held in a reservoir. A motorized cam lowers the pen to the floor when a trail is to be deposited.

Figure 1.7 A simple chemical applicator.

The felt-tipped pen applicator is simple but has the drawback that there is no control over the quantity of chemical deposited. By using the metered pump arrangement shown in Figure 1.8 there is much more control of the deposition of chemical and the supply of chemical can be completely cut off which is not possible with the simple applicator.

Figure 1.8 Metered camphor applicator.

References

Deveza, R., Thiel, D., Russell, R.A. and Mackay-Sim, A. 'Odor sensing for robot guidance', The International Journal of Robotics Research, Vol. 13, No. 3, June 1994, pp. 232-239.

Lu, C., 'Theory and practice of the quartz crystal microbalance', in Applications of Piezoelectric Quartz Crystal Microbalances, (C. Lu and A.W. Czanderna eds.), Elsevier, 1984, pp. 19-61.

Moriizumi, T., Nakamoto, T. and Sakuraba, Y., 'Pattern recognition in electronic noses by artificial neural network models', in Sensors and Sensory Systems for an Electronic Nose, J.W. Gardner and P.N. Bartlett (eds.), Kluwer Academic Publishers, 1992, pp. 217- 236.

Russell, R.A., 'Laying and sensing odor markings as a strategy for assisting navigation tasks', IEEE Robotics and Automation Magazine, September 1995, pp. 3-9.

Russell, R.A. Odour Sensing for Mobile Robots, World Scientific, ISBN 981023791X, 217pp. 1999b. Watson, J., 'The tin oxide gas sensor and its applications', Sensors and Actuators, Vol. 5, 1984, pp. 29-42. 2 Ant robot software

Mobile robots are being employed in increasing numbers as a means of transporting material and partly finished assemblies within factories. Such robots are known as automated guided vehicles (AGVs) and most find their way around by following some sort of permanent guide path such as a reflective tape or buried wire. Chemical trails can serve a similar purpose by acting as a short-lived navigational marker. However, the characteristics of the available chemical sensors means that care must be taken in developing the method of trail following. A number of research groups have formulated algorithms to allow a robot to track a chemical trail.

2.1 The robot vehicle Sauro

At the Instituto Elaborazione Segnali ed Imamagini in Bari, Italy, Ettore Stella and co- workers have built a chemical trail following robot that uses alcohol as a chemical marker and conductive polymer sensors to detect the trail (Stella, et al. 1995). This vehicle, called Sauro, uses a pair of chemical sensors spaced 10 cm apart and located 1 cm above the ground to follow a 15 cm wide felt strip soaked in alcohol. The control algorithm consists of starting the vehicle with both sensors over the felt strip. As the robot proceeds it might deviate sufficiently that one sensor loses contact with the strip. The resulting fall in response from the sensor causes the robot to turn to bring the sensor back onto the tape (Figure 2.1). Using this algorithm Sauro has been able to follow the tape with a tracking speed of 60 mm/sec.

Figure 2.1 The robot Sauro follows a chemical trail using two sensors.

2.2 Robot control by neural network

Barbara Webb from the University of Nottingham investigates neural control in animals. By implementing the control schemes using mobile robots the capabilities of the schemes can be tested. In the area of chemical sensing Webb has developed a neuron model of ant osmotropotaxis (pheromone gradient following) and tested it using a small mobile robot built from Lego bricks (Webb, 1998). On this robot two Figaro chemical sensors played the part of the ant's antennae. The output from each chemical sensor was processed through seven neurons to produce a temporal difference signal. Difference values from left and right sensors were then combined with a speed signal to drive the left and right wheel motors. The result of this was to turn the robot towards higher chemical concentrations and away from lower concentrations. Unreliable chemical readings caused by air movements were stated to be a problem in these experiments.

2.3 Ant-like trail following

The trail-following algorithm employed by the ant Lasius fuliginousus seems to be very simple (Hangartner 1967). The normal mode of trail following for the ant is to curve to the left until the right antenna detects the trail and then to curve to the right until the left antenna contacts the trail. In this way the ant maintains the trail between its two antennae. An important feature of the ant's tracking algorithm involves turning back towards the trail after an extended period even if the appropriate antennae does not detect the pheromone (see Figure 2.2). This prevents the ant walking in circles when it loses the trail. Instead the ant moves forward in the general direction of the trail sweeping widely to left and right which gives a good chance of picking up the trail again. The following algorithm was derived from this and implemented on a six- having two chemical sensors mounted ahead of the robot simulating antennae (Russell, 1999a).

• Take 8 paces bearing to the right until completed or until trail detected by the left antenna. • Take 8 paces bearing to the left until completed or until trail detected by the right antenna. • Repeat

(If the left sensor detects the chemical trail then the sequence of 8 paces to the left is started or restarted and stimulation of the right sensor starts or restarts the sequence of 8 paces to the right) Figure 2.2 Robot trail following based on the ant Lasius fuliginousus.

2.4 Trail following with a single sensor

If the ant Lasius fuliginousus has a damaged antennae then the algorithm described above will still allow it to follow a pheromone trail with its remaining good antennae. A modification of this 'one antennae' algorithm is effective in guiding a mobile robot along a chemical trail (Russell, et al. 1997). In order to find the trail the robot moves forwards in a straight line ('u' in Figure 2.3). Upon detecting the trail the robot continues moving straight forwards 'v' to cut across the trail. The slow recovery of the chemical sensor means that edge of the trail is not detected until the robot is 'w' past the true edge. The robot then follows the left-hand edge of the trail using the following algorithm:

• Starting away from the odor trail, rotate 'x' until the edge of the trail is detected . Once again the slow response of the sensor means that the robot moves past the edge. • Rotate a fixed distance 'y' away from the edge of the trail. • Move forward a fixed distance 'z' . • Repeat

This algorithm has been developed to ensure that the chemical sensor is given the maximum time to recover after being exposed to the chemical trail. After detecting the chemical the sensor is moved clear of the trail by quickly rotating distance 'y'. The robot then waits at this point until the sensor reading has returned close to its clean air reading before continuing. Figure 2.3 Following a chemical trail with a single sensor.

If a robot has the ability to lay and to detect chemical markings it is possible to formulate a number of generic applications for this technology (Russell, 1999b).

2.5 Virtual umbilical

A mobile robot may be required to explore a partially known or unknown environment. This could be the site of an accident where no accurate maps are available or where an explosion has damaged the building. It would usually be essential that the robot finds its way back to the starting point at the end of its mission. If the robot paid out an umbilical cable on the outward journey it could follow the cable to return to its starting point. However, umbilical cables tend to snag and the equipment to pay out and retrieve an umbilical is bulky and cumbersome . The navigational effect of the cable can be gained by laying a trail of volatile chemical as illustrated in Figure 2.4. To return to its starting point the robot simply follows the trail it has laid. Following the trail will be made more difficult if the trail crosses itself or if the trail is crossed by the trail laid by another robot.

Figure 2.4 Finding the way back to the starting point - the virtual umbilical 2.6 Repellent marking

Many useful applications of mobile robots involve sterilizing, cleaning or searching large areas of floor. Floor area which has already been covered can be marked with a volatile chemical. The robot will avoid the marked areas and concentrate on new areas which have not been covered. Thus large areas can be cleaned, sterilized or searched without the need for accurate localization of the robot. A spiral area coverage technique using a repellent marking is illustrated in Figure 2.5. To start with the robot tracks around the room keeping its left side to the wall. When the robot meets the chemical trail it changes to keeping the trail on its left side. In this way the robot spirals in towards the center of the room covering all of the floor area. For complicated or cluttered rooms this basic algorithm will require further development.

Figure 2.5 Efficient area coverage - the repellent marking

2.7 Pathfinder

One robot may lay a trail of volatile chemical in order to pass information to other robots. If a large quantity of material is to be transported a pathfinder robot could establish a clear path from the start to the goal. The path finder robot would be equipped with a range of sensors and the 'intelligence' to find a clear path through a cluttered and changing environment. This robot lays a trail of volatile chemical to mark its path. The bulk of the material is then transported by simple slave robots which only have sensors to follow the chemical trail and a proximity sensor to avoid bumping into the robot in front if it slows down. In Figure 2.6 the pathfinder robot is labeled 'A' and the slave load carrying robots 'B' and 'C'. Figure 2.6 Marking a trail for others to follow - the pathfinder.

Is also envisaged that chemical markings could be used to warn of nearby hazards or to recruit individual robots from a circulating swarm of robots so that they can provide assistance with some task

References

Hangartner, W. 'Spezifität und inaktivierung des spurpheromons von Lasius fuliginosus Latr. und orientierung der arbeiterinnen im duftfeld', Zeitschrift für vergleichende Physiologie, Vol. 57, 1967, pp. 103-136.

Russell, R.A., 'Ant trails - an example for robots to follow?' Proceedings of the IEEE International Conference on Robotics and Automation, Detroit, Michigan, May 1999a, pp. 2698-2703.

Russell, R.A. Odour Sensing for Mobile Robots, World Scientific, ISBN 981023791X, 217pp., 1999b.

Russell, R.A., Thiel, D. and Mackay-Sim, A., 'Recruiting swarm robots using coded odour trails', Proceeding of the International Conference on Field & service Robotics, Canberra, 8-10 December 1997, pp. 472-476.

Stella, E., Musio, F., Vasanelli, L. and Distante, A., 'Goal-oriented mobile robot navigation using an odour sensor', Proc. 1995 Intelligent Vehicles Symposium, pp. 147- 151. Webb, B., ‘Robots, crickets and ants: models of neural control of chemotaxis and phonotaxis’, Neural Networks, Vol. 11, No. 7-8, October/November 1998, pp.1479- 1496. 3 Actual implementations

3.1 Implementing the Lasius fuliginousus algorithm (Russell, 1999a)

To provide an approximation to the form of an ant a six-legged robot vehicle has been constructed. This robot is based on Genghis, a walking robot developed at MIT (Brooks, 1989). Each of its six legs has two degrees of freedom and is actuated by radio control servo's. Total length of the robot is 22 cm. For the implementation of the Lasius fuliginousus algorithm two chemical sensors positioned 10 cm ahead of the robot and 13 cm apart simulate the pheromone sensing capabilities of the ant's antennae. A 68HC11 microcontroller generates the walking action of the robot, monitors the two chemical sensors and implements the Lasius fuliginousus algorithm. Figure 3.1 shows a photograph of the robot.

Figure 3.1 The ant robot showing its two chemical sensing antennae.

One of the important advantages of the Lasius fuliginousus algorithm is the ability to accommodate large gaps in the chemical trail. This is not surprising because the pheromone trails produced by biological ants are made up of many discrete odor patches and probably have regular gaps. To test the capabilities of this algorithm a camphor trail was laid on the floor consisting of a 55cm straight section, a gap of 40 cm and then a further straight section finishing with a curve. The ant robot successfully followed the camphor trail in both right to left and left to right directions. Figure 3.2 shows the trajectory of the robot. Figure 3.2 The ant robot track as it follows a chemical trail from right to left and left to right.

3.2 Following chemical trails with a single sensor (Russell, et al., 1997)

For trail following experiments using a single chemical sensor it is possible to use a robot that is much smaller than the 6-legged ant robot. A chemical sensing robot was designed around the 10cm diameter RAT robot. The Reactive Autonomous Testbed (RAT) robot was designed to be sufficiently inexpensive that a new robot could be built for each experiment. The entire robot costs less than the price of one small precision electric motor. An air-curtain chemical sensor incorporating a circular printed circuit board fan is mounted on the front of this robot (Figure 3.3). A single 68HC11 microcontroller controls the movement of the robot, monitors the chemical sensor and implements the 'single antennae' algorithm described in Section 2.4.

Figure 3.3 The RAT robot carrying a single chemical marking sensor. Figure 3.4 The path of RAT robot acquiring and then following a chemical trail.

The diagram shown in Figure 3.4 plots the trajectory of the RAT robot as it searches for the chemical trail. In this figure the diamonds show successive positions of the center of the circular robot. Upon detecting the camphor trail the robot turns and follows the left- hand edge of the trail.

References Brooks, R.A. 'A robust layered control system for a mobile robot', IEEE Journal of Robotics and Automation, Vol. RA-2, No.1, March 1986, pp.14-23.

Russell, R.A., 'Ant trails - an example for robots to follow?' Proceedings of the IEEE International Conference on Robotics and Automation, Detroit, Michigan, May 1999a, pp. 2698-2703.

Russell, R.A. Odour Sensing for Mobile Robots, World Scientific, ISBN 981023791X, 217pp., 1999b.

Russell, R.A., Thiel, D. and Mackay-Sim, A., 'Recruiting swarm robots using coded odour trails', Proceeding of the International Conference on Field & service Robotics, Canberra, 8-10 December 1997, pp. 472-476.