+ All Categories
Home > Documents > Embedded Systems: Ubiquitous Computing

Embedded Systems: Ubiquitous Computing

Date post: 16-Oct-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
49
Embedded Systems: Ubiquitous Computing April 10, 2003 Class Meeting 24
Transcript
Page 1: Embedded Systems: Ubiquitous Computing

Embedded Systems: Ubiquitous Computing

April 10, 2003

Class Meeting 24

Page 2: Embedded Systems: Ubiquitous Computing

Outline

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

• Introduction to Embedded Computing

Page 3: Embedded Systems: Ubiquitous Computing

3 Major Types of Spatially DistributedMulti-Robot Behaviors

• Motion relative to other robots

• Motion relative to the environment

• Motion relative to external agents

Page 4: Embedded Systems: Ubiquitous Computing

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)

Page 5: Embedded Systems: Ubiquitous Computing

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

Page 6: Embedded Systems: Ubiquitous Computing

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

Page 7: Embedded Systems: Ubiquitous Computing

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

Page 8: Embedded Systems: Ubiquitous Computing

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

Page 9: Embedded Systems: Ubiquitous Computing

From a recent issue of CACM

Slide adapted from Gaurav Sukhatme, USC

Page 10: Embedded Systems: Ubiquitous Computing

By the numbers...

• Approx. 2 billion computers in the world today

• Approx. 100 million computers are internet hosts

Slide adapted from Gaurav Sukhatme, USC

Page 11: Embedded Systems: Ubiquitous Computing

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

Page 12: Embedded Systems: Ubiquitous Computing

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

Page 13: Embedded Systems: Ubiquitous Computing

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

Page 14: Embedded Systems: Ubiquitous Computing

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

Page 15: Embedded Systems: Ubiquitous Computing

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

Page 16: Embedded Systems: Ubiquitous Computing

Student Paper Presentation

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

• Presented by Trevor Dennison

Page 17: Embedded Systems: Ubiquitous Computing

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

Page 18: Embedded Systems: Ubiquitous Computing

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

Page 19: Embedded Systems: Ubiquitous Computing

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

Page 20: Embedded Systems: Ubiquitous Computing

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

Page 21: Embedded Systems: Ubiquitous Computing

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

Page 22: Embedded Systems: Ubiquitous Computing

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

Page 23: Embedded Systems: Ubiquitous Computing

(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

Page 24: Embedded Systems: Ubiquitous Computing

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

Page 25: Embedded Systems: Ubiquitous Computing

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

Page 26: Embedded Systems: Ubiquitous Computing

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

Page 27: Embedded Systems: Ubiquitous Computing

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

Page 28: Embedded Systems: Ubiquitous Computing

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

Page 29: Embedded Systems: Ubiquitous Computing

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

Page 30: Embedded Systems: Ubiquitous Computing

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

Page 31: Embedded Systems: Ubiquitous Computing

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

Page 32: Embedded Systems: Ubiquitous Computing

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

Page 33: Embedded Systems: Ubiquitous Computing

Getting Physical

• Robots– sensors– computers– actuators

• Sensor networks– sensors– computers– wireless communication

Slide adapted from Gaurav Sukhatme, USC

Page 34: Embedded Systems: Ubiquitous Computing

Getting Real: Control

Slide adapted from Gaurav Sukhatme, USC

Page 35: Embedded Systems: Ubiquitous Computing

Getting Out

• People are– users– operators– precious

• Move humans out/above the control loop

Slide adapted from Gaurav Sukhatme, USC

Page 36: Embedded Systems: Ubiquitous Computing

Why be PROactive ?

Slide adapted from Gaurav Sukhatme, USC

Page 37: Embedded Systems: Ubiquitous Computing

Slide adapted from Gaurav Sukhatme, USC

Page 38: Embedded Systems: Ubiquitous Computing

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

Page 39: Embedded Systems: Ubiquitous Computing

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

Page 40: Embedded Systems: Ubiquitous Computing

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

Page 41: Embedded Systems: Ubiquitous Computing

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

Page 42: Embedded Systems: Ubiquitous Computing

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

Page 43: Embedded Systems: Ubiquitous Computing

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

Page 44: Embedded Systems: Ubiquitous Computing

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

Page 45: Embedded Systems: Ubiquitous Computing

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

Page 46: Embedded Systems: Ubiquitous Computing

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

Page 47: Embedded Systems: Ubiquitous Computing

Slide adapted from Gaurav Sukhatme, USC

Page 48: Embedded Systems: Ubiquitous Computing

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

Page 49: Embedded Systems: Ubiquitous Computing

Next Time

• “Embedded Everywhere”


Recommended