CS 546: Intelligent Embedded Systems Gaurav S. Sukhatme Robotic Embedded Systems Lab Center for...

29
CS 546: Intelligent Embedded Systems Gaurav S. Sukhatme Robotic Embedded Systems Lab Center for Robotics and Embedded Systems Computer Science Department University of Southern California [email protected] http://robotics.usc.edu/~gaurav/CS546

Transcript of CS 546: Intelligent Embedded Systems Gaurav S. Sukhatme Robotic Embedded Systems Lab Center for...

CS 546: Intelligent Embedded Systems

Gaurav S. Sukhatme

Robotic Embedded Systems LabCenter for Robotics and Embedded Systems

Computer Science DepartmentUniversity of Southern California

[email protected]://robotics.usc.edu/~gaurav/CS546

• Last time– HW3– Time synchronization basics– Firefly paper– RBS paper

• Today– Aevena updates (Richard)– HW4 (Karthik)– Localization overview– Localization papers

Today

Memory

Processor

Interface

Sensor and actuator suite

Energy supply

External communication

•Platform•OS and SW architecture•Tools•User interface•Application

Figure adapted from [Pottie and Kaiser 2005]

1/24, 4/18: Cyclops

1/31: Networking

2/21: Energy management4/18: Cyclops

2/7,14 and 28: Time synch, localization and data management3/21,28 and 4/11:Environmental monitoring

What is localization ?

• The process of identifying the absolute or relative spatial location of nodes

Why is it difficult ?• Sensor measurements are noisy, delayed,

intermittent, and often unavailable

Why Localize?

• To location-stamp sensor measurements• To locate and track objects in the environment• To monitor the spatial evolution of a diffuse

phenomenon• To determine the extent and quality of sensing

coverage• To load balance in topology control

mechanims• To form clusters for hierarchical processing• To perform routing• To facilitate efficient spatial querying

Key Issues: What to localize ?

• One model in networked localization is to assume that some nodes are already localized (anchors or references)

• How many anchors ?• Can (should) the anchors move ?• Are the non-anchored nodes

cooperative ?

Key Issues: When to localize ?

• Often: all nodes need to be localized at the beginning of operation

• One shot vs. repeated

Key Issues: How well to localize ?

• Absolute vs. relative• Symbolic (topological)• Accuracy, reliability and

computation efficiency tradeoff

Key Issues: Where to localize ?

• Central vs. distributed• If distributed – in anchor nodes or

in the non-anchor nodes• Security considerations may play a

role

Key Issues: How to localize ?

• Measurements– Relative: Signal strength, range

(acoustic, RF, laser, IR etc.), angular dispersion of neighbors

– Absolute: GPS, comparison to a global map

• Techniques– Proximity, centroids, constraints,

ranging, angulation, pattern recognition, filtering, scaling, potential fields….

Two broad approaches in networked systems

• Coarse-grained– Small set of discrete measurements (e.g.

binary proximity)

• Fine-grained– Large numbers of finer measurements (RF

ranging, signal waveform, angulation, timing etc.)

• In addition if nodes move and rate information is available then filtering techniques from robotics can be used

Coarse-grained Node Localization: Binary Proximity• Set of anchors placed in the environment• Either anchors emit beacon signals or a node

beacons when it needs to be localized• Nodes can localize themselves coarsely to the

beacon location (or resolve conflicts)• Canonical example is the Active Badge system

(indoor office environment)– Badges beacon periodically– Infrastructure responds with localization information– Room level localization

• Modern variants using RFID tags

Coarse-grained Node Localization: Centroids

• Higher density set of anchors • If unknown node hears n beacons

it localizes itself to their centroid • Simple calculation, distributed

across all nodes• Extensions: weighted centroids,

stochastic combinations

Coarse-grained Node Localization: Geometric

constraints• If geometric extent of (say) radio signal

is r; Rmin < r < Rmax • When multiple anchor beacons are

heard at a node, it must solve an area intersection problem

• Area is determined by range boundaries and angular boundaries (if any)

• Size and shape of intersection regions provides an error bound on location accuracy

Coarse-grained Node Localization: Identifying codes• Careful anchor placement to

guarantee that each point is covered by a unique set of anchors

• General problem of a minimal ID code is NP-complete, but there are decent polynomial time heuristics

Fine-grained Node Localization: RSS

• Radio signal strength diminishes with distance

• Received power should be an indicator of distance from transmitter

Xd

ddPdP

00 log10)()(

Path loss exponent – can be experimentally determined for some environments

Noise – often high variance

Fine-grained Node Localization: TDoA

• Combine acoustic and RF techniques• Simultaneously transmit radio and

acoustic signals; measure respective arrival times Ts and Tr at receiver

• Distance is (Ts – Tr )/Vs

• Issues– Works well in close proximity– Acoustic signals show multipath– Higher cost

Fine-grained Node Localization: Triangulation

• Location of unknown node determined by n measurements of distance to reference nodes

• Formulate as a least squares problem

2/120

20 )()( yyxxd iii Correct distance between

node o and anchor i

iii dd ˆ Difference between measured and actual distance

• Determine (xo,yo) that minimizes

n

ii

1

2

Fine-grained Node Localization: Angle of Arrival• Location of unknown node determined by

n measurements of angle to reference nodes

• Can (again) formulate as a least squares problem

Fine-grained Node Localization: Pattern Matching• Develop signal strength map of signal

coverage from multiple transmitters and perform pattern matching on measurements at run time

Network-wide Localization

• Ideally, simply decompose this into individual node localization techniques

• In practice, this is often hard (why ?)– Either collect all data centrally– Or attempt a distributed technique

Constraint-based

• Express geometric constraints as inequalities (range, annulus, angular range)

• Select an objective function (minimize total error say)

• Solve using standard semi-definite programming techniques (some of which have distributed iterative formulations)

• One can also pose this problem stochastically and solve for the maximum likelihood location estimate

Mobile node-based constraints

Iterative Multilateration

• Assume inter-node distances are available between all neighboring nodes

• Pick node with most anchor neighbors and perform triangulation to locate it

• Add this node to the list of anchors, pick next node with largest number of anchor neighbors, and repeat

• In a distributed version, any node with a sufficient number of anchor neighbors can start the process

Iterative Multilateration: Issues

• Nodes w/o sufficient anchor density in neighborhood remain unlocalized– One solution is collaborative

multilateration (Savvides paper)

• The order of the selected nodes affects accuracy

Collaborative Multilateration

• Determine collaborative subgraphs within the network that contain reference and unknown nodes such that there is a unique solution for the location of the unknown nodes

• Combine with iterative multilateration

Multi-hop Distance Estimation

• Used if anchors are several hops away• DV-hop: distance from anchor is

obtained by multiplying number of hops on shortest path by an (estimated) average distance per hop

• DV distance: If inter-node distances are known then use those instead of the above estimate

• Euclidean propagation on quadrilaterals

Force/Potential Approaches

• Use difference between actual and estimated position to generate a restoring ‘force’ that change the position estimate along the gradient of the force

Next week

• Energy management• HW 3 is due a week from today

(deadline extended)• HW 4 is also due a week from

today