Embedded Systems: Ubiquitous Computing

Preview:

Citation preview

Embedded Systems: Ubiquitous Computing

April 10, 2003

Class Meeting 24

Outline

• Quick “Wrap-Up” thoughts on distributed robotic behaviors

• Introduction to Embedded Computing

3 Major Types of Spatially DistributedMulti-Robot Behaviors

• Motion relative to other robots

• Motion relative to the environment

• Motion relative to external agents

Spatially Distributed Behaviors

Motion relative to other robots:• Formations:

– Group motions and/or positions must satisfy defined constraints relative to the entire collective

• Special case: Dispersion, aggregation, flocking, schooling, herding (as in herds of antelope)

• Sorting, clumping:– Robots must separate

themselves into sub-groups according to defined constraints

(From Parker, 1995)

(From Beckers 1998)

Spatially Distributed Behaviors (con’t.)

Motion relative to the environment:

• Search, foraging, grazing, harvesting, deployment, coverage:– Robot motions and/or positions must result in

visitation of entire work area according to defined constraints

• Localization, mapping, exploration:– Robots must collect environmental information that

is merged into a map

From Balch,1994

From Gage,1993

Spatially Distributed Behaviors (con’t.)

Motion relative to external agents:• Pursuit, predator/prey, herding (as in shepherding sheep):

– Team motions must result in control of external agent motions• Target tracking:

– Collective robot motions must maintain external agents within view

Introduction to Embedded Systems

• Example application areas:– Robots– Wearable computers– Sensor networks– Smart spaces

• In time, these will converge– Computation everywhere– Information where you need it, when you need it– Physical action where you need it when you need it (maybe)

• Perhaps the closest vision is ubiquitous computing (Weiser) which we will examine today

Slide adapted from Gaurav Sukhatme, USC

Why Study Embedded Systems ?

• Distributed system par excellence

• In the years to come, wireless embedded systems will dwarf the present day Internet in scale

• Great impact on humanity and the way people live and work

• Hottest thing since sliced bread

Slide adapted from Gaurav Sukhatme, USC

From a recent issue of CACM

Slide adapted from Gaurav Sukhatme, USC

By the numbers...

• Approx. 2 billion computers in the world today

• Approx. 100 million computers are internet hosts

Slide adapted from Gaurav Sukhatme, USC

Where are the rest ?

• Everywhere– Cars, shopping malls, microwaves, aircraft, airports, trains, stadiums, roads,

bridges, building structures, ocean floor, satellites ….

• In fact there are 4 computers on the surface of Mars right now (though they are probably dead)

Slide adapted from Gaurav Sukhatme, USC

Historical Perspective

• Vannevar Bush, As We May Think, The Atlantic Monthly 1945

– Earliest prediction of massive, embedded computational units connected to sensors

– Earliest prediction of hyperlinks and web-like organization of information

Slide adapted from Gaurav Sukhatme, USC

Fast Forward to 1991-93

• Mark Weiser, The Computer for the 21st Century, Scientific American, 1991– Profound technologies disappear and become indistinguishable from

everyday life

• Mark Weiser, Some Computer Science Issues in Ubiquitous Computing, CACM, 1993– New challenges for Computer Science

Slide adapted from Gaurav Sukhatme, USC

Ubiquitous Computing

• Integrate computers seamlessly into the world– invisible, everywhere computing

• Not just laptops and PDAs

• Not virtual reality

Slide adapted from Gaurav Sukhatme, USC

Computers that Vanish

• A new way to think about computers– account for human environment– think about how and where people live and work

• When people learn something very well, they cease to be aware of it– compiling, tacit dimension, visual invariants...

Slide adapted from Gaurav Sukhatme, USC

Student Paper Presentation

• “The computer for the twenty-first century”, by Weiser, Scientific American, September 1991, pgs. 94-104.

• Presented by Trevor Dennison

Social Implications

• Cryptography built in• Digital fingerprints• More people to people interaction• The decline of the computer addict• Reduction in information overload

Agree/Disagree ?

Other Issues?

Slide adapted from Gaurav Sukhatme, USC

Taxonomy, Organization in Embedded Systems

• How to get our hands around all these applications ? (wearables,robots, sensor networks etc.)

• Are there universal basic ideas in common ?

• Two ‘universal’ themes to analyze these systems:– Context– Scale

Slide adapted from Gaurav Sukhatme, USC

Context and Scale

• Context– Logical (e.g. lexical scope in a program, semantics of pronouns in

English etc.)– Physical (e.g. location, proximity, predicate relations in the physical

world)

• Scale– Familiar to most of you in O notation (e.g. an algorithm is O(n^2)– Physical scale (e.g. size)

Slide adapted from Gaurav Sukhatme, USC

Time

• Fits under Context– Did x happen before/after y ?– How long ago did x happen ?

• Fits under Scale– How often should a sensor measure something ? (1 Hz, 10 Hz, 1 kHz etc.)

Slide adapted from Gaurav Sukhatme, USC

Physical Context

• Consider following where x is a person or a computer (as is y)– Where is x ?– Is x moving ? How fast is x moving ?– Is x below/above/under/in y ?– What is the distance between x and y ?

Slide adapted from Gaurav Sukhatme, USC

Localization (location) is an example of Context

• Where is the PDA ?– on my map – in a global coordinate system– relative to other PDAs or computers in

the rooms shown

?

Slide adapted from Gaurav Sukhatme, USC

(Why) Does Location Matter ?

• Routing/Congestion control–Peer to peer vs. broadcast

• Energy savings–Elementary example: turn off lights when I am not in my office (does

this really need location ?)

• The appearance of intelligent behavior

Slide adapted from Gaurav Sukhatme, USC

Gesture Recognition is an Example of Physical Context

• Where is a person pointing ?

• Useful in inferring intention– requires interpretation and possibly understanding

• Immediate application to a user interface

Slide adapted from Gaurav Sukhatme, USC

Temporal Context

• Sensor A measures vibration in a building, sensor B measures traffic on a nearby road

• If both are time stamped one can correlate window rattling with traffic?

• What use is correlation of this sort ?

• Timestamping– Simple mechanism to sequence events– In a distributed system this implies some sort of global clock (perhaps)

Slide adapted from Gaurav Sukhatme, USC

Why is Scale Important ?

• Algorithms that scale well in the size of the problem stand the test of time– O(n) vs. O(n2) vs. O(2n)

• Adapt to different problem sizes– Internet routing is a good example– Originally designed for a few hundred computers, it scales (kinda) to a few

hundred million

Slide adapted from Gaurav Sukhatme, USC

Scaling

• Will current routing scale to a few billion computers ? More ?– Next generation routing algorithms

• Will current information retrieval engines scale to a few billion computers and sensors ?– E.g. ask Google ‘what is the temperature in C205 on the UTK campus ?’– No (reasonable) answer

Slide adapted from Gaurav Sukhatme, USC

Granularity and Scale

• Granularity of sensing depends on the scale of the probleme.g. Monitoring seismic activity in the LA basin needs sensors ~10 m since the

“interesting” seismic waves have wavelengths on that order

• Doesn’t help to measure every 100 m

Slide adapted from Gaurav Sukhatme, USC

PROactive Computing (Tennenhouse, 2000)

• Get Physical– Bridge physical and virtual worlds

• Get Real– Faster than human speeds

• Get Out– Remove people from the control loop

Slide adapted from Gaurav Sukhatme, USC

PROactive Computing

• Is not office automation– That’s already done– In fact its pretty good

• Its not even office computing– Computers aren’t just in offices anymore– Majority are elsewhere

Slide adapted from Gaurav Sukhatme, USC

Where are the Computers ?

• By some estimates 80 - 90% of all processor are embedded in applications other than interactive desktop computers

• However, largely speaking CS focuses on the other 10%– In fact Tennenhouse thinks the number is closer to 2% !

Slide adapted from Gaurav Sukhatme, USC

PROactive Computing: Why Now ?

• We are at an Inflection Point in technology– New embedded processing – Deep networking (802.11 in tiny form factors, IrDA, low power RF etc.)– Limits of interactive computing (one person - one machine has its limits)

Slide adapted from Gaurav Sukhatme, USC

Getting Physical

• Robots– sensors– computers– actuators

• Sensor networks– sensors– computers– wireless communication

Slide adapted from Gaurav Sukhatme, USC

Getting Real: Control

Slide adapted from Gaurav Sukhatme, USC

Getting Out

• People are– users– operators– precious

• Move humans out/above the control loop

Slide adapted from Gaurav Sukhatme, USC

Why be PROactive ?

Slide adapted from Gaurav Sukhatme, USC

Slide adapted from Gaurav Sukhatme, USC

Amorphous Computing (Abelson, 2000)

• MEMS have become inexpensive

• Imagine a MEMS-based system with little tiny sensors and actuators

• Very large numbers

• Scattered about with no particular organization (deep embedding)– in paint, blood, clothes etc.

Slide adapted from Gaurav Sukhatme, USC

Challenges

• How to control such a collection ?

• How to produce coherent behavior by ensuring cooperation betweensuch vast numbers of parts ?

• How to fabricate such devices ?

Slide adapted from Gaurav Sukhatme, USC

Programming

• Think of amorphous systems as:– Irregularly placed, asynchronous, locally interacting devices – call these devices ‘particles’ or ‘computational elements’

• Each element– Modest computing, memory– Random number generation

Slide adapted from Gaurav Sukhatme, USC

No Context A Priori

• Each particle – Does not know where it is– Does not know which way it is pointing

• But..– Each particle can communicate with others within a limited radius r

Slide adapted from Gaurav Sukhatme, USC

Wave Propagation

• An anchor particle broadcasts a message to each neighbor

• The neighbors propagate the message to their neighbors and so on

• Create a ‘wave’ that diffuses through the system

• The message contains a hop count that is stored, incremented andpropagated

• If a particle receives the message again with a higher hop count it is dropped

Slide adapted from Gaurav Sukhatme, USC

What does this Achieve ?

• The hop counts provide a distance estimate from the anchor

• If the hop count is n at a particle, it is (roughly) nr units of distance away from the anchor

• Now each particle has some context (partial location information)

Slide adapted from Gaurav Sukhatme, USC

Pros and Cons

• Pros– Can build a coordinate system by using two anchors– Local strategy– Modest computation, communication– If broadcast is stopped at a certain hop count one can grow regions of

precise size

• Cons– Depends on the density of the particles

Slide adapted from Gaurav Sukhatme, USC

Using Regions

• Particles in one region can stop (or help) certain waves from propagating in their vicinity

• Remember, each particle is still doing something simple, like increment/decrement a number and a broadcast

• If ‘programmed’ properly this can produce engineered designs

Slide adapted from Gaurav Sukhatme, USC

Growing Points

• Organize the process in terms of “growing points” – Make structures that exhibit “likes/dislikes” toward particular “chemical

gradients”– May lay down materials– Materials may secrete pheromones that attract or repel other growing

points. – May split, die off, or join

Slide adapted from Gaurav Sukhatme, USC

Slide adapted from Gaurav Sukhatme, USC

Scale and Context

• Context acquisition by communication

• Depends on large numbers and density

• Individual particles are ‘small’ scale but the overall system could number in the millions

Slide adapted from Gaurav Sukhatme, USC

Next Time

• “Embedded Everywhere”

Recommended