Fachbereich Elektrotechnik/Informatik Fachgebiet Communication Technologies Ausarbeitung Identifizieren typischer Kontexte und deren Beziehung zu Sensoren und Sensordaten Alexander Iliew, Sebastian Wojtek, Nhu Thao Dang Pham 28. November 2006 1 Inhaltsverzeichnis 1. Vorwort _______________________________________________________________ 3 2. Typische Kontexte_______________________________________________________ 4 3. 2.1. Kontext für Sensornetze __________________________________________________ 4 2.2. Kontext in Transport und Logistik _________________________________________ 4 2.3. Lösungen für Transport und Logistik _______________________________________ 5 2.4. Vitaldaten als Kontext ____________________________________________________ 7 2.5. Lösungen in medizinischer Umgebung ______________________________________ 8 2.6. Body Area Networks ____________________________________________________ 10 Möglichkeiten der Datenerfassung ________________________________________ 13 3.1. Datenquellen zur Berechnung des Kontext __________________________________ 13 3.2. Vom Messwert zur Information ___________________________________________ 15 3.3. Beispiel Sonnenbadassistent ______________________________________________ 18 4. Wie können Sensoren verwendet werden? __________________________________ 20 5. Von Sensordaten zum Kontext ____________________________________________ 21 6. 5.1. Feature erfassen ________________________________________________________ 21 5.2. Schichtenmodell ________________________________________________________ 22 Zusammenfassung _____________________________________________________ 26 2 1. Vorwort Die schnelle Entwicklung im Bereich kontextsensitiver Sensorennetzwerke hat eine Reihe von Einsatzmöglichkeiten geschaffen, deren Verwendung einen großen Fortschritt in Hinsicht Qualität und Produktivität in den Arbeitsprozessen von Unternehmen darstellt. Es werden für jeden Wirtschaftszweig spezifische Netze entwickelt, die im Zusammenspiel mit der vorhandenen Infrastruktur die Wertschöpfung ergeben. So werden Informationen von lokalen Netzen mit denen global umspannender Netze oder denen aus bestehenden Datenbanken verknüpft, ausgewertet und für den Nutzer aufbereitet. Diese Ausarbeitung gibt einen Einblick in Einsatzgebiete von heute in Wirtschaft, Medizin, Zivilleben und Militär, welche auch in Zukunft einen zunehmenden Einfluss auf unser Leben haben werden. Wir stellen dar welche Sensoren im speziellen Kontext eingesetzt werden und wie sie funktionieren. Modelle zur Datenerfassung und -auswertung werden aufgezeigt, mit deren Hilfe der Kontext aufgenommen, erkannt und auf ihn reagiert werden kann. 3 2. Typische Kontexte 2.1. Kontext für Sensornetze Um den Begriff Kontext zu klären, benutzen wir die Definition von A. Dey and G. Abowd [1]. Der Kontext wird als Information einer Entity 1 betrachtet, welche dazu benutzt werden kann die Situation der Entity zu charakterisieren. Diese Entity kann wiederum ein Platz, eine Person, ein physikalisches Objekt oder ein Objekt aus dem Computer sein. Ökonomische Prozesse machen es erforderlich Produktionsketten vom Einzelteil bis zum fertigen Endprodukt und der Abgabe dessen an den Verbraucher zu Überwachen. Sensornetze bieten ideale Möglichkeiten die gewonnen Informationen schnell und sicher zu erfassen und zu verarbeiten. In Fertigungsbereichen können durch frühzeitiges Erkennen von auftauchenden Problemen längere Ausfallzeiten umgangen werden, die Produktqualität und der Verbrauch von Rohstoffen sowie Energie bleiben konstant. Je nach Bedarf benutzt man Flusskontrollsensoren in Leitungen, Temperaturfühler, Lasertechnik zur Abstandsmessung, Drucksensoren, induktive Sensoren zur Schichtdickenmessung oder Hallsensoren zur Strommessung. 2.2. Kontext in Transport und Logistik Um nun auch die Endprodukte auf ihrem Weg zum Kunden weiterhin unter Kontrolle zu haben forderten Unternehmen Möglichkeiten Position und Zustand der Produkte während des Transportes jederzeit überprüfen zu können. Als wichtiger Wirtschaftszweig werden auch Logistikunternehmen in Zukunft vom Einsatz von Sensornetzen profitieren. So auch Transport und Logistik Unternehmen welche Cargo Container zu Hunderten weltweit verschiffen. Das Identifizieren der Container hat bisher viel Zeit in Anspruch genommen. Die Container gleichen sich äußerlich, meist sind sie in großer Anzahl 1 Als Entity wird in der Informatik ein eindeutig zu bestimmendes Objekt bezeichnet, dem Informationen zugeordnet werden. 4 zusammengestellt, so dass zu den innen stehenden Containern kein Zugang ist. Die Unternehmen suchten nach Lösungen dies unkompliziert und schnell zu bewerkstelligen. Es müssen die Container einwandfrei zu identifizieren und lokalisieren sein. Der Inhalt muss überwacht werden können. Bezugnehmend auf die Definition, ist hier die Entity der Container, nicht unbedingt nur der einzelne Container vielmehr alle Container in einer definierten Umgebung, der Kontext besteht aus Position, Inhalt und einiger weiteren Informationen, welche den Inhalt betreffen und nachfolgend erklärt werden. Durch die Beschaffenheit der Container, aus Metall, dicht zusammenstehend, ergeben sich technische Hürden, wie Dämpfung und Interferenzen durch Streuung, Reflektion und Absorption, welche überwunden werden müssen. 2.3. Lösungen für Transport und Logistik Schauen wir uns an welche Lösungen geschaffen wurden. Identecsolutions eine österreichische Firma bietet ein auf long-range RFID basierendes System zum identifizieren der Container an [2]. Ein am Container angebrachter Tag speichert Seriennummer zum Identifizieren, und verschiedene Daten wie Lagertemperatur oder Geschichte, der Fracht. Mit einem Lesegerät ist es möglich den Tag bis zu einer Entfernung von 100m auszulesen. Durch den Benutzer in diesem Fall der Mitarbeiter des Logistikunternehmens wird am Lesegerät der gesuchte Container aufgerufen. Das Lesegerät fordert nun den zugehörigen Tag auf sich zu melden. Eine LED am Tag signalisiert dem Nutzer welcher Tag aktiv ist. Ohne Aufforderung des Lesegerätes sendet ein Tag also nicht. Dies hat die Vorteile dass keine Daten unberechtigt ausgelesen werden können, es entstehen auch weniger Interferenzen, welche den Empfang beeinträchtigen. Die Lebensdauer eines Tags beträgt durch das seltene Senden mehr als fünf Jahre. Außerdem besitzen sie einen nicht flüchtigen Speicher bis zu 32 KB. Sie senden auf UHF Frequenzen mit 868 MHz in Europa, 916 MHz in Nord Amerika mit Datenraten von 115KB/s. Die Sendeleistung, und damit die Reichweite, wird mittels Software eingestellt. Dieses System wurde durch die Zusammenarbeit mit der amerikanischen Firma RFTrax erweitert [3]. RFTrax ist auf End-to-End Asset Management-Lösungen mit 5 Sensornetzen spezialisiert. Mit deren Hilfe steigern Organisationen ihre Produktivität und minimieren Verluste. In Abbildung 2.3.1 ist das System von RFTrax zu sehen. Es werden mehrere Sensoren im inneren des Containers angebracht, welche verschiedenste Überwachungsfunktionen übernehmen. Es können Geschwindigkeits-, Strahlungs-, Temperatur-, Feuchtigkeits-, Einbruchs-, oder Füllständssensoren integriert werden. Mit Hilfe deren wir den Kontext des Containers ermitteln können. Steigt zum Beispiel die Temperatur stark an können Kühlanlagen gestartet werden. Regnet es so werden Lüftungsklappen geschlossen. Die Module an der Containertür welche als Basisstation dienen sammeln die Informationen der Sensoren und leiten sie an einen zentralen Container mit Rechner. weiter. Damit die Daten zur Basis gelangen werden sie über dazwischenliegende Sensoren geroutet. Es ist möglich das ein Container dessen Basis aufgrund zu großer Entfernung oder Dämpfung keine Verbindung zum Rechner aufbauen kann, seine Daten über andere Container verschickt. Über GPS wird die Position des Containers bestimmt. Per GSM werden die Daten an die Rechner des Kunden geschickt auf denen eine Auswertungssoftware installiert ist. Der Anwender kann innerhalb kürzester Zeit auf die Daten zugreifen und diese auswerten. So sieht er wo und wann Beschädigungen an der Fracht entstehen. Auf erkannte Missstände lässt sich schnell reagieren. Der Fehler auf dem Transportweg kann in Zukunft vermieden werden, zerstörte Teile kann man frühzeitig nachbestellen. 6 Abbildung 2.3.1 Sensornetz für Cargo Container http://mil.sensorsmag.com/sensorsmil/data/articlestandard//sensorsmil/362006/370567/i2.jpg 2.4. Vitaldaten als Kontext In der Medizin können Sensornetze die Überwachung von Patienten übernehmen. Entity ist der Patient, Kontext seine Vitaldaten. So ist auch ein Monitoring zu Hause machbar. Der behandelnde Arzt bekommt die Daten per Internet übermittelt. Auslastung der Krankenhäuser wird so geringer und es können Kosten gespart werden. Die Ansprüche an solche Netze sind natürlich ungleich höher als Netze für Transportunternehmen. Ein Sensornetz muss bestehende Technik integrieren, d.h. ein vorhandenes Implantat, welches auf für medizinische Geräte zugelassene Frequenzen sendet, muss vom Netz trotzdem empfangen werden. Aufzeichnungen mit Datum und Uhrzeit, Synchronisation, Reaktionszeiten haben die Anforderungen von Echtzeitsystemen. Die Ausfallsicherheit der Sensoren und Geräte müssen den Anforderungen entsprechen, welche an alle medizinischen Geräte gestellt werden. Ein modulares System ist wichtig damit verschiedene Geräte, oder Geräte verschiedener Hersteller miteinander kombiniert werden können. So soll ein Notarzt 7 nicht mehrere Systeme von Hard- oder Software zum Auslesen von Daten des Patienten benötigen. Patientendaten müssen sensibel und den Datenschutzrichtlinien gemäß behandelt werden, das Netz aber diese immer zuordnen können. Sensoren eines Patienten welcher sich in ein anderes Zimmer begibt, dürfen nicht Werte eines anderen Patienten verfälschen. Dazu sind DRM ähnliche Sicherheitsverfahren zu entwickeln [4]. 2.5. Lösungen in medizinischer Umgebung Infinity OneNet von Dräger Medical das weltweit erste System welches diese Anforderungen erfüllt ermöglicht eine klare Abgrenzung der Vitaldaten der Patienten von den IT-Daten des Krankenhauses. Das Netz basiert auf Standards wie 802.3 Ethernet und WiFi. Durch Technik von Packeteer wird intelligentes Bandbreitenmanagement möglich. Lebenswichtige Daten wie Alarmsignale werden mittels QoS priorisiert übertragen. Das System weist ihnen eine dedizierte Bandbreite zu. Sensoren, welche die Vitaldaten des Patienten messen, sind zurzeit noch mit einer Station verbunden, die mit einer Sendeeinheit Kontakt zum WLAN besitzt. Eine Software ermittelt aus den Echtzeitdaten und den archivierten Daten des Patienten für den Behandelnden die wichtigen Informationen. Diese sind überall von autorisiertem Personal abrufbar. So ist eine schnelle Diagnose möglich, Konsultationen vereinfacht, schnellere Entscheidungen ermöglicht und erleichtert Ärzten und Schwestern die Arbeit. Infinity TeleSmart erweitert dieses System dahin, dass der Patient seine Telemetrieeinheit direkt am Körper trägt und so mobil ist. Entfernt er sich aus dem WLAN Bereich werden seine Daten dennoch im Gerät gespeichert und später übertragen [5]. Verschiedene andere Projekte forschen auf Basis der MicaZ Sensorboards und dem an der Universität Berkeley entwickeltem Betriebssystem TinyOS. Das Board besteht aus einem Mikrocontroler Atmel Atmega128L oder TI MSP430, Speicher zwischen 4 8 und 10kb und einem WLAN Interface mit circa 100m Reichweite welches Datenrate bis 80kb/s erreicht. So beschäftigt sich z.B. CodeBlue ein Projekt an der Harvard Universität mit dem entwickeln von Sensornetzen zum Überwachen von Vitaldaten des Patienten in Notfallsituationen. Sie entwickelten ein Pulsmeter und EKG Messgerät. Mit WLAN fähigen Geräten wie Laptops oder PDAs in Reichweite, lassen sich die Sensoren auslesen. Patienten können innerhalb eines Gebäudes (WLANs) getrackt werden. Außerdem verfügen sie über einstellbare Alarmfunktionen um zu Signalisieren dass der Wert eine definierte Schwelle erreicht hat [6]. Zu hause helfen Sensornetze bei Gesundheitsstudien über längere Zeiträume. Sie können effektiver als heutige Methoden eingesetzt werde, da durch ihre kompakte Bauweise auch ein Tragen im Alltag möglich ist. Aufzeichnungen werden in Echtzeit durchgeführt und Kontextdaten miteinbezogen. So muss der Patient bisher bei einer längerfristigen EKG Untersuchung zu Hause in regelmäßigen Abständen seine Tätigkeit angeben. Dies könnte teilweise mit Kontextinformationen geschehen. In der Kardiologie könnten Labor-Stresstests wegfallen, dafür wird der Patient in seiner normalen Umgebung monitort, und die Symptome werden beim Auftreten sofort erkannt. Kommunikationshilfe Ältere Menschen profitieren bei Notfällen. Chronisch von kranke Gedächtnisstützen, Patienten z.B. Diabetespatienten bekommen Hilfestellungen bei der Bestimmung von Körper-, Blutwerten und der Einnahme der Medizin. Dr. Sokwoo Rhee von der Firma Millennial Net, Inc. entwickelte einen Sensorring (Abbildung 2.5.1, Abbildung 2.5.2), welcher Vitaldaten wie Körpertemperatur, Blutdruck, Sauerstoffgehalt des Blutes, Puls und Veränderung des Herzschlages misst. Er sendet diese Daten permanent an eine Station welche einfach per Mobiltelefon oder PDA ausgelesen werden kann. Von diesen wird über das Internet Verbindung zu Servern hergestellt auf welche de behandelnde Arzt zugreifen kann. Um die Daten zu erfassen wird der Finger des Patienten von zwei LED durchleuchtet. Ein Photodetektor misst Stärke und Spektrum des durchscheinenden Lichtes. Mit jedem Herzschlag ändert sich das Durchscheinen, so dass die Daten berechnet 9 werden können. Als Übertragungsfrequenz sind 433.92 MHz eingestellt. Mit einer 3V Lithium Knopfbatterie beträgt die Laufzeit circa ein Jahr [7]. Abbildung 2.5.1 Sensorring http://darbelofflab.mit.edu/ring_sensor/ring_sensor.jpg Abbildung 2.5.2 Sensorring Übersicht http://darbelofflab.mit.edu/ring_sensor/image003.jpg 2.6. Body Area Networks An diesem Punkt knüpfen Body Area Networks (BAN) an. In der Literatur wird auch der Begriff Personal Area Networks (PAN) synonym verwendet. Der menschliche Körper wird total vernetzt. Die Datengrundlage für die Erkennung Beispielsweise des medizinischen Kontextes wird dadurch erweitert. Anforderungen an die Leistung dieser Sensoren sind durch den geringen Abstand auf dem Körper wesentlich niedriger als an Sensoren in herkömmlichen Netzen. Damit können sie mit sehr kleinen Batterien betrieben werden und sind dadurch auch selbst wesentlich kleiner [8]. 10 Schon jetzt können vorhandene Informationsquellen wie Pulsmesser, Schrittfrequenzzähler, Musikgerät, Mobil gemeinsam ausgewertet werden. Die Kontrolle hierüber übernimmt zurzeit noch der Mensch selber. Die Idee des Body Area Networks besteht darin, dass jedes Gerät seine eigene Intelligenz besitzt, und abgestimmt auf andere Geräte mit ihnen kommuniziert und auf Ereignisse reagiert. Beispielsweise wird die Musik bei einem ankommenden Telefongespräch ausgeschaltet. Hier ist der Ansatz die Sensoren in Kleidungsstücke zu integrieren, um lästiges anlegen zu vermeiden. Intelligente Kleidung kann auf Temperaturunterschiede reagieren oder Daten über Aktivitäten sammeln. Sie reagiert aktiv auf Veränderungen der Umwelt. Dies können z.B. Nässe, Kälte, Wärme sein. Auf diese Einflüsse kann die Kleidung trocknen, wärmen, kühlen oder auch die Farbe wechseln. Kleidung für spezielle Einsätze wie z.B. Sicherheitsanzüge, Bergsteigerkleidung kann über Sensoren den Gesundheitszustand, Position, Bewegung feststellen. Die Firma Personal Electronics bietet eine Ausstattung für Snowmobile – Benutzer. Im Falle eines Unfalles wird per GPS der Standort bestimmt und per GSM Hilfe gerufen. Die Herzfrequenz wird überwacht, ebenso wie die Temperaturen an verschiedenen Stellen des Körpers. Werden kalte Stellen bemerkt, werden diese durch elektrische Leitungen gewärmt. Smart Underwear stellt fest wenn der Träger anfängt zu schwitzen und sorgt dafür das die Klimaanlage die Temperatur herunterregelt [9]. Das CyberJacket von der University of Bristol wurde entwickelt, um dem Benutzer Zugang zum Internet und zu ortsbezogenen Informationen relativ zum aktuellen Aufenthaltsort zu liefern (z.B. Tourist-Informationen). Dies wird mittels GPS und einer GSM-Modem-Verbindung zu einem Server realisiert [10]. In Abbildung 2.6.1 ist das Smart Shirt von Sensatex zu sehen. Die Grundlage bildet ein von der Universität Georgia Tech entwickeltes tragbares Motherboard. Bei der Herstellung werden optische Leiter aus Plastik in das Shirt eingewoben. Es stellt bei Unterbrechung des Lichtstrahls Verletzungen von Soldaten fest unter der 11 Einbeziehung von anderen Kontextdaten(Vitaldaten, Geräusche, Kommandos). Ein integriertes Netz von Vitalsensoren verbunden mit einem Personal Status Monitor hilft der medizinischen Einheit die schwere der Verwundung festzustellen. Die Sensoren werden mithilfe von T-Verbindungsstücke an die Leitungen gekoppelt. So können sie an beliebiger Stelle des Shirts getragen werden [11][12]. Abbildung 2.6.1 Smart Shirt von Sensatex http://www.sensatex.com/images/smartshirt2.jpg 12 3. Möglichkeiten der Datenerfassung 3.1. Datenquellen zur Berechnung des Kontext Um das Umfeld eines mobilen Gerätes bestimmen zu können müssen relevante Daten über die Umgebung gesammelt und ausgewertet werden. Einige Daten liegen schon gespeichert im Mobilen Gerät vor, andere müssen mittels Sensoren erfasst werden. Darüber hinaus kann unsere Applikation die Kommunikationsmöglichkeiten des Gerätes nutzten um weitere Daten zu beschaffen. Zum einen kann versucht werden mit anderen Geräten zu kommunizieren, bzw. Daten von ihnen abzufragen zum anderen können Benutzereingaben angefordert werden. Wir können also mögliche Datenquellen unterscheiden: sofort abrufbare Daten aus dem Speicher des Geräts, wie z.B. Uhrzeit, Datum, Terminkalender, … von Sensoren abgefragte Daten wie z.B.: Temperatur, Helligkeit, Beschleunigung, durch externe Kommunikation angefragte Daten: mittels Bluetooth, GSM, Wlan Benutzereingaben Unterscheidung Datenquellen Andere Geräte Mobiles Gerät Variablen Datum Uhrzeit Kalender Terminplan … Sensoren Temperatur Helligkeit/Wellenlänge Beschleunigung Luftdruck Berührung/Druck Spannung, Strom Magnetfeld elektrisches Feld Schall, Puls Position … GSM – BS Wlan hotspot Mobiltelefon PDA Sensorpunkte GSM Bluetooth Infrarot Benutzer Tastatur Touchpad Tochscreen Sprache Abbildung 3.1.1 Unterscheidung der Datenquellen Es hängt dabei vom jeweiligen Gerätetyp und Betriebszustand ab, welche Daten mit welchen mitteln erlangt werden können und ob sie eventuell sofort abrufbereit 13 vorliegen. So kann es Beispielsweise sein, dass in einem Gerätetyp Daten über seine Position ständig bereit gehalten werden(Navigationssystem), wohingegen bei einem anderen eventuell Typ erst Gerätefunktionen initialisiert und abgefragt werden müssen.(Smart Phone mit GPS-Modul). Also auch der Zeitpunkt, wann die Daten angefordert werden kann darüber entscheiden, ob sie bereits vorliegen oder nicht. Sie könnten schon vorher von einer anderen Applikation angefordert worden sein oder werden ständig vom Gerät bereitgehalten. Werden zu einem früheren Zeitpunkt gemessene Daten genutzt, muss die Anwendung überprüfen ob die Aktualität noch ausreichen ist oder neu gemessen werden soll. Das Bedeutet die getroffene Unterscheidung der Datenquellen muss für jeweilige Anwendung und mögliche Systemzustände angepasst werden. Sie bietet aber eine gute Grundlage um Aussagen darüber treffen zu können mit welchem Aufwand eine Datenabfrage potentiell verbunden ist. Diese Unterscheidungen spielen insofern eine wichtige Rolle, weil sie helfen einen Überblick über die Vielzahl von Umgebungsvariablen zu finden. Desweiteren kann der Entwickler beim Entwurf der Applikation den Aufwand abschätzten eine gewünschte Information zu erlangen. Das Ansprechen von einigen Sensoren ist viel zeitaufwändiger und verbraucht mehr Energie als die Abfrage von vorhandenen Variablen der Software. Darüber hinaus ist die Implementierung aufwendiger die Verfügbarkeit der Sensoren unter Umständen nicht immer gewährleistet. Geräteexterne Kommunikation ist noch aufwendiger, meist nicht zuverlässig und unsicher. Ob eine Anfrage Erfolg hat ist Abhängig von der Zugänglichkeit des Übertragungsmediums und der Übertragungsbereitschaft der anderen Geräte. Befindet sich eines der Geräte in einem Funkloch oder ist beispielsweise die Infrarotschnittstelle abgedeckt wird die Datenanfrage Erfolglos bleiben. Immerhin könnte man die Information nicht kommunizieren zu können in den Kontext mit einbeziehen. Die Aufforderung des Benutzers das Programm zu bedienen sollte in den meisten Anwendungen klein gehalten werden. Schließlich soll ein kontextsensitives System seine Informationen aus seiner Umgebung erlangen. Benutzereingaben sind bei wichtigen Entscheidungen jedoch sinnvoll, um zu verhindern, dass der Benutzer das Gefühl bekommt das Gerät nicht unter Kontrolle zu haben. Auch sollte der Benutzer jederzeit automatische Abläufe und Reaktionen stoppen abschalten können. 14 3.2. Vom Messwert zur Information Messung Energieverbrauch Sensorpreis Geringe Rechenleistung Keine Wartung Verschleiß Verschmutzung Messdauer mögl. geringe Sensorgröße geringes Gewicht Nässe Vibrationen Qualitätssensor Empfindlichkeit/Auflösung Sensor Kalibrierung Genauigkeit Reaktionszeit hinreichende Wartung sichere Energieversorgung Aussagekräftiges Ergebnis Abbildung 3.2.1 Schwierigkeiten und Störfaktoren bei Messungen Um aus einem Messwert eine nutzbringende Information zu generieren müssen viele Dinge beachtet werden. Zuerst muss festgelegt werden, welche Größe gemessen werden soll. Danach sollte man sich im klären sein, welche Messwerte erwartet werden bzw. ein verwertbares Ergebnis darstellen, um Fehlmessungen als solche erkennen zu können. Umwelteinflüsse und Randbedingungen sind immer in die Bewertung des Messergebnis mit einzubeziehen (Abbildung 3.2.1). Dabei ist es möglich schon bekannte Kontextinformationen mit einzuschließen. Stellt das System etwas fest, dass das Mikrofon einen Defekt hat, so sind alle Geräuschmessungen hinfällig. Auch kann sich hohe Temperatur oder Feuchtigkeit eventuell negativ auf Messungen auswirken. Beim Messen gilt es Störfaktoren zu vermeiden, zu eliminieren oder zu kompensieren. Ein Automatisches System wird sich im Regelfall auf Kompensation beschränken müssen. Es sein denn, es ist gewünscht bei bestimmten Fehlern den Benutzer durch Fehlermeldungen zu Informieren. Zum Beispiel die Aufforderung einen Sensor zu Reinigen, Beispielsweise eine Fotolinse. Wir stellen also fest, dass nicht nur Datenanfragen an andere Geräte fehlschlagen können. Auch Anfragen an im Gerät eingebaute Sensoren können scheitern oder zu unerwünschten Ergebnissen führen. Ein robustes System sollte damit umgehen können und weitgehend seine Funktionstüchtigkeit beibehalten. Anhand dieses Beispiels ist zu erkennen, das zwischen zufälligen Fehlern und Systematischen Fehlern unterschieden werden sollte um die Messwerte richtig zu interpretieren (Abbildung 3.2.2). 15 zufälliger Fehler Systematischer Fehler Beispiel aus dem Skript: Meßabweichung von Dr.-Ing. Olfa Kanoun, FB 16 Messtechnik Abbildung 3.2.2 Unterscheidung zwischen zufälligen und systematischen Messfehlern Messunsicherheit Abbildung 3.2.3 Möglicher Umgang mit Messabweichungen Die Abbildung 3.2.3 verdeutlicht, wie ein System mit Messabweichungen umgehen sollte. Der Messwert wir entweder als zufällig abweichend oder als systematisch 16 abweichend klassifiziert und entsprechend weiter verarbeitet. Kann mittels vorausgehender Vergleichsmesswerte erkannt werden, dass eine systematische Abweichung vorliegt, ist es möglich das Ergebnis durch Kalibrierung zu korrigieren. Dies verringert, die Messunsicherheit der Messergebnisabweichungen können also mittels Einsatz dieser Techniken minimiert werden. Welchen Anteil die Anwendung an diesen Vorgängen hat und wie viel Einfluss sie auf die Messung ausüben kann muss man im konkreten Anwendungsfall entscheiden. Ist eine abstraktere Schnittstelle für die Anwendung gewünscht so würde das System nur das evtl. korrigierte Endergebnis liefern. Der Sensor kann je nach Anforderung mehr oder weniger Verarbeitungsaufgaben übernehmen wie man anhand Abbildung 3.2.4 erkennen kann. Abbildung 3.2.4 Integrationsgrad von Sensortypen. http://sensorlab.ims-chips.de/content/m1k1p3.htm Zusammenfassend lässt sich sagen, dass nachdem eine Anfrage an einen Sensor gestellt wurde einige Arbeitsschritte abgearbeitet werden müssen, um aus den Messwerten Daten zu gewinnen. Diese Daten müssen kombiniert und bewertet werden um uns einen Informationsgehalt zu liefern, welcher uns schließlich zur Kontexterkennung führen soll. Wie der letzte Schritt angegangen werden kann lesen sie im 3. Teil dieser Ausarbeitung. Um diese Ausführungen zu verdeutlichen wählen wir ein Beispiel. 17 3.3. Beispiel Sonnenbadassistent Beispiel Unsere Applikation soll den Sonnenfreund bei der Bräunung unterstützten. Der Benutzer muss in Vorfeld seinen Hauttyp eingeben und das Programm starten, sobald er sich in die Sonne legt. Ferner soll das Gerät nicht verdeckt sein. Wir gehen davon aus, dass unser Gerät Hitzeresistent ist und über einige Daten und Sensoren verfügt: sofort abrufbaren Daten: Datum, Uhrzeit, persönlicher Bräunungsplan bzw. Informationen über bisherige Sonnenbäder, Formeln für die Berechnung der maximalen Sonnenbaddauer für bestimmte Parameter wie Strahlung, Hauttyp usw., Datenbank über durchschnittliche Werte für Sonnenstrahlungen an den jeweiligen Orten der Welt von Sensoren abgefragte Daten: Helligkeit, Temperatur, evtl. GPS durch externe Kommunikation angefragte Daten: Wetterdaten, UV Strahlung an dem jeweiligen Ort Benutzereingaben Alter, Hauttyp, Sonnenbades Startzeit des Sobald das Programm vom Benutzer gestartet wurde wird geprüft welche Jahreszeit gerade ist (Datum), wieviel Uhr es ist (Zeit) und wo sich der Benutzer befindet (GPS, oder GSM Zelleninformationen). Aus der Datenbank wird für die Angaben passen ermittelt, mit welcher Sonneneinstrahlung durchschnittlich zu rechnen ist. Es kann schon unterschieden werden, ob es früh am Morgen ist oder in der stärksten Mittagssonne, und ob ich mich z.B. in Australien befinde oder in Deutschland. All diese Informationen liefern uns also eine gewisse Strahlungsintensität. Anhand dieser Informationen verknüpft mit dem Hauttyp, dem persönlichen Bräunungsplan und der Startzeit lässt sich schon eine Bräunungszeit errechnen wenn man davon ausgeht, dass die Sonne scheint. Allerdings kann es genauso gut sein, das es vielleicht bewölkt ist. Obwohl der Benutzter wahrscheinlich unsere Anwendung eher einsetzte werden wenn die Sonne scheint wollen wir uns nicht darauf verlassen. Bisher haben wir ja noch keine Informationen erfasst, die eine wirkliche Aussage über die derzeitige Sonnenstrahlung liefert. Bis hier hin ist alles nur Statistik basiert. Also Fragen wir unseren Sensor für Helligkeit und Temperatur ab, um zu erfahren ob unsere Vermutung gestützt werden kann. 18 Darüber hinaus können wir versuchen über GSM oder ähnliches Wetterdaten zu erhalten, oder gar extra aufbereitete Spezialdaten als Teil des Services unserer Applikation. Dies wird nun in unsere Berechnungen mit einbezogen. Nun können wir das Ende der ungefährlichen Sonnenbaddauer des Benutzers mit einer Nachricht oder Warnung anzeigen. Darüber hinaus lassen sich noch viele weitere Serviceangebote damit verknüpfen, wie zum Beispiel Empfehlungen für Hautcreme, Schutz vor Diebstahl des Mobiltelefons durch Passwortschutz -Tracking, Hinweise für gerade besonders Sonnige Orte, eventuelle Empfehlungen für schöne Strände, gute Restaurants, Parties, u.s.w. 19 4. Wie können Sensoren verwendet werden? Sensoren werden in der Technik, in den Lebenswissenschaften (Biologie und Medizin) und auch in den Naturwissenschaften verwendet. Die meisten Sensoren erfassen eine der wichtigsten physikalischen Einflussgrößen: elektrische Spannung Temperatur magnetische Feldstärke Dehnung elektromagnetische Strahlung Luftfeuchtigkeit Dabei wird bei einer Vielzahl von Sensoren der elektrische Widerstand des Sensormaterials von der Einflussgröße verändert, während bei anderen Sensoren eine elektrische Spannung erzeugt bzw. verändert wird. Bei passiven Sensoren werden die Signale als analoge Spannung und bei aktiven Sensoren in digitaler Form ausgegeben. Aktive Sensoren liefern die erfassten Informationen über einen Schaltzustand (0 oder 1). Die Größe des digitalen Ausgangssignals ist von der Eingangsspannung des nachgeschalteten Steuerungssystems abhängig. Passive Sensoren liefern die erfassten Informationen als abhängiges veränderbares Signal, das zwischen 0 und dem Höchstwert variabel sein kann. Die verwendete Signalart hängt von der Anwendung ab. Wichtig ist hierbei die Länge der Signalübertragung, welche Störsicherheit ist gefordert und welches Signal kann das Steuerungssystem überhaupt verarbeiten. Etwas anders als bei aktiven und passiven Sensoren wandeln optische Sensoren die optischen Informationen in elektrische Signale durch quantenmechanische Effekte von Licht. Die Anwendungsgebiete der optischen Multi-Sensor- Messmaschine liegen in der berührungslosen Digitalisierung von industriell gefertigten Produkten, sowohl im Bereich der Erstmusterprüfung als auch in der Qualitätskontrolle im Fertigungsprozess. Typische Branchen für den Einsatz sind die Kunststoffindustrie und die metallverarbeitende Industrie. Optische Sensoren befinden sich auch in digitalen Foto- und Videokameras und in der Mustererkennung. 20 5. Von Sensordaten zum Kontext Für die Nutzung von Kontext in Anwendungen genügt es, Situationen durch ihre charakteristischen Merkmale hinreichend genau zu beschreiben. „Situation“ beschreibt die augenblickliche Lage, die Verhältnisse, die Umstände oder den allgemeinen Zustand, in dem sich jemand (oder etwas) befindet. Mit der Kenntnis der aktuellen Situation lassen sich Wahrscheinlichkeiten für Folgesituationen abschätzen. Zur Modellierung und Implementierung bieten sich hier Markov-Ketten oder Zustandsautomaten an. 5.1. Feature erfassen Der Vorgang der Wahrnehmung einer gesamten Situation ist ein komplexer Vorgang. Um das Erkennen von Situationen zu vereinfachen und technisch umzusetzen, bietet die Aufteilung in charakteristische Merkmale eine wesentliche Vereinfachung. Um Systeme zu bauen, die eine reproduzierbare Erfassung von Situationen ermöglichen, ist die folgende Vorgehensweise hilfreich: Verbindliche Festlegung der Situationen, die für die Anwendung relevant sind Verbindliche Festlegung der charakteristischen Merkmale einer Situation Für jedes Merkmal und für jede Situation wird der Wert (die Beschreibung) des Merkmals festgelegt, welcher die Situation indiziert Die Werte von Merkmalen können Skalare, Vektoren oder auch allgemeine Beschreibungen sein. Durch diese Vorgehensweise wird die Situation auf den Merkmalsraum reduziert, d.h. im Designprozess findet eine Abstraktion statt. Durch die Verwendung von Merkmalen wird die zu erfassende Datenmenge wesentlich reduziert. In einer weiteren Stufe wird der aktuelle Kontext aus den gewonnenen Merkmalen berechnet. Dies kann abhängig vom Einsatzszenario über explizite Regeln (logische Regeln basierend auf den Merkmalen) oder über eine implizite Beschreibung (ein einfaches offline trainiertes neuronales Netz) erfolgen. Um diese Beschreibung erstellen zu können, muss der Merkmalsraum für die verschiedenen Situationen analysiert werden. Dies kann z.B. durch eine Datenaufnahme und eine anschließende statistische Auswertung geschehen. Ähnlich wie Situationen kommen Kontexte auch nicht isoliert vor. Für eine gegebene Menge von Kontexten (Kontextraum) lässt sich eine Matrix mit Übergangswahrscheinlichkeiten aufstellen. Diese Übergangswahrscheinlichkeiten können dann ebenfalls den Erkennungsprozess unterstützen. 21 5.2. Schichtenmodell Serrano, Austaller et al. haben ein Schichtenmodell entwickelt, um besser zu beschreiben wie man von Sensorrohdaten zum verwertbaren Kontext kommt. Das Kontext Modell (siehe Abbildung 5.2.1) stellt einen systematischen Ansatz zum Design von Kontext-aware Anwendungen / Services dar[17],[18]. Applikation Interpreter Kontextfilter Schmelzverfahrenmodul Primärfilter Abmaß Kontext-Sensors Abbildung 5.2.1: Kontext - Schichten Modell Das Schichtenmodell wird im zeitlich-logischen Ablauf von unten nach oben durchlaufen; dabei ist die Funktion der einzelnen Schichten: Kontext Sensoren: Dienen der Erfassung und Speicherung von Situationsinformationen, was potentiell ein Kontext sein könnte, mittels Sensoren. Sensor liefert Informationen nicht nur klassische Sensoren, die physikalische Werte (z.B. Lautstärke, Luftfeuchtigkeit) erfassen, sondern auch andere Informationsquellen, z.B. Lokalisierung- oder Temperaturinformationen. Daten von den Sensoren und anderen Maßsystemen können aus Skaladaten von den analogen Größen und digitale Signale von den AN/AUS-Schaltern bestehen, ASCII Zeichenketten von RFID oder Analysatoren, binäre Daten von den Anblick- und Kontrollsystemen und von den Datenreihen, von den Fallreihenfolge Recordern. Dann werden die elektrischen Signale als elektrische Werte interpretiert, zusammengefasst und einfacher abstrahiert (z.B. Abstraktion: Cues) um den Kontext zu erkennen. Die Interpretation der Veränderung der elektrischen Parameter (Widerstand, Stromfluss, Frequenz etc.) und Zuordnung zu einem elektrischen Wert sind meist Spannung durch elektronische Schaltung. Einige Anwendungen benötigen nur kurzfristigen Zugang zu den gespeicherten Daten, aber bei sicherheitsrelevanten 22 Fertigungsprozessen müssen Daten für viele Jahre archiviert werden. Speicheranforderungen stellt die abhängige Anwendung, und werden nach den Arten von Daten, Abtastfrequenz und Zeitspanne, wie lange die Daten gespeichert werden müssen, eingeordnet. Z.B.: ein Pulssensor misst den Herzschlag. Die Sensordaten werden in einer bestimmten Zeit erfasst, sie werden als Signale interpretiert und werden dann als verfeinerter Kontext mittels Kontexterkennungsverfahren angezeigt. Oder bei „intelligenter“ Kleidung werden Sensoren als Sensornetzwerk verteilt. Solche Sensoren erfassen alle Informationen z.B. über Druck, Geschwindigkeit, Temperatur…und interpretieren die Rohdaten als Signale). Abmaß: da Sensordaten in ganz verschiedenen Dimensionen (z.B. Länge in Metern oder Yards, Temperatur in Grad Celsius oder Fahrenheit) vorliegen können, werden in dieser Schicht die Daten mit Metadaten annotiert, die über die verwendeten Größen Auskunft geben und bei der weiteren Verarbeitung der Daten zum Kontext berücksichtigt werden. Dies heißt, dass definiert werden muss, welche Daten in der Datenbank gespeichert und organisiert werden, damit man die Informationen suchen, finden, kombinieren, aufeinander beziehen und filtern kann z.B.: nach Muster, Quelle, Genauigkeit, Energieverbrauch, Formfaktor, Empfindlichkeit/ Robustheit, Wartungsfreiheit/ Lebensdauer oder nach den Parameter von Sensoren: Geometrische Parameter: Winkel, Länge, Distanz, Position, Präsenz,... Mechanische Parameter: Gewicht, Biegung, Druck, Vibration, Beschleunigung... Zeitparameter: Relative /absolute Zeit, Dauer Klimatische Angaben: Temperatur, Feuchtigkeit, Wind, Luftdruck Optische Parameter: Lichtintensität, Lautstärke, Frequenz, Spannung, Strom, Durchfluss... Chemische / Biologische / Umwelt Parameter: Gas, pH, Blutdruck, Pulsrate... Primärfilter: schützt das System mit knappen Ressourcen, z.B. Bandbreite oder Rechenleistung vor Überflutung durch zu große Datenmenge. Schmelzverfahrenmodule: kombinieren viele Situationsinformationen aus mehreren Sensorquellen und integrieren nach vortrainierten / vorprogrammierten Systemen zu einer (vereinten) Kontext-Information oder versuchen durch Training möglichst hohe Wahrscheinlichkeiten für die Zuordnung von Sensorwert zum Kontext zu erhalten. (z.B. In Systemen müssen die Daten aller Lokalisierungssensoren eines Ortes kombiniert werden, um eine Person innerhalb dieses Ortes lokalisieren zu können; erst durch die Kombination der Daten wird aus mehreren Sensordatensätzen der gewünschte Kontext.) Kontextfilter: Situations- bzw. Aktivitätsabhängig sind für eine Anwendung möglicherweise immer nur bestimmte Teile der zur Verfügung stehenden Information (als Kontext) relevant; z.B. bestimmte Sensorwerte wie Temperatur oder Luftfeuchtigkeit können nur in bestimmten Zeitabständen geliefert werden. 23 Interpreter: in dieser Schicht können nötigenfalls Schlüsse von (meist mehreren) primären (oder auch: expliziten) Kontext-Informationen auf sekundäre (oder auch: implizite) Kontext-Informationen gezogen werden. Applikation: in dieser Schicht sind die Anwendungen (bzw. Services oder Agenten) angesiedelt, die die Kontext-Informationen benutzen. SQL, ADO/ODBC, Export CSV oder XML zu den Akten oder eine Anwendungsprogramm-Schnittstelle sind einige Arten, die Anwendungen die Sensor-Daten zugänglich machen können, die in einer Datenbank gespeichert werden. Durch diese sieben Schritte werden aus den Sensorrohdaten am Eingang der Architektur aktuelle und zukünftige Kontexte sowohl in Form von Klassenvektoren als auch durch den Benutzer vorgegebenen Bezeichnungen bestimmt. Die einzelnen Teile sind unabhängig austauschbar und können dadurch auf die jeweiligen Bedürfnisse der konkreten Anwendung abgestimmt werden. Beispiel: Das Telefon ist mit Sensorik und Rechenleistung ausgestattet. Durch die Extraktion von Merkmalen aus den Sensordaten wird der Kontext der Benutzung erkannt. Die Benutzerschnittstelle wird dann auf den Kontext automatisch angepasst. Die empirischen Ergebnisse zeigen, dass mit einfacher Sensorik und minimaler Rechenleistung Geräte um die Wahrnehmung für Kontext erweitert werden können. Durch die Nutzung von Kontext kann somit auch die explizite Interaktion durch implizite Bestandteile ergänzt werden. In folgenden Bildern sehen wir Werkzeuge, die Ingenieure und Manager verwenden. Es gibt eine Vielzahl von mathematischen Analysemodellen, Statistical Process Control, Data Mining und Reporting Tools um die Sensor-Daten in Informationen zu wandeln. Dies trägt dazu bei Produkte Firma und Produktionsmethoden zu verbessern und effizient zu gestalten. Sobald die Sensor-Daten, die man wünscht, gefunden und extrahiert wurden, kann eine Vielzahl der mathematischen Analysen, statistischer Prozesssteuerungsverfahren, Datamining und Auswertungstools verwendet werden. (siehe Abbildung 5.2.2). Man kann Leistungsfähigkeit und Produktivität steigern, indem man Makros verwendet, um Analyse der rohen Sensor-Daten- und Reporterzeugung völlig zu automatisieren, und veröffentlicht dann die Resultate durch einen Web-Server mit sofortigem Zugang für jedermann, der die Informationen benötigt. Das Empfangen, das Organisieren und die Verarbeitung von Sensor-Daten zu verwendbaren und fristgerechten Informationen helfen der Firma die Schlüsselinformationen und die Firmenstruktur zu analysieren. Probleme früh zu erkennen, sofort Korrekturen vor zu nehmen, und damit Arbeitszeit und Geld zu sparen. Eine Firma für Kommunikationsprodukte berichtete, dass organisieren, finden, sortieren, entstören und die Vorauswahl der Rohdaten für die weitere Analyse und das Erzeugen von Reports, ein langwieriger Prozeß waren, der ihren Ingenieuren Tage kostete. Ein automatisiertes System, das ein TDM (Tool Data 24 Management 2 ) Produkt verwendet, führt diese Aufgaben in Sekunden durch und liefert Realzeitnetzzugang zu den verwendbaren Informationen über die Firma. Abbildung 5.2.2: Sensor analysis tools http://www.sensorplatforms.com/images/SSP1492_3.gif 2 Software für die Organisation von Werkzeug- und Betriebsmitteldaten 25 6. Zusammenfassung Diese Arbeit erläutert Typische Szenarien für kontextsensitive Anwendungen und gibt einen Überblick über zum Teil schon realisierte Systeme. Wie zu erkennen ist, bieten kontextsensitive Systeme in vielfältigen Bereichen Sinnvolle Anwendungen von der Logistik beim Transport von Waren bis hin zur Medizintechnik. Anschaulich wird erläutert wie diese Systeme aussehen könnten und zum Teil schon angewendet werden. Darauf aufbauend wird erläutert, mit welchen Mitteln Daten gewonnen werden können und welche Probleme dabei auftreten. Eine Einstig in den Umgang mit verfälschten Messergebnissen zeigt uns, wie sinnvoll Ergebnisse Interpretiert werden können. Ein weiteres Beispiel aus zeigt einen möglichen Praxiseinsatz kontextsensitiver Systeme. Anschließende Erläuterungen der schrittweisen Verarbeitung der Rohdaten erklärt nachvollziehbar und anschaulich, wie man zu einer Kontextaussage gelangen kann. Die Schichtensichtweise macht es möglich komplexe Datenverarbeitungsvorgänge klar Strukturiert und Schrittweise abzuarbeiten um zu einer Inhaltsreichen Kontextaussage zu gelangen. 26 Literaturverweise [1] A. Dey and G. Abowd, “Towards a Better Understanding of Context and Context-Awareness.” Proceedings of workshop on the What, Who, Where, When and How of Context-Awareness, The Hague, Netherlands. April, 2000, http://www-static.cc.gatech.edu/fce/ctk/pubs/HUC99-panel.pdf [2] http://www.identecsolutions.com/products.asp [3] http://www.rftrax.com/solutions.xml [4] Wireless Sensor Networks for In-Home Healthcare: Potential and Challenges J. A. Stankovic, Q. Cao, T. Doan, L. Fang, Z. He, R. Kiran, S. Lin, S. Son, R. Stoleru, A. Wood Department of Computer Science, University of Virginia [5] http://www.draeger.com/MTms/internet/site/MS/internet/DE-de/ms/index.jsp [6] http://www.eecs.harvard.edu/~mdw/proj/codeblue/ [7] http://darbelofflab.mit.edu/ring_sensor/ring_sensor.htm [8] E. Lamprinos, A. Prentza, E.Sakka, D. Koutsouris Biomedical Engineering Laboratory, School of Electrical and Computer A Low Power Medium Access Control Protocol for Wireless Medical Sensor Networks [9] http://www.ele.tut.fi/research/personalelectronics/ [10] http://matrix.wearlab.de/studie/all.php?elch=64&mask=3 [11] http://www.sensatex.com/ [12] http://www.gtwm.gatech.edu/ [13] MS Encarta 2003 [14] Wikipedia [15] http://sensorlab.ims-chips.de/ [16] Skript Messabweichung von Dr.-Ing. Olfa Kanoun, Universität Kassel FB 16 Messtechnik [17] Austaller, G.; Web Services als Bausteine für kontextabhängige Anwendungen. In: Roth, J. (Hrsg.): 1. GI/ITG KuVS Fachgespräche - Ortsbezogene Anwendungen und Dienste, Informatik Berichte 317 - 6/2004, Hagen, 2004. S. 23-26 27 [18] Austaller, G.; Kangasharju, J.; Mühlhäuser, M.: Using Web Services to Build Context-Aware Applications in Ubiquitous Computing. In: Koch, N.; Fraternali, P., Wirsing, M. (Hrsg.): ICWE 2004, LNCS 3140, Berlin / Heidelberg, 2004, S. 483-487 [19] Serrano Ortiz, V.: A General Model for Context Aware Computing. Diplomarbeit, Darmstadt, 2003. 28