DE60319457T2 - Verfahren zur Lokalisierung eines Radiofrequenz-Etikettes - Google Patents

Verfahren zur Lokalisierung eines Radiofrequenz-Etikettes Download PDF

Info

Publication number
DE60319457T2
DE60319457T2 DE60319457T DE60319457T DE60319457T2 DE 60319457 T2 DE60319457 T2 DE 60319457T2 DE 60319457 T DE60319457 T DE 60319457T DE 60319457 T DE60319457 T DE 60319457T DE 60319457 T2 DE60319457 T2 DE 60319457T2
Authority
DE
Germany
Prior art keywords
entry
unit
time
entries
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60319457T
Other languages
English (en)
Other versions
DE60319457D1 (de
Inventor
John Redmond Krumm
Gregory Bellevue Smith
Barrett L. Redmond Brumitt
Stephen C. Bellevue Harris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE60319457D1 publication Critical patent/DE60319457D1/de
Publication of DE60319457T2 publication Critical patent/DE60319457T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10019Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers.
    • G06K7/10079Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves resolving collision on the communication channels between simultaneously or concurrently interrogated record carriers. the collision being resolved in the spatial domain, e.g. temporary shields for blindfolding the interrogator in specific directions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Description

  • 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.

Claims (35)

  1. Computerimplementiertes Verfahren für das Bestimmen der Position von Personen und Objekten, welche Hochfrequenz, RF (Radio Frequency), Sender, TX, die lediglich Senden und nicht empfangen können, tragen, welche TX-Identifikationsnachrichten zu mindestens einem RF-Empfänger, RX, der nicht Senden und lediglich Empfangen kann, welcher mit einem Computer in einem Computernetzwerk kommuniziert, wobei jeder RX TX-Identifikationsnachrichten von den TX empfängt, und der Computer, welcher mit jedem RX verknüpft ist, die TX-Identifikationsdatennachricht von dem RX zusammen mit einem Wert, welcher die Signalstärke der empfangenen TX-Nachricht anzeigt, sammelt und die gesammelten Daten an das Netzwerk weiter sendet, wobei das Verfahren die Benutzung eines Computers umfasst, um die folgenden Verfahrensschritte durchzuführen: jeder Computer, welcher mit einem RX verknüpft ist, erzeugt "Badge Hit"-Nachrichten nach dem Empfangen einer Datennachricht von dem RX und stellt die "Badge Hit"-Nachrichten einem zentralen Computer in dem Netzwerk zur Verfügung, wobei jede "Badge Hit"-Nachricht Informationen, die einen Senderidentifikator, den Signalstärkenindikator, welcher mit der TX-Identifizierungsnachricht verknüpft ist und einen Empfängeridentifikator, welcher den bestimmten RX, welcher die Datennachricht gesendet hat, eindeutig identifiziert, umfassen, umfasst; Erzeugen (602) einer "Badge Hit"-Tabelle in einer "Badge Hit"-Datenbank, welche sich in dem zentralen Computer befindet, wobei die "Badge Hit"-Tabelle einen separaten Eintrag, welcher von jeder empfangenen "Badge Hit"-Nachricht stammt, deren Felder die Information, welche mit der "Badge Hit"-Nachricht empfangen wurde und eine Ankunftszeit, welche dem Eintrag zugeordnet ist und die Zeit anzeigt, zu der der Eintrag in die "Badge Hit"-Tabelle hinzugefügt wurde, beinhaltet; Bestimmen (604) der Position von jedem TX, welcher eine TX-Identifikationsnachricht sendet unter Benutzung der "Badge Hit"-Daten, umfassend das Prüfen der Einträge der "Badge Hit"-Tabelle, um zu gewährleisten, dass lediglich Einträge, welche einen Signalstärkenwert größer oder gleich eines vorbestimmten Niveaus aufweisen und dass nur ein Eintrag pro TX-Übertragung benutzt werden, um die Position eines TX zu bestimmen, dessen Übertragung in dem Eintrag resultierte sowie für jeden Eintrag, welcher den Schwellwert besteht: Sicherstellen, ob die jeweiligen Differenzen zwischen der Ankunftszeit des betrachteten Eintrags und jeder zuvor aufgezeichneten Ankunftszeit der Zeitentabelle, welche dem TX, welcher mit dem betrachteten Eintrag verknüpft ist, zugewiesen ist, in eine vorbestimmte Zeitperiode fallen; wann immer die Differenzen zwischen der Ankunftszeit des betrachteten Eintrags und den Ankunftszeiten aller vorherigen Einträge in der Zeitentabelle, welche dem TX, welcher mit dem betrachteten Eintrag verknüpft ist, zugewiesen sind, aus der vorbestimmten Zeitperiode herausfallen, Erachten, dass der betrachtete Eintrag einen Zeit konfliktauflösungsvorgang bestanden hat und bereit ist für die weitere Verarbeitung, um die Position des TX zu bestimmen; und wann immer die Differenz zwischen der Ankunftszeit des betrachteten Eintrags und der Ankunftszeit von ein oder mehreren der vorherigen Einträge in der Zeitentabelle, welche dem TX zugeordnet sind, welcher mit dem betrachteten Eintrag verknüpft ist, in die vorbestimmte Zeitperiode fallen, Annehmen, dass diese Einträge derselben oder einer redundanten TX-Übertragung zugeordnet werden können und Auswählen von lediglich einem von diesen für die weitere Verarbeitung, um die Position des TX zu bestimmen, wobei erachtet wird, dass der ausgewählte Eintrag für die weitere Verarbeitung, das Zeitkonfliktauflösungsverfahren bestanden hat; und Aktualisieren (606) einer Einheiten-Positionstabelle einer geometrischen Modelldatenbank mit den Positionen der darin beinhalteten Einheiten, wobei die Einheiten-Positionstabelle eine Liste von Einheiten und den TX-Identifikator eines TX, welcher mit jeder Einheit verknüpft ist, umfasst, ebenso wie die Position der Einheit, wenn diese bekannt ist, und wobei besagte Einheit eine Person, Objekt oder eine Ansammlung von Personen oder Objekten ist und die Position der Einheit die Position ist, welche für den TX bestimmt wurde, welcher mit der Einheit verbunden ist.
  2. Verfahren gemäß Anspruch 1, wobei der Verfahrensschritt des Bestimmens der Position eines jeden TX mittels der "Badge Hit"-Datenbank durchgeführt wird.
  3. Verfahren gemäß Anspruch 1, wobei sich die geometrische Modelldatenbank in dem zentralen Computer befindet.
  4. Verfahren gemäß Anspruch 1, wobei die geometrische Modelldatenbank auf einem anderen Computer als dem zentralen Computer abläuft, und wobei Einträge von der "Badge Hit"-Tabelle zu dem Computer, welcher die geometrische Modelldatenbank bereitstellt, übertragen werden und der Verfahrensschritt des Bestimmens der Position von jedem TX mittels der geometrischen Modelldatenbank durchgeführt wird.
  5. Verfahren gemäß Anspruch 1, wobei der Verfahrensschritt des Bestimmens der Position von jedem TX die Schritte beinhaltet: Bestimmen der Position der TX, welcher mit den geprüften Einträgen verknüpft sind, welche einen Signalstärkenwert größer oder gleich dem vorbestimmten Niveau aufweisen und den einzigen Eintrag repräsentieren, welcher einer TX-Übertragung zugeordnet werden kann, welche benutzt wird, um die Position des TX zu bestimmen, basierend auf einer bekannten Position des in dem Eintrag identifizierten RX, wobei die bekannte Position eines RX von der geometrischen Modelldatenbank erhalten wird, welche eine Liste von allen RX und deren Position innerhalb einer Umgebung, welche durch die geometrische Modelldatenbank modelliert wird, umfasst.
  6. Verfahrensschritt von Anspruch 5, wobei der RX in der geometrischen Modelldatenbank durch besagten RX-Identifikator identifiziert wird.
  7. Verfahrensschritt von Anspruch 5, wobei jede "Badge Hit"-Nachricht des Weiteren einen Identifikator umfasst, welcher den Computer identifiziert, welcher die "Badge Hit"-Nachricht sendet, und wobei der RX in der geometrischen Modelldatenbank durch besagten Computer-Identifikator identifiziert wird.
  8. Verfahren gemäß Anspruch 5, wobei der Verfahrensschritt des Prüfens der Einträge der "Badge Hit"-Tabelle für jeden Eintrag in der "Badge Hit"-Tabelle die Schritte umfasst: Bestimmen, ob der Signalstärkenwert des Eintrags eine Signalstärkenschwelle übersteigt; und wann immer die Signalstärke des Eintrags gleich oder größer ist als die Signalstärkenschwelle, Erachten, dass der Eintrag einen Schwellwerttest bestanden hat.
  9. Verfahren gemäß Anspruch 8, wobei die Signalstärkenschwelle derart gewählt ist, um näherungsweise einem Niveau zu entsprechen, welches zu erwarten wäre, wenn der TX, welcher mit einem Eintrag verknüpft ist, aus einer Entfernung von 1 bis 2 Meter von dem RX, welcher ursprünglich die Signalstärke gemessen hat, übertragen würde.
  10. Verfahren gemäß Anspruch 8, wobei der Verfahrensschritt des Prüfens der Einträge der "Badge Hit"-Tabelle für jeden Eintrag, welcher den Schwellwerttest besteht, die Schritte umfasst: Bestimmen, ob eine Zeitentabelle für den TX, welcher mit dem Eintrag verknüpft ist, erstellt wurde und wenn nicht, Erzeugen derselben, wobei besagte Zeitentabelle die Ankunftszeit eines jeden Eintrags, welcher mit dem TX, welcher den Schwellwerttest bestanden hat, verknüpft ist, aufzeichnet; und Aufzeichnen der Ankunftszeit des betrachteten Eintrags in der Zeitentabelle, welche dem TX zugeordnet ist, der mit dem betrachteten Eintrag verknüpft ist.
  11. Verfahren gemäß Anspruch 1, wobei die vorbestimmte Zeitperiode basierend der Latenz des besagten Netzwerks und der Rate, zu der die Einträge in der "Badge Hit"-Tabelle bearbeitet werden, bestimmt wird.
  12. Verfahren gemäß Anspruch 11, wobei die vorbestimmte Zeitperiode ungefähr 1 Sekunde ist.
  13. Verfahren gemäß Anspruch 1, wobei der Verfahrensschritt des Auswählens von lediglich einem der Einträge für die weitere Verarbeitung um die Position des TX zu bestimmen einen Schritt des zufälligen Auswählens eines der Einträge beinhaltet.
  14. Verfahren gemäß Anspruch 1, wobei der Verfahrensschritt des Auswählens von lediglich einem der Einträge für die weitere Verarbeitung um die Position des TX zu bestimmen einen Schritt des Auswählens des Eintrags der Gruppe von Einträgen, von welchen angenommen wird, dass diese der gleichen oder redundanten TX-Übertragung zugeordnet werden können, welcher die früheste Ankunftszeit aufweist, beinhaltet.
  15. Verfahren gemäß Anspruch 1, wobei der Verfahrensschritt des Auswählens von lediglich einem der Einträge für die weitere Verarbeitung, um die Position des TX zu bestimmen, einen Schritt des Benutzens des Eintrags von einem Satz von Einträgen, von welchem angenommen wird, dass diese der gleichen oder einer redundanten TX-Übertragung zugeordnet werden können, welcher die aktuellste Ankunftszeit aufweist für die weitere Verarbeitung, um die Position des TX zu bestimmen, beinhaltet.
  16. Verfahren gemäß Anspruch 10, wobei die Position, welche für jede Einheit bestimmt wurde, der Einheit in einer Einheiten-Positionstabelle einer geometrischen Modelldatenbank zugeordnet wird, und wobei das Verfahren des Weiteren einen Schritt des Prüfens der Einheiten-Positionstabelle beinhaltet, um verfallene Positionsangaben zu entfernen.
  17. Verfahren gemäß Anspruch 16, wobei der Verfahrensschritt des Prüfens der Einheiten-Positionstabelle, um verfallene Positionsangaben zu entfernen, für jede Zeitentabelle, welche mit einem TX verbunden ist, die Schritte beinhaltet: Prüfen der Zeitentabelle, um zu bestimmen, ob die aktuellste Ankunftszeit der "Badge Hit"-Einträge, welche in der Tabelle referenziert ist, früher ist als eine Zeit, welche durch den Zeitpunkt einer Prüfung weniger einer vorbestimmten Zeitüberschreitungsperiode ist; und wann immer festgestellt wird, dass die aktuellste Ankunftszeit der "Badge Hit"-Einträge, welche in der Tabelle referenziert sind, früher ist als die Zeit, welche durch den Zeitpunkt der Prüfung weniger der vorbestimmten Zeitüberschreitungsperiode ist, Löschen von jeglichen Positionsangaben, welche der Einheit zugewiesen sind, welche mit dem TX verknüpft sind, dessen Zeitentabelle betrachtet wird, aus besagter Einheiten-Positionstabelle.
  18. Verfahren gemäß Anspruch 5, wobei die Verfahrensschritte des Bestimmens der Position des TX, welcher mit jedem der geprüften Einträge verknüpft ist und Aktualisieren der Einheiten-Positionstabelle der geometrischen Modelldatenbank mit der Position der darin enthaltenen Einheiten, für jeden geprüften Eintrag, welcher einen Signalstärkenwert größer oder gleich dem vorbestimmten Niveau aufweist und den einzigen Eintrag repräsentiert, welchem eine TX-Übertragung zugeordnet werden kann, welche benutzt wird, um die Position des TX zu bestimmen, die Schritte beinhalten: Bestimmen, ob die Einheit, welche mit dem in dem Eintrag identifizierten TX verknüpft ist, eine Position aufweist, welche dieser in der Einheiten-Positionstabelle der geometrischen Modelldatenbank zugewiesen ist; wann immer eine Position zuvor nicht der Einheit in der Einheiten-Positionstabelle zugewiesen wurde, Zuweisen einer Position an die Einheit entsprechend der bekannten Position des in dem Eintrag identifizierten RX, und Eingeben der Position in die Einheiten-Positionstabelle, wobei die Position des RX in semantischen Termen definiert ist, insofern, dass sich die Position auf eine vorbestimmte Stelle bezieht, in welchem sich der RX befindet; wann immer eine Position der Einheit zuvor in der Einheiten-Positionstabelle zugewiesen wurde, Bestimmen, ob die Position die gleiche ist wie die Position des RX; und wann immer bestimmt wird, dass die Position, die der Einheit in der Einheiten-Positionstabelle zugewiesen ist, nicht dieselbe ist wie die Position des RX, Ersetzen der der Einheit aktuell zugewiesenen Position durch die Position des RX.
  19. Verfahren gemäß Anspruch 5, wobei die Verfahrensschritte des Bestimmens der Position des TX, welcher mit jeder der geprüften Einträge verknüpft ist und Aktualisieren der Einheiten-Positionstabelle der geometrischen Modelldatenbank mit der Position der dann enthaltenen Einträge, für jeden geprüften Eintrag, welcher einen Signalstärkenwert größer oder gleich dem vorbestimmten Niveau aufweist und den einzigen Eintrag repräsentiert, welchem eine TX-Übertragung zugeordnet werden kann, welche benutzt wird, um die Position des TX zu bestimmen, die Schritte umfassen: Bestimmen, ob die Einheit, welche mit dem in dem Eintrag identifizierten TX, verknüpft ist, eine Position aufweist, welcher dieser in der Einheiten-Positionstabelle der geometrischen Modelldatenbank zugewiesen ist; wann immer eine Position zuvor nicht der Einheit in der Positionsdatenbank zugewiesen wurde, Zuweisen einer Position an die Einheit, welche als sich innerhalb einer vorbestimmten Distanz von der bekannten Position des RX befindend definiert ist, welche in dem Eintrag identifiziert ist und Eingeben der Position in die Einheiten-Positionstabelle, wobei die Position des RX in metrischen Termen charakterisiert ist, insofern, dass die Position den Koordinaten entspricht, an welchen sich das RX relativ zu einem vorbestimmten Koordinatensystem befindet; wann immer eine Position zuvor der Einheit in der Positionsdatenbank zugewiesen wurde, Bestimmen, ob sich die der Einheit aktuell zugewiesene Position innerhalb der vorbestimmten Distanz von der bekannten Position des in dem Eintrag identifizierten RX befindet; und wann immer festgestellt wird, dass die der Einheit aktuell zugewiesene Position in der Einheitentabelle sich nicht innerhalb der vorbestimmten Distanz von der bekannten Position des RX befindet, Ersetzen der aktuell der Einheit zugewiesenen Position mit einer Position, welche angibt, dass sich die Einheit innerhalb einer vorbestimmten Distanz von der Position des RX befindet.
  20. Verfahren gemäß Anspruch 19, wobei der Verfahrensschritt des Prüfens der Einträge der "Badge Hit"-Tabelle, für jeden Eintrag der "Badge Hit"-Tabelle, die Schritte beinhaltet: Bestimmen, ob der Signalstärkenwert des Eintrags eine Signalstärkenschwelle übersteigt; und wann immer die Signalstärke des Eintrags größer oder gleich der Signalstärkenschwelle ist, Erachten, dass der Eintrag einen Schwellwerttest bestanden hat; und wobei die Signalstärkenschwelle derart gewählt ist, um näherungsweise einem Niveau zu entsprechen, welches erwartet werden würde, wenn der TX, welcher mit einem Eintrag verknüpft ist, aus einer vorbestimmten Übertragungsentfernung von dem RX senden würde, welches ursprünglich die Signalstärke gemessen hat; und wobei die vorbestimmte Distanz von der bekannten Position des RX, welches die Position der Einheit definiert, der vorbestimmten Übertragungsentfernung entspricht.
  21. Verfahren gemäß Anspruch 1, wobei die TX-Identifikationsnachrichten, welche von jedem TX gesendet werden, Fehlererkennungsdaten umfassen, welche in den Datennachrichten, welche von jedem RX zu deren zugeordneten Computer gesendet werden und in der "Badge Hit"-Nachricht, welche von jedem RX-zugeordneten Computer zu dem zentralen Computer gesendet wurden, enthalten sind, und wobei die Fehlererkennungsdaten einen Nachrichtenzähler umfassen, welcher jedes Mal inkrementiert wird, wenn ein TX eine TX-Identifikationsnachricht sendet, und wobei der zentrale Computer feststellt, ob der Nachrichtenzähler ein Inkrement oberhalb der zuletzt übertragenen TX-Identifikationsnachricht von dem TX aufweist, wodurch angezeigt wird, ob eine vorherige TX-Identifikationsnachricht verloren wurde.
  22. Verfahren gemäß Anspruch 1, wobei die TX-Identifikationsnachrichten, welche von jedem TX gesendet werden, Fehlererkennungsdaten beinhalten, welche in den Datennachrichten beinhaltet sind, welche von jedem RX an den zugeordneten Computer gesendet werden, und wobei die Fehlererkennungsdaten einen Nachrichtenzähler beinhalten, welcher jedes Mal inkrementiert wird, wenn ein TX eine TX-Identifikationsnachricht sendet, und wobei der dem RX zugeordnete Computer feststellt, ob der Nachrichtenzähler ein Inkrement oberhalb der zuletzt übertragenen TX-Identifikationsnachricht von dem TX aufweist, wodurch angezeigt wird, ob eine vorherige TX-Identifikationsnachricht verloren wurde.
  23. Verfahren gemäß Anspruch 1, wobei die TX-Identifikationsnachricht, welche von jedem TX gesendet wird, Fehlererkennungsdaten beinhaltet, welche in den Datennachrichten enthalten sind, welche von jedem RX zu dem zugeordneten Computer gesendet werden, und wobei die Fehlererkennungsdaten eine Kontrollsumme beinhalten, und wobei der dem RX zugeordnete Computer unter Benutzung der Kontrollsumme feststellt, ob die TX-Identifikationsnachricht vollständig war.
  24. Positionsverfolgungssystem für das Bestimmen der Position von Personen und Objekten unter Benutzung von Sendern, welche TX-Identifikationsnachrichten zu mindestens einem Empfänger übertragen, welcher mit einem Computergerät verbunden ist in einem Netzwerk von Computergeräten, wobei das System umfasst: eine Vielzahl von Hochfrequenz, RF, Sendern, TX, welche lediglich senden und nicht empfangen können, welche jeweils von der Person getragen werden oder an dem Objekt angebracht sind, deren/dessen Position bestimmt werden soll, wobei jeder TX TX-Identifikationsnachrichten sendet; mindestens ein nicht sendender, nur empfangender RF Empfänger RX, welche jeweils TX-Identifikationsnachrichten, welche von dem TX innerhalb der Signalreichweite des RX gesendet wurden, empfängt, wobei besagte TX-Identifikationsnachrichten einen Sender-Identifikator, welcher den bestimmten TX, welcher die TX-Identifikations nachrichten gesendet hat, eindeutig identifiziert, umfassen, und wobei jeder RX die Signalstärke des von einem TX empfangenen Signals, welches die TX-Identifikationsnachricht trägt, misst; mindestens ein Computergerät, wobei jedes jeweils in Verbindung mit einem anderen RX steht und Datennachrichten von dem RX empfängt, welche nach dem Empfang einer TX-Identifikationsnachricht von einem TX erzeugt werden, wobei die Datennachricht den Senderidentifikator, einen Signalstärkenindikator, welcher mit der TX-Identifikationsnachricht verknüpft ist und einen Empfängeridentifikator, welcher den bestimmten RX, welcher die Datennachricht sendet, eindeutig identifiziert, umfasst; ein zentrales Computergerät, welches in Verbindung mit jedem der Computergeräte steht, welche mit einem RX über besagtes Netzwerk verbunden sind und welches "Badge Hit"-Nachrichten empfängt, welche eine Version der weitergeleiteten RX-Datennachrichten mit einem Identifikator, welcher das Computergerät identifiziert, das die angehängte Nachricht weiterleitet hat, repräsentieren; und ein Computerprogramm, welches von dem zentralen Computergerät ausführbare Programmmodule umfasst, wobei das Computergerät von den Programmmodulen des Computerprogrammes gesteuert wird, um die Position jedes TX unter Benutzung der an dieses von jedem mit einem RX verbundenen Computergerät weitergeleiteten Daten zu bestimmen; wobei das zentrale Computergerät eine "Badge Hit"-Tabelle in einer "Badge Hit"-Datenbank erzeugt, wobei jeder Eintrag Felder für die Information, welche in der "Badge Hit"-Nachricht empfangen wurden und eine Ankunftszeit, welche dem Eintrag zugeordnet ist und die Zeit anzeigt, zu der der Eintrag in die "Badge Hit"-Tabelle hinzugefügt wurde, umfasst, wobei die Einträge zur "Badge Hit"-Tabelle, jedes Mal wenn eine TX-Übertragung durch ein RX Empfangen wird, hinzufügt werden, und eine Einheiten-Positionstabelle einer geometrischen Modelldatenbank mit den Positionen der darin beinhalteten Einheiten aktualisiert, wobei die Einheiten-Positionstabelle eine Liste von Einheiten und den TX-Identifikator eines TX, welcher mit jeder Einheit verknüpft ist, ebenso wie die Position der Einheit, wenn diese bekannt ist, umfasst, und wobei besagte Einheit eine Person, Objekt oder eine Ansammlung von Personen oder Objekten ist und die Position der Einheit die Position ist, welche für den TX bestimmt wurde, welcher mit der Einheit verknüpft ist und wobei die Programmmodule für das Bestimmen der Position von jedem TX Submodule umfassen für: Prüfen der Einträge der "Badge Hit"-Tabelle, um sicherzustellen, dass lediglich Einträge, welche einen Signalstärkenwert größer oder gleich eines vorbestimmten Niveaus aufweisen, und dass nur ein Eintrag pro TX-Übertragung benutzt werden, um die Position eines TX zu bestimmen, dessen Übertragung in dem Eintrag resultierte; Bestimmen der Position des TX, welcher mit jedem der geprüften Einträgen verknüpft ist, welche einen Signalstärkenwert größer oder gleich dem vorbestimmten Niveau aufweist und den einzigen Eintrag repräsentiert, welcher einer TX-Übertragung zugeordnet werden kann, welcher benutzt wird, um die Position des TX zu bestimmen, basierend auf einer bekannten Position des in dem Eintrag identifizierten RX, wobei die bekannte Position eines RX von der geometrischen Modelldatenbank erhalten wird, welche eine Liste von allen RX und deren Position innerhalb einer Umgebung, welche durch die geometrische Modelldatenbank modelliert wird, bereitstellt, wobei das Sub-Modul für das Prüfen der Einträge der "Badge Hit"-Tabelle Submodule umfasst für: (a) Auswählen eines zuvor abgewählten Eintrages der "Badge Hit"-Tabelle; (b) Bestimmen, ob der Signalstärkenwert des ausgewählten Eintrags eine Signalstärkenschwelle übersteigt; (c) wann immer die Signalstärke des Eintrags gleich oder größer ist als die Signalstärkenschwelle, Erachten, dass der Eintrag einen Schwellwerttest bestanden hat; (d) für jeden ausgewählten Eintrag, welcher den Schwellwerttest bestanden hat, (i) Bestimmen, ob eine Zeitentabelle für den TX, welcher mit dem Eintrag verknüpft ist, erstellt wurde und wenn nicht, Erzeugen derselben, wobei besagte Zeitentabelle die Ankunftszeit eines jeden Eintrags, welcher mit dem TX, welcher den Schwellwerttest bestanden hat, verknüpft ist, aufzeichnet; (ii) Aufzeichnen der Ankunftszeit des betrachteten Eintrags in der Zeitentabelle, welche dem TX zugeordnet ist, welcher mit dem betrachteten Eintrag verbunden ist; (iii) Bestimmen, ob eine vorbestimmte Warteperiode seit der Ankunftszeit des ausgewählten Eintrags verstrichen ist, (iv) wann immer die vorbestimmte Warteperiode noch nicht verstrichen ist, Wiederholen der Schritte (a) bis (d) (iii), soweit erforderlich; (e) wann immer festgestellt wird, dass die vorbestimmte Warteperiode verstrichen ist, Auswählen eines zuvor abgewählten Eintrags der "Badge Hit"-Tabelle, welcher den Schwellwerttest bestanden hat; (f) Sicherstellen, ob die jeweiligen Differenzen zwischen der Ankunftszeit des ausgewählten Eintrags und den anderen aufgezeichneten Ankunftszeiten der Zeitentabelle, welche dem TX, welcher den ausgewählten Eintrag zugeordnet ist, zugewiesen ist, in eine vorbestimmte Zeitperiode fallen; (g) wann immer die Differenzen zwischen der Ankunftszeit des ausgewählten Eintrags und den Ankunftszeiten aller vorherigen Einträge in der Zeitentabelle, welche dem TX, welcher mit dem betrachteten Eintrag verknüpft ist, zugewiesen sind, aus der vorbestimmten Zeitperiode herausfallen, Benutzen des ausgewählten Eintags für die weitere Verarbeitung um die Position des TX zu bestimmen; und (vii) wann immer die Differenz zwischen der Ankunftszeit des ausgewählten Eintrags und der Ankunftszeit der anderen Einträge in der Zeitentabelle, welche dem TX zugeordnet sind, welcher mit dem betrachteten Eintrag verbunden ist, in die vorbestimmte Zeitperiode fallen, Annehmen, dass diese Einträge derselben oder einer redundanten TX-Übertragung zugeordnet werden können und Benutzen lediglich des Eintrags, welcher die jüngste Ankunftszeit ausweist, für die weitere Verarbeitung, um die Position des TX zu bestimmen.
  25. System gemäß Anspruch 24, wobei die vorbestimmte Zeitperiode basierend auf der Latenz des besagten Netzwerks und der Rate, zu der die Einträge in der "Badge Hit"-Tabelle bearbeitet werden, bestimmt wird.
  26. Das System gemäß Anspruch 25, wobei die vorbestimmte Warteperiode ungefähr gleich der vorbestimmten Zeitperiode, aber nicht weniger als diese ist.
  27. Das System gemäß Anspruch 24, wobei die Daten, welche von den TX-Übertragungen abgeleitet werden, für eine vorbestimmte Sammelperiode, in welcher ein besagten TX-Übertragungen zugeordneter Eintrag zu der "Badge Hit"-Tabelle hinzugefügt wird um einen Satz von Einträgen in der Tabelle anzulegen, gesammelt werden und wobei die Sub-Module für das Prüfen der Einträge der "Badge Hit"-Tabelle Sub-Module umfassen für: (a) Auswählen eines zuvor abgewählten Eintrages aus dem Satz von Einträgen in der "Badge Hit"-Tabelle; (b) Bestimmen, ob der Signalstärkenwert des ausgewählten Eintrags eine Signalstärkenschwelle übersteigt; (c) wann immer die Signalstärke des Eintrags gleich oder größer ist als die Signalstärkenschwelle, Erachten, dass der Eintrag einen Schwellwerttest bestanden hat; (d) für jeden ausgewählten Eintrag, welcher den Schwellwerttest bestanden hat, (i) Bestimmen, ob eine Zeitentabelle für den TX, welcher mit dem Eintrag verknüpft ist, erstellt wurde und wenn nicht, Erzeugen derselben, wobei besagte Zeitentabelle die Ankunftszeit eines jeden Eintrags, welcher mit dem TX, welcher den Schwellwerttest bestanden hat, verknüpft ist, aufzeichnet; (ii) Aufzeichnen der Ankunftszeit des betrachteten Eintrags in der Zeitentabelle, welche dem TX zugeordnet ist, welcher mit dem betrachteten Eintrag verknüpft ist; (iii) Wiederholen der Schritte (a) bis (d) (iii), soweit erforderlich, bis alle Einträge in besagtem Satz von Einträgen ausgewählt wurden, (e) Auswählen eines zuvor abgewählten Eintrags der "Badge Hit"-Tabelle, welcher den Schwellwerttest bestanden hat, (f) Sicherstellen, ob die jeweiligen Differenzen zwischen der Ankunftszeit des ausgewählten Eintrags und den anderen aufgezeichneten Ankunftszeiten der Zeitentabelle, welche dem TX, welcher den ausgewählten Eintrag zugeordnet ist, zugewiesen ist, in eine vorbestimmte Zeitperiode fallen; (g) wann immer die Differenzen zwischen der Ankunftszeit des ausgewählten Eintrags und den Ankunftszeiten aller anderen Einträge in der Zeitentabelle, welche dem TX, welcher mit dem betrachteten Eintrag verknüpft ist, zugewiesen sind, aus der vorbestimmten Zeitperiode herausfallen, Benutzen des ausgewählten Eintags für die weitere Verarbeitung, um die Position des TX zu bestimmen; und (h) wann immer die Differenz zwischen der Ankunftszeit des ausgewählten Eintrags und der Ankunftszeit der anderen Einträge in der Zeitentabelle, welche dem TX zugeordnet sind, welcher mit dem betrachteten Eintrag verbunden ist, in die vorbestimmte Zeitperiode fallen, Annehmen, dass diese Einträge derselben oder einer redundanten TX-Übertragung zugeordnet werden können und Benutzen lediglich des Eintrags, welcher die jüngste Ankunftszeit ausweist, für die weitere Verarbeitung, um die Position des TX zu bestimmen.
  28. Das System gemäß Anspruch 27, wobei die vorbestimmte Zeitperiode basierend der Latenz des besagten Netzwerks und der Rate, zu der die Einträge in der "Badge Hit"-Tabelle bearbeitet werden, bestimmt wird.
  29. Das System gemäß Anspruch 27, wobei die vorbestimmte Sammelperiode beginnt, wenn ein Satz von Einträgen zu der "Badge Hit"-Tabelle hinzugefügt wird und für eine vorbestimmte Zeitperiode andauert.
  30. Das System gemäß Anspruch 27, wobei die vorbestimmte Sammelperiode beginnt, wenn ein Satz von Einträgen zu der "Badge Hit"-Tabelle hinzugefügt wird und endet, wenn eine vorbestimmte Anzahl von TX-Übertragungen von dem zentralen Computergerät empfangen wurden.
  31. Das System gemäß Anspruch 24, wobei der zentrale Computer die Position einer jeden Einheit an eine separate Einheiten-Positions-Datenbank jedes Mal weiterleitet, wenn die Einheiten-Positions-Datenbank der geometrischen Modelldatenbank aktualisiert wurde, wobei besagte Einheiten-Positions-Datenbank jede Einheit nach dem Namen der Person, des Objekts oder eine Sammlung von diesen, welcher die Einheit repräsentiert, und der letzen bekannten Position der Einheit, auflistet.
  32. Computerlesbares Medium, welches computerausführbare Anweisungen umfasst für das Bestimmen der Position von Einheiten, welche nicht empfangende, nur sendende RF-Sender tragen, welche TX-Identifikationsnachrichten zu mindestens einem nicht sendenden, nur empfangenden RF-Empfänger senden, welche mit einem Computergerät in einem Netzwerk von Computergeräten verbunden sind aus einer Datentabelle, welche über Einträge, welche Felder für eine PIN, welche eine Einheit die mit dem für die TX-Identifikationsnachricht verantwortlichen Sender verknüpft ist, identifiziert, den Signalstärkenindikator, welcher die Stärke des die TX-Identifikationsnachricht tragenden RF-Signals anzeigt, einen Empfängeridentifikator, der den die TX-Identifikationsnachricht empfangenden Empfänger identifiziert, sowie eine Ankunftszeit, welche die Zeit, zu der Eintrag zur Datentabelle hinzugefügt wurde, anzeigt, umfassen, für jede empfangene TX-Identifikationsnachricht verfügt, wobei besagte computerausführbare Anweisungen umfassen: Prüfen der Einträge der "Badge Hit"-Tabelle, um sicherzustellen, dass lediglich Einträge, welche einen Signalstärkenwert größer oder gleich eines vorbestimmten Niveaus aufweisen, und dass nur ein Eintrag pro TX-Übertragung benutzt werden, um die Position eines TX zu bestimmen, dessen Übertragung in dem Eintrag resultierte; für jeden Eintrag, welcher den Schwellwerttest besteht: Sicherstellen, ob die jeweiligen Differenzen zwischen der Ankunftszeit des betrachteten Eintrags und jeder zuvor aufgezeichneten Ankunftszeit der Zeitentabelle, welche dem TX, welcher dem betrachteten Eintrag zugeordnet ist, zugewiesen ist, in eine vorbestimmte Zeitperiode fallen; wann immer die Differenzen zwischen der Ankunftszeit des betrachteten Eintrags und den Ankunftszeiten aller vorherigen Einträge in der Zeitentabelle, welche dem TX, welcher mit dem betrachteten Eintrag verknüpft ist, zugewiesen sind, aus der vorbestimmten Zeitperiode herausfallen, Erachten, dass der betrachtete Eintrag einen Zeitkonfliktauflösungsvorgang bestanden hat und bereit ist für die weitere Verarbeitung, um die Position des TX zu bestimmen; und wann immer die Differenz zwischen der Ankunftszeit des betrachteten Eintrags und der Ankunftszeit von ein oder mehreren der vorherigen Einträge in der Zeitentabelle, welche dem TX zugeordnet sind, welcher mit dem betrachteten Eintrag verbunden ist, in die vorbestimmte Zeitperiode fallen, Annehmen, dass diese Einträge derselben oder einer redundanten TX-Übertragung zugeordnet werden können und Auswählen von lediglich einem von diesen für die weitere Verarbeitung, um die Position des TX zu bestimmen, wobei der ausgewählte Eintrag für die weitere Verarbeitung erachtet wird, das Zeitkonfliktauflösungsverfahren bestanden zu haben; und Bestimmen der Position des Senders, welcher mit jedem der geprüften Einträge verknüpft ist, welche einen Signalstärkenwert größer oder gleich dem vorbestimmten Niveau aufweist und den einzigen Eintrag repräsentiert, welcher einer TX-Übertragung zugeordnet werden kann, welche zu Bestimmung einer Position einer Einheit benutzt wird, basierend auf einer bekannten Position des in dem Eintrag identifizierten Empfängers; Gleichsetzen der Position des Senders mit der Einheit, deren PIN in dem betrachteten Eintrag aufgelistet ist.
  33. Computerlesbares Medium gemäß Anspruch 32, wobei die Anweisung für das Gleichsetzen der Position des Senders zu der Einheit, deren PIN in dem betrachteten Eintrag aufgelistet ist, eine Unter-Anweisung umfasst für das Aktualisieren einer Einheiten-Positions-Tabelle mit der Position eines mit dem Eintrag verknüpften Senders, wobei die Einheiten-Positions-Tabelle eine Liste von Einheiten und der PIN, welche mit jeder Einheit verknüpft ist, und die Position der Einheit, sofern bekannt, umfasst
  34. Computerlesbares Medium gemäß Anspruch 33, wobei die Anweisung für das Bestimmen der Position des Senders, welcher mit jedem der geprüften Einträge verknüpft ist, Unteranweisungen umfasst für: Bestimmen, ob die Einheit, welche mit dem TX verknüpft ist, welcher in dem Eintrag identifiziert ist, eine Position aufweist, welche dieser in der Einheiten-Positionstabelle der geometrischen Modelldatenbank zugewiesen ist; wann immer eine Position zuvor nicht der Einheit in der Einheiten-Positionstabelle zugewiesen wurde, Zuweisen einer Position an die Einheit entsprechend der bekannten Position des RX, welches in dem Eintrag identifiziert ist und Eingeben der Position in die Einheiten-Positionstabelle, wobei die Position des RX in semantischen Termen definiert ist, insofern, dass sich die Position auf eine vorbestimmte Stelle bezieht, in welchem sich der RX befindet; wann immer eine Position der Einheit zuvor in der Einheiten-Positionstabelle zugewiesen wurde, Bestimmen, ob die Position die gleiche ist wie die Position des RX; und wann immer bestimmt wird, dass die Position, die der Einheit in der Einheiten-Positionstabelle zugewiesen ist, nicht dieselbe ist wie die Position des RX, Ersetzen der der Einheit aktuell zugewiesenen Position durch die Position des RX.
  35. Computerlesbares Medium gemäß Anspruch 33, wobei die Anweisung für das Bestimmen der Position des Senders, welcher mit jedem der geprüften Einträge verknüpft ist, Unteranweisungen umfasst für Bestimmen, ob die Einheit, welche mit dem TX verknüpft ist, welcher in dem Eintrag identifiziert ist, eine Position aufweist, welche dieser in der Einheiten-Positionstabelle der geometrischen Modelldatenbank zugewiesen ist; wann immer eine Position zuvor nicht der Einheit in der Einheiten-Positionstabelle zugewiesen wurde, Zuweisen einer Position an die Einheit entsprechend der bekannten Position des RX, welches in dem Eintrag identifiziert ist und Eingeben der Position in die Einheiten-Positionstabelle, wobei die Position des RX in semantischen Termen definiert ist, insofern, dass sich die Position auf eine vorbestimmte Stelle bezieht, in welchem sich der RX befindet; wann immer eine Position der Einheit zuvor in der Einheiten-Positionstabelle zugewiesen wurde, Bestimmen, ob die Position die gleiche ist wie die Position des RX; und wann immer bestimmt wird, dass die Position, die der Einheit in der Einheiten-Positionstabelle zugewiesen ist, nicht dieselbe ist wie die Position des RX, Ersetzen der der Einheit aktuell zugewiesenen Position durch die Position des RX.
DE60319457T 2002-05-01 2003-04-17 Verfahren zur Lokalisierung eines Radiofrequenz-Etikettes Expired - Lifetime DE60319457T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US137238 2002-05-01
US10/137,238 US6993592B2 (en) 2002-05-01 2002-05-01 Location measurement process for radio-frequency badges

Publications (2)

Publication Number Publication Date
DE60319457D1 DE60319457D1 (de) 2008-04-17
DE60319457T2 true DE60319457T2 (de) 2009-03-26

Family

ID=29215693

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60319457T Expired - Lifetime DE60319457T2 (de) 2002-05-01 2003-04-17 Verfahren zur Lokalisierung eines Radiofrequenz-Etikettes

Country Status (4)

Country Link
US (3) US6993592B2 (de)
EP (1) EP1359538B1 (de)
AT (1) ATE388451T1 (de)
DE (1) DE60319457T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993592B2 (en) * 2002-05-01 2006-01-31 Microsoft Corporation Location measurement process for radio-frequency badges
US7626958B2 (en) * 2002-12-05 2009-12-01 The Boeing Company Serial port multiplexing protocol
JP4019986B2 (ja) * 2003-03-20 2007-12-12 セイコーエプソン株式会社 非接触データ通信システム、位置情報管理システム、データ通信装置及びデータ通信装置制御プログラム
US20050104853A1 (en) * 2003-11-13 2005-05-19 Chatree Sitalasai Mechanical motion sensor and low-power trigger circuit
GB2408162A (en) * 2003-11-14 2005-05-18 Multiple Access Comm Ltd Means for monitoring the location of a person within a building
US7408839B2 (en) * 2004-09-09 2008-08-05 Siemens Building Technologies, Inc. Distance measurement for wireless building automation devices
US7378967B2 (en) 2004-09-09 2008-05-27 The Gillette Company RFID tag sensitivity
US7614555B2 (en) * 2004-09-09 2009-11-10 The Gillette Company RFID sensor array
US7161489B2 (en) * 2004-09-09 2007-01-09 The Gillette Company RFID system performance monitoring
US20060063523A1 (en) 2004-09-21 2006-03-23 Mcfarland Norman R Portable wireless sensor for building control
US7382271B2 (en) * 2004-09-29 2008-06-03 Siemens Building Technologies, Inc. Automated position detection for wireless building automation devices
US7378980B2 (en) * 2004-09-29 2008-05-27 Siemens Building Technologies, Inc. Triangulation of position for automated building control components
US20060077058A1 (en) * 2004-10-12 2006-04-13 Del Asher Luggage locator
GB2420051A (en) * 2004-11-04 2006-05-10 Richard Hoptroff Radio Proximity Sensor
US7199715B2 (en) * 2005-03-01 2007-04-03 Kimberly-Clark Worldwide, Inc. System and method for tracking ID tags using a data structure of tag reads
EP1862036B1 (de) * 2005-03-11 2008-12-31 Koninklijke Philips Electronics N.V. Gruppierung drahtloser beleuchtungsknoten nach gebäuderaumanordnung
CA2934721C (en) 2005-03-18 2018-05-01 Gatekeeper Systems, Inc. Two-way communication system for tracking locations and statuses of wheeled vehicles
US20060265664A1 (en) * 2005-05-17 2006-11-23 Hitachi, Ltd. System, method and computer program product for user interface operations for ad-hoc sensor node tracking
US7733216B2 (en) 2005-07-12 2010-06-08 Intel Corporation Radio frequency identification tags capable of embedding receiver signal strength indications
JP2007064765A (ja) * 2005-08-30 2007-03-15 Fujitsu Ltd Rfidタグ装置、rfidリーダライタ装置及び距離測定システム
US7788586B2 (en) * 2005-10-03 2010-08-31 Sony Corporation Content output queue generation
WO2007086808A2 (en) * 2006-01-24 2007-08-02 Agency For Science, Technology And Research System and method for monitoring the status of an inventory item
US7667646B2 (en) * 2006-02-21 2010-02-23 Nokia Corporation System and methods for direction finding using a handheld device
US7633389B2 (en) * 2006-04-14 2009-12-15 Motorola, Inc. Location enabled device with power saving control and method thereof
US7519375B2 (en) * 2006-06-30 2009-04-14 Evercom Systems, Inc. Information dissemination systems and methods for use in a controlled environment facility
US20120040650A1 (en) * 2006-08-11 2012-02-16 Michael Rosen System for automated detection of mobile phone usage
US8346863B2 (en) * 2006-08-15 2013-01-01 International Business Machines Corporation Contact initialization based upon automatic profile sharing between computing devices
US20080180213A1 (en) * 2006-11-07 2008-07-31 Flax Stephen W Digital Intercom Based Data Management System
US20080220780A1 (en) * 2007-03-07 2008-09-11 Honeywell International Inc. Method for the automatic calibration of location anchors
US8165034B2 (en) * 2007-03-16 2012-04-24 Jon Buchwald Configurable zone-based location detection
US8260324B2 (en) * 2007-06-12 2012-09-04 Nokia Corporation Establishing wireless links via orientation
MX339490B (es) * 2007-11-05 2016-05-27 Sloan Valve Co Centro de conveniencia para baños.
CN101525958B (zh) * 2008-03-06 2012-09-26 旭丽电子(广州)有限公司 防盗锁
US8478642B2 (en) * 2008-10-20 2013-07-02 Carnegie Mellon University System, method and device for predicting navigational decision-making behavior
US8719867B2 (en) * 2009-11-20 2014-05-06 At&T Intellectual Property I, Lp Method and apparatus for presenting media content
CA2860480A1 (en) * 2011-12-28 2013-07-04 Aeroscout, Ltd. Methods and systems for locating devices
US20170123622A1 (en) * 2015-10-28 2017-05-04 Microsoft Technology Licensing, Llc Computing device having user-input accessory
DE102016111706A1 (de) * 2016-06-27 2017-12-28 Hella Kgaa Hueck & Co. Verfahren und System zum Erfassen einer Relativposition eines mobilen Endgeräts in Bezug auf ein Fahrzeug
CN110174644A (zh) * 2019-05-14 2019-08-27 北京猎户星空科技有限公司 利用多无线传感信号进行测距的方法和装置及智能设备
US11057689B1 (en) 2020-12-10 2021-07-06 Elliot Klein Docking station accessory device for connecting electronic module devices to a package

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640151A (en) * 1990-06-15 1997-06-17 Texas Instruments Incorporated Communication system for communicating with tags
US5455851A (en) * 1993-07-02 1995-10-03 Executone Information Systems, Inc. System for identifying object locations
US5515419A (en) * 1992-06-01 1996-05-07 Trackmobile Tracking system and method for tracking a movable object carrying a cellular phone unit, and integrated personal protection system incorporating the tracking system
US5602903A (en) * 1994-09-28 1997-02-11 Us West Technologies, Inc. Positioning system and method
US6072396A (en) * 1994-12-30 2000-06-06 Advanced Business Sciences Apparatus and method for continuous electronic monitoring and tracking of individuals
US5596313A (en) * 1995-05-16 1997-01-21 Personal Security & Safety Systems, Inc. Dual power security location system
US5944659A (en) * 1995-11-13 1999-08-31 Vitalcom Inc. Architecture for TDMA medical telemetry system
US6011487A (en) * 1996-09-17 2000-01-04 Ncr Corporation System and method of locating wireless devices
US6236335B1 (en) * 1996-09-17 2001-05-22 Ncr Corporation System and method of tracking short range transmitters
US5796827A (en) * 1996-11-14 1998-08-18 International Business Machines Corporation System and method for near-field human-body coupling for encrypted communication with identification cards
US5920287A (en) * 1997-01-21 1999-07-06 Widata Corporation Radio location system for precisely tracking objects by RF transceiver tags which randomly and repetitively emit wideband identification signals
US5977913A (en) * 1997-02-07 1999-11-02 Dominion Wireless Method and apparatus for tracking and locating personnel
US6380732B1 (en) * 1997-02-13 2002-04-30 Super Dimension Ltd. Six-degree of freedom tracking system having a passive transponder on the object being tracked
US6204813B1 (en) * 1998-02-20 2001-03-20 Trakus, Inc. Local area multiple object tracking system
US5987329A (en) * 1997-07-30 1999-11-16 Ericsson Inc System and method for mobile telephone location measurement using a hybrid technique
US6167275A (en) * 1997-12-17 2000-12-26 Motorola, Inc. Method and apparatus for determining a location of a communication unit in a wireless communication system
US6188356B1 (en) * 1998-05-12 2001-02-13 Advantest Corporation Radio monitoring method and apparatus
US6292106B1 (en) * 1998-10-13 2001-09-18 Cubic Defense Systems, Inc. Acoustical system and method for simultaneously locating and tracking multiple personnel in rooms of a building
US6184829B1 (en) * 1999-01-08 2001-02-06 Trueposition, Inc. Calibration for wireless location system
US6480108B2 (en) * 1999-05-24 2002-11-12 The United States Of America As Represented By The United States Postal Service Method and apparatus for tracking and locating a moveable article
US7411921B2 (en) * 1999-10-21 2008-08-12 Rf Technologies, Inc. Method and apparatus for integrating wireless communication and asset location
US6418372B1 (en) * 1999-12-10 2002-07-09 Siemens Technology-To-Business Center, Llc Electronic visitor guidance system
US6611755B1 (en) * 1999-12-19 2003-08-26 Trimble Navigation Ltd. Vehicle tracking, communication and fleet management system
US6512478B1 (en) * 1999-12-22 2003-01-28 Rockwell Technologies, Llc Location position system for relay assisted tracking
US20020008621A1 (en) * 2000-01-06 2002-01-24 Isogon Corporation Method and system for determining the inventory and location of assets
US6388612B1 (en) * 2000-03-26 2002-05-14 Timothy J Neher Global cellular position tracking device
US6529164B1 (en) * 2000-03-31 2003-03-04 Ge Medical Systems Information Technologies, Inc. Object location monitoring within buildings
US6600407B2 (en) * 2000-07-20 2003-07-29 Speedchip Co., Ltd. Record measurement method and system using radio frequency identification
US6473038B2 (en) * 2001-01-05 2002-10-29 Motorola, Inc. Method and apparatus for location estimation
WO2003021851A2 (en) * 2001-09-05 2003-03-13 Newbury Networks, Inc. Position detection and location tracking in a wireless network
JP2003157477A (ja) * 2001-11-19 2003-05-30 Hitachi Ltd タグ管理サーバとこれを用いた情報の取得・活用システム
US6801159B2 (en) * 2002-03-19 2004-10-05 Motorola, Inc. Device for use with a portable inertial navigation system (“PINS”) and method for transitioning between location technologies
US7016692B2 (en) * 2002-03-20 2006-03-21 Samsung Electronics Co., Ltd. Technique to facilitate location determination of wireless data calls
US6920330B2 (en) * 2002-03-26 2005-07-19 Sun Microsystems, Inc. Apparatus and method for the use of position information in wireless applications
US6993592B2 (en) * 2002-05-01 2006-01-31 Microsoft Corporation Location measurement process for radio-frequency badges
US6664925B1 (en) * 2002-05-02 2003-12-16 Microsoft Corporation Method and system for determining the location of a mobile computer
US7050786B2 (en) * 2002-10-30 2006-05-23 Lockheed Martin Corporation Method and apparatus for locating a wireless device
GB0225428D0 (en) * 2002-10-31 2002-12-11 Mitel Knowledge Corp Call redirection zones for wireless communications
US6839027B2 (en) * 2002-11-15 2005-01-04 Microsoft Corporation Location measurement process for radio-frequency badges employing path constraints
US7437167B2 (en) * 2002-12-10 2008-10-14 Steve Gene Kartchner Apparatus, system, and method for locating a transceiver using RF communications and radio services

Also Published As

Publication number Publication date
EP1359538B1 (de) 2008-03-05
US7293104B2 (en) 2007-11-06
US20030206115A1 (en) 2003-11-06
US20050270170A1 (en) 2005-12-08
EP1359538A3 (de) 2004-12-29
ATE388451T1 (de) 2008-03-15
US6993592B2 (en) 2006-01-31
US20060265447A1 (en) 2006-11-23
DE60319457D1 (de) 2008-04-17
EP1359538A2 (de) 2003-11-05

Similar Documents

Publication Publication Date Title
DE60319457T2 (de) Verfahren zur Lokalisierung eines Radiofrequenz-Etikettes
US20200250356A1 (en) Methods and apparatus for healthcare facility optimization
Steggles et al. The Ubisense smart space platform
DE602004007995T2 (de) System und Verfahren zur Benutzung mobiler Sammler zum Zugriff auf ein schnurloses Sensor-Netzwerk
DE112005000028B4 (de) Erfassung von Daten bezüglich der Nutzung von Veröffentlichungen durch eine Person
DE69728810T2 (de) System und Verfahren zur Lokalisierung eines Gegenstandes
JP2021511012A (ja) 魚測定ステーション管理
DE69834549T2 (de) Detektionssystem zumr bestimmen der lage von objekten
Saquib et al. Sensei: sensing educational interaction
DE10214069A1 (de) Aufzeichnen von Bildern zusammen mit Verbindungsinformationen
AT511881A1 (de) Verfahren und system zur lokalisierung eines kommunikationsgerätes
DE112008003949T5 (de) Ein Verfahren und ein System zum Bestimmen der Position eines Subjekts, und eine Hochfrequenz-Identifikations-Tag-Baugruppe
DE112005001747T5 (de) System und Verfahren zur Ortung von Personen oder Gegenständen mittels zentraler Berechnung einer Knotenposition und zum Anzeigen der Knotenpositionen
CN108255942A (zh) 配置滑雪场、游乐园或体育馆内设施人数容量的方法
CN207010727U (zh) 一种基于大数据的电子通信环境监控系统
WO2012079107A2 (de) Verfahren zum anzeigen einer einem tier zugeordneten information
US20040174269A1 (en) System and method for tracking personnel at a site
EP1405041B1 (de) Verfahren zur erfassung von zählerstandsdaten und verbrauchsdaten-erfassungssystem
DE69821334T2 (de) Detektionssystem zur bestimmung von objektbezogener positionsinformation
CN110084336A (zh) 一种基于无线定位的监所物品管理系统和方法
CN112508476A (zh) 一种针对智能仓储场景的可视化管理系统
EP1357700A3 (de) Bildverarbeitungsvorrichtung in einer Netzverwaltungsumgebung
DE112018005580T5 (de) Standortkalibrierung auf grundlage von bewegungsweg und kartenobjekten
DE102022122084A1 (de) Umgebungs-Mapping basierend auf UWB-Tags
CN108540940A (zh) 一种基于时间反演技术的监狱人员定位管理系统

Legal Events

Date Code Title Description
8364 No opposition during term of opposition