2 - geometh-data

Transcrição

2 - geometh-data
Innenraumpositionierung mit dem
Cricket-System
(Indoor Positioning using Crickets)
Rainer Mautz
Projektarbeit Bachelorstudiengänge D-BAUG
Institute of Geodesy and Photogrammetry (IGP)
Freitag, 05. März 2010, 8:30 HIL C 71.3
Prof. Dr. H. Ingensand
Geodätische Messtechnik und Ingenieurgeodäsie
04.03.2010
Organisation
Der Kurs besteht aus eigenständiger Arbeit an einem Projekt. Die
Durchführung findet in Gruppen von 4 Studenten statt.
Leitung: Hilmar Ingensand HIL D 47.2
Organisation, Übungen:
Rainer Mautz (Hauptansprechpartner)
D 45.2 [email protected] 044 633 78 27
Pascal Theiler
46.2 [email protected] 044 633 30 39
Organisation
Weitere ETH-Ansprechpartner:
Tobias Kohoutek [email protected] 044 633 3041
(Mindstorms Roboter)
Paul Sorber (Elektronik)
C 61.3 [email protected] 044 633 68 51
Hanspeter Oesch (Messlabor)
HIL C 61.1 [email protected] 044 633 36 01
Jules Fenner (Vermessungsmaterial)
HIL C 61.1 [email protected] 044 633 30 57
Organisation
Anwesenheit: Pflichtveranstaltung an den folgenden Terminen
Fr 5.3., Fr 12.3., Fr 19.3., Fr 26.3., Fr 23.4., Fr 4.6.
Die übrigen Freitage stehen als Sprechstunde und
zur Arbeit an den Projekten zu Verfügung.
Examen:kein Examen, jedoch Vorführung des Projektes
und Abgabe eines Posters und Kurzberichtes (max.12
Seiten).
Dokumente:
Alle Informationen befinden sich im Web unter:
http://www.geometh-data.ethz.ch/projektarbeit_basisjahr/
Organisation
Organisation
Organisation
Freitag, 5.3.2010
8:30-12 Uhr
Einführungsveranstaltung
Vorlesung und Einführung in Wireless Networks, Installation der Cricket
Software : Hyperterminal, Matlab
Betreuer: Rainer Mautz
13-17 Uhr:
Bestimmung von Positionen aus Distanzmessungen
Betreuer: Pascal Theiler
2. Woche Fr 12.3.2010
Anbringen von einigen Crickets an die Decke des Raums HIL C 71.3.
Geodätische Einmessung der Crickets (Messband + Lot oder
Tachymeter)
Herausforderung - Cricket
Clustersize: 5 nodes
Herausforderungen:
 Installation eines Positionierungssystems
 Berechnung der 3D Positionen aus
Streckenmessungen
 Visualisierung der Bewegungen
07
50
06
0
01
04
08
-50
50
100
50
0
0
Kreativität gefordert für mögliche Anwendungen:
-50 -50
Z
z.B. Verfolgung eines Roboters
Anwendung des Cricket
Systems
Aufgabe und Lerneffekte
- Verständnis von drahtloser Positionierung
- Einblick in die englischsprachige Literatur
- Einmessung von Punkten mit konventionellen Methoden, Einsicht dass die
Navigation bekannte Referenzpunkte (Satelliten, Ankerpunkte, Beacons)
erfordert
- Problematik der Streckenmessung mittels Zeitlaufverfahren
- Installation von Software – professionelle (MATLAB) aber auch
Bastelsoftware
- Verkabelte und unverkabelte Kommunikation verschiedener Geräte (PC,
Cricket, WLAN, Bluetooth)
- Protokolle(TPC/IP) und Schnittstellen (RS323 – USB – COM-Port)
- Realisierung eines Systems, tiefere Auseinandersetzung mit den
technischen, softwaretechnischen und prinzipiellen Zusammenhängen
- Weiterentwicklung des Systems: mittels eigenem Projekt Verbesserung der
Funktionalität (z.B. durch Eichung, Erfassung von Systematiken) oder
Entwicklung neuer Funktionalitäten (Roboter oder mobiles Gerät, dessen
Kenntnis der Position genutzt wird).
Positionierung im Aussenraum
Navigation mit Hilfe von Satelliten: GPS,
GLONASS
Streckenmessung zwischen Satellit und
Empfänger
Alternativen für Innenräume?
Welche Möglichkeiten gibt es zur IndoorPositionierung?
Introduction in Wireless Positioning
Wireless Positioning Technologies using existing
infrastructure
Assisted/Aided-GNSS (A-GNSS, A-GPS)
 “Hot Start” all data for a fix handy – except ranges
 High power needs for high sensitivity GPS and
relatively high costs
 Critical Issues: Assistance Data Persistance versus
Maximum Tolerable Latency
Introduction in Wireless Positioning
Positioning Technologies using existing infrastructure
•
Global System for Mobile
Communication (GSM) can be used for
positioning. Accuracies using (Methods:
GCI or TA), e.g. 100m up to 10km
•
Wireless Local Area Network (WLAN):
Cell sizes 35-50m, Predicted Accuracy:
few meters, Signal Strength Methods not
reliable, need to relocate and ad access
points for overlap
Indoor Positioning – Wozu?
- Informationsdienste (Location Based Services)
- Tracking von Objekten (Produkte in Industrieanlagen, Facility Managment)
- Automatisierung (Robotersteuerung, Umgebungssteuerung)
- Sensor Netzwerke
- Fußgänger Navigation (Krankenhäuser, Feuerwehr, Sehbehinderte)
- Augmented Reality (Einblendung von Zusatzinformationen, Gaming)
- Messsystem
Systeme zur Indoor-Lokalisierung
Indoor-Positionssysteme
Infrarot
Funk
Ultraschall
• Active Badge
• RFID
• Active Bat
• WIPS
• Spot On
• Cricket
visuell
• visual
• Bluetooth
•
Basisverfahren:

Tracking:
 Benutzer trägt eine Marke (Bat oder Badge), die von einem Sensornetz
erkannt und verfolgt wird

Positioning:
 das Endgerät (Listener) empfängt Signale von einem Sendern (Beacons) und
berechnet seine aktuelle Position selbst
Prof. Dr. H. Ingensand
Geodätische Messtechnik und Ingenieurgeodäsie
04.03.2010
Bewertung der Verfahren
Erreichbare
Genauigkeit
Skalierbarkeit
Active Badge
Raum
Sensoren-Netzwerk; ein
Sensor pro Zimmer, ein
Badge pro Person
WIPS
Raum
Ein Sender pro Zimmer, ein
Empfänger pro Person
SpotOn
3m
Aktive RF-ID-Tags und
-Leser
Bluetooth
2m
Bluetooth-Geräte im max.
Abstand von 8m
Active Bat
10cm
Sensoren-Netzwerk, Bats
Cricket
1-2 cm
beliebig, z.B. Sensor pro
1,44m2
von: Irene Ehrlich, Wirtschaftsinformatik
Münster
Beispielanwendung
A screen shot of an interactive
version of the Doom game
Cricket
System aus batteriebetriebenen „Grillen“ die mit
Ultraschall und Radiosignalen ihre
gegenseitigen Distanzen bestimmen
 Time Difference Of Arrival (TDOA) Methode
 Entwicklung des MIT
 Hersteller: Crossbow Technologies
Cricket
Netzknoten
 10 + 5 Netzknoten vorhanden
 Reichweite: ca. 10m
 Streckengenauigkeit : ca. 1 - 2 cm
Installiertes Cricket
System
Cricket Unit
Messprinzip und Parameters von Cricket
Cricket consists of location beacons that are attached to the ceiling of a
building,
and receivers, called listeners, attached to devices that need location.
Each beacon periodically transmits information in an RF message.
At the same time, the beacon also transmits an ultrasonic pulse. The
listeners listen to beacon transmissions and measure distances to
nearby beacons,
This active-beacon passive-listener architecture is scalable with respect to
the number of users, and preserves user privacy.
System Parameters:
Beacon frequency
RF frequency
RF transmit power
RF data rate
US frequency
US pulse duration
1 Hz
436 MHz
-3 dBm (typical for indoor environment)
19.2 kbps
40 KHz
150 µs
Communication with a Cricket Node
The listener must be attached to an RS232 serial interface configured as
follows:




Transmission speed 115200 bits/second
Data format 8 bits, no parity
Flow control Xon/Xoff (“software”)
Stop bits 1

Once the beacon or the listener is attached to a host, commands
can be issued using a standard serial port utility such as
HyperTerminal.
Distance Measurement Techniques
Time-of-flight (TOF)
This technique measures the time t taken for some signal to traverse the path
between two points (the reference point and the object). If the speed of the signal is
v, the distance d is given by
d = v * t.
For example, GPS uses the time of flight of RF signals to estimate the distance
between GPS satellites and the GPS receiver.
Distance Measurement Techniques

Time-Difference-of-Arrival (TDOA)

TDOA-based schemes measure the distance between given two
points using two signals with different speeds that traverse the same
path between the two points.

Cricket uses TDOA of RF and ultrasonic signals to measure
distance to the reference points.

Consider two signals A and B with speeds vA and vB sent
simultaneously by a transmitter. If vA > vB, then signal B lags behind
signal A as they propagate. Let t denote this time lag at a receiver
located at a distance d from the transmitter.
Distance Measurement Techniques

At normal room temperature and humidity, the speed of sound, vus ≈
344 m/s, and speed of light, vrf ≈ 3 × 108 m/s.
vRF << vUS,

d ≈ Δt · vus
In completely dry air with no humidity, the speed of sound (in meters
per second) depends mostly on the absolute temperature T (in
Kelvin), and is given by
vUS = SQRT(20.05 T).
The speed of sound (and the measured distance) changes by ≈ 0.18%
per degree Celsius
Each Cricket measures temperature; use t = (tA + tB ) / 2.
Accuracy of ±10C.
Calibration of Distance Measurements

distance measurement error as a function of the distance angle to
each other
Die Ankerpunkte (Beacons)
Warum müssen die Crickets (Beacons) eingemessen werden?
Koordinaten der Ankerpunkte Beacons werden benötigt, um mittels
Strecken die Position des Listernes zu rechenen
Wie ermittelt man die Koordinaten der Ankerpunkte? GPS steht in
Innenräumen leider nicht zur Verfügung. Die Bestimmung der
Beacon-Koordinaten muss eine Magnitude genauer sein als das
Cricket System (1-2 mm).
Trilateration
Localisation Problem
Given a set of ranges between nodes, positions and variances need to be calculated.
Basic principle: 3D-Trilateration
Given: Coordinates of 3 known points P1, P2, P3 and
3 ranges r1, r2, r3 to the unknown Point P
solve for : P (x, y, z)
P2
(x − x ) + ( y − y ) + (z − z ) = r
(x − x ) + ( y − y ) + (z − z ) = r
(x − x ) + ( y − y ) + (z − z ) = r
2
1
2
1
2
P3
2
P
P1
2
2
2
2
2
2
3
2
2
3
2
1
1
2
2
3
2
3
Mehrdeutigkeitsproblem
Ambiguity and Singularity Problems
P2
Examples:
P?
a) Nodes with 3 ranges
- mirroring ambiguity position for P
P1
c) Error budget to high to allow lateration
d) Nodes with only connectivity information
P?
P is on either side
of the plane P1,P2,P3
- no redundancy and reliability of position
b) Anchor nodes collinear (3D: in one plane)
P3
P1
P2
P3
P?
Multilateration
Principle of Wireless Positioning: Multi-Lateration
known node
unknown node
range measurement
Multilateration in Netzen
Lateration Methods
Initial anchor
Multilateration:
Iterative Multilateration:
Collaborative (n-hop) Multilateration:
Step 1:
becomes anchor
Step 2:
becomes anchor
Step 3:
becomes anchor
Unterbestimmung bei zu wenigen Messungen
Connectivity (degraded) Mode
2D bounding box:
P?
P1
P2
Positioning Using Ad-hoc Communication
Ambiguity problem when creating the smallest rigid structure
(a)
(b)
5
3
1
4
2
(c)
5
3
1
2
3
1
4
4
5’
2
Positioning Using Ad-hoc Communication
Solving flip ambiguity in the presence of noise
5
r45
3
d55’
4
2
1
5’
d45 - d45’
Dynamic Positioning
Method to Create Anchor Nodes
known mobile node
unknown static nodes
t2
t1
Dynamic Positioning
Mobile Assisted Positioning
unknown mobile node
unknown static nodes
t2
t1
Verteilung der Referatsthemen:
1.Möglichkeiten zur Ankerpunktbestimmung (z.B. Mobile Assisted, Manuell,
Freie Netze) Wie viele Ankerpunkte sind notwendig und welche Geometrie
ist günstig?
2. Streckenmessung mit Ultraschall und Radiosignalen, Einflussgrößen,
Kalibrierung T,p,e, Distanzmessung mit Crickets, TDOA
3. Systemarchitektur von Crickets - Software und Hardware Komponenten
4. Prinzipien und aktueller Stand der satellitengestützten
Positionierungssysteme und Alternativen – wo lässt sich Crickets
einordnen?
Referate - Informationen

Referate folgen am Freitag in 2 Wochen

Jede Gruppe von 4 Studierenden hat jeweils 45 Minuten Zeit das
jeweilige Thema zu referieren. Ein Thema sollte so geteilt werden,
dass jeder Referent ca. 10-15 Minuten vorträgt. Anschliessend
Fragerunde
Themenvorschläge für Projektarbeit
Realisierung eines dynamischen „Listeners“ z.B.
 Modellbagger (Baumaschinensteuerung),
 Planierraupe (Baumaschinensteuerung),
 Roboter (Lego Mindstorms Roboter System RCX 1.5 und NXT, Sony
Roboterhund Aibo),
 nachführendem Tachymeter (Absolute Positionierung)
 Roboter-Staubsauger (Wegoptimierung durch automatischer Steuerung)
 ferngesteuertes Fahrzeug (Tracking)
 Aufbau eines Distanz- und Positionmesssystems durch Cricket-Pointer
 Automatische Ansteuerung des Mobilen „Listeners“ über Funkmodule mittels
Steuerbefehlen vom Laptop.
Themenvorschläge für Projektarbeit
Weitere Themen:
 Kalibrierung des Systems
 Klimakammer, Interferometerbahn, Distanzkalibrierung mit überbestimmtem
System d.h. mehr Beacons als notwendig, Untersuchung des Systems auf
Abhängigkeit von Wind und Temperatur
 Eliminierung grober Fehler bei der Distanzmessung (Multipath)
 Berechnung der 3D Positionen aus eintreffenden Laufzeitmessungen vom
„Listener“ (theoretisch-geometrische Überlegungen), Darstellung der
Positionen in Realtime (Tracking)
 Untersuchung der räumlichen Keule der Signale zur Streckenmessung,
Ermittlung der Additionskonstante – auf der Messbahn oder mit Messband
oder mit Nivellierlatten auf Stativen (z.B. 4 -5 Distanzkombinationen),
Untersuchung auf streckenabhängige Systematik, Temperaturabhängigkeit
(Klimakammer), lineare Regression
 Datenübertragung mit WLAN oder Bluetooth
 Mobil-Telefon Positionierung, A-GPS Positionierung
Literatur
Literatur: http://www.geometh-data.ethz.ch/projektarbeit_basisjahr/





Cricket v2 User Manual http://cricket.csail.mit.edu/
Wireless Sensor Networks – Getting Started Guide, Rev. A,
September 2005, Crossbow Technology
Nissanka Bodhi Priyantha, The Cricket Indoor Location System,
PhD Thesis at the MASSACHUSETTS INSTITUTE OF
TECHNOLOGY June 2005
Die gefährlichen Örter der Pseudostreckenortung von Thomas
Alexander Wunderlich DGK Nr.190
Lorenz Moser, “Weiterentwicklung eines Simulators für die
Positionierung in wireless ad hoc Netzwerken”, Semesterarbeit,
Tutor: Jan Beutel, Supervisor: Prof. Dr. Lothar Thiele, ETHZ, Institut
für Technische Informatik und Kommunikationsnetze, 2002
Communication with a Cricket Node


The command format is:
<directive> <command> <parameters>

<directive> “G” for “get” and “P” for “put”.



Configure a Cricket unit to be a beacon
1. Type P MD 1 <return> (P MD 2 configures cricket at a listener)
2. Type P SP Beacon4 <return> to set the beacon’s space ID to
“Beacon4” (or to any other string). The maximum length of the space
ID is 8 bytes.
3. Type G CF <return> to check the current configuration; you
should find the new space ID and the beacon setting.
4. Save the new configuration to the flash by sending P SV
<return>. If you don’t save the configuration, the new settings will
only remain until the Cricket unit is powered off.


Get Cricket Configuration












G CF<return>
Result:
Cricket configuration:
Software version: 2.0
Mode: Listener /
Unique id: 1:c8:6a:b3:a:0:0:dc
Space id: BEACON6
Uptime: 16:32:14
Ultrasound attenuation time(us): 45000
Timer Offset(us): 550
Minimum beacon interval(ms): 668
Maximum beacon interval(ms): 1332
// Cricket software version
/ Running mode (Listener/Beacon)
// Unique Cricket ID
// User-defined space ID
// Uptime of Cricket from last power cycle
// Time for ultrasound to attenuate
// Offset processing time
// Minimum wait time between messages
// Maximum wait time between messages
Cricket Configuration








Average beacon interval(ms): 1000
// Average interval between beacon
messages
Compensation value(µs): 48
// Time data to travel over the Cricket radio
Distance Units: Metric
// Units used to display (DB)
Local temperature value: disabled
// Temperature from the onboard sensor
Speed of sound value(m/s): not used
// Speed of sound based on temperature
Test switch status: On
// Position of the test switch on the Cricket
Event output format: 3
// Event reporting format
Output variable(s): VR ID DB DR SP TM TS // Variables output
VR = Software Version
ID = Unique Node ID
DB = Distance [cm]
DR = Duration [msec]
SP = Space ID (user defined)
TM = Time of flight (without temperature comensation)
TS = System Time
see Cricket Manual Page 22
Test distance measurements
1. Connect and turn on a Cricket configured as a listener to your host.
2. Turn on a Cricket configured as a beacon.
3. You should now see distance measurements appear in your terminal
every time the listener hears from the beacon. The output has many
fields; the “DB” field gives the distance to the beacon. The default units
are centimeters
4. Make sure both Crickets are turned on and the test switch is off

Example Message:
VR=2.0,ID=01:dd:be:be:09:00:00:95,SP=BE-2,DB=224,DR=6479,TM=6789,TS=455424

If the above steps work, you can now use your Crickets to write and run
applications!