-
Hintergrund
-
Technisches Gebiet
-
Die
Erfindung bezieht sich auf Systeme zur Positionsverfolgung, und
im Speziellen auf ein System und einen Vorgang für das Bestimmen der Position
von Personen und Objekten, welche Hochfrequenz(Radio Frequency,
RF)-Sender tragen, die Datennachrichten zu mindestens einem RF Empfänger senden,
welcher mit einem Computer in einem Computernetzwerk verbunden ist.
Die Empfänger
leiten die von den Sendern empfangenen Daten zusammen mit Funksignalstärkeindikator(Radio
Signal Strength Indicator, RSSI)-Daten für die Berechnung der Position
der Personen oder Objekte, welche die Sender tragen, an das Netzwerk
weiter.
-
Technischer Hintergrund
-
Die
Kenntnis der Position von Menschen und Objekten ist für die Realisierbarkeit
von vielen aktuellen und universellen EDV-Systemen wesentlich. In
einer mobilen Computer-Umgebung
beispielsweise kann ein Benutzer eines Mobil-Computers (z. B. Notebookcomputer,
Handheld-PC, Palm-PC, Personal Digital Assistant oder Mobiltelefon)
wünschen,
dass das Gerät
Richtungsangaben zu einer bestimmten Position in einem Gebäude, wie
beispielsweise den nächsten
Drucker, Küche
oder Badezimmer oder vielleicht die Richtung zu einem bestimmten
Konferenzzimmer oder Büro
innerhalb des Gebäudes,
zur Verfügung
stellt. Dieser Typ von Information ist von der Kenntnis der aktuellen
Position des Benutzers abhängig.
Benutzer mobiler Computergeräte
erwarten typischerweise, dass sie mit Nachrichten und anderen Benachrichtigungsinformationen
versorgt werden, wo auch immer sie sich aufhalten. Jedoch können manchen
Benachrichtigungen von der Position des Benutzers abhängen. Zum
Beispiel kann ein Benutzer benachrichtigt werden, dass er oder sie
sich in der Nähe
zu einem Drucker befindet, der ein durch den Benutzer übermitteltes
Dokument ausgedruckt hat. Hier wird die aktuelle Position des Benutzers
benötigt,
um eine solche Benachrichtigung zu erzeugen. Ein Benutzer eines
Mobilcomputergerätes
könnte
ebenso die Position von anderen Leuten in dem Gebäude wissen wollen,
um diese zu finden oder Informationen über diese zu erhalten. Zum
Beispiel könnte
ein Benutzer eine Liste von Namen von Leuten erhalten wollen, welche
an den gleichen Meeting teilnehmen. Um diese Information zu erhalten,
ist es notwendig zu wissen, welche Leute am Ort des Mee tings sind.
Das Vorangehende erläutert
lediglich einige wenige Beispiele weshalb man die Position von Leuten
wissen möchte.
Man kann sich leicht vorstellen, dass es viele andere Situationen
gibt, in denen die Kenntnis der Position von Leuten für den Benutzer
eines Mobilcomputergerätes
nützlich
sein würde.
-
Positionsinformation
ist gleichermaßen
kritisch für
das sogenannte "Allgegenwärtige Rechnen" (Ubiquitous computing).
Dieses dreht sich um das Erweitern von Computeraktivitäten weit über das
aktuelle Schreibtisch-Modell hinaus und in die Umgebung hinein.
In zukünftigen
Wohnungen und Büros,
sollte der Zugang zum Computer ebenso natürlich sein wie die Benutzung
der Beleuchtung. Es soll nicht mehr nötig sein, dass sich der Benutzer
zu einem speziellen Platz (d. h. den Schreibtisch) begibt, um mit
dem Computer zu interagieren. Statt dessen sollte der Computer überall verfügbar sein,
um mit dem Benutzer zu Hause oder im Büro (oder im Allgemeinen überall in
einer beliebig großen
Umgebung) mittels der Geräte,
welche verfügbar sind,
seien diese fest angebracht oder vom Benutzer getragen, in Verbindung
zu treten.
-
Es
sei angemerkt, dass der Begriff des Computers in dem Sinne, dass
der Benutzer auf eine große Zahl
von Computern und Informationsdienstleistungen Zugriff hat, welche
wahrscheinlich eine große
Anzahl von Computern und intelligenter Geräte benötigen, wie beispielsweise die
zuvor erwähnten
PDAs, Mobiltelefone, und so fort, lose gebraucht wird. Zum Beispiel
sind Computerdienste, wie Web Browsing, Dokumentenbearbeitung und
Videokonferenzen vorgesehen. Daher sollte klar sein, dass wenn der
Begriff Computer in Verbindung mit dem Konzept des allgegenwärtigen Rechnens
benutzt wird, in Wirklichkeit viele Computer nicht exklusiv in einer
einzigen interaktiven Sitzung beteiligt sein können.
-
Die
Nützlichkeit
des allgegenwärtigen
Rechnens hängt
von der Möglichkeit
ab, sich der Benutzer, und insbesondere deren Position, gewahr zu
werden. Eine Zielsetzung eines solchen Systems wäre es, die physikalische und
funktionale Beziehung zwischen den Benutzern und den zahlreichen
Eingabe/Ausgabegeräten zu
erfassen. Diese Kenntnis könnte
angewendet werden, um es einem Benutzer zu ermöglichen, sich von Raum zu Raum
zu bewegen, während
dieser eine interaktive Sitzung mit dem Computer aufrecht erhält. Zusätzlich kann
die Kenntnis darüber,
wer und was sich in der Nähe
einer Person befindet, benutzt werden, um die Umgebung oder Computersitzung
einer Person derart maßzuschneidern,
dass diese sich in einer kontext-sensitiven Weise verhält. Zum
Beispiel kann die Kenntnis der Position einer Person in einem Gebäude benutzt
werden, um zu folgern, wel chen Aktivitäten die Person nachgeht und
die Umgebung oder die Computersitzung kann dann dementsprechend
angepasst werden.
-
Es
gibt zahlreiche aktuelle Technologien für das automatische Bestimmen
von Positionen von Menschen und Objekten. Zum Beispiel benutzt eines
der ersten Positionssysteme eine diffuse Infrarottechnologie, um
die Position von Leuten und Objekten innerhalb eines Gebäudes zu
bestimmen. Eine kleine Infrarot emittierende Plakette (manchmal
auch als Knopf, „Tag" oder „Badge" bezeichnet) wird
von jeder Person getragen oder ist an jedem Objekt angebracht, dessen
Position verfolgt werden soll. Die Plakette emittiert automatisch alle
zehn Sekunden, oder nach Anfrage durch einen zentralen Server, ein
Infrarotsignal, welches einen spezifischen Identifikator enthält. Diese
Anfragen werden zu den Plaketten über eine Reihe von fest angebrachten Infrarotsensoren übertragen,
welche überall
in den Gebäude
angebracht sind – typischerweise
sind diese an der Decke angebracht. Die Sensoren empfangen ebenso
die Infrarotemissionen von den Plaketten innerhalb deren Sichtbereich.
Der zentrale Server, welcher mit jedem Sensor verdrahtet ist, sammelt
die Daten, welche von den Sensoren empfangen werden und liefert
diese zur Weiterverarbeitung an ein Positionsprogramm. Diese Typen
von Systemen stellen nicht die tatsächliche dreidimensionale Position
der Person oder des Objekts, welcher die Plakette trägt, zur
Verfügung.
Statt dessen wird angenommen, dass die Position der Person oder des
Objekts innerhalb des Raumes oder des Gebietes ist, welcher den
Infrarotsender beinhaltet, welcher die Emission von der an der Person
oder Objekt angebrachten Plakette empfangen hat. Zusätzlich sind
diese Infrarotbasierten Systeme für störende Infrarotemissionen von
Quellen wie beispielsweise Floureszenzlicht oder direkten Sonnenlicht
empfindlich. Des Weiteren haben diffuse Infrarot basierte Systeme
eine beschränkte Reichweite,
typischerweise nur einige Meter. Daher, außer in kleinen Räumen, werden
mehrere Sensoren benötigt,
um die Fläche
abzudecken. Zusätzlich
muss ein Sensor an jeder Stelle des Raumes platziert sein, der nicht
von anderen Teilen des Raumes eingesehen werden kann, da sich die
Sensoren in direkter Sichtverbindung mit den Plaketten befinden
müssen.
Daher muss eine beträchtliche
Anzahl von Sensoren installiert werden und mit dem Zentralserver
verbunden werden. Diese Infrastruktur kann sehr teuer und in manchen
Fällen unerschwinglich
sein.
-
Andere
existierende Innenpositionssystem versuchen die Genauigkeit des
Positionierungsvorgangs unter Benutzung einer Kombination von Funkfrequenz-
und Ultraschallemissionen zu verbessern. In diesen Systemen sendet
ein zentraler Controller eine Anforderung für Po sitionsdaten über eine
kurzreichweitige Funkübertragung
zu jeder Plakette, welche von Menschen getragen wird oder an den
Objekten angebracht ist, deren Position verfolgt werden soll. In
Erwiderung senden die Plaketten einen Ultraschallpuls an ein Netz
von fest installierten Empfängern,
welche typischerweise an der Decke befestigt sind. Jeder Empfänger, der
den Ultraschallpuls „hört", der von einer Plakette
gesendet wurde, berichtet seine Distanz von der Plakette über fest
verdrahtete Verbindungen an den zentralen Controller. Im Speziellen
wird ein synchronisiertes Rücksetzsignal
an jeden Empfänger
zur gleichen Zeit, zu der die Positionierungsanfrage an die Plaketten
gesendet wird, gesendet. Dieses Rücksetzsignal startet eine Zeitberechnungsprozedur,
welche die Zeit zwischen dem Rücksetzsignal
und dem Empfang des Ultraschallpulses für eine Plakette innerhalb der
Reichweite des Empfängers misst.
Der Empfänger
berechnet dann seine Distanz von der Plakette, die den Puls emittierte,
und berichtet dieses an den zentralen Controller. Eine Ultraschall-Laufzeit-Technik
wird dann von dem Controller benutzt, um die Position der Plaketten
genau zu bestimmen. Während
diese Art von Systemen eine sehr genaue Positionsinformation zur
Verfügung
stellen, benötigen
diese wiederum eine teure Infrastruktur in Form von mehreren Empfängern, welche
in der Umgebung angebracht werden und mit dem zentralen Controller
verkabelt sein müssen.
Des Weiteren wurde festgestellt, dass die Genauigkeit dieser Systeme
ungünstig
beeinflusst wird, wenn die Platzierung der Empfänger nicht optimal ist. Des
Weiteren gibt es Bedenken in Bezug auf Tiere, die sensibel auf Ultraschallemissionen
reagieren.
-
Eine
Variation dieses kombinierten Funkfrequenz- und Ultraschallpositionssystem
erfordert, dass die Plaketten ihre eigene Position bestimmen, um
Richtungen und Ähnliches
zu bestimmen, und um diese Position einer Person, welche die Plakette
trägt,
zur Verfügung
zu stellen. In diesem Fall gibt es keinen zentralisierten Controller,
welcher die Position von allen Plaketten bestimmt. Typischerweise
werden Ultraschallsender in zahlreichen Positionen in einen Innenraum
befestigt. Die Plaketten beinhalten einen Funkfrequenz-Transceiver.
Wann immer eine Positionsinformation erwünscht ist, sendet die Plakette
ein Funkfrequenzsignal. Die Sender nehmen das Signal von der Plakette
auf und antworten mit einem Ultraschallpuls. Die Plakette misst die
Zeit, welche benötigt
wird, um jeden Ultraschallpuls, welcher von einem Sender innerhalb
der Reichweite der Plakette gesendet wurde, zu empfangen. Zusätzlich zu
dem Ultraschallpuls senden die Sender ebenso ein Funkfrequenzsignal,
welches den Sender und seine Position angibt. Aus der Zeitinformation
und der Senderpositionsinformation trianguliert die Plakette ihre
eigene Position. Die Infrastruktur ist nicht so problematisch in diesem
System, da es weniger Sender gibt und diese nicht mit einer Art
von zentralisiertem Controller verkabelt sind. Jedoch kennt nur
die Plakette ihre eigene Position. Daher gibt es keine zentralisierte
Datenbank, um Positionsinformationen zur Verfügung zu stellen, um das Lokalisieren
von Personen in dem Gebäude
zu unterstützen.
Zusätzlich
sind die Plaketten verhältnismäßig komplex,
da diese sowohl einen Funkfrequenztransceiver und einen Ultraschallempfänger beinhalten,
ebenso wie die Prozessorfähigkeiten
(und dadurch Leistungsverbrauch) um deren Position zu berechnen.
-
In
noch einem weiteren Positionssystem wird eine RF LAN Kabellosnetzwerk-Technologie
benutzt, um die Position von Personen zu bestimmen, oder genauer
ein Computergerät,
welche die Wireless-LAN-Technologie (wie beispielsweise Notebook-Computer)
anwendet. In diesem System sind Basisstationen innerhalb der Innenumgebung
eingesetzt, um die Signalstärke
und das Signal/Rauschverhältnis
der durch die Wireless-LAN-Geräte
gesendeten Signale zu messen. Ein zentralisiertes Programm nimmt
die Signalinformation von den Basisstationen und wendet einen Lateralisationsprozess
an, um die Position der sendenden Einheit abzuschätzen. Solch
ein System hat den Vorteil, dass nur wenige Basisstationen benötigt werden
und die gleiche Infrastruktur, welche durch das kabellose Netzwerk
des Gebäudes
zur Verfügung
gestellt wird, benutzt wird. Jedoch müssen Personen oder Objekte,
die verfolgt werden sollen, ein Gerät haben, welches in der Lage ist,
ein kabelloses LAN zu unterstützen,
was für
den Fall von kleinen Geräten
oder Geräten
mit beschränkter elektrischer
Leistung nicht praktikabel sein kann.
-
Weitere
aktuelle Systeme wenden Funkfrequenztechnologien an, um Person und
Objekte in einer Innenumgebung zu lokalisieren. Ein solche System
benutzt eine zentralisierte Basisstation und eine Reihe von Antennen,
die überall
in der Umgebung verteilt sind, und jeweils ein RF-Anforderungssignal
senden, das von den Plaketten innerhalb der Reichweite der Antenne
empfangen wird. Diese Plaketten, die an den Leuten und Objekten
angebracht sind, deren Position verfolgt werden soll, senden in
Erwiderung ein RF-Signal mit einem darin eingebetteten Identifizierungscode.
Die Position der Plakette relativ zu jeder Antenne wird unter Benutzung
einer Messung der Zeit berechnet, die von der Basisstation benötigt wird,
um die Antwort über
die zahlreichen Antennen zu empfangen, nachdem die Anforderung gesendet
wurde. Jedoch haben die Antennen einen schmalen Wirkungskegel, was
den Einsatz übermäßig teuer
machen kann.
-
Elektromagnetische
Abtastung wird ebenso zur Positionsverfolgung angewendet. Diese
Typen von Systemen erzeugen axiale magnetische Gleichstromfeldpulse
von einer fest angebrachten Antenne. Das System berechnet die Position
der empfangenden Antennen durch das Messen der Antwort in drei orthogonalen Achsen
zu den übertragenen
Feldpuls. Jedoch ist die benötigte
Infrastruktur teuer und das verfolgte Objekt muss mit einer Steuerungseinheit
verbunden sein.
-
Zu
guter Letzt wurde eine Positionsverfolgung unter Benutzung von Computer-Sicht-Techniken bewerkstelligt.
In diesen Systemen werden Kameras verwendet, um zu bestimmen, wo
Personen oder Objekte sich in eine Innenumgebung befinden. Während diese
Arten von Positionsverfolgungssystemen sehr genau sein können, ist
der Aufbereitungsaufwand, um jede Kamera zu analysieren, wesentlich,
im Speziellen, wenn komplexe Szenen involviert sind. Daher können die
infrastrukturellen Kosten für
solche Systeme sehr hoch sein.
-
US2001/040513 offenbart
ein Verfahren und Vorrichtung für
das Verfolgen und lokalisieren eines beweglichen Artikels. Dieser
Artikel ist mit einer Plakette ausgestattet, welche als Empfänger und
Sender funktioniert. Die Position des Artikels kann unter Benutzung
von Triangulationstechniken bestimmt werden. In einer Darstellung
der beschriebenen Technik, ist es möglich, dass die Plakette keinen
Empfänger
hat, weshalb die Plakette ein Antwortsignal periodisch sendet. Plakettenempfänger, welche
jeweils für
einen bestimmten Sektor verantwortlich sind, senden Abfragesignale.
Die Plakette wartet auf ein Abfragesignal und nach dem Empfangen
des Abfragesignals, wird ein Antwortsignal gesendet. Der Plakettenempfänger umfass
einen Empfänger, der
die Antwortsignale von den Plaketten empfängt. Der Plakettenempfänger sendet
ein Informationssignal an das Netzwerk, welches den Plakettencode,
einen Plakettenempfängercode
und weiter Informationen, wie Datum und Uhrzeit, zu der der Plakettenempfänger das
Antwortsignal empfängt,
umfasst. Andere Techniken des Lokalisierens werden erwähnt, wobei
diese Techniken Berechnungen basierend auf der Signalstärke beinhalten.
Des Weiteren kann das Informationssignal, welches von dem Plakettenempfänger erzeugt
wird, Informationen betreffend die Fabrik AMC oder die Stelle an
der sich der Plakettenempfänger
befindet, oder Datum und Uhrzeit von der internen Uhr des Plakettenempfängers beinhalten.
-
US-B1-6 204 813 bezieht
sich auf ein Local Area Vielfachobjektverfolgungssystem. Ein Funkfrequenzpositionierungssystem
bestimmt die Identität
und Positionsdaten von zahlrei chen Objekten. Das Verfolgungssystem
umfasst mindestens drei Turmtransceiver. Die Antennen der Turmtransceiver
senden elektromagnetische Energie zu und empfangen elektromagnetische
Energie von den verfolgten Objekten. Jeder der Turmtransceiver ist
mittels eines Netzwerks an einen zentralen Prozessor gekoppelt.
Der zentrale Prozessor kann eine Datenbank-Engine für das Speichern
und Abrufen von Daten über
die verfolgten Objekte umfassen. Die Prozessoren in den Turmtransceivern
bestimmen im Betrieb die Ankunftszeiten der von den Objektplaketten empfangenen
Signalen. Aus der Ankunftszeit und aus den Listen über die
Position der Turmtransceiver bestimmt der Zentralprozessor die Position,
Geschwindigkeit und Beschleunigung von Objekten. In einer Ausführung werden
ebenso Beschleunigungsdaten übertragen.
Ein zusätzlicher
Indikator, der die Position des Objektes angibt, kann aus den Signalniveaus
abgeleitet werden, welches von den Turmtransceivern empfangen wird.
Das Signalniveau, welches von den Turmtransceivern empfangen wird,
fällt ungefähr proportional
zu der Quadratwurzel des Abstands. Das von den Turmtransceivern
empfangene Signalniveau ist ein Hinweis auf die Position des Objekts.
Die Bewegungsdaten können
mit Daten, wie beispielsweise eine Karte, zusammengeführt werden.
-
US-A-5 977 913 bezieht
sich auf ein Verfahren und eine Vorrichtung für das Verfolgen und Lokalisieren von
Personen. Um eine Person in einem bestimmten Raum innerhalb eines
Gebäudes
zu lokalisieren, wird ein System von Sensoren innerhalb des Gebäudes strategisch
verteilt. Ein System von Sensoren steht für das Lokalisieren innerhalb
einer Anlage zur Verfügung.
Am Anfang wird eine Kalibrationstabelle des Systems erzeugt. Jede
Position ist durch das Abtasten eines RF-Senders und durch das Aufzeichnen
der an zahlreichen, sich in der Anlage befindenden Sensoren empfangenen
Signalstärke
charakterisiert. Um ein Objekt innerhalb einer definierten Fläche zu lokalisieren,
werden die empfangenen Werte, welche von den Sensoren ausgegeben
werden, mit den gespeicherten Referenzwerten verglichen, welche
von den Sensoren empfangen werden, wenn diese Referenzsignale senden.
Die Position wird durch das Ermitteln der besten Übereinstimmung
zwischen dem Signalniveaufeld und den gespeicherten Kalibrationsfeld
bestimmt.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine verbesserte Positionsmessung
zur Verfügung
zu stellen.
-
Diese
Aufgabe ist gelöst
durch den Gegenstand der unabhängigen
Ansprüche.
-
Bevorzugte
Ausführungsformen
sind in den abhängigen
Ansprüchen
beschrieben.
-
Die
vorliegende Erfindung ist auf ein System und einen Prozess für das Bestimmen
der Position von Personen und Objekten in einer Umgebung gerichtet,
welches die Beschränkung
von existierenden Positionierungssystemen durch das Benutzen einer
existierenden Infrastruktur, um Kosten zu reduzieren und das Anwenden
eines kompakten, einfachen Funkfrequenz(RF)-Sender als eine Plakette
hinter sich lässt.
-
Das
System umfasst eine Vielzahl von batteriebetriebenen Funkfrequenz(RF)-Sendern
(TX), welche von den verfolgten Personen oder Objekten getragen
werden. Ein oder typischerweise mehrere RF-Empfänger (RX) werden benutzt, um
TX-Identifikations(ID)-Nachrichten
zu empfangen, welche von den TX innerhalb der Signalreichweite der
RX gesendet werden. Jeder RX ist mit einem Computer verbunden, der
Datennachrichten von den RX empfängt,
welche unter Benutzung einer TX ID-Nachricht, die von einem TX empfangen wurde,
erzeugt wurden. Ein zentraler Computer befindet sich in Kommunikation
mit jedem der Computer, die über
ein herkömmliches
Netzwerk mit einem RX verknüpft
sind. Das zentrale Computergerät
verfolgt die Position von jeder Person oder Objekt, welche einen
TX trägt,
unter Benutzung von Daten, welche aus den Datennachrichten abgeleitet
wird, welche diesen von den Computern weiter geleitet wurde, die
mit den RX verbunden sind.
-
Die
TX ID-Nachrichten, welche von jedem TX gesendet werden, umfassen
mindestens einen Senderidentifikator, der den bestimmten TX, welcher
die TX ID-Nachricht sendet, eindeutig identifiziert. Jeder RX, der die
TX ID-Nachricht von einem TX empfängt, misst die Stärke des
Signals, das die Nachricht trägt,
um einen Funksignalstärkenindikator
(Radio Signal Strength Indicator, RSSI) zu erzeugen. Der RX erzeugt
dann eine Datennachricht, die an den Computer gesendet wird, welcher
mit dem RX verknüpft
ist. Die Datennachricht umfasst den Senderidentifikator aus der
TX ID-Nachricht, den RSSI, der mit der TX ID-Nachricht verknüpft ist und einen Empfängeridentifikator,
der den bestimmten RX eindeutig identifiziert, der die Datennachricht
sendet. Jeder Computer, der mit einem RX verknüpft ist, erzeugt "Badge Hit"-Nachrichten (Plaketten-Treffer-Nachrichten)
nach dem Empfang einer Datennachricht von dem RX und liefert die
Badge Hit-Nachrichten an den zentralisierten Computer des Netzswerks.
Diese Badge Hit-Nachrichten umfassen jeweils die in der Datennachricht
empfangene Information, sowie einen Identifikator, der den Computer
in dem Netzwerk identifiziert. Eine Badge Hit-Tabelle wird unter
Benutzung der Badge Hit-Nachrichten
in einer sich in dem zentralisierten Computer befindenden Badge
Hit-Datenbank, erzeugt.
Tatsächlich
hat die Badge Hit-Tabelle einen separaten Eintrag, welcher von jeder
empfangenen Badge Hit-Nachricht abgeleitet wird. Die Felder, die
mit jedem Eintrag verbunden sind, umfassen die Information, welche
mit der Badge Hit-Nachricht empfangen wurde und eine Ankunftszeit,
die dem Eintrag zugewiesen wird, welcher anzeigt, zu welcher Zeit
der Eintrag zu der Tabelle hinzugefügt wurde.
-
Die
Position von jedem TX, der eine TX ID-Nachricht sendet, wird unter
Benutzung der Badge Hit-Tabellendaten berechnet. Die berechnete
Position wird dann benutzt, um eine Einheitenpositionstabelle (Entity-Location-Table)
einer geometrischen Modelldatenbank zu aktualisieren. Die geometrische
Modelldatenbank umfasst Informationen, die Beschreibungen der Positionen
von Leuten, Geräten,
Plätzen
und Objekten in der Welt betreffen. Die Einheitenpositionstabelle
ist hauptsächlich
eine Liste von Einheiten und der TX-Identifikator eines TX, der
mit jeder Einheit verknüpft
ist, sowie die Position der Einheit, wenn diese bekannt ist. Eine
Einheit ist einfach eine Person, Objekt oder eine Ansammlung von
Personen oder Objekten, und die Position der Einheit ist die Position,
die für
den verbundenen TX ermittelt wird. Der Prozess des Berechnens der
Position der TX, der auch als Sensorfusionsprozess bezeichnet wird,
kann von der Badge Hit-Datenbank des zentralisierten Computers durchgeführt werden.
Dies ist insbesondere effizient, wenn sich die geometrische Modelldatenbank
in dem zentralisierten Computer befindet. Wenn jedoch die geometrische
Modelldatenbank auf einem anderen Computer als dem Zentralcomputer
läuft,
dann kann es effizienter sein, die „rohen" (raw) Badge Hit-Tabellendaten zu übertragen
und den Sensorfusionsprozess durch die geometrische Modelldatenbank
durchzuführen.
-
Der
zuvor erwähnte
Sensorfusionsprozess für
das Bestimmen der Position der TX in dem Positionsverfolgungssystem
umfasst zunächst
eine Prüfungsphase,
in der die Einträge
der Badge Hit-Tabelle geprüft werden,
um nachzuprüfen,
dass nur Einträge,
welche eine Signalstärke
größer oder
gleich einem vorbestimmten Niveau und das nur ein Eintrag für eine TX-Sendung
(in Fällen,
in denen mehr als ein RX die TX ID-Nachricht empfängt) benutzt
werden, um die Position eines TX zu bestimmen, dessen Sendung in
dem Eintrag resultierte.
-
Die
Prüfungsphase
beginnt mit dem Bestimmen, ob die Signalstärke des Eintrags eine Signalstärkenschwelle
für jeden
Eintrag der Badge Hit-Tabelle übersteigt.
Die Signalstärkenschwelle
ist derart gewählt,
um dem Signalniveau zu entsprechen, das ein RX messen würde, wenn
der sendende TX sich in einer festgesetzten Entfernung (z. B. 1–2 Meter)
von dem RX befände.
Dies verbessert die Genauigkeit der Positionsbestimmungsprozedur,
wie bald deutlich wird. Wenn festgestellt wird, dass die Signalstärke der
Einträge
größer oder gleich
der Signalstärkenschwelle
ist, wird angenommen, dass der Eintrag einen Schwellentest bestanden
hat. Anderenfalls wird der Eintrag für den Zweck des Berechnens
der Position des verbundenen TX ignoriert. Für jeden Eintrag, der den Schwellentest
besteht, wird danach bestimmt, ob eine Zeitentabelle für den verknüpften TX
erzeugt wurde. Wenn nicht, wird dieser erzeugt. Die Zeitentabellen
zeichnen die Ankunftszeiten von jedem Eintrag, der mit einem bestimmten
TX verbunden ist, der den Schwellentest bestanden hat, auf. Zu diesem Zweck
wird die Ankunftszeit des betrachteten Eintrags in die Zeitentabelle
protokolliert, die mit dem verknüpften
PX verbunden ist, unabhängig
davon, ob die Tabelle gerade erzeugt wurde oder schon existierte.
Danach wird überprüft, ob die
Differenz zwischen der Ankunftszeit des betrachteten Eintrags und
einer der zuvor aufgezeichneten Ankunftszeiten (wenn es solche gibt)
in der dem TX zugeordneten Zeitentabelle, der mit dem Eintrag verknüpft ist,
innerhalb eine vorbestimmte Zeitperiode fällt. Wenn keiner der berechneten
Differenzen innerhalb die Zeitperiode fällt, wird angenommen, dass
der Eintrag einen Zeitkonfliktauflösungstest überstanden hat. Wenn jedoch
eine der berechneten Differenzen in die Zeitperiode fällt, wird
angenommen, dass die beteiligten Einträge zu der gleichen oder redundanten
TX-Übertragung
gehören,
die keine neue Positionsinformation tiefem. Unter diese Annahme
wird nur einer dieser Einträge
für die
weitere Verarbeitung ausgewählt, um
die Position des TX zu bestimmen. Von diesem Eintrag wird angenommen,
dass dieser den Zeitkonfliktauflösungstest
bestanden hat. Diejenigen Einträge,
die den Zeitkonfliktauflösungstest
bestanden haben, werden benutzt, um die Position des TX zu bestimmen,
wie in Kürze
beschrieben wird. Jedoch wird zunächst festgestellt, dass der
Eintrag, der aus den Einträgen,
von denen angenommen wird, dass diese zu der gleichen oder redundanten
TX-Übertragung
stammen, ausgewählt
wurde, auf eine Vielzahl von Wegen ausgewählt werden kann. Zum Beispiel
könnte
der Eintrag zufällig
ausgewählt
werden, oder der Eintrag mit der frühesten Ankunftszeit könnte ausgewählt werden.
In den getesteten Ausführungsformen
des Sensorfusionsprozesses wurden jedoch die Einträge mit der
aktuellsten Ankunftszeit ausgewählt.
-
Die
Positionsbestimmungsphase des Sensorfusionsprozesses wird an den
Einträgen
durchgeführt, die
den Zeitkonfliktauflösungstests
bestehen. Hauptsächlich
umfasst die Positionsbestimmungsprozedur das Ermitteln der Position
der TX basierend auf der bekannten Position der RX, welche in dem
zuvor erwähnten Eintrag
identifiziert wurden. Die RX-Positionen werden aus der geometrischen
Modelldatenbank erhalten, welche eine Liste von jedem RX und seiner
Position innerhalb der Umgebung (wie beispielsweise ein Bürogebäude), welche
von der Datenbank modelliert wird, führt. Im Besonderen wird bestimmt,
ob die Einheit, die mit dem in dem betrachteten Eintrag identifizieren
TX verbunden ist, eine Position hat, die dieser in der Einheitenpositionstabelle
der geometrischen Modelldatenbank zugewiesen ist. Wenn dem nicht
so ist, wird dieser eine zugewiesen. Das kann auf einem von zwei
möglichen
Wegen geschehen, abhängig
davon, ob die Positionen in Begriffen einer semantischen Position,
wie z. B. "In Raum
123" oder durch
eine metrische Position, wie "(x,
y)" relativ zu einem
gegebenen Koordinatensystem ausgedrückt sind. Wenn ein semantisches
Schema angewendet wird, wird angenommen, dass die der Einheit zugewiesene
Position die Position des RX ist, der in dem betrachteten Eintrag
identifiziert wird. Wenn ein metrisches Schema angewendet wird,
dann ist die Position der Einheit als innerhalb einer vorgeschriebenen
Distanz von der bekannten Position des in den betrachteten Eintrags
identifizierten RX bezeichnet. Die vorgeschriebene Distanz basiert
auf eine Distanz, die benutzt wird, um die zuvor beschriebene Signalstärkenschwelle
zu definieren. Wenn entdeckt wird, dass eine Positionsangabe bereits
in der Einheitenpositionstabelle existiert, dann wird überprüft, ob die
Position die gleiche ist, wie die Position, die für den RX,
der in dem betrachteten Eintrag identifiziert ist (wenn ein semantisches
Schema angewendet wird) aufgeführt
ist, oder dass diese innerhalb der vorbestimmten Distanz von der
aufgeführten
RX-Position (wenn ein metrisches Schema angewendet wird) ist. Wenn
die existierende Einheitenposition die gleiche wie die oder innerhalb
der vorbestimmten Distanz von der RX-Position ist, dann wird angenommen,
dass sich der TX (und ebenso die Einheit) nicht bewegt hat. In einem
solchen Fall wird nichts unternommen. Wenn jedoch die existierende
Einheitenposition nicht die gleiche ist oder sich nicht innerhalb
der vorbestimmten Distanz von der RX-Position befindet, dann wird die der
Einheit aktuell zugewiesene Position durch die Position des RX (semantisches
Schema) oder durch eine Position, die angibt, dass sich die Einheit
innerhalb der vorbestimmten Distanz von der Position des RX (metrisches
Schema) befindet, ersetzt.
-
Die
zuvor beschriebene Prüfungsprozedur
kann erweitert werden, um abgelaufene (ungültige) Positionszuweisungen
aus der Einheitenpositionstabelle zu entfernen. Insbesondere wird
jede Zeitentabelle, die mit einem TX verknüpft ist untersucht, um festzustellen,
ob die aktuellste Ankunftszeit der Badge Hit-Einträge, die in
der Tabelle referenziert sind, früher sind als eine Zeit, welche
definiert ist durch die Zeit des Untersuchens abzüglich einer
vorbestimmten Zeitperiode. Wenn dieses vorher ist, wird jede Positionszuweisung,
die dem Eintrag zugewiesen ist, der mit dem TX, dessen Zeitentabelle
betrachtet wird, verbunden ist, aus der Einheitenpositionstabelle
der geometrischen Modelldatenbank entfernt.
-
Es
sei angemerkt, dass die TX ID-Nachrichten, welche von den TX gesendet
werden, Fehlerdedektionsdaten beinhalten können, vorzugsweise in der Form
eines Nachrichtenzählers
und eines herkömmlichen Kontrollsummenwertes.
Der Nachrichtenzähler
ist einfach eine Zahl, die jedes Mal inkrementiert wird, wenn ein TX
eine TX ID-Nachricht sendet. Wenn der Nachrichtenzähler zu
hoch ist, dann wird angenommen, dass eine zwischenzeitliche TX ID-Nachricht verloren
gegangen ist. Die Kontrollsumme wird benutzt, um festzustellen, ob
eine empfangene TX ID-Nachricht unvollständig oder beschädigt ist.
Der RX-Computer könnte
feststellen, ob eine TX ID-Nachricht außer der Reihe oder beschädigt ist,
und wenn dem so ist, darauf verzichten, die Nachrichtendaten an
den zentralisierten Computer zu senden. Oder, wenn der RX-Computer
festgestellt hat, dass die TX-ID-Nachricht nicht beschädigt ist,
könnte
dieser die Daten an den zentralisierten Computer in der zuvor erwähnten Datennachricht
weiterleiten und den Nachrichtenzählerwert hinzufügen. Der
zentralisierte Computer entscheidet dann, ob die anderen Daten in
der Datennachricht für
den Zweck der Positionsbestimmung benutzt werden oder nicht.
-
Die
Beschleunigungsmesserdaten können
ebenso in der TX ID-Nachricht enthalten sein. Wenn dem so ist, können diese
Daten an den zentralisierten Computer weiter geleitet werden und
benutzt werden, um Bewegungsstudien oder ähnliches durchzuführen. Insbesondere
ist eine Beschleunigungsmessersignalhistorie in der Form einer Zahl,
die angibt wie oft das Beschleunigungsmessersignal eine Beschleunigungsmessersignalniveauschwelle
in der zuvor erwähnten
vorbestimmten Periode überschritten
hat, in der TX ID-Nachricht beinhaltet. Vorzugsweise ist ein separater
Zähler
für jede
aufeinanderfolgende vorbestimmte Zeitperiode beinhaltet, welche
seit der letzten Sendung einer TX ID-Nachricht vorkommt.
-
Das
Positionsverfolgungssystem kann alternativ ebenso ein PIN(Personal
Identification Number)-Schema anwenden. In diesem Schema gibt ein
Benutzer eine Pin in eine Eingabevorrichtung, wie beispielsweise
eine Nummerntastatur am TX ein. Wenn eine TX ID-Nachricht von den TX gesendet wird,
fügt der Microcontroller
die PIN in die Nachricht ein, zusätzlich oder anstatt des Senderidentifikators.
Die PIN wird benutzt, um die Einheit, die den TX trägt, zu identifizieren,
und wird in die Einheitenpositionstabelle der geometrischen Modelldatenbank
an Stelle des Senderidentifikators eingefügt. Auf diese Weise kann eine Einheit
mit jedem TX durch die einfache Eingabe einer PIN-Nummer verknüpft werden,
anstatt mit einem bestimmten TX in der geometrischen Datenbank verbunden
zu sein.
-
Beschreibung der Zeichnungen
-
Die
bestimmten Merkmale, Aspekte und Vorteile der vorliegenden Erfindung
werden leichter verständlich
in Bezug auf die folgende Beschreibung, angefügte Ansprüche und begleitende Zeichnungen,
in denen
-
1 ein
Diagramm ist, welches ein Positionsverfolgungssystem zeigt, das
in der vorliegenden Erfindung angewendet wird.
-
2 ein
Blockdiagramm ist, welches die internen Komponenten zeigt, die in
dem RF-Sender beinhaltet sind, der in dem Positionsverfolgungssystem
der 1 zur Anwendung kommt.
-
3 ein
Bild ist, welches das Äußere einer
Version des RF-Empfängers
zeigt, welcher in dem Positionsverfolgungssystem der 1 angewendet
wird.
-
4 ein
Blockdiagramm ist, welches die internen Komponenten zeigt, die in
dem RF-Empfänger
beinhaltet sind, der in dem Positionsverfolgungssystem der 1 zur
Anwendung kommt.
-
5 ein
Diagramm ist, welches ein Mehrzweckcomputergerät zeigt, welches ein beispielhaftes
System für
das Implementieren der vorliegenden Erfindung ist.
-
6 ein
Flussdiagramm ist, welches einen Gesamtprozess für das Bestimmen der Position
von Einheiten zeigt, die die Sender des Positionsverfolgungssystem
der 1 tragen.
-
7 ein
Flussdiagramm ist, welches einen Prozess für das Implementieren des Badge
Hit-Nachrichtenerzeugungsmoduls des gesamten Positionsbestimmungsprozesses
der 6 zeigt.
-
8A–C ein Flussdiagramm
zeigen, welches einen Sensorfusionsprozess zeigt, für das Benutzen von
Badge Hit-Daten, um die Position eines TX gemäß des gesamten Positionsbestimmungsprozesses
der 6 zu bestimmen.
-
9 ein
Flussdiagramm ist, welches einen Timeout-Vorgang für das Eliminieren
von ungültigen
Positionszuweisungen aus einer Einheitenpositionstabelle zeigt.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
In
der folgenden Beschreibung der bevorzugten Ausführungsformen der vorliegenden
Erfindung wird Bezug genommen auf die begleitenden Zeichnungen,
welche einen Teil dieser bilden, und in welchen anhand von bestimmten
Ausführungsformen
gezeigt wird, wie die Erfindung zur Anwendung kommen kann. Selbstverständlich können andere
Ausführungsformen
benutzt werden, und strukturelle Änderungen können gemacht werden, ohne von
dem Gebiet der vorliegenden Erfindung abzuweichen.
-
In
Bezug auf 1 verfolgt das Positionsverfolgungssystem,
das den vorliegenden Positionsmessprozess implementiert, die Position
von Personen und Objekten, welche Funkfrequenz(RF)-Sender 10 tragen,
die Nachrichten zu mindestens einem RF-Empfänger 12 senden. Jeder
Empfänger 12 ist
mit einem Computergerät 14 verbunden,
wie beispielsweise ein Personalcomputer (PC), welches selbst wiederum
ein Teil eines existierendes Netzwerkes 16 aus solchen
Computergeräten
ist. Die Empfänger 12 leiten
Daten, welche von den Sendern 10 empfangen wurden, zusammen
mit Funksignalstärkenindikator(RSSI)-Daten,
zu einem zentralen Computer 18 über das Netzwerk 16 weiter.
Dieser Zentralcomputer berechnet die Position von Personen und Objekten,
welche mit jedem Transmitter verknüpft sind, basierend auf den
weiter geleiteten Daten und dem RSSI unter Benutzung von herkömmlichen
Verfahren. Das Positionsverfolgungssystem kann in jeder Umgebung
benutzt werden, sowohl innen als auch außen. Zum Beispiel könnten die
Empfänger
in jedem Büro
eines Gebäudes
platziert sein, um zu bestimmen, welches Büro am nächsten zu einer Person oder
einem Objekt liegt.
-
Eine
der größten Vorteile
des zuvor beschriebenen Positionsverfolgungssystems ist, dass dieses
ein existierendes Computernetzwerk verwendet, wodurch die beträchtlichen
Infrastrukturkosten vermieden werden, die mit vielen der zuvor beschriebenen
Positionierungssystemen verbunden sind. Der vorliegende Positionsmessprozess
funktioniert zusammen mit dem Netzwerk, wie in Kürze beschrieben wird.
-
Der
Sender (TX) oder Plakette („Badge"), wie dieser oft
bezeichnet wird, kann unterschiedlich verkörpert sein. Zum Beispiel könnte der
TX eine kleine handflächengroße Einheit
sein, die einem Schlüsselanhänger ähnelt, oder
ein knopfähnliches
Gerät,
das nicht größer als eine
große
Münze ist.
Es ist ebenso vorgesehen, dass der TX die Größe und Dicke einer Kreditkarte
haben kann. Die letztbeschriebene Version könnte in einer Geldbörse oder
wie eine Sicherheitsplakette getragen werden. Der TX kann sogar
eingerichtet sein, um in einen Artikel zu passen, der üblicherweise
von einer Person getragen wird, wie beispielsweise ein Stift. Jedoch
sind die generellen Funktionskomponenten des TX die gleichen, ungeachtet
seiner äußerlichen
Erscheinung. In Bezugnahme auf das Blockdiagramm der 2 wird
der allgemeine Aufbau des TX beschrieben. Das Herzstück des TX
ist eine PIC-Microcontroller 200, welcher mit mehreren
anderen Komponenten verbunden ist. Zum Beispiel sind ein oder mehrere
handbetriebene Schalter mit dem Microcontroller 200 verbunden.
Ein Prototyp TX umfasst vier Schalter. Die ersten zwei der Schalter 206 und 212 sind
jeweils Ein- und Ausschalter. Wann immer der Einschalter 206 betätigt wird,
wird der TX eingeschaltet und nimmt den Betrieb auf. Wenn der Ausschalter 212 betätigt wird,
ist der TX ausgeschaltet. Demnach funktioniert dieser Schalter 312 als
ein "harter" Ausschalter. Dieser
harte Ausschaltmodus schont nicht nur die Batterielebensdauer, wenn
der TX nicht benötigt
wird, um Positionsinformation zur Verfügung zu stellen, sondern ermöglicht auch
einen gewissen Grad an Privatsphäre
für die
Person, die den TX trägt,
da er oder sie die Einheit ausschalten kann, wenn die Position nicht
bekannt gegeben werden soll. Der dritte Schalter 208 ist
ein Schalter für
einen kontinuierlichen Sendemodus. Der Schalter 208 ist
normalerweise aus, und wenn dieser ausgeschaltet ist, funktioniert
der TX in den zuvor beschriebenen Batterieschonungsmodus. Wenn der
kontinuierliche Sendemodus jedoch aktiviert ist, sendet der TX eine
TX ID-Nachricht zu vorgeschriebenen Zeitpunkten (z. B. jede Sekunde).
Der vierte Schalter 210 ist ein Schalter für ein einmaliges
Senden. Dieser Schalter ist normalerweise aus, aber wenn dieser
Schalter aktiviert ist, initiiert dieser in einer Version das Senden
einer TX ID-Nachricht von dem TX, ungeachtet für wann die nächste Transmission
vorgesehen war.
-
Der
TX kann optional einen Beschleunigungsmesser 202 umfassen,
dessen Signalausgabe an den Microcontroller 200 geleitet
wird. Das Ausgabesignal des Beschleunigungsmessers kann benutzt
werden für zahlreiche
Zwecke, wie später
beschrieben. In Ausführungen
des TX, in denen durch das Ausschalten der Einheit die Batterie
geschont wird, wenn keine nennenswerte Bewegung detektiert wird
(d. h. der TX funktioniert in einem Batterieschonungsmodus, der
später
im Detail beschrieben wird), ist ein Kippschalter 204 mit
dem Microcontroller verbunden. Der Kippschalter 204 schließt, und
ein Unterbrechungssignal zu dem Microcontroller, um diesen aufzuwecken,
wann immer der TX bewegt wird, nachdem dieser in den Ruhezustand
gegangen ist. Es sei bemerkt, dass wenn der Ausschalter 206 in
der Ausposition ist, der TX ungeachtet der Position des Kippschalters 204 ausgeschaltet
ist. Daher funktioniert der Schalter 206 als ein "harter" Ausschalter und
wird von der Bewegung des TX nicht beeinflusst. Dieser harte Ausschaltmodus
schont nicht nur die Batterielebensdauer, wenn der TX nicht für das Liefern
von Positionsinformation benötigt
wird, sondern bietet auch einen Grad an Privatsphäre für eine Person,
die den TX trägt,
da er oder sie die Einheit ausschalten kann, wenn die Positionsangabe
nicht bekannt gegeben werden soll. Wie zuvor beschrieben sendet
der TX eine TX ID-Nachricht in vorgeschriebenen Intervallen, wenn
der Schalter für
den kontinuierlichen Sendemodus aktiviert ist. Dies wird gemacht,
ungeachtet, ob das Signal des Beschleunigungsmessers anzeigt, dass
sich der TX bewegt oder nicht. Obwohl die Batterielebensdauer in
diesem Modus nicht geschont wird, ist es für Bewegungsstudien und ähnliches
nützlich,
wo die Beschleunigungsmesserdaten zusammen mit der Identität und anderen
Datenkomponenten eine TX ID-Nachricht von dem TX gesendet werden,
wie später
beschrieben wird. Ein Funkfrequenzsender 214 mit einer
kleinen, herausragenden Antenne 216 ist ebenso mit dem
Microcontroller 200 verbunden und durch diesen gesteuert,
und ein Netzteil 218 liefert die Spannung für die zuvor
beschriebenen Komponenten des TX.
-
Die
zuvor beschriebene TX ID-Nachricht, welche von jedem TX gesendet
wird, beinhaltet eine Identifikationsnummer, die den TX eindeutig
kennzeichnet. In einem Prototyp TX war diese Identifikationsnummer ein
8-Bit Code, der in den PIC-Microcontroller vorprogrammiert ist.
Die TX ID-Nachricht kann ebenso optionale Daten, wie beispielsweise
einen Nachrichtenzählerwert,
eine Check-Summe und Beschleunigungsmesserdaten, umfassen. Die optionale
Nachrichtenzählernummer
und Checksumme werden für
Fehlererkennungszwecke benutzt. In einer Version der TX ID-Nachricht
ist die Nachrichtenzählernummer
ein 8-Bit Wert, welcher die Zahl der Nachrichten angibt, die von
dem TX gesendet wurden, seit diese zuletzt aktiviert wurde (oder
seit dem der Zählerwert
wieder von vorne angefangen hat, da die 8-Bits nur 256 mögliche Werte
erlauben). Der TX inkrementiert die Nachrichtenzählnummer jedes Mal, wenn eine
neue TX ID-Nachricht gesendet werden soll. Demnach weiss der Empfänger oder
das Netzwerk, wenn eine Nachricht von einem bestimmten TX außerhalb der
Reihe empfangen wurde, wodurch angezeigt wird, dass zwischenzeitlich
eine Nachricht verloren gegangen ist.
-
Die
optionalen Beschleunigungsmesserdaten können für Bewegungsstudien oder ähnliches
benutzt werden. In einer Version der TX ID-Nachricht, nehmen die
Beschleunigungsmesserdaten die Form eines Zählers an, der angibt, wie oft
das Beschleunigungsmessersignal eine Beschleunigungsmessersignalniveauschwelle
in einer vorbestimmten Zeitperiode (z. B. eine Sekunde) überstiegen
hat. Vorzugsweise ist ein separater Zähler für jede fortlaufende vorbestimmte
Zeitperiode seit der letzten Übertragung
der TX ID-Nachricht beinhaltet.
-
Der
RF-Empfänger
(RX), welcher in dem Positionierungssystem benutzt wird, wird nun
beschrieben. In einer Version, wie in 3 gezeigt,
ist die Empfangseinheit (RX) eine kleine, unabhängige Box mit Anschlüssen für Gleichstrom
und Kommunikation mit dem PC, sowie einer externen Antenne. Die
Kommunikation mit dem PC kann seriell über eine RS232-Kommunikationsschnittstelle
erfolgen. Jedoch können
auch andere Kommunikationsschnittstellen, wie benötigt, verwendet
werden. Zum Beispiel könnte
die PC-Kommunikation mittels eine Universal System Bus (USB) oder
IEEE 1394 (Firewire)-Schnittstelle oder auch einer kabellosen Schnittstelle
erfolgen. Der RX kann auch andere Formen annehmen. Zum Beispiel
kann der RX in dem PC selbst durch Verwendung einer Erweiterungskarte,
welche in einem Erweiterungseinschub des PCs installiert ist, integriert
sein. In einem solchen Fall muss nur die Antenne außerhalb
des PCs angebracht sein.
-
Ungeachtet
der Form des RX, sind die hauptsächlichen
Funktionskomponenten die selben. Der generelle Aufbau des RX wird
in Bezug auf das Blockdiagramm der 4, beschrieben.
Die Antenne 412 empfängt ein
Nachrichtensignal von einem TX und der Funkfrequenzempfänger 400 demoduliert
dieses, um ein Datensignal für
die Eingabe in einen PIC-Microcontroller 402 zu
erzeugen. Der Empfänger 400 erzeugt
ebenso ein herkömmliches
Funksignalstärkenindikator(RSSI)-Signal,
welches in den Microcontroller 402 über einen Analog/Digitalkonverter 404 zugeführt wird.
Der Konverter 404 kann in den Microcontroller 402 integriert
sein, wie es in dem Prototyp RX vorgesehen ist. Eine optionale LED 406 ist
mit dem Microcontroller 402 verbunden und zeigt den Einschalter/Signalempfangsstatus
des RX an. Diese LED 406 erstreckt sich durch das Gehäuse des RX,
so dass diese von außen
gesehen werden kann. Der Microcontroller 402 liefert eine
getrennte Ausgabe, welche ein kombiniertes RSSI und Datensignal
für jedes
empfangene TX ID-Nachrichtensignal repräsentiert, wie in Kürze beschrieben
wird. Eine Kommunikationsschnittstelle 408 wandelt Microcontrollerspannungsniveaus
in Niveaus um, welche von einem Computergerät, wie beispielsweise ein PC
gelesen werden können, der
sich in Kommunikation mit dem RX befin det. Die Versorgung der RX-Komponenten
wird von einer Netzteil 410 übernommen, der in dem Prototyp
ein separater netzgespeister Wechselstromschaltkreis war, der 7
bis 30 Volt Wechselstrom zur Verfügung stellt.
-
Wenn
eine TX ID-Nachricht wie zuvor beschrieben von einem TX empfangen
und verarbeitet wird, gibt der RX eine Datennachricht an das Computergerät (wie beispielsweise
ein PC) aus, mit dem dieser verbunden ist. Die Datennachricht umfasst
die Identifikationsnummer des TX, sowie optional die Fehlerkennungsdaten
(d. h. der Nachrichtenzählerwert
und Checksumme) und Beschleunigungsmesserdaten (wenn diese von dem
TX gesendet werden). Diese Information wird von der TX ID-Nachricht,
welche von dem TX empfangen wurde, erhalten und repräsentiert
kollektiv das zuvor erwähnte
Datensignal. Zusätzlich
zu dem vorher erwähnten
umfasst die von dem RX ausgegebene Information ebenso die RSSI-Daten, welche mit
der empfangenen TX ID-Nachricht verknüpft sind, sowohl wie einen
eindeutigen Empfängeridentifikator.
-
Die
Fehlererkennungsinformation ist optional, da der RX selbst für das Filtern
von potentiell unrichtigen TX ID-Nachrichtendaten verantwortlich
gemacht werden könnte.
In diesem Falle würde
der RX davon absehen, Informationen zu senden, die von TX ID-Nachrichten
stammen, von denen man weiß,
dass diese einen Fehler, wie beispielsweise einen Checksummenfehler,
beinhalten. Daher müssen
die Fehlererkennungsdaten nicht in der von dem RX gesendeten Datennachricht
beinhaltet sein. Wenn jedoch die Aufgabe der Bearbeitung von Fehlern
in den TX ID-Nachrichten dem Computergerät, das mit dem RX verbunden
ist, oder einem anderen Computergerät in dem Netzwerk zugewiesen
ist, würden
die Fehlererkennungsdaten in der RX-Datennachricht beinhaltet sein.
-
Wie
zuvor erwähnt
werden die Datennachrichten, die von den RX für jede empfangene TX ID-Nachricht
erstellt werden, von den Computergeräten in den zuvor erwähnten Netzwerk
verarbeitet. Die vorliegende Erfindung verkörpert diese Verarbeitung der
Datennachrichten für
das Bestimmen der Position von Leuten und Objekten, die eine TX
tragen. Bevor eine Beschreibung der bevorzugten Ausführungsformen
der vorliegenden Erfindung gegeben wird, wird jedoch eine kurze
allgemeine Beschreibung einer geeigneten Computerumgebung, in der
die Erfindung implementiert werden kann, und der zuvor erwähnten Computergeräte gegeben. 5 zeigt
ein Beispiel für
eine geeignete Computersystemumgebung 100. Die Computersystemumgebung 100 ist
nur ein Beispiel einer geeigneten Computerumgebung und dient nicht
dazu, eine Beschränkung
des Umfangs der Benutzung oder Funktiona lität der Erfindung anzudeuten.
Ebenso sollte die Computerumgebung 100 nicht angesehen
werden, als ob diese in Bezug auf eine der Kombinationen von Komponenten,
die in der beispielhaften Betriebsumgebung 100 gezeigt
ist, eine Abhängigkeit
oder Notwendigkeit aufweist.
-
Die
Erfindung funktioniert mit zahlreichen anderen Mehrzweck- oder Spezialcomputersystemumgebungen
oder Konfigurationen. Beispiele für wohlbekannte Computersysteme,
Umgebungen, und/oder Konfigurationen, welche für die Benutzung mit der Erfindung
geeignet sind umfassen, sind aber nicht beschränkt auf Personalcomputer, Servercomputer,
Handheld- oder Laptopgeräte,
Multiprozessorsysteme, Microprozessor basierte Systeme, Set Top
Boxen, programmierbare Consumer Electronic, Netzwerk PCs, Minicomputer, Mainframe
Computer, verteilte Computerumgebungen, welche eines der zuvor erwähnten Systeme
oder Geräte
beinhalten, oder ähnliches
(was als Computer oder Computergeräte in der Beschreibung der
Erfindung kollektiv bezeichnet wird).
-
Die
Erfindung kann im allgemeinen Zusammenhang von computerausführbaren
Instruktionen, wie beispielsweise Programmmodulen, welche von einem
Computer ausgeführt
werden, beschrieben werden. Im Allgemeinen beinhalten Programmmodule
Routinen, Programme, Objekte, Komponenten, Datenstrukturen, und so
fort, welche bestimmte Aufgaben durchführen oder bestimmte abstrakte
Datentypen implementieren. Die Erfindung kann ebenso in einer verteilten
Computerumgebung ausgeführt
werden, in der Aufgaben von entfernten Verarbeitungsgeräten ausgeführt werden,
welche über
ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Computerumgebung,
können
Programmmodule sowohl in lokalen und entfernten Computerspeichermedien
lokalisiert sein, welche Speichervorrichtungen umfassen.
-
In
Bezug auf 5 beinhaltet ein beispielhaftes
System für
das Implementieren der Erfindung ein Mehrzweckcomputergerät in der
Form eines Computers 110. Komponenten des Computers 110 können umfassen,
sind aber nicht beschränkt
auf, eine Verarbeitungseinheit 120, ein Systemspeicher 130 sowie
einen Systembus 121, der zahlreiche Systemkomponenten,
welche auch den Systemspeicher umfasst, mit der Verarbeitungseinheit 120 verbindet.
Der Systembus 121 kann einer von einer Vielzahl von Busstrukturen
sein, umfassend einen Speicherbus oder Speichercontroller, einen
Peripheriebus, und eine lokalen Bus unter Benutzung einer Vielzahl
von Busarchitekturen. Als Beispiel, aber nicht als Beschränkung, können solche
Architekturen einen ISA (Industry Standard Architecture) Bus, MCA
(Micro Channel Architecture) Bus, EISA (Enhanced ISA) Bus, VESA
(Video Electronics Standards Association) Lokal-Bus, und PCI (Peripheral
Component Interconnect) Bus (auch als Mezzanine-Bus bekannt) umfassen.
-
Der
Computer 110 umfasst typischerweise eine Vielzahl von computerlesbaren
Medien. Computerlesbare Medien können
jedes erhältliche
Medium umfassen, auf welches von einem Computer 110 zugegriffen werden
kann, und umfassen sowohl flüchtige
als auch nichtflüchtige
Medien, sowie entfernbare und nicht entfernbare Medien. Als Beispiel,
aber nicht als Beschränkung,
umfassen computerlesbare Medien Computerspeichermedien und Kommunikationsmedien.
Computerspeichermedien umfassen flüchtige und nicht flüchtige,
entfernbare und nicht entfernbare Medien, die in jeder Methode oder
Technologie für
das Speichern von Informationen, wie beispielsweise computerlesbare
Instruktionen, Datenstrukturen, Programmmodule oder andere Daten
implementiert sind. Computerspeichermedien umfassen, aber sind nicht
beschränkt
auf, RAM, ROM, EEPROM, Flashspeicher oder andere Speichertechnologien,
CD-ROM, Digital Versatile Disk (DVD) oder andere optische Scheibenspeicher,
Magnetkassetten, Magnetbänder,
magnetische Scheibenspeicher oder andere magnetische Speichereinrichtungen
oder jedes andere Medium, welches benutzt werden kann, um die gewünschte Information
zu speichern und auf die durch einen Computer 110 zugegriffen
werden kann. Kommunikationsmedien verkörpern typischerweise computerlesbare
Instruktionen, Datenstrukturen, Programmmodule und andere Daten
in einem modulierten Datensignal, wie z. B. eine Trägerwelle
oder einen anderen Transportmechanismus und umfassen jedes Informationszulieferungsmedium.
Der Begriff des modulierten Datensignals bezeichnet ein Signal,
welches ein oder mehrere seiner Charakteristiken in einer Weise einstellt
oder verändert,
um Informationen in dem Signal zu kodieren. Als Beispiel, aber nicht
als Beschränkung,
umfassen Kommunikationsmedien kabelgebundene Medien, wie beispielsweise
ein Kabelnetzwerk oder eine Kabeldirektverbindung, und kabellose
Medien, wie akustische Medien, RF-Medien, Infrarot-Medien oder andere
kabellose Medien. Innerhalb des Bereichs der computerlesbaren Medien
sollen ebenso Kombinationen von dem zuvor erwähnten beinhaltet sein.
-
Der
Systemspeicher 130 umfasst Computerspeichermedien in der
Form von flüchtigen
und/oder nicht flüchtigen
Speichern, wie ROM (Read Only Memory) 131 und RAM (Random
Access Memory) 132. Ein BIOS 133 (Basic Input/Output-System),
welches grundlegende Routinen beinhaltet, die helfen, Informationen
zwischen Elementen innerhalb des Compu ters 110 zu übertragen,
wie beispielsweise während
des Startvorgangs, sind typischerweise im ROM 131 gespeichert.
RAM 132 beinhaltet typischerweise Daten und/oder Programmmodule,
welche sofort für
die Verarbeitungseinheit 120 zugreifbar sein sollen und/oder
von dieser aktuell verwendet werden. Als Beispiel, aber nicht als
Beschränkung,
zeigt 5 ein Betriebssystem 134, Anwendungsprogramme 135,
andere Programmmodule 136 und Programmdaten 137.
-
Der
Computer 110 kann ebenso andere entfernbare/nicht entfernbare,
flüchtige/nicht
flüchtige
Computerspeichermedien umfassen. Als ein Beispiel, illustriert 1 ein
Festplattenlaufwerk 141, welches Daten von nicht entfernbaren,
nicht flüchtigen
magnetischen Medien liest oder auf diese schreibt, ein magnetisches Plattenlaufwerk 151,
welches von einer entfernbaren nichtflüchtigen Magnetplatte 152 liest
oder auf diese schreibt, und ein optisches Plattenlaufwerk 155,
welches von/auf einer entfernbaren nicht flüchtigen optischen Platte 156 wie
beispielsweise eine CD-Rom oder ein anderes optisches Medium liest
oder schreibt. Andere entfernbare/nicht entfernbare, flüchtige/nicht
flüchtige
Computerspeichermedien können
in der beispielhaften Computerumgebung verwendet werden und umfassen,
sind aber nicht beschränkt
auf, Magnetbandkassetten, Flashspeicherkarten, Digital Versatile
Disk, digitales Videoband, Solid State RAM, Solid State ROM, und ähnliches.
Das Festplattenlaufwerk 141 ist typischerweise mit dem
Systembus 121 über
eine Schnittstelle für
nicht entfernbare Speicher, wie beispielsweise die Schnittstelle 140,
verbunden und ein Magnetscheibenlaufwerk 151 und ein optisches
Scheibenlaufwerk 155 sind typischerweise mit dem Systembus über eine
Schnittstelle für
entfernbare Speicher, wie Schnittstelle 150, verbunden.
-
Die
Laufwerke und deren zugeordnete Computerspeichermedien, welche zuvor
beschrieben wurden und in 5 gezeigt
sind, ermöglichen
das Speichern von computerlesbaren Instruktionen, Datenstrukturen, Programmmodulen
und andere Daten für
den Computer 110. In 1 z. B.
ist das Festplattenlaufwerk 141 für das Speichern von dem Betriebssystem 144,
Anwendungsprogrammen 145, anderen Programmmodulen 146, und
Programmdaten 147 gezeigt. Diese Komponenten können von
dem Betriebssystem 134, Anwendungsprogrammen 135,
anderen Programmmodulen 136, und Programmdaten 137 entweder
identisch oder verschieden sein. Das Betriebssystem 144,
Anwendungsprogramme 145, andere Programmmodule 146 und
Programmdaten 147 wurden anderen Nummern zugewiesen, um
zu zeigen, dass diese zumindest unterschiedliche Kopien sind. Ein
Benutzer kann Anwei sungen und Befehle in den Computer 110 durch
Eingabegeräte,
wie beispielsweise eine Tastatur 162 und eine Zeigevorrichtung 161,
im Allgemeinen auch als Maus bezeichnet, einen Trackball oder ein
Touch Pad, eingeben. Andere Eingabegeräte (nicht gezeigt) können ein
Mikrofon, Joystick, Game Pad, Satellitenschüssel, Scanner oder ähnliches
umfassen. Diese und andere Eingabegeräte sind oftmals mit der Verarbeitungseinheit 120 durch
eine Benutzereingabeschnittstelle 110 verbunden, welche
mit dem Systembus 121 verbunden ist, aber können auch
durch andere Schnittstellen und Busstrukturen, wie beispielsweise
ein Parallelport, Spieleport oder einen USB (Universal Serial Bus)
verbunden sein. Ein Monitor 191 oder andere Typen von Anzeigegeräten sind
ebenso mit dem Systembus 121 über eine Schnittstelle, wie
beispielsweise eine Videoschnittstelle 190, verbunden.
Zusätzlich
zu dem Monitor können
Computer ebenso andere Peripherieausgabegeräte, wie Lautsprecher 197 und
Drucker 196 umfassen, welche durch eine Ausgabeperipherieschnittstelle 195 verbunden
sein können.
Des Weiteren kann eine Kamera 163 (wie beispielsweise eine
digital/elektronische oder Videokamera, oder ein Film/photographischer
Scanner), die eingerichtet ist, um eine Folge von Bildern 164 aufzunehmen,
als ein Eingabegerät
des Personalcomputers beinhaltet sein. Obwohl nur eine Kamera abgebildet
ist, können
mehrere Kameras als Eingabegeräte
des Personalcomputer 110 eingeschlossen sein. Die Bilder 164 von
der einen oder mehreren Kamera(s) werden in den Computer 110 über eine
geeignete Kameraschnittstelle 165 eingegeben. Diese Schnittstelle 165 ist
mit dem Systembus 121 verbunden, wodurch es ermöglicht ist,
dass die Bilder zu den RAM 132, oder zu einem der anderen
Datenspeichereinrichtungen, die mit dem Computer 110 verbunden
sind, geleitet und dort gespeichert werden. Jedoch sei angemerkt,
dass die Bilddaten in den Computer 110 von jedem der zuvor
erwähnten
computerlesbaren Medien, ohne dass Erfordernis des Benutzens der
Kamera 163, eingegeben werden können.
-
Der
Computer kann in einer Netzwerkumgebung unter Benutzung von logischen
Verbindungen zu ein oder mehreren entfernten Computer, wie beispielsweise
einen entfernten Computer 180, betrieben werden. Der entfernte
Computer 180 kann ein Personalcomputer, ein Server, ein
Router, ein Netzwerk-PC, ein gleichrangiges Gerät (peer device) oder ein anderer
Netzwerkknoten sein, und umfasst typischerweise viele oder alle
Elemente, die zuvor in Bezug auf den Computer 110 beschrieben
wurden, obwohl nur eine Speichervorrichtung 181 in 1 gezeigt
ist. Die logischen Verbindungen, die in 5 gezeigt
sind, umfassen ein lokales Netzwerk (LAN) 171 und ein Weitverkehrsnetz
(WAN) 173, können
aber ebenso andere Netzwerke umfassen. Solche Netzwerkumgebungen
sind in Büros,
Firmencomputernetzen, Intranets und dem Internet üblich.
-
Wenn
der Computer in einem LAN Netzwerk verwendet wird, ist dieser mit
dem LAN 171 durch eine Netzwerkschnittstelle oder Adapter 170 verbunden.
Wenn dieser in einer WAN Netzwerkumgebung verwendet wird, umfasst
der Computer 110 typischerweise eine Modem 172 oder
andere Mittel für
das Errichten von Kommunikation über
das WAN 173, wie beispielsweise das Internet. Das Modem 172,
welches intern oder extern sein kann, kann mit dem Systembus über die
Benutzereingabeschnittstelle 160 oder andere geeignete
Mechanismen verbunden sein. In einer Netzwerkumgebung können Programmmodule,
die relativ zu den Computer 110 gezeigt sind, oder Teile
von diesen, in dem entfernten Speichergerät gespeichert sein. Als ein
Beispiel, aber nicht als Beschränkung,
zeigt 5 entfernte Anwendungsprogramme 185 in
der Speichereinrichtung 181. Es ist einsichtig, dass die
gezeigten Netzwerkverbindungen nur beispielhaft sind und andere
Mittel für
das Errichten einer Kommunikationsverbindung zwischen den Computern
benutzt werden können.
-
Die
beispielhafte Betriebsumgebung wurde nun diskutiert, und der verbleibende
Teil der Beschreibung wird für
eine Beschreibung der Programmmodule verwendet, die den vorliegenden
Positionsmessprozess verkörpern.
-
Im
Allgemeinen umfasst der Prozess gemäß der vorliegenden Erfindung
das Bestimmen der Position von Einheiten, die die TX des zuvor beschriebenen
Positionsverfolgungssystem tragen. Eine Einheit ist eine Person,
Objekt oder eine Gruppe von Personen und Objekten. Im Allgemeinen
wird dieses durch die nachfolgenden Prozessschritte, wie diese in
dem übergeordneten
Flussdiagramm der 6 gezeigt sind, erreicht:
- a) jeder Computer, der mit einem RX verknüpft ist,
erzeugt eine Badge Hit-Nachricht nach dem Empfang einer Datennachricht
von dem RX und liefert die Badge Hit-Nachrichten an den Zentralcomputer des
Netzwerks, wenn eine Badge Hit-Nachricht einen Senderidentifikator,
den mit der TX ID-Nachricht verbundenen Signalstärkenindikator und einen Empfängeridentifikator,
der den bestimmten RX, der die Datennachricht sendet, eindeutig
kennzeichnet, umfasst (Prozessschritt 600);
- b) Erzeugen einer Badge Hit-Tabelle in einer Badge Hit-Datenbank,
die sich auf dem Zentralcomputer befindet, wobei die Badge Hit-Tabelle
einen separaten Eintrag, der aus jeder Badge Hit-Nachricht abgeleitet wird,
umfasst und Felder aufweist, die in der Badge Hit-Nachricht empfangene
Information und eine Ankunftszeit umfassen, welche dem Eintrag zugewiesen
ist, der die Zeit anzeigt, zu der der Eintrag in die Badge Hit-Tabelle eingefügt wurde
(Prozessschritt 602);
- c) Bestimmen der Position von jedem TX, der eine TX ID-Nachricht
unter Benutzung der Badge Hit-Daten sendet (Prozessschritt 604);
- d) Aktualisieren einer Einheitenpositionstabelle einer geometrischen
Modelldatenbank mit der Position der Einheiten, wobei die Einheitenpositionstabelle
eine Liste der Einheiten und des TX-Identifikators eines TX, der
mit jeder Einheit verbunden ist, sowie der Position der Einheit,
wenn diese bekannt ist, wobei die Position der Einheit die Einheit
ist, die für
den mit der Einheit verknüpften
TX bestimmt wurde, ist (Prozessschritt 606).
-
Jeder
dieser allgemeinen Vorgänge
wird in den nachfolgenden Abschnitten im Detail beschrieben.
-
1.0 Badge Hit-Nachrichten
-
Jedes
Computergerät,
welches mit einem RX des zuvor beschriebenen Positionsverfolgungssystems verbunden
ist, führt
einen Badge Hit-Nachrichtenprozess aus, der nun beschrieben wird.
Bezüglich
der 7 beginnt der Badge Hit-Nachrichtenprozess durch
das Öffnen
des Eingangsports des Computergerätes, durch welchen die Datenrachrichten
von dem RX ankommen (Prozessschritt 700). In der Version
des Positionsverfolgungssystems beispielsweise, in dem jeder RX
mit einem verknüpften
Computergerät über eine
RS232 Kommunikationsschnittstelle verbunden ist, öffnet das
Badge Hit-Modul den seriellen Anschluss des Geräts und wartet auf Nachrichten
von den RX. Wie zuvor beschrieben umfasst die von einem RX in Erwiderung
auf den Empfang einer TX ID-Nachricht von einem TX gesendete Datennachricht
einen TX-Identifikator, Signalstärkedaten
und den RX-Identifikator. Zusätzlich
können
Fehlererkennungs- und Bewegungsdaten (basierend auf den Beschleunigungsmesssignal)
wie zuvor beschrieben, ebenso beinhaltet sein. In Prozessschritt 702 wird
diese Information zusammen mit dem Netzwerknamen des Computergerätes gepackt.
Dieses Informationspaket wird dann an eine in einem der Computergeräte in dem
Netzwerk befindlichen Datenbank gesendet (Prozessschritt 704),
nämlich
an den zuvor beschriebenen zentralen Computer. Im getesteten Ausführungsformen
des vorliegenden Positionsmessprozesses wurde das Packen unter Benutzung
einer eingebauten OLEDB-Datenzugriffsschicht eines Microsoft Windows
Betriebssystems durchgeführt.
-
Hinsichtlich
der zuvor erwähnten
Fehlererkennungsdaten, können
diese in einer Vielzahl von Weisen verwendet werden. Zum Beispiel
könnte
der RX-Computer beauftragt sein, um zu bestimmen, ob eine TX ID-Nachricht
ein Nachrichtenzählerinkrement
eine Einheit oberhalb der letzten zuvor empfangenen TX ID-Nachricht
hat, welche von dem TX übertragen
wurde. Wenn der Nachrichtenzähler
zu hoch ist, dann würde angenommen,
dass eine zwischenzeitliche TX ID-Nachricht verloren gegangen ist. Ähnlicherweise
könnte
der RX-Computer
die Checksumme prüfen,
um zu bestimmen, ob eine empfangene TX ID-Nachricht unvollständig oder beschädigt ist.
Wenn der RX-Computer bestimmt, dass eine TX ID-Nachricht außerhalb
der Reihe oder beschädigt
ist, könnte
dieser von dem Senden einer Datennachricht entsprechend dieser TX
ID-Nachricht an den zentralisierten Computer absehen. Eine andere
Alternative könnte
für den
RX-Computer sein, den Nachrichtenzählerwert von einer unbeschädigten TX
ID-Nachricht in die Datennachricht einzuschließen, welche an den zentralen
Computer weiter geleitet wird. Der zentrale Computer würde dann
entscheiden, ob oder ob nicht diese Daten für Positionierungszwecke verwendet
werden, wenn ermittelt wird, dass diese außerhalb der Reihe ist.
-
2.0 Die Badge Hit-Tabelle und Badge Hit-Datenbank
-
Die
gepackte Information wird an das zentrale Computergerät über das
zuvor beschriebene Netzwerk gesendet, wo diese in eine Datenbank
eingegeben wird, welche im Weiteren als die Badge Hit-Datenbank
bezeichnet wird. In getesteten Ausführungsformen des vorliegenden
Positionsmessprozesses war die Badge Hit-Datenbank als eine Microsoft
SQL-Serverdatenbank
implementiert und der Badge Hit-Nachrichtenprozess lieferte die
gepackten Daten in der Form eines SQL INSERT Statements. Die SQL-Serverdatenbank
ist eine relationale Datenbank, welche den Vorteil hat, dass diese
Abfragen und Berechnungen mit den „rohen" TX Ankunftsdaten ausführt, um
geordnete oder gruppierte Sequenzen von Ankünften und Stärken zu
erhalten, und dann diese Daten zu benutzen, um Regions- und Positionsberechnungen
auszuführen,
wie in Kürze
beschrieben wird.
-
Die
Badge Hit-Datenbank erzeugt eine Badge Hit-Tabelle, welche Felder,
wie in Tabelle 1 gezeigt, aufweist. Tabelle 1
RX-Computer-Netzwerk-Name | RX
ID | TX
ID | Signalstärke | Ankunftszeit | Bewegungsdaten
(optional) | Badge Hit-Zähler (optional) |
-
Das
Ankunftszeitfeld der Tabelle 1 ist ein Zeitstempel, der jedem Informationspaket
gegeben wird, das vom einem mit dem RX verknüpften Computergerät ausgegeben
wird und wird von der Badge Hit-Datenbank zu jedem Datenbankeintrag
hinzu gefügt,
wenn dieser aufgezeichnet wird. Dies wird gemacht, um Synchronisationsprobleme
zu vermeiden, welche auftreten würden,
wenn die zahlreichen, unsynchronisierten RX-Computergeräte eine
Ankunftszeit für
eine eintreffende Datennachricht erstellen würden. Statt dessen wird der
zentrale Computer zum Vermittler von allen Zeitmessungen und jeder
Latenz zwischen den FIX und der Datenbankeinträgen (und im Besonderen Unterschiede
der Latenzen von unterschiedlichen Ankünften oder RX) wird ignoriert.
Ein verteilter Zeitalgorithmus könnte
angewendet werden, um zu ermöglichen,
dass der RX eine Ankunftszeit erzeugt, zum Erzielen technisch genauerer
Zeiten. In den getesteten Ausführungsformen
hat sich gezeigt, dass dies nicht notwendig ist. Das optionale "Badge Hit-Zähler"-Feld in der Tabelle
bezieht sich auf die absolute Anzahl von in der Datenbank aufgezeichneten
Nachrichten, die zu den mit dem Badge Hit verknüpften TX beitragen. Diese Zahl
würde jedes
Mal inkrementiert, wenn ein neuer Badge Hit für das bestimmte TX aufgezeichnet
wird und könnte
benutzt werden, zu bestimmen, ob eine eingehende Nachricht, die
den zuvor erwähnten
Nachrichtenzählerwert
beinhaltet, aus der Reihe ist (das bedeutet, dass dieses nicht ein
Inkrement über
dem Wert des Badge Hit-Zähler-Feld
ist, das mit dem letzten Badge Hit des verknüpften TX assoziiert ist).
-
Die
gesamte Historie der TX-Ankünfte
wird in der Datenbank aufgezeichnet, bis eine Obergrenze der Größe der Badge
Hit-Tabelle erreicht ist. Ältere
Einträge
könnten
gelöscht
oder archiviert werden, um die Größe der Tabelle in vernünftigen
Grenzen zu halten und eine effektive Suche zu ermöglichen.
In den getesteten Versionen der Badge Hit-Datenbank repräsentierte
jeder Eintrag nur etwa 40 Bytes an Daten, deshalb wird es wahrscheinlich
immer mehr als genug Historie geben, um die Daten in einen Kontext
zu setzen.
-
Die
Daten der Badge Hit-Tabelle werden hauptsächlich benutzt, um die Position
von Menschen und Objekten, die ein TX tragen, zu bestimmen. Der
Prozess, durch welchen die Position berechnet wird, wird als nächstes beschrieben.
-
3.0 Positionsberechnung und die geometrische
Modelldatenbank
-
Die
Berechnung der Position ist im Wesentlichen der Prozess des Aktualisierens
einer geometrischen Modelldatenbank (manchmal auch als Weltmodelldatenbank
bezeichnet), um die Information, die in den Badge Hit-Daten enthalten
ist, zu reflektieren. Im Allgemeinen umfasst eine geometrische Modelldatenbank Informationen,
welche die Beschreibungen der Positionen von Leuten, Geräten, Plätzen und
Objekten in der Welt betreffen. Zusätzlich ist eine geometrische
Modelldatenbank für
das Akzeptieren von Information über den
geometrischen Zustand der Umgebung, Erzeugen eines geometrischen
Modells der Umgebung, Speichern und Pflegen des geometrischen Modells
und das Behandeln von Anfragen über
den geometrischen Zustand der Umgebung geeignet. Es ist die Aufgabe
des vorliegenden Positionsmessprozesses, die Positionsinformation
anzugeben, welche notwendig ist, so dass die geometrische Modelldatenbank
die zuvor beschriebenen Aufgaben ausführen kann.
-
Die
geometrische Modelldatenbank kann sich überall befinden, aber um aus
Gründen
der Effizienz befindet sich diese in dem zentralen Computer zusammen
mit den gesammelten „rohen" Badge Hit-Daten.
In jedem Fall ist es notwendig, die rohen Daten zu verarbeiten,
um eine konsistente Interpretation zu erhalten. Dieser Vorgang,
auch als Sensorfusionsprozess bezeichnet, resultiert in Positionsinformationen,
welche an die geometrische Modelldatenbank geliefert wird und benutzt
wird, um die Datenbank zu aktualisieren. Wenn die geometrische Modelldatenbank
sich in dem zentralen Computer befindet, führt die Badge Hit-Datenbank typischerweise
den Sensorfusionsprozess aus, welche in dem Speicher des zentralen
Computergerätes
gespeichert ist. Dies kann auch der Fall sein, wenn sich die geometrische
Modelldatenbank, an einem anderen Ort befindet. Jedoch kann es effizienter
sein, statt dessen die rohen Badge Hit-Daten an die entfernte geometrische
Modelldatenbank zu liefern und dass diese den Sensorfusionsprozess
ausführt.
Wenn eine entfernte geometrische Modelldatenbank benutzt werden
soll, kann die Kommunikation mit der Datenbank durch den zentralen
Computer unter Benutzung von Auslösern auf Reihen in der Badge
Hit-Tabelle initiiert sein, oder es könnte durch die geometrische
Modelldatenbank über
eine herkömmliche
Aufrufprozedur initiiert sein.
-
Jede
herkömmliche
geometrische Modelldatenbankstruktur kann angewendet werden. Jedoch,
gleich welches Format benutzt wird, ist eine bestimmte Information
in der Datenbank in der Form einer Einheitenpositionstabelle vorprogrammiert.
Genauer, die Einheitenpositionstabelle hat Einträge, welche einen TX-Identifikator
umfassen, der den mit dem Eintrag verknüpften TX identifiziert. Dieser
TX-Identifikator kann der gleiche sein wie der in der TX ID-Nachricht.
Die Einträge
der Einheitenpositionstabelle umfassen ebenso eine Bezeichnung der
mit jedem TX verknüpften
Einheit. Eine Einheit ist entweder eine bestimmte Person oder Objekt
(z. B. ein Laptopcomputer, Mobiltelefon, usf.) oder repräsentiert
eine Ansammlung, welche eine Person mit Geräten und Objekten gruppiert,
welche von der Person getragen werden. Jede Einheitenpositionstabelle
hat ebenso ein Feld, welches die letzte bekannte Position des Eintrags
beschreibt, welches ursprünglich
leer ist. Diese Position ist entweder in semantischen Positionsbezeichnungen,
wie "In Raum 123" oder durch eine
metrische Position, wie "(x,
y)" relativ zu einem
vorbestimmten Koordinatensystem, ausgedrückt.
-
Die
geometrische Modelldatenbank ist ebenso mit der bekannten Position
von jedem RX, welcher in der Datenbank durch den RX-Identifikator
und den Netzwerknamen des mit dem RX verbundenen Computergeräts identifiziert
ist, vorprogrammiert. Sowohl der RX-Identifikator als auch der Netzwerkname
des RX-Computers werden, anstatt lediglich des Namens des RX Computers,
eingefügt,
da mehr als ein RX mit einem einzigen Computer verknüpft sein
könnte
und da eine Möglichkeit
der Unterscheidung zwischen diesen benötigt wird. Das Hinzufügen des
Namens des RX-Computers ist nützlich
für das
Verfolgen welche RX mit welchem Computer verbunden sind, für eine Fehlersuche
oder für
Zwecke der Konfigurationssteuerung. Die zuvor erwähnte Position
ist ebenso in semantischen oder metrischen Positionsschemata ausgedrückt.
-
Es
könnte
ebenso nützlich
sein, ein Einheitenpositionstabelle zu erstellen, die von der geometrischen Modelldatenbank
separiert ist. Die Einheitenpositionstabelle ist durch den Namen
der Einheit (z. B. die Person oder Objekt oder die Ansammlung von
diesen, die mit der Einheit verknüpft ist/sind) indiziert. Jedes
Mal, wenn die Position einer Einheit in der geometrischen Modelldatenbank
erstellt oder aktualisiert wird, würde die Positionsinformation
zu der Einheitenpositionsdatenbank weiter geleitet. Daher würde die
Einheitenpositionsdatenbank lediglich für das Verfolgen der Positionen
von Personen oder Objekten bestimmt sein. Solch eine Datenbank könnte als
ein zentraler Positionsserver für
einen Internetservi ceprovider oder für ein Unternehmensintranet
oder für
eine Vielzahl von anderen Zwecken, welche nicht mit dem Führen eines
geometrischen Modelles einer Umgebung in Verbindung stehen, benutzt
werden.
-
3.1 Der Sensorfusionsprozess
-
Der
zuvor beschriebene Sensorfusionsprozess kann ein kontinuierlicher
Prozess sein, welcher nach jedem Badge Hit ausgeführt wird,
wenn dieser in die Badge Hit-Datenbank eingetragen wird, oder es
kann ein periodischer Prozess sein, welcher ausgeführt wird,
wenn eine vorbestimmte Anzahl von neuen Badge Hits zuvor in der
Badge Hit-Datenbank aufgezeichnet wurden, oder nachdem eine vorbestimmte
Zeit abgelaufen ist. Der Prozess ist der gleiche, gleichgültig, ob
dieser als kontinuierlicher oder periodischer Prozess implementiert
ist, mit einer Ausnahme, die weiter unten beschrieben ist.
-
In
Bezug auf die 8A–C, wird der Sensorfusionsprozess
beschrieben. Der Prozess beginnt mit einer Schwellenprozedur. Im
Speziellen wird ein zuvor abgewählter
Eintrag (d. h. Reihe) in der Badge Hit-Tabelle ausgewählt (Prozessschritt 800).
Als nächstes
wird bestimmt, ob ein Signalstärkenwert
des gewählten
Eintrags größer oder
gleich einer Signalschwelle ist, die eine minimale akzeptable Signalstärke darstellt
(Prozessschritt 802). Wenn die aufgezeichnete Signalstärke die
Schwelle übersteigt,
dann wird die Position der Person oder Objekt bestimmt, die mit
der für
den ausgewählten
Eintrag verantwortlichen TX verknüpft ist, wie in Kürze beschrieben
wird. Wenn jedoch die Signalstärke
unterhalb der Schwelle liegt, wird der Eintrag ignoriert, und ein
anderer Eintrag wird für
den Schwellenprozess ausgewählt,
wie in 8A gezeigt ist.
-
Die
Signalschwelle ist gewählt,
um ungefähr
einem Niveau zu entsprechen, welches erwartet würde, wenn der TX aus einer
Entfernung von 1–2
Metern von dem RX, der die Signalstärke ursprünglich gemessen hat, senden
würde.
Dies hat zwei Vorteile. Zunächst
wird sicher gestellt, dass der TX nahe am dem RX, der die Signalstärkenmessung
macht, ist, wodurch die Genauigkeit der Positionsbestimmung verbessert
wird. Zusätzlich
reduziert die Schwellenprozedur die Fälle, in denen zwei oder mehrere
Ankünfte
von dem selben TX von unterschiedlichen RX zu ungefähr der gleichen
Zeit empfangen werden (unter der Annahme, dass die RX nicht zu nahe
aneinander positioniert sind). Während
jedoch die Schwellenprozedur diese Mehrfachankünfte stark reduziert, ist deren
Auftreten immer noch möglich.
Mehrere Einträge,
die zur gleichen TX ID-Nachrichtenübertragung beisteuern, sind
un erwünscht,
da diese in mehrdeutigen Positionsergebnissen resultieren können. Um
dieses zu verhindern, beinhaltet die nächste Phase des Sensorfusionsprozesses
eine Zeitkonfliktauflösungsprozedur.
-
Im
Wesentlichen eliminiert die Zeitkonfliktauflösungsprozedur alle bis auf
einen der Einträge
(Ankünfte),
der mit der gleichen oder einer redundanten TX-Übertragung, welche von unterschiedlichen
RX innerhalb einer vorbestimmten Zeitperiode empfangen wurde, verknüpft sind.
Die vorbestimmte Zeitperiode wird basierend auf der Latenz des Netzwerk,
und/oder der Rate der Sensorfusionsprozesszyklen gewählt. In
den getesteten Ausführungsformen
des Positionsmessprozesses war diese ungefähr eine Sekunde. Demnach war
die vorbestimmte Zeitperiode auf eine Sekunde gesetzt.
-
Wieder
in Bezug auf 8A, wenn ein ausgewählter Eintrag
den Schwellentest besteht, beginnt die Zeitkonfliktauflösungsprozedur
durch das Bestimmen, ob eine Zeitentabelle für den mit dem ausgewählten Eintrag
verknüpften
TX erstellt wurde (Prozessschritt 804). Die Zeitentabelle
wird benutzt, um zu verfolgen, wie oft ein Badge Hit, der den Schwellentest
besteht, in die Badge Hit-Tabelle für einen bestimmten TX hinzugefügt wurde.
Wenn eine Zeitentabelle noch nicht für den mit dem gewählten Eintrag
verknüpften
TX erzeugt wurde, wird in dem Prozessschritt 806 dieser
erzeugt. Als nächstes
wird der Ankunftszeitwert des ausgewählten Eintrags in die entsprechenden
Zeitentabelle kopiert und gespeichert (Prozessschritt 808).
An diesem Punkt des Prozesses wird bestimmt, ob die Badge Hit-Einträge, welche
den Schwellentest bestanden haben, benutzt werden, um die Position
eines Eintrags der mit dem TX der für den Eintrag verantwortlich
ist verknüpft
ist, festzulegen. Die Entscheidungskriterien drehen sich darum,
ob die Übertragung,
die in einem Eintrag resultierte, von ein oder mehreren RX empfangen
wurden, mit Signalniveaus die den Schwellentest bestanden haben. Wenn
mehr als ein RX eine solche Übertragung
empfangen hat, dann gibt es mehrere Einträge, die zu der gleichen Übertragung
beisteuern. Nur eine dieser Einträge wird ausgewählt, um
die Position des mit dem fraglichen TX verknüpften Eintrags zu berechnen.
Es gibt zahlreiche Wege, um diese Aufgabe durchzuführen. Zum Beispiel
könnte
eine der Einträge
zufällig
ausgewählt
werden, oder es könnte
der Eintrag mit der frühesten
Ankunftszeit ausgewählt
werden. Jedoch wurde in den getesteten Ausführungsformen des Sensorfusionsprozesses
der Eintrag mit der aktuellsten Ankunftszeit ausgewählt. Dies
wird unterschiedlich ausgeführt,
abhängig davon,
ob der Sensorfusionsprozess auf einer kontinuierlichen Basis ausgeführt wird,
da jeder neu Badge Hit-Eintrag zu der Badge Hit- Tabelle hinzugefügt wird, oder auf einer periodischen
Basis, wobei der Prozess auf einem Satz von Einträgen ausgeführt wird.
Im Speziellen in Bezugnahme auf 8B und 8C,
wird im Prozessschritt 810 bestimmt, ob eine vorbestimmte
Warteperiode seit der Ankunftszeit des ausgewählten Eintrags abgelaufen ist.
Wenn nicht, werden die Prozessschritte 800 bis 810,
so oft wie nötig,
unter Berücksichtigung,
dass der Beginn der Warteperiode auf der Ankunftszeit des ursprünglich ausgewählten Eintrags
und nicht auf den nachher ausgewählten
Einträgen
basiert, wiederholt. Dies dauert an, bis festgestellt wird, dass die
vorbestimmte Warteperiode abgelaufen ist, und ein Eintrag der Badge
Hit-Tabelle, der den Schwellentest bestanden hat, wird ausgewählt (Verfahrenschritt 812).
Es wird dann bestimmt, ob die jeweiligen Unterschiede der Ankunftszeiten
zwischen dem gewählten
Eintrag und jedem der anderen Einträge in der Zeitentabelle, die dem
mit dem ausgewählten
Eintrag verknüpften
TX zugewiesen sind, in eine vorbestimmte Zeitperiode fallen (Prozessschritt 814).
Wenn keine der anderen Einträge
in die vorbestimmte Zeitperiode fällt, dann wird der ausgewählte Eintrag
benutzt, um die Position der mit dem für den ausgewählten Eintrag
verantwortlichen TX verknüpften
Einheit zu bestimmen, wie in Kürze
beschrieben wird. Wenn jedoch festgestellt wird, dass ein oder mehrere
der anderen Einträge
in die vorbestimmte Zeitperiode fallen, dann wird angenommen, dass
diese und der ausgewählte
Eintrag zu der gleichen oder einer redundanten TX-Übertragung
beisteuern und der Eintrag dieser Gruppe, der die aktuellste Ankunftszeit
hat, wird für
die Benutzung der Bestimmung der Position der mit dem TX verknüpften Einheit
ausgewählt
(Prozessschritt 816).
-
Alternativ
wird in der periodischen Version des Zensorfusionsprozesses zuerst
festgestellt, ob es irgendwelche verbleibenden, zuvor abgewählten Einträge in dem
aktuellen Satz von Einträgen
der Badge Hit-Tabelle gibt (Prozessschritt 818). Wenn dem
so ist, werden die Prozessschritte 800 bis 808 und
der Prozessschritt 818 so oft wie nötig wiederholt. Dies wird weiter
ausgeführt,
bis ermittelt wird, dass alle Eintrage verarbeitet worden sind,
bis zu diesem Punkt ist dieser Prozess der gleiche wie der der kontinuierlichen
Version des Sensorfusionsprozesses. Im Speziellen wird ein Eintrag
der Badge Hit-Tabelle, der den Schwellentest bestanden hat, ausgewählt (Prozessschritt 812).
Dann wird bestimmt, ob die jeweiligen Unterschiede in den Ankunftszeiten
zwischen dem ausgewählten
Eintrag und jedem der anderen Einträge, die in der dem mit dem ausgewählten Eintrag
verbundenen TX zugewiesenen Zeitentabelle enthalten sind, in die
vorbestimmte Zeitperiode fallen (Prozessschritt 814). Wenn
keine der anderen Einträge
in die vorbestimmte Zeitperiode fällt, dann wird der ausgewählte Eintrag
benutzt, um die Position der mit dem TX verknüpften Einheit zu bestim men, die
für den
ausgewählten
Eintrag verantwortlich ist. Wenn jedoch festgestellt wird, dass
einer oder mehrere der anderen Einträge in die vorbestimmte Zeitperiode
fallen, wird angenommen, dass diese und der ausgewählte Eintrag
zu der gleichen oder einer redundanten TX-Übertragung beitragen, und der
Eintrag mit der aktuellsten Ankunftszeit in dieser Gruppe wird für das Bestimmen
der Position des mit dem TX verknüpften Eintrags ausgewählt (Prozessschritt 816).
-
Nachdem
ein ausgewählter
Eintrag die Zeitkonfliktauflösungsprozedur überstanden
hat, wird die Position der mit dem Eintrag verknüpften Einheit bestimmt. Dies
wird im Wesentlichen unter Benutzung eines Raum-Assoziationsschemas
erreicht. In dem Raum-Assoziationsschema
ist die Position der Einheit in semantischen oder metrischen Termen
ausgedrückt.
Wenn eine semantische Position angewendet wird, wird angenommen,
dass eine Einheit in der gleichen semantischen Position ist, wie
der RX, der die mit der Einheit verknüpften TX-Übertragung empfangen hat, welcher
in dem Badge Hit-Eintrag, der verarbeitet wurde resultiert. Daher,
wenn der RX sich laut der geometrischen Modelldatenbank "In Raum 123" befindet, dann assoziiert
die Datenbank diese Position mit der Einheit in der Einheitenpositionstabelle.
Wenn auf der anderen Seite eine metrische Position angewendet wird,
wird angenommen, dass eine Einheit sich innerhalb eines Bereichs
befindet, der die metrische Position umgibt, welche mit den RX verknüpft ist,
der die TX-Übertragung
empfangen hat, welche mit der Einheit verknüpft ist, die in dem Badge Hit-Eintrag
resultierte, der verarbeitet wurde. Die Ausdehnung dieses Bereichs
ist durch die zuvor beschriebenen Signalstärkenschwellenkriterien gegeben. Zum
Beispiel, wenn die Signalstärkenschwelle
gewählt
wurde, um ungefähr
einem Niveau zu entsprechen, welches erwartet werden würde, wenn
der TX aus einer Entfernung von zwei Metern von dem RX senden würde, dann
wäre die
metrische Position einer Einheit innerhalb von zwei Meter der metrischen
Position, die dem RX zugewiesen ist. Zum Beispiel, wenn der RX laut
der geometrischen Modelldatenbank an einer metrischen Position (10.0,
5.0) relativ zu einem vorbestimmten Koordinatensystem ist, dann
gibt die Datenbank an, dass sich die Einheit innerhalb von zwei
Meter um diese Position befindet.
-
Die
Raumassoziationsprozedur wird wie folgt durchgeführt. Erneut in Bezugnahme auf 8B und 8C,
wird zuerst ermittelt, ob die Einheit, die mit dem TX verknüpft ist,
welcher in dem ausgewählten
Badge Hit-Eintrag identifiziert ist, der die Zeitkonfliktauflösungsprozedur
bestanden hat (der als gültiger
Badge Hit-Eintrag bezeichnet wird), eine zugewiesene Position in
der Einheitenpositionstabelle der geometrischen Modelldatenbank
aufweist (Prozessschritt 820). Wenn dieser noch keine Position
zugewiesen wurde, dann wird die Position des RX, der in dem gültigen Badge
Hit-Eintrag angegeben ist, benutzt, um die Position der Einheit
wie zuvor beschrieben anzugeben, und diese Position wird in die
Tabelle eingetragen (Prozessschritt 822). Es wird dann überprüft, ob ein
neuer Badge Hit-Eintrag oder neue Einträte empfangen wurden (Prozessschritt 828).
Wenn nicht, wartet der Prozess auf neue Einträge (Prozessschritt 830).
Wenn neue Einträge
empfangen wurden, wird der Sensorfusionsprozess wiederholt. Wenn
jedoch eine Position der Einheit zuvor zuwiesen wurde, wird in Prozessschritt 824 bestimmt,
ob die bekannte Position des RX, der in dem berücksichtigten gültigen Badge
Hit-Eintrag identifiziert wurde, der gleiche ist (wenn ein semantisches
Positionsschema angewendet wird) oder sich im dem spezifizierten
Bereich (wenn ein metrisches Positionsschema angewendet wird) befindet,
wie die der Einheit, die mit dem in dem ausgewählten Eintrag identifizierten
TX verknüpft
ist. Wenn die RX-Position die gleiche ist oder in den spezifizierten
Bereich der Einheit fällt,
dann hat sich die Position der Einheit nicht verändert und es wird nachgeprüft, ob ein
neuer Badge Hit-Eintrag oder neue Badge Hit-Einträge empfangen
wurde(n) (Prozessschritt 828). Wenn nicht, wartet der Prozess
auf neue Einträge
(Prozessschritt 830). Wenn neue Einträge empfangen wurden, wird der
Sensorfusionsprozess wiederholt. Wenn auf der anderen Seite die
RX-Position nicht die gleiche ist oder in den spezifizierten Bereich
der Einheit fällt, dann
wird in Prozessschritt 826 die Position der Einheit mit
der Position des RX ersetzt, wenn das semantische Positionsschema
benutzt wird, oder die Position der Einheit wird definiert als sich
in der vorbestimmten Distanz von der Position des RX befindlich
zu sein (wenn das metrische Positionsschema benutzt wird). Es ist
zu beachten, dass dieser letzte Schritt, durch das Modifizieren
des existierenden Eintrags in der Einheitenpositionstabelle oder
durch das Anlegen eines neuen Eintrags, wobei der alte Eintrag gelöscht wird,
durchgeführt
werden kann. Nachdem die Einheitenpositionstabelle aktualisiert
wurde, wird nachgeprüft,
ob ein neuer Badge Hit-Eintrag oder Einträge empfangen wurden (Prozessschritt 828).
Wenn nicht, wartet der Prozess auf neue Einträge (Prozessschritt 830).
Nachdem neue Einträge
empfangen wurden, wird der Sensorfusionsprozess wiederholt.
-
3.2 Der Timeoutprozess
-
Zusammen
mit den Sensorfusionsprozess führt
die geometrische Modelldatenbank ebenso einen so genannten Timeoutprozess
durch, welcher das Eliminieren von veralte ten/ungültigen Positionszuweisungen aus
der Einheitenpositionstabelle umfasst. Bezüglich 9 beginnt
der Timeoutprozess mit dem Identifizieren aller existierender Zeitentabellen,
die mit dem TX verknüpft
sind (Prozessschritt 900). Als nächstes wird eine zuvor abgewählte der
identifizierten Zeitentabellen ausgewählt (Prozessschritt 902).
Die ausgewählte
Zeitentabelle wird untersucht, um zu bestimmen, ob der zuletzt hinzugefügte Badge
Hit-Eintrag vor der aktuellen Zeit abzüglich einer vorbestimmten Zeitperiode
hinzugefügt
wurde (Prozessschritt 904). Wenn nicht, dann wird nichts
weiter unternommen, und die Prozessschritte 902 und 904 werden
für eine
andere identifizierte Zeitentabelle wiederholt. Wenn jedoch der
zuletzt aufgezeichnete Eintrag vor der aktuellen Zeit abzüglich der
vorbestimmten Zeitperiode hinzugefügt wurde, dann wird die Positionszuweisung
für den
TX, der mit der ausgewählten
Zeitentabelle verknüpft
ist, aus der Einheitenpositionstabelle gelöscht (Prozessschritt 906).
Es wird dann bestimmt, ob es weitere identifizierte Zeitentabellen
gibt, die noch nicht ausgewählt
und verarbeitet wurden (Prozessschritt 908). Wenn nicht,
startet der gesamte Prozess durch das Wiederholen der Schritt 900 bis 908, wenn
es notwendig ist, von vorne. Wenn es jedoch noch ungeprüfte Zeitentabellen
gibt, werden lediglich die Schritte 902 bis 908 entsprechend
wiederholt. Die vorbestimmte Timeoutperiode basiert auf der Transmissionsperiode
des TX und der Latenz des Netzwerks. Der bevorzugte Wert für diese
Periode ist ein kleines Vielfaches der Summe dieser beiden Perioden.
Sendet ein TX beispielsweise mit einer Frequenz von 1 Hz und weist
das Netzwerk eine Latenz von einer Sekunde auf, wäre eine
Timeoutperiode von 6 bis 8 Sekunden angemessen.
-
Während diese
Erfindung durch eine spezifische Bezugnahme auf bevorzugte Ausführungsformen
in Detail beschrieben wurde, ist es klar, dass Variationen und Modifikationen
gemacht werden können,
ohne von dem Gebiet der Erfindung abzuweichen. Zum Beispiel sei
angemerkt, dass der Badge Hit-Nachrichtenprozess sehr einfach ist,
insofern, dass das Computergerät
lediglich einen Eingabeport öffnen
muss, um Datennachrichten von dem verbundenen RX zu empfangen, die
eingehenden Daten zusammen mit dem Netzwerknamen des Computergerätes zu packen
und dann die gepackten Daten zu der Badge Hit-Datenbank zu senden, die sich in dem
zentralen Computergerät
befindet. Daher kann das Computergerät ebenso sehr einfach aufgebaut sein,
wenn dieses gewünscht
ist. Zum Beispiel könnte
das Computergerät
die Form einer sogenannten Netzwerkserverkarte annehmen, wie beispielsweise
die PicoWeb Server-Karte, welche von Lightner Engineering in La
Jolla, Kalifomien, hergestellt wird. In solch einem Fall würde der
zuvor beschriebenen Bad ge Hit-Nachrichtenprozess als Firmware Instruktionen
implementiert sein, die in die Serverkarte programmiert sind.
-
Ein
weiteres Beispiel einer möglichen
Variation des Positionsmessprozesses bezieht die Benutzung der Beschleunigungsmesserdaten,
die in der TX ID-Nachricht vorgesehen sind und optional in den Badge Hit-Tabelleneinträgen vorhanden
sein können,
mit ein. Diese Bewegungsdaten können
im Speziellen benutzt werden, die Genauigkeit des von dem RX gemessenen
RSSI zu verbessern, da die RSSI-Messungen genauer sein werden, wenn
die Einheit die mit den TX verbunden ist, sich nicht bewegt. Daher
kann dann angenommen werden, dass die Signalstärkeninformation genau oder
zumindest genauer als wenn sich der TX bewegte ist, wenn die Beschleunigungsmesserdaten
anzeigen, dass sich der TX nicht bewegt. Diese Annahme könnte für den Sensorfusionsprozess
benutzt werden, um Badge Hit-Einträge zu eliminieren, die mit
einem sich bewegenden TX verbunden sind, wenn die Position der Einheit,
die mit dem TX verbunden ist, bestimmt werden soll.
-
Eine
weitere Verwendung der Beschleunigungsmesserdaten bezieht ein optionales
sicheres Benutzeridentifikationsschema ein. In diesem Schema wird
der TX modifiziert, um eine Personal Identification Number(PIN)-Eingabevorrichtung
einzuschließen.
In einer einfachen Form könnte
diese Vorrichtung eine Nummerntastatur sein, wie solche die bei
Mobiltelefonen und ähnlichen
genutzt wird. Der Benutzer gibt eine PIN in den TX mittels der Tastatur
ein. Diese PIN ist in die geometrische Modelldatenbank als der Einheit
zugeordnet vorprogrammiert. Daher wird angenommen, dass die Position
des TX die Position der Einheit ist, die der PIN entspricht. Die
PIN wird in jeder TX ID-Nachricht zu diesem Zweck von dem TX übertragen,
zusammen mit oder anstatt der zuvor erwähnten TX-Identifikationsnummer.
Die Benutzung einer PIN ermöglich
jeder Einheit, mit jedem beliebigen TX verknüpft zu sein, da es keine Notwendigkeit
gibt, das der TX einer Einheit vorzugewiesen sein muss, wie dies
zuvor beschrieben wurde. Statt dessen ist die Einheit vorher einer
PIN zugewiesen worden, und die geometrische Modelldatenbank benutzt
die PIN in den eingehenden Badge Hit-Einträgen, um die Einheit zu identifizieren,
anstatt den TX-Identifikator zu benutzen.