1. Sensors

2 approaches for ubiquitous interaction

In the environment

On the user

Diagram 6

Trends and drivers

Mobile devices are the main technology for accessing the WEB

The hardware renaissance

Rapid prototyping

Mass customisation

Cheap deployment

3D fabrication

Moore's law: number of transistors per square inch on integrated circuits have double every year since their invention

Sensor definition

A device, module or subsystem

Detects events or changes in its environment

By translating a physial magnitude into electrical properties

Sends the information to other electronics

E.g.

Barometer: measure air pressure - estimate height of device

Gyroscope: measuring or maintaining orientation and angular velocity (screen rotation)

Ambient light sensor: avoid accidental touches

GPS: location

Accelerometer: when driving through a tunnel

Touch: user input

Inertia movement unit

Sensors in Android / iOS

In Android / iOS

Higher abstraction

Events and callbacks (event listener)

Device independent; as long as present

Raw sensor data

Activity lifecyle (Diagram 8)

Signal processing methods

Machine learning

Linear regressions

Sensor data: lose information from noise and frequency of sample (quality of measurements = signal to noise ratio SNR) => need to FILTER SIGNAL

Sensor data processing

Thresholds (Diagram 7)

Mean filters

Median filters

Kalman filters

Particle filters

Binary

On when above, off when below

On when above higher threshold, off when below lower threshold

Measurement vs State (Diagram 9)

Measurement: sensor data

State = actual value / ground truth

for each window, calculate mean value

Larger window => larger lag + more smooth on straight lines + worse for edges

Makes assumptions about behaviour

Predict the next step; use the measure in the present to adjust the underlying model

Negative

Positive

for each window, calculate median value

Negative

Positive

Less susceptible to outliers

Does not make up data

Larger window => larger lag + more smooth on straight lines + represent edges better than mean filters

Must wait for window to fill (laggy)

No dynamic model

Efficient

Easy to implement

easy to calculate (uniform mean or weighted mean with more weights on more recent calculations)

Efficient

Great cost-benefit

Great cost-benefit

more susceptible to outliers

must wait for window to fill (laggy)

No dynamic model

Assume trajectory is smooth

Assume trajectory is smooth

Diagram 10

Positives

Dynamic model of the system

No lag

Tunable trade-off between model and measurement

Uncertainty estimate

Cheap to run

Negatives

Parameters not intuitive

Overshooting

Assumptions

Bayesian model for future state

Gaussian model for noises (strong assumption)

Linear for noises (strong assumption)

Online

Calendar: sensor for human input turning into events

gyroscope, barometer, magnetometer

Used for "Dead Reckoning" when GPS is unavailable

Kalmn gain ratio

Higher: use more recent measurements.

Lower: use recent predictions

generate hypotheses

Compute weights

resample; generate random numbers

Positives

General

Continuous or discrete variables

Great results

Negatives

Lots of memory

Very slow