- 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