Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors...

124
Control Control Behaviors of Behaviors of Mobile Robots Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    222
  • download

    5

Transcript of Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors...

Page 1: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Control Control

Behaviors of Behaviors of Mobile Robots Mobile Robots

Architectures and Behaviors

With special interest in hexapods and soccer

Page 2: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Pets -- expensive and notPets -- expensive and not

Sony Aibo

$1500

NEC R100

$ a lot

iCybie

$160

Tekno

$40

Poo-chi

$30

Page 3: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Sony Aibo

$1500

NEC R100

$ a lot

iCybie

$160

Tekno

$40

Poo-chi

$30

• voice recog.

• 18 motors

• wireless LAN

• color camera

• walks, gets up

• voice recog.

• 6 sonars et al.

• wireless LAN

• 2 color cameras

• rolls around

• voice recog.

• 16 motors

• wireless LAN

• walks… ?

• sound recog.

• 2 motors

• light sensor

• walks

• sound recog.

• 1 motor

• pivots

Pets -- expensive and notPets -- expensive and not

Page 4: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

dogfightdogfight

Page 5: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

You can find this material in Norvig’ You can find this material in Norvig’ book, chapter 2book, chapter 2

2.1 Perception and Action– Perception– Action– Boolean Algebra– Classes and Forms of Boolean Functions

2.2 Representing and Implementing Action Functions– Production Systems– Networks– The Subsumption Architecture

Page 6: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Other material coveredOther material covered

• Control models– the sense-think-act control cycle– model-based controllers

• Reactive robotics– reactive controllers– behaviour-based controllers

• Other approaches– other reactive controllers– hybrid controllers– learning robots

Page 7: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Control of Control of Hexapod Hexapod RobotsRobots

• 1. Goals and overview• 2. Brooks’ Subsumption• 3. Biologically Inspired• 4. Logically Inspired• 5. Neural and

Immunological Networks

• 6. Hardware issues

Page 8: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Legged Locomotion Legged Locomotion • Make use of simple nervous systems involved in

sensorimotor performance to specify the circuits involved in adaptive legged locomotion in invertebratesin invertebrates.

• The objectives of this program are to develop:– neural models that reproduce the experimentally derived

characteristics of the neuronal circuitry underlying legged locomotion

– new controller architectures for autonomous legged robots:

• which exhibit stable locomotion,

• and which respond adaptively to unknown terrain and obstacles.

From the ONR proposal

Page 9: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Legged Locomotion Legged Locomotion

• The research issues include:– biomechanics of dynamically stable locomotion,

– specification of local leg control circuits, • including central pattern generators,

– the neural mechanisms of adaptation to context and task,

– implementation of neural models as real time controllers on prototype hexapod robots

Page 10: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

M2 is a 3D bipedal walking robot which is currently being developed in the MIT Leg Laboratory. The robot has 12 active degrees of freedom: 3 in each hip, 1 in each knee, and 2 in each ankle. It will be used to investigate

Various walking algorithms Motion description and control techniques, particularly Virtual Model Control Force control actuation techniques, particularly Series Elastic Actuation Automatic learning techniques.

The goals of M2 are the following: Walk fast (1.0 meters/second) Walk efficiently Be reliable (work 9 out of 10 attempts) Have a large margin of stability and be robust to small disturbances (reasonable pushes) Be confident looking Become a "robotic workhorse" - a robot which can be reliably used to perform experiments without breaking Get it right the first time in design and schedule

Example of walker

Page 11: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Biologically Inspired

Page 12: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Past Control Architectures for HexapodsPast Control Architectures for Hexapods• 1. Marc Donner, 1986, decomposition of task, locality of

control, special language• 2. Rodney Brooks, MIT, 1989 - Subsumption

Architecture • 3. Yuasa and Ito, Nagoya, Japan, 1990 - decentralized

autonomous system based on generators. Biologically inspired.

• 4. Randall Beer and John Gallagher, 1992 - genetic algorithm to develop a neural net to control a simulated cockroach.

• 5. Graham Spencer, 1992 - genetic programming and a priori knowledge, not real robot.

Page 13: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Past Control Architectures for HexapodsPast Control Architectures for Hexapods• 6. Gary Parker, 1992, Indiana Cyclic Genetic Algorithm

with a priori knowledge, simulation.• 7. Salama, Hingston, University of Western Australia, 1995,

GA develops NN. Stiquito.• 8. Berns, Cordes, Karlsruhe, 1995 - NN, real robot, small.• 9. Ishiguro, Kuboskiki, Ichikawa and Uchikawa, Nagoya,

Japan, 1996-1998 - Immune Networks. Simulation.• 10. Gallagher, Beer, Espenschied, Quinn, Case, 1996.

Dynamical neural network. Real robot.• 11. Parker, Braun and Cyliax, 1997. CGA for Stiquito

Robot.• 12. Ilg, Muhlfriedel and Berns, Karlsruhe, Germany, 1997,

Self-Organizing Neural Net

Page 14: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Past Control Architectures for HexapodsPast Control Architectures for Hexapods• 13. Eng, Robertson and Blackman, Monash, Australia,

1997-1999 - Layered Learning System architecture, agents, real robot.

• 14. Barnes, Wardle, University of Salford, UK, 1999 - reactionary system with central pattern generators

• 15. Ahuja, Nelson, Delcomyn, Hart, University of Illinois, 1997 - 2000 (?) - Biologically Inspired

• 16. Reinforcement Learning• 17. Levy, PSU, 2001, Generators controlled by Constructive

Induction, robot walks but not completed.• 18. Zielinska, Singapur, Poland, 2001 - current - big,

network of parallel processors and controllers, sensors.

Page 15: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Conclusion on past research on Conclusion on past research on hexapod control hexapod control

• Based on my limited literature search:– 1. The total of walking robots in the world estimated

to be 200, not counting toys and kits– 2. Not much recent work, recently more on bio-

inspired– 3. Even less work on real robots– 4. Especially on controlling large hexapods– 5. Few papers on sensors and sensors integration– 6. Relatively few papers from USA– 7. Not much practical evaluation and description of

experiments.

Page 16: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Past research on mobile Past research on mobile robot controllersrobot controllers

• The “brains” behind a mobile, autonomous robot (using the “lite” definition of autonomous)

– Even though the controller is sometimes not physically on the robot

• Three schools:– The Old School: Sense-Plan-Act (Shakey at Stanford)– The Brooks School: Subsumption– The Modern School: Three-Layer

• New Approaches: – Bio-Inspired– Probabilistic

Page 17: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Overview: Robot Control SchemesOverview: Robot Control Schemes

P lan n in g(D e lib e ra tive )

Delib erativereaction

Coord in atedd elib eration & reaction

Reactived elib eration

Hybrid R eac tive

R ob ot C on tro l S ch em es

Representative examples

•Stanford Cart, Moravec 1977

•NASREM, NASA/NIST,

Albus et al 1987

•VINAV, Christensen et al 1992

Representative examples

• Subsumption Arch, MIT, Brooks `86

• Motor schemas, GeorgiaTech, Arkin `87

•Activation nets, MIT, Maes `89

• Dynamical sys., Schoner `92

• MOBC, Pirjanian `97

Representative examples•RAPs, Firby `87 •AuRA, GeorgiaTech, Arkin `87

•Atlantis, JPL/NASA, Gat `92

•Saphira, SRI, Saffiotti et al, `93

•TCA, CMU, Simmons `94

•AMOR, Pirjanian et al. `94

•ALLIANCE, Parker `94

•DAMN, CMU, Rosenblatt & Payton 96

•3T, NASA, Kortenkamp et al `96

Page 18: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Control Problems for an Control Problems for an autonomous robotautonomous robot

• Rapidly changing boundary conditions

• Real-time response

• Information collected over noisy channels

Page 19: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Perception and ActionPerception and Action• Stimulus-response (S-R) agents

– Machines that have no internal state and that simply react to immediate stimuli in their environments

– Based on motor response to rather simple functions of immediate sensory inputs

– Examples: • Machina speculatrix,

• Braitenberg machine

Page 20: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Stimulus Stimulus Response Response

AgentsAgents

Page 21: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

MappingMapping Perception into Action Perception into Action

01011011

Featuredetectors

SENSORS

MO

TO

RS

ACTIONFUNCTION

“obstacle”

“wall”

Page 22: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Example:Example: Robot navigator Clips Robot navigator Clips

N

E

0 1 2

0

1

2

Page 23: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

A Robot in a Two-A Robot in a Two-Dimensional Grid Dimensional Grid

World (1)World (1)

• Environment– Enclosed by

boundaries

– Contains unmovable objects

– No tight spaces• Spaces between

objects and boundaries that are only one cell wide

• Task– Go to a cell adjacent

to a boundary or object and then follow that boundary along its perimeter

Page 24: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

A Robot in a Two-Dimensional Grid World A Robot in a Two-Dimensional Grid World (2) (2)

• Sensory inputs:

• Robot movements – north moves the robot one cell up in the cellular grid– east moves the robot one cell to the right– south moves the robot one cell down– west moves the robot one cell to the left

• Division of processes– Perception processing and action computation

Page 25: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

A Robot in a Two-Dimensional Grid A Robot in a Two-Dimensional Grid World (3)World (3)

• Perceptual processing– produces

feature vector X

– numeric features: real numbers

– categorical features: categories

Action computation selects an action based on feature vector

Page 26: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

A Robot in a Two-Dimensional A Robot in a Two-Dimensional Grid World (4)Grid World (4)

• The split between perception and action is arbitrary• The split is made in such a way that the same

features would be used repeatedly in a variety of tasks to be performed

• The computation of features from sensory signals can be regarded as often used library routines– needed by many different action functions

• The next problems– (1) converting raw sensory data into a feature vector– (2) specifying an action function

Page 27: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Perception examplePerception example

• For the robot task, there are four binary-valued features of the sensory values that are useful for computing an appropriate action

• Perceptual processing might occasionally give erroneous, ambiguous, or incomplete information about the robot’s environment– Such errors might evoke inappropriate actions

• For robots with more complex sensors and tasks, designing appropriate perceptual processing can be challenging

Page 28: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Action exampleAction example• Specifying a function that selects the appropriate

boundary-following action

– None of the features has value 1, the robot can move in any direction until it encounters a boundary

Page 29: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Boolean AlgebraBoolean Algebra• Boolean algebra is a convenient notation for

representing Boolean functions – Rules for Boolean algebra

– Commutative – Associative– DeMorgan’s law– Distributive law

Page 30: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Classes and Forms of Boolean FunctionsClasses and Forms of Boolean Functions

• A conjunction of literals or a monomial:– The conjunction itself is called a term

• Bound of the number of monomials of size k or less:

• A clause or a disjunction of literals: • Terms and clauses are duals of each other• Disjunctive normal form (DNF): disjunction of terms

– K-term DNF: disjunction of k terms

• Conjunctive normal form (CNF): conjunction of clauses– K-clause CNF: the size of its largest clause is k

Page 31: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Outline on Reactive Outline on Reactive AgentsAgents

• How to design stimulus-response (reactive) agents?– Abstracting sensory values into features– Modes of action– Representation of mapping from sensors to actions

• Examples

• Layered reactive agents (subsumption architecture)

Page 32: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Properties of Reactive AgentsProperties of Reactive Agents• No internal state: current value of sensors

determines response

• Speed: Reactive agents respond quickly to a new stimulus

• Sensor values are mapped into features using boolean (state-free) functions

• Actions are computed using an action function

Page 33: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Feature SelectionFeature Selection• What are good features?

– Easy to compute from sensor values– Useful in multiple tasks– Need not be perfect – Help improve task performance

• Examples from biology: – Insect detector for a frog– Sun direction and earth’s magnetic field for navigating

birds– Imprinting in birds

Page 34: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

OBELIX: A RobotOBELIX: A RobotSENSORS:

8 ultrasonic sonar sensors, 4 long IR’s, 8 short IR’s, 1 very-short-range IR

Page 35: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Feature Detectors on OBELIXFeature Detectors on OBELIX

• “Stuck”: motor current > threshold

• “Bumped”: very-short-range IR on

• “Intersection”: Long side IR off

• “Corridor”: Two long side IR’s on

• “Box-detectors”: boolean combinations of FAR and NEAR sonar bits

Page 36: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Action FunctionsAction Functions

• 1. Production Systems– List of condition-action rules– Parallelizable for fast matching

• 2. (artificial, neural) Networks– Threshold-logic circuits – Noise immunity, learnability

• 3. Subsumption architectures– Layered set of mappings

Three approaches are the most popular:

Page 37: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Production Production SystemsSystems

Page 38: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Production SystemsProduction Systems

Condition1 Action 1

Condition2 Action 2

Example: RIR = Long right IR LIR = Long left IR

rightRIRLIR

leftRIRLIR

forwardRIRLIR

Page 39: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Representing and Implementing Action Representing and Implementing Action Functions: Functions:

Production systems (1)Production systems (1)

• Production system comprises an ordered list of rules called production rules or productions– , where is the condition part and is the

action part– Production system consists of a list of such rules– Condition part

• Can be any binary-valued function of the features• Often a monomial

– Action part• Primitive action, a call to another productive system, or a set of

actions to be executed simultaneously

Page 40: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Production Systems (2)Production Systems (2)• Production system representation for the boundary

following routine– An example of a durative systems-system that

never ends

• Teleo-reactive (T-R) programs– Each properly executed action in the ordering works toward

achieving a condition higher in the list– Usually easy to write, given an overall goal for an agent– Quite robust: actions proceed inexorably toward the goal– Can have parameters that are bound when the programs are

called– Can call other T-R programs and themselves recursively

Page 41: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Discussion Issues for robot Discussion Issues for robot soccer architecturessoccer architectures

• Origination

• Low Cost vs. Big Model

• Elegancy vs. Efficiency

Page 42: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Basic Architecture for SoccerBasic Architecture for Soccer

Using software simulator as a basic development methodology in soccer robot research

Production rules Neural Nets Subsumption

Page 43: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Production Production system based system based

agent agent architecture architecture for a soccer for a soccer

robotrobot

Page 44: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Switch Competitive behaviors Switch Competitive behaviors

Switching and voting, subsumption

Page 45: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Teleo-reactive ProgramsTeleo-reactive ProgramsNilssonNilsson

Variant of Production Systems to handle goals and durativebehaviors.

1st Rule specifies the goal: goal Nil

A rule is placed at a point where it achieves the condition of somehigher level rule.

The condition “1” means it is always true.

Page 46: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Example of a teleo-reactive Example of a teleo-reactive (TR) Program(TR) Program

go_forwardnearnear

turn_leftnearnear

turn_rightnearnear

nilnearnear

10

rl

rl

rl

Exercise: write the wall-follower example as a TR program

Page 47: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Black Board ArchitectureBlack Board Architecture

Knowledge specialist

KS communicate through Black Board

Page 48: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Example:Example: RoboCup98 rule hierarchy RoboCup98 rule hierarchy

Attack left

Run to wing

Play

Normal

Page 49: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Labyrinth, Robot Labyrinth, Robot Environments and Environments and

Object-Based Object-Based SimulationSimulation

Page 50: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

SimulationSimulationSimulation is the mimicking of a real system within a computer.

A computer model is created to represent part of a real-world environment.

The computer model is then executed to investigate real-world behavior as predicted by the computer model.

Page 51: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Simulation and OOSimulation and OO

• Simula-67

• Event-based systems

• Visualization of complex data

Page 52: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

ApplicationsApplications• Complex situations,

– large-scale,– many interactions

• Dangerous situations,

• Entertainment

Page 53: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Computer SimulationComputer Simulation• Build a model to represent the real world,

• Implement physical constraints,

• Implement physical behaviors,

• Generate and process events,– events occur at discrete points in time,

– events affect the state of the system.

SimCity games

Page 54: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Construct a ModelConstruct a Model

• Classes are kinds of things in the real world

• Objects represent actual things,

• Methods of objects implement behavior

• Events stimulate object behavior.

Page 55: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Braitenberg VehiclesBraitenberg Vehicles

From: http://people.cs.uchicago.edu/~wiseman/vehicles/

Inspired by Valentino Braitenberg, “Vehicles: Experiments in Synthetic Psychology”, 1984.

Light sensors +

Motors +

Control

Page 56: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

How they Work?How they Work?Connect light-sensor to motor.

Sensor output can be EXCITATORY or INHIBITORY.

When sensor output “fires”, the motor is driven.Both motors = step forward

One motor = rotate

Page 57: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Simulation of VehiclesSimulation of Vehicles

• Create an artificial plane,

• Populate it with light sources and vehicles

• Run a time-based simulation:– for each time step,

• compute light source effect on vehicle• simulate movement• detect collisions

Page 58: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

View of SimulationView of SimulationLights 1 2 3 4 5 6X 100 100 100 100 100 100Y 100 100 100 100 100 100Intensity 500 500 500 500 500 0

Vehicles 1 2 3 4 5 6X 0 0 10 20 30Y 0 0 10 20 30Direction 0 45 45 45 45X 100 100 100 100 100Y 80 85 90 95 100Direction 0

What happened here?

What happens now?

Page 59: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Another ViewAnother View

http://people.cs.uchicago.edu/~wiseman/vehicles/test-run.html

Page 60: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Simulation of VehiclesSimulation of Vehicles

• Complex behavior can arise from simple systems.

• Simulation of such a system can reveal interesting aspects of interaction amongst simple objects.

• These simulations can drive the development of new theory.

Page 61: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

ExampleExample

http://people.cs.uchicago.edu/~wiseman/vehicles/test-run.html

Page 62: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

ViewsViewsViews of simulations may help to explain what is happening.

Different views may be appropriate.

The VIEW is NOT the SIMULATION.

Page 63: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Events and SimulationEvents and Simulation• Every event stimulates behavior,

• Events occur at discrete times,–Simultaneous events must have

simultaneous effects

• Stimulated behavior may cause events

Page 64: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Discrete TimeDiscrete TimeEverything in a computer simulation is digitized.

We create a digital representation of real things.

Even time.

Simulation proceeds stepwise in time.

Effects of simulation take place at the end of a discrete time step.

Parallel processing is useful.

Page 65: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Effects of BehaviorEffects of BehaviorObject behavior may affect the model.

All object behaviors must occur simultaneously i.e. at the end of the simulation time step.

Parallel processing may be needed to avoid object behavior contaminating the system within a time step.

Not all real-world behaviors may have been implemented.

Page 66: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

VisualizationVisualization

Page 67: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

VisualizationVisualization• Enables us to see the effects of behavior

• Large-scale, complex systems,

• View several dimensions– 3D space

– time

– other graphical codes for other variables• color, sound, pictures etc.

Page 68: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Summary on SimulationSummary on Simulation

• Object-based simulation is useful,

• Constructing a world can be complex,

• The quality of the simulation depends on:– the quality of real-world implementation

– implementation of variables that are not the primary focus of the simulation• e.g. gravity, air resistance, viscosity etc.

Page 69: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Micromouse BasicsMicromouse Basics Software and Software and

Simulation of Maze Simulation of Maze BehaviorsBehaviors

Page 70: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Maze Solving AlgorithmsMaze Solving Algorithms• Wall Following Method

– Good start– May not find the destination

• Depth First Search– Explores every cell– Will find destination eventually

• Flood-Fill Search– Finds shortest path to destination

Page 71: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill• Each cell is assigned a distance value

• Destination cells are assigned a zero value

Page 72: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

Destination cells are assigned a zero value

Page 73: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• An example 3x3 maze

• Starting state:

Page 74: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• First rule:– Always move to the open neighboring cell with the

lowest distance value

Page 75: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill• Walls are found and mapped during exploration

sensors

Page 76: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill• Following distance values, 4->3->2->1, now

would be trouble, but wall is found earlier

Page 77: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• Another wall is found

Page 78: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• Second Rule– Second rule: If a cell is not the destination,

its value should be one plus the minimum value of its open neighbors

Page 79: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• Need to update numbers

• Second Rule• If a cell is not

the destination, its value should be one plus the minimum value of its open neighbors, 1+min(2,2)=3

Page 80: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• Other cells now need to be updated

Page 81: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• More updating

Page 82: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• Done updating

• Can now find destination cell

Page 83: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

• Use same technique to get back to start

Page 84: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

Page 85: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Flood-FillFlood-Fill

Page 86: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

BEHAVIOR BEHAVIOR DESCRIPTION AND DESCRIPTION AND

MODELINGMODELING• Also called dynamic modeling

• Models how objects respond to external events

• Types– Combinatorial: truth tables, decision tables, decision

trees– Finite state machines– State charts

Page 87: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

COMBINATORIAL ANDCOMBINATORIAL ANDSEQUENTIAL CONTROLSEQUENTIAL CONTROL

- Decision tables allow the specification of combinatorial mechanisms.

• That is, which processes to activate is important; order and timing are not considered.

- Process activation tables allow a form of sequential modeling.

• That is, the order in which certain processes can be activated can be specified.

- If sequencing is an even more important aspect of control modeling, then a sequential model can be used. -> The most typical form of this is the finite state machine.

Page 88: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

DECISION TABLESDECISION TABLES- One common way to model control is with decision tables. They are used when a number of possible input conditions hold and a number of responses are possible.

- The conditions are called inputs and the responses are called outputs.

- The input side of the table enumerates all possible combinations of conditions.

• For example, if each of three switches can have one of two possible values, "on" or "off",

then the table will contain 3 columns and 2 or 8 rows.

- Likewise, if the three switches control two output devices (one switch is a master override) then there will be two output columns ( along with the eight rows from the input ).

3

Page 89: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

EXAMPLE DECISION TABLE - 1EXAMPLE DECISION TABLE - 1

INPUT OUTPUTMasterControl

Light Switch

PowerSwitch Lights Motor

ON

OFF

ON

ON

ON

ON

ON ONON ON

ON

ON ON

ON OFFOFF

OFF OFFOFFOFF

OFF

OFF

OFF

OFF

OFFOFF

ON

ON

ON OFF

OFF

OFF

OFF

OFF OFF OFF OFF

OFF OFFOFF

Page 90: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

EXAMPLE DECISION TABLE -2EXAMPLE DECISION TABLE -2- Note that the last four rows of the output are identical. The table can be shortened by making use of "don't care" entries.

A don't care entry is indicated by a dash in an input cell.

INPUT OUTPUTMasterControl

Light Switch

PowerSwitch Lights Motor

ON

OFF

ON

ON

ON

ON

ON ONON ON

ON ON

ON OFFOFF

OFF OFFOFFOFF

OFF

OFF OFFOFF --- ---

Page 91: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

FINITE STATE MACHINESFINITE STATE MACHINES• Many systems have the characteristic of "memory".

• That is, past behavior can influence future behavior. • For example, a pay phone must remember how much money has been inserted to know how much service to provide

• The most typical technique for modeling these situations is with a finite state machine.

• The states serve as the memory

• Abstract machines with memory are called sequential machines to distinguish them from "memory-less” combinatorial machines like those represented by decision tables

Page 92: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

STATE MACHINE MODELINGSTATE MACHINE MODELING

- A telephone is a device that at any given time is in one of several states.

• For example, the state can be busy, ringing, dialing, in use, or on hook.

- User actions cause the current state to change. • For example, a user picking up a ringing telephone causes the current state to change from ringing to in use.

- State transition diagrams can be used to model software with user interfaces.

Page 93: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

STATE TRANSITION DIAGRAMSSTATE TRANSITION DIAGRAMS•One mechanism for representing finite state machines (FSMs) is the state transition diagram

•A state is denoted by a rectangle containing the state's name

•The machine is always in exactly one state. – When the system obtains a new input, the machine

moves to another state and performs an action, which may be used to produce an output

• States are connected by labeled directed arcs denoting the transitions among the states

•The labels on the arcs consist of two parts. – The first is the input/event/stimulus provoking the

transition. – The second is the action/response performed. – The two parts are separated by a short horizontal line

Page 94: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

EXAMPLE : STATE TRANSITION EXAMPLE : STATE TRANSITION DIAGRAMDIAGRAM

ONHOOK

OFFHOOK DIALING

RINGING

BUSY

CONNECTED

Handsetlifted Handset

replaced

Numberdialed

Numberdialed

Handset replaced

Handset replaced

Handset replaced

Handset replaced

Line in use

Last numberdialed

Calleeanswers

Calleehangs up

Page 95: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

EXAMPLE : STATE TRANSITIONEXAMPLE : STATE TRANSITIONDIAGRAM GARAGE DOOR OPENERDIAGRAM GARAGE DOOR OPENER

Door ClosedMotor off

button pressed/start motor

Motor Running Up

door open detected/stop motor

Door OpenMotor off

/start motor

door closed detected/stop motor

Door Partially ClosedMotor off

Motor RunningDown

button pressed/start motor

button pressed/stop motorDoor Partially Open

Motor off

button pressed/stop motor

button pressed/start motor

Page 96: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

STATE TRANSITION STATE TRANSITION TABLESTABLES

• Another way of representing a FSM is with a state transition table

• Here, the rows correspond to states, and there are four columns

– The first is the name of the state– The second column describes input event

possibilities. Note that a given state may need to have several rows, one for each allowable input event

– The third column describes output actions– The fourth contains next state information

• State transition tables contain exactly the same information as state transition diagrams

Page 97: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

STATE TRANSITION TABLE FOR ASTATE TRANSITION TABLE FOR A GARAGE DOOR OPENER GARAGE DOOR OPENER

Current State INPUT Effect Next State

Door closed /Motor off

Motor Running Up

Motor Running Up

Door PartiallyOpen/ Motor Off

Door Open /Motor Off

Motor RunningDown

Motor RunningDown

Door Partially Closed / Motor Off

ButtonPressed

ButtonPressed

ButtonPressed

ButtonPressed

ButtonPressed

ButtonPressed

Door OpenDetected

Door ClosedDetected

Start Motor

Start Motor

Start Motor

Start Motor

StopMotor

StopMotor

StopMotor

StopMotor

Motor RunningUp

Motor RunningUp

Door Partially Closed / Motor Off

Motor RunningDown

Motor RunningDown

Door ClosedMotor off

Door OpenMotor Off

Door PartiallyOpen/ Motor Off

Page 98: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

STATE CHARTSSTATE CHARTS• One problem with finite state machines is the explosion in

the number of states that occurs when several independent activities are going on simultaneously

• Also, traditional finite state machines provide no mechanisms for abstraction.

• Abstraction is the grouping together of related states that are relatively independent from the other states in a system

• David Harel has developed an extension to finite state machines called state charts to overcome these difficulties

Page 99: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

PROBLEMS WITH PROBLEMS WITH FSMSFSMS

• Too many arrows: n2 (with n states)

• Too many states: 2m (with m concurrent activities)

• No concept of abstraction/nesting

Page 100: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

STATE CHART ADDITIONSSTATE CHART ADDITIONS

• Depth (hierarchical state machines)

• Concurrency

• Broadcast (define and generate new events)

• Default states

• Conditional (guarded) transitions

• History

• Entry/exit actions/activities

• Event attributes (parameters passed with events)

Page 101: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

NESTINGNESTING

Page 102: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

CONCURRENCYCONCURRENCY

Page 103: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Concluding on Concluding on robot architecturesrobot architectures

• 1. Various architectures have been briefly outlined• 2. Robot should be simulated• 3. Various formalisms are used for representation of

simulation, they are partially independent on robot behaviors and architectures.

• 4. Architectures and representations create a space of robot designs. (of course, together with kinematics)

Page 104: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

categorizing robotscategorizing robotsA

bst

ract

ion

Autonomy

hardware

software

Just mode

l

human-controlled

independent

With respect to autonomy and abstraction

Page 105: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Abs

trac

tion

Autonomy

hardware

software

just is

human-controlled

independent

categorizing robotscategorizing robots

Just mode

l

Page 106: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

categorizing robotsA

bstr

acti

on

Autonomy

hardware

software

just is

human-controlled

independent

categorizing robotscategorizing robots

Just mode

l

Page 107: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

categorizing robotsA

bstr

acti

on

Autonomy

hardware

software

just is

human-controlled

independent

categorizing robotscategorizing robots

Just mode

l

Page 108: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

categorizing robotsA

bstr

acti

on

Autonomy

hardware

software

just is

human-controlled

independent

categorizing robotscategorizing robots

Just mode

l

Page 109: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

categorizing robotsA

bstr

acti

on

Autonomy

hardware

software

just is

human-controlled

independent

categorizing robotscategorizing robots

Just mode

l

Page 110: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

categorizing robotsA

bstr

acti

on

Autonomy

hardware

software

just is

human-controlled

independent

categorizing robotscategorizing robots

Just mode

l

Page 111: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

categorizing robotsA

bstr

acti

on

Autonomy

hardware

software

just is

human-controlled

independent

algorithms and strategies for programming autonomous robots

categorizing robotscategorizing robots

Just mode

l

Page 112: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

the world is not enoughhow much of the world do we need to represent internally ?

how should we internalize the world ?

what outputs can we effect ?

what inputs do we have ?

what algorithms connect the two ?

how do we use this “internal world” effectively ?

categorizing robotscategorizing robots

Page 113: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Robot ArchitectureRobot Architecture

how much / how do we represent the world internally ?

Page 114: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Robot Architecturehow much / how do we represent how much / how do we represent the world internally ?the world internally ?

None.

Just what we need.

Just the current world.

As much as possible.

1

2

3

4

Purely Reactive Control

Absolute Control

SPA architecture (sensing next planning next action)

Subsumption paradigm

Motor Schema

Page 115: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?

None.

- ignore the outside world

- what’s left?

1 Absolute Control

kamikaze robot example

Page 116: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?

Just the current world.2 Purely Reactive Control

• Decision-making based only on the current sensor readings.

• “stimulus-response” model

Page 117: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?

Just what we need.3Subsumption paradigm

Motor Schema

• Enough world state is preserved to perform a desired

task.

• Subsumption composes simple behaviors by letting

one take control at an appropriate time.

Page 118: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?

Just what we need.3Subsumption paradigm

Motor Schema

• Motor schemas compose simple

behaviors by adding the outputs that

each would send to the robot.

Page 119: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Robot ArchitectureRobot Architecturehow much / how do we represent the world internally ?

As much as possible.4 SPA architecture

• Sense -- plan -- actSense -- plan -- act was the first widely studied

robot architecture.

• Complex tasks ultimately will require a deliberative approach,

i.e., reasoning about the world.

• Current robots incorporate both reactive and

deliberative design. (termed hybrid systems.)

Page 120: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Another taxonomyAnother taxonomy

Non

e

Need

-

base

d

Now

All

Wor

ld

Mod

elin

g

Capability Wow!Ow!

Page 121: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Possible Future ProjectsPossible Future Projects

A) Small Battle Bot

B) Path-planning and reasoning large truck or other vehicle

C) wall following robot

D) The Extinguisher (fire-fighting + lego design)

E) The Robix Manipulator on a wheeled robot

F) Pioneer (can-collecting and delivery)

G) Big Brother (visual camera control)

Page 122: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

Abs

trac

tion

Autonomy

hardware

software

Just mode

l

human-controlled

independent

algorithms and strategies for programming autonomous robots

Problem 1Problem 1 Use this taxonomy for all robots from PSU Lab. Is this a good taxonomy?

Page 123: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

SourcesSources• Rodney Brooks

• Dodds, Harvey Mudd College

• Maja Mataric

• Nilsson’s book

• Jeremy Elson

• Norvig’s book, chapter 2. Good. Stimulus-Response Agents

• English PH.D thesis, recent

• Jon Garibaldi

• Prof. Bruce Donald, Changxun Wu, Dartmouth College

• Leo Ilkko

• Prof. Manuela Veloso, Dr. Tucker Balch, and Dr. Brett BrowningCarnegie Mellon University

• Rabih Neouchi , Donald C. Onyango and Stacy F. President

• Axel Roth

• Ramon Brena Pinero ITESM

• Rhee, Taik-heon, Computer Science Department, KAIST

• Brian R. Duffy, Gina Joue

• Lucy Moffatt, Univ of Sheffield

• Yorick Wilks, Computer Science Department, University of Sheffield

• University of Otago

Page 124: Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer.

SourcesSources•Curtis Bahn, RPI• J.E. Wampler•Michael Rodemer, University of Michigan, School of Art and Design•Physics and Media Group, MIT •Josh R. Fairley•Dr. Raymond S. Winton •Mike Haney, University of Illinois •Steve Benkovic, Cal State University , Northridge http://homepage.mac.com/[email protected]•Franklin Alioto, Christine Beltran, Eric Cina, Vince Francisco, Margo Gaitan, Matthew O’Connor, Mike Rasay.•Kenneth Chin and Prang Chim•Bob Miller, Wally Szczesniak, Terry Kientz, •Brett Balogh , Siddharth Deliwala, John Bowen, •Darnel Degand, Kapil Kedia, •Adrian Fox, Christopher Li, •Dr. Jim Ostrowski