In den Systemeinstellungen können folgende Werte für die Personenvereinzelung bei Sensor Schleusen eingestellt werden.
Mit diesen Werten lassen sich die Sensoren und das Handling konfigurieren. Beim Erfassen/Einlesen von Personen ist es extrem wichtig, auf den korrekten Stand in der Kabine zu achten. Die Person muss mit dem Rücken an der Wand und mit angelehnten Armen stehen, dann den Arm ausstrecken und sich authentifizieren (der Rücken bleibt dabei an der Wand). Sofern Benutzer bereits einmal erfasst wurden, kann der Einlese-Vorgang jederzeit wiederholt werden.
Visio Sensoren Toleranz (Standard:5) z.B. 5 // Dies ist der Toleranz-Wert für die Person (Matching Toleranz). Der gemessene Sensorwert der Person kann also +/- von dem Wert in der Datenbank abweichen. Je größer die Toleranz eingestellt wird, desto toleranter ist die Messung. Je kleiner der Wert, desto strenger. Bei einem Wert von 0 muss die Person immer sehr korrekt (mit dem Rücken an der Wand und mit angelegten Armen) stehen.
Visio Sensoren Bereich-Verschiebung (Standard: +/- 0) z.B. 0 // Schleusen können sich grundsätzlich von einander unterscheiden. Dies kann offensichtlich die Größe der Schleuse sein, aber auch schon die Raumtemperatur, Luftdruck etc. Sensorwerte zweier Schleusen können daher unterschiedlich sein. Der hier hinterlegte Wert korrigiert diese Unterschiede. Wie wird der Wert für die Bereich-Verschiebung ermittelt? Im Logging kann gesehen werden, wie der IST und der SOLL Wert von einander abweichen. Wenn der SOLL Wert (DB) und der gemessene IST Wert (bei der Authentifizierung einer Person) immer voneinander abweichen, dann ist die Differenz der Wert der Bereich-Verschiebung. Z.B. die Person hat einen SOLL-Wert in der DB von 180. Es wird aber bei der Authentifizierung immer ein IST-Wert von 194 gemessen, dann ist der Wert für die Bereich-Verschiebung 194-180=14
Visio Sensoren Grundzustand (Standard: 167) z.B. 167 // Das ist der Grundzustand der Schleuse (Schleuse leer, beide Türen zu). Der Wert lässt sich im Ruhezustand aus den Logs ermitteln und wird dort abgelesen und dann hier eingetragen.
Visio Sensoren Grundzustand Toleranz (Standard: 4) z.B. 4 // Dies ist die Toleranz für den Grundzustand. Wenn die Sensoren im Grundzustand schwanken, obgleich die Schleuse leer ist und immer leicht veränderte Werte ausgeben, dann wird hier die Toleranz hinterlegt. Sensoren können durch Temperatur oder Luftdruck beispielsweise schwanken und es werden Werte von 167, 171, 166, 169, 163, usw. ausgegeben, dann beträgt die Toleranz = 4 (Min/Max aus den Logs ermitteln).
Was bedeutet der Grundzustand?
Der Grundzustand besagt, dass die Software denkt oder ermittelt hat, dass die Schleuse leer ist – sich also keine Person im Raum befindet. Beide Türen sind geschlossen und es befindet sich niemand in der Kabine.
Wie wird der Grundzustand ermittelt?
Ist der Raum tatsächlich leer (und beide Türen zu), dann messen die Sensoren den leeren Raum ein. Am besten kann man das Nachts in den Logs erkennen:
2019-01-23 05:54:17,920 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 164
Hier wurde also von den Sensoren der Wert 162 ermittelt. In OSsecure ist nun in den Systemeinstellungen der Wert für den Grundzustand (3) hinterlegt, sowie der Wert für die Grundzustand-Toleranz (4). Die Rechnung zur Ermittlung der leeren Schleuse lautet also: DB-Wert (3) minus Toleranz (4) ist größer oder gleich dem ermittelten Wert, dann ist Grundzustand. Alle Werte oberhalb von 167 – 4 <= 163 sind für das System eine leere Schleuse (Grundzustand). In diesem Beispiel ist der Wert 164 und somit größer/gleich 163.
Welchen Wert sollten man für den Grundzustand in den OSsecure System-Einstellungen hinterlegen?
Der beste Wert für den Grundzustand lässt sich nachts oder am Wochenende ermitteln, wenn die Schleuse leer ist und beide Türen geschlossen sind. Da der Wert in den Logdaten immer ein bisschen schwankt, sollte man sich den niedrigsten Wert heraussuchen. Alle Werte größer diesem niedrigsten Wert gelten dann auch automatisch als Grundzustand. Wenn man nicht den kleinsten Wert einträgt, könnte es passieren, dass obgleich die Schleuse leer ist, sich die Schleuse nicht öffnen lässt (da das System „denkt“ das sie nicht leer ist). Würde man in dem folgenden Beispiel einen Grundzustand von 163 (und nicht 159) eintragen, dann könnte es passieren, dass im normalen Tagbetrieb, sich die Schleuse nicht öffnen lässt, weil der measuredValue auch mal bei 159 liegt (und somit niedriger, also außerhalb des Bereiches des hinterlegten Grundzustands ist).
2019-01-22 04:42:49,822 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 163
2019-01-22 04:42:52,724 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 159
2019-01-22 04:42:55,627 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 165
Wäre es dann nicht schlau sich immer einfach einen fiktiven niedrigen Wert „auszudenken“ (z.B. 150)? NEIN! Das Problem, welches dadurch entsteht, ist, dass kleine Personen, welche ein niedriges „Volumen“ haben nicht erkannt werden, da die Veränderung zwischen leerem Raum (Grundzustand) und dem Rauminhalt mit der schmalen Person sich kaum ändert und somit vielleicht noch in dem Bereich liegt, welcher mit einem Wert von 150 zu „großzügig“, bzw. zu niedrig bemessen wurde. Es ist daher extrem wichtig, den echten Wert zu treffen. Man kann zusätzlich noch eine kleine Grundzustands-Toleranz (4) hinterlegen. In diesem Beispiel würde ich einen Wert von 159 eintragen und eine Toleranz von 4.
Beispiel für eine Person in der Schleuse. Wie wird der Wert einer Person in der Schleuse für den erfolgreichen Durchgang ermittelt?
In den Logs sind zunächst die Werte für den leeren Raum (Grundzustand) zu erkennen. Dann wechselt der von den Sensoren ermittelte Wert, da eine Person in der Kabine ist.
2019-01-23 11:42:49,822 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 163
2019-01-23 11:42:52,724 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 166
2019-01-23 11:42:55,627 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 165
2019-01-23 11:42:58,529 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 164
2019-01-23 11:43:01,432 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 158
2019-01-23 11:43:01,434 INFO pool-3-thread-1(VisioSensorsV2.java:189) currweight changed to 200
Grün ist alles im Bereich vom Grundzustand, dann der wechselt der Wert (rot) weil Person im Raum. Die Rechnung zur Ermittlung des Personen-Sensorwertes lautet dann: Ermittelter (roter) Wert plus 30 (fester Wert) plus Bereichsverschiebung (2) ist gleich dem in der Datenbank (bei der Person) hinterlegten Wert plus/minus Toleranz (1). Für die Person wird also ein Wert von 158+30+12=200 Es wurde also ein Sensorwert von 200 ermittelt. Die Sensoren Toleranz (1) liegt bei +/- 12. Wenn bei der Person also ein Wert zwischen 188 bis 212 (200 – 12 und 200 + 12) hinterlegt ist, dann ist die Vereinzelung erfolgreich.
2019-01-23 11:37:42,578 INFO Thread-35(WeightMatcher.java:72) correct visio sensor verification for member: 2033615381 Name: Kay, Schoenknecht Sensor Value: 200 (wert ist Sonsorenwert + 30!) DB Value: 189 Tolerance: 12 AdjustRange: 12
In diesem Beispiel ist der gemessene Wert measuredValue 158 + 30 + AdjustRange 12 = Sensor Value: 200 Dieser wird mit dem DB Value 189 verglichen und mit einer Tolerance 12. Die Person kommt also durch, da Sensor Sensor Value: 200 +/- Toleranz (188 bis 212) zum DB Value 189 passt.
Achtung! Solange der Wert measuredValue im Bereich des Grundzustand liegt, ist das currweight = 0 (Null). Die Person kommt dann nicht durch!
2019-01-23 11:42:29,494 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 158
2019-01-23 11:42:32,401 INFO pool-3-thread-1(VisioSensorsV2.java:167) measuredValue changed to 163
2019-01-23 11:42:29,497 INFO pool-3-thread-1(VisioSensorsV2.java:189) currweight changed to 0
2019-01-23 11:42:33,211 INFO Thread-35(FingerprintMatcher10_0.java:165) matched (vf): Kay, Schoenknecht, 9, 536
2019-01-23 11:42:33,220 INFO Thread-35(WeightMatcher.java:69) verification visio sensor failed for member: 2033615381 Name: Kay, Schoenknecht Sensor Value: 0 (wert ist Sonsorenwert + 30!) DB Value: 189Tolerance: 30 AdjustRange: 18
Wann kommt die Stimme „Bitte treten Sie ein“?
Die Meldung „sendCommand: Closing first Door
“ kommt, wenn die erste Tür als geöffnet gilt. Das ist der Fall, wenn der Status von 1 auf 2 wechselt:
Neuer Status:2 currState (alter): 1
Gleichzeitig wird play Sound voice/22.wav
Bitte treten Sie ein.
Warum kommt die Stimme „Bitte legen Sie Ihren Finger auf“?
Wenn die Tür 1 geschlossen wurde und der Status von 2 auf 0 wechselt:
Neuer Status:0 currState (alter): 2
UND
Sofern jetzt jemand innerhalb von 6 Sek: „erkannt wird“ (Wert unterhalb Grundzustand und currweight ungleich 0), dann kommt Authentifizierungsprozess…
play Sound voice/16.wav
Warum kommt die Stimme „Bitte legen Sie Ihren Finger auf“ NICHT?
Entweder, wenn die Tür 1 nicht zu ist (rütteln) oder es nicht erkannt wird, dass die Tür 1 zu ist (Türkontakt defekt). In den Logs würde der Wechsel von 2 auf 0 nicht erfolgen (Neuer Status:0 currState (alter): 2)
ODER
Obgleich eine Person in der Kabine ist, alle ermittelten Sensor Werte in den 6 Sek. nach Schließen der Tür oberhalb des Grundzustands liegen und das currweight somit 0 (Null) ist.
Wie gehe ich also vor, wenn die Aufforderung zum Auflegen des Fingers nicht kommt?
Nach dem Schließen von Tür 1, soll sich die Person in der Schleuse bewegen (groß und breit machen). Sofern dann in den ersten 6 Sekunden KEINE Meldung kommt, kann der Vorgang abgebrochen werden, da die Schleuse sich weiterhin im Grundzustand befindet. Wenn die Stimme mit der Aufforderung jedoch kommt, dann mit dem Rücken an die Wand hinstellen und Finger auflegen. In den Logs sieht man dann die „späte“ Erkennung, dass da doch jemand im Raum war und der Status von 2 auf 0 gewechselt ist und die Meldung abgespielt wurde.
2019-01-23 11:42:26,678 INFO Timer-1(FloodGateVisioControl.java:368) Spaete Wagenmeldung, es ist doch eine Person im Raum
2019-01-23 11:42:26,680 INFO Timer-1(FloodGateVisioControl.java:318) Neuer Status:0 currState: 2
2019-01-23 11:42:26,716 INFO Thread-2079(WavPlay.java:219) play Sound voice/16.wav