Download presentation
Presentation is loading. Please wait.
1
Control Behaviors of Mobile Robots Control Behaviors of Mobile Robots Architectures and Behaviors With special interest in hexapods and soccer
2
Pets -- expensive and not Sony Aibo $1500 NEC R100 $ a lot iCybie $160 Tekno $40 Poo-chi $30
3
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 not
4
dogfight
5
You can find this material in Norvig’ book, 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
6
Other 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
7
Control of Hexapod Robots 1. Goals and overview 2. Brooks’ Subsumption 3. Biologically Inspired 4. Logically Inspired 5. Neural and Immunological Networks 6. Hardware issues
8
Legged Locomotion in invertebratesMake use of simple nervous systems involved in sensorimotor performance to specify the circuits involved in adaptive legged locomotion in 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
9
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
10
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
11
Biologically Inspired
12
Past 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.
13
Past 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
14
Past 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.
15
Conclusion on past research on 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.
16
Past research on mobile robot 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
17
Overview: Robot Control Schemes 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
18
Control Problems for an autonomous robot Rapidly changing boundary conditions Real-time response Information collected over noisy channels
19
Perception and Action Perception 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
20
Stimulus Response Agents
21
Mapping Perception into Action 0101101101011011 Feature detectors SENSORS MOTORS ACTION FUNCTION “obstacle” “wall”
22
Example: Robot navigator Clips N E 012 0 1 2
23
A Robot in a Two- Dimensional Grid 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
24
A Robot in a Two-Dimensional Grid World (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
25
A Robot in a Two-Dimensional Grid World (3) Perceptual processing –produces feature vector X –numeric features: real numbers –categorical features: categories Action computation selects an action based on feature vector
26
A Robot in a Two-Dimensional 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
27
Perception 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
28
Action 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
29
Boolean Algebra Boolean algebra is a convenient notation for representing Boolean functions –Rules for Boolean algebra –Commutative –Associative –DeMorgan’s law –Distributive law
30
Classes 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
31
Outline on Reactive Agents 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)
32
Properties 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
33
Feature 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
34
OBELIX: A Robot SENSORS: 8 ultrasonic sonar sensors, 4 long IR’s, 8 short IR’s, 1 very-short-range IR
35
Feature 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
36
Action 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:
37
Production Systems
38
Condition1Action 1 Condition2 Action 2 Example: RIR = Long right IR LIR = Long left IR
39
Representing and Implementing Action Functions: Production systems (1) Representing and Implementing Action Functions: 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
40
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
41
Discussion Issues for robot soccer architectures Origination Low Cost vs. Big Model Elegancy vs. Efficiency
42
Basic Architecture for Soccer Using software simulator as a basic development methodology in soccer robot research Production rulesNeural Nets Subsumption
43
Production system based agent architecture for a soccer robot
44
Switch Competitive behaviors Switching and voting, subsumption
45
Teleo-reactive Programs Nilsson Variant of Production Systems to handle goals and durative behaviors. 1st Rule specifies the goal: goal Nil A rule is placed at a point where it achieves the condition of some higher level rule. The condition “1” means it is always true.
46
Example of a teleo-reactive (TR) Program Exercise: write the wall-follower example as a TR program
47
Black Board Architecture Knowledge specialist KS communicate through Black Board
48
Example: RoboCup98 rule hierarchy Attack left Run to wing Play Normal
49
Labyrinth, Robot Environments and Object-Based Simulation
50
Simulation Simulation 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.
51
Simulation and OO Simula-67 Event-based systems Visualization of complex data
52
Applications Complex situations, –large-scale, –many interactions Dangerous situations, Entertainment
53
Computer 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
54
Construct a Model Classes are kinds of things in the real world Objects represent actual things, Methods of objects implement behavior Events stimulate object behavior.
55
Braitenberg Vehicles From: http://people.cs.uchicago.edu/~wiseman/vehicles/http://people.cs.uchicago.edu/~wiseman/vehicles/ Inspired by Valentino Braitenberg, “Vehicles: Experiments in Synthetic Psychology”, 1984. Light sensors + Motors + Control
56
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
57
Simulation 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
58
View of Simulation What happened here? What happens now?
59
Another View http://people.cs.uchicago.edu/~wiseman/vehicles/test-run.html
60
Simulation 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.
61
Example http://people.cs.uchicago.edu/~wiseman/vehicles/test-run.html
62
Views Views of simulations may help to explain what is happening. Different views may be appropriate. The VIEW is NOT the SIMULATION.
63
Events and Simulation Every event stimulates behavior, Events occur at discrete times, –Simultaneous events must have simultaneous effects Stimulated behavior may cause events
64
Discrete Time Everything 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.
65
Effects of Behavior Object 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.
66
Visualization
67
Visualization 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.
68
Summary 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.
69
Micromouse Basics Software and Simulation of Maze Behaviors
70
Maze 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
71
Flood-Fill Each cell is assigned a distance value Destination cells are assigned a zero value
72
Flood-Fill
73
Flood-Fill An example 3x3 maze Starting state:
74
Flood-Fill First rule: –Always move to the open neighboring cell with the lowest distance value
75
Flood-Fill Walls are found and mapped during exploration sensors
76
Flood-Fill Following distance values, 4->3->2->1, now would be trouble, but wall is found earlier
77
Flood-Fill Another wall is found
78
Flood-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
79
Flood-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
80
Flood-Fill Other cells now need to be updated
81
Flood-Fill More updating
82
Flood-Fill Done updating Can now find destination cell
83
Flood-Fill Use same technique to get back to start
84
Flood-Fill
85
Flood-Fill
86
BEHAVIOR DESCRIPTION AND MODELING Also called dynamic modeling Models how objects respond to external events Types –Combinatorial: truth tables, decision tables, decision trees –Finite state machines –State charts
87
COMBINATORIAL AND SEQUENTIAL 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.
88
DECISION 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
89
EXAMPLE DECISION TABLE - 1 INPUT OUTPUT Master Control Light Switch Power Switch Lights Motor ON OFF ON OFF ON OFF
90
EXAMPLE 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 OUTPUT Master Control Light Switch Power Switch Lights Motor ON OFF ON OFF ---
91
FINITE 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
92
STATE 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.
93
STATE 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
94
EXAMPLE : STATE TRANSITION DIAGRAM ON HOOK OFF HOOK DIALING RINGING BUSY CONNECTED Handset lifted Handset replaced Number dialed Number dialed Handset replaced Handset replaced Handset replaced Handset replaced Line in use Last number dialed Callee answers Callee hangs up
95
EXAMPLE : STATE TRANSITION DIAGRAM GARAGE DOOR OPENER Door Closed Motor off button pressed/ start motor Motor Running Up door open detected/ stop motor Door Open Motor off / start motor door closed detected/ stop motor Door Partially Closed Motor off Motor Running Down button pressed/ start motor button pressed/ stop motor Door Partially Open Motor off button pressed/ stop motor button pressed/ start motor
96
STATE TRANSITION TABLES 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
97
STATE TRANSITION TABLE FOR A GARAGE DOOR OPENER Current State INPUTEffectNext State Door closed / Motor off Motor Running Up Motor Running Up Door Partially Open/ Motor Off Door Open / Motor Off Motor Running Down Motor Running Down Door Partially Closed / Motor Off Button Pressed Button Pressed Button Pressed Button Pressed Button Pressed Button Pressed Door Open Detected Door Closed Detected Start Motor Start Motor Start Motor Start Motor Stop Motor Stop Motor Stop Motor Stop Motor Motor Running Up Motor Running Up Door Partially Closed / Motor Off Motor Running Down Motor Running Down Door Closed Motor off Door Open Motor Off Door Partially Open/ Motor Off
98
STATE 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
99
PROBLEMS WITH FSMS Too many arrows: n 2 (with n states) Too many states: 2 m (with m concurrent activities) No concept of abstraction/nesting
100
STATE 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)
101
NESTING
102
CONCURRENCY
103
Concluding on robot 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)
104
categorizing robots Abstraction Autonomy hard ware softw are Just model human-controlled independent With respect to autonomy and abstraction
105
Abstraction Autonomy hard ware softw are just is human-controlled independent categorizing robots Just model
106
categorizing robots Abstraction Autonomy hard ware softw are just is human-controlled independent categorizing robots Just model
107
categorizing robots Abstraction Autonomy hard ware softw are just is human-controlled independent categorizing robots Just model
108
categorizing robots Abstraction Autonomy hard ware softw are just is human-controlled independent categorizing robots Just model
109
categorizing robots Abstraction Autonomy hard ware softw are just is human-controlled independent categorizing robots Just model
110
categorizing robots Abstraction Autonomy hard ware softw are just is human-controlled independent categorizing robots Just model
111
categorizing robots Abstraction Autonomy hard ware softw are just is human-controlled independent algorithms and strategies for programming autonomous robots categorizing robots Just model
112
the world is not enough how 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 robots
113
Robot Architecture how much / how do we represent the world internally ?
114
Robot Architecture how much / how do we represent the world internally ? None. Just what we need. Just the current world. As much as possible. 1234 Purely Reactive Control Absolute Control SPA architecture (sensing next planning next action) Subsumption paradigm Motor Schema
115
Robot Architecture how much / how do we represent the world internally ? None. - ignore the outside world - what’s left? 1 Absolute Control kamikaze robot example
116
Robot Architecture how 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
117
Robot Architecture how much / how do we represent the world internally ? Just what we need. 3 Subsumption 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.
118
Robot Architecture how much / how do we represent the world internally ? Just what we need. 3 Subsumption paradigm Motor Schema Motor schemas compose simple behaviors by adding the outputs that each would send to the robot.
119
Robot Architecture how much / how do we represent the world internally ? As much as possible. 4 SPA architecture Sense -- plan -- act Sense -- 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.)
120
Another taxonomy None Need- based Now All World Modeling Capability Wow!Ow!
121
Possible Future Projects A) Small Battle Bot B) P ath-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)
122
Abstraction Autonomy hard ware softw are Just model human-controlled independent algorithms and strategies for programming autonomous robots Problem 1 Use this taxonomy for all robots from PSU Lab. Is this a good taxonomy?
123
Sources 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 Browning Carnegie 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
124
Sources 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/SBenkovics.benkovic@ieee.org 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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.