MRUI - Modular Robot User Interface | Teil 2
Grafical-User-Interface Konzeption
Gleich zu Beginn möchte ich darauf hinweisen, dass wir mit folgendem Projekt keine genauen Angaben über die Restreichweite des Roboters machen können. Damit ist die Berechnung der Restenergie des Akkus gemeint, mit der man Annahmen treffen kann, wie weit der Roboter kommt. Es ist nicht möglich an den Akku einen Multimeter dran zu klemmen und die Rest-Energiemenge abzulesen. Die Berechnung der Restkapazität ist ein komplexes Thema. Noch komplexer ist es, mit der Restkapazität Aussagen über die Restreichweite des mobilen Roboters zu treffen. Selbst in der Automobil-Branche ist das für die Ingenieure eine große Herausforderung.
Restkapazität = Wie viel Energiemenge steht noch zur Verführung?
Restreichweite = Wie weit kommt der Roboter mit der Restkapazität?
Trotzdem würde ich gerne in einem zukünftigen Projekt dieses Thema noch einmal aufgreifen und eine einigermaßen genau funktionierende Restkapazitätsanzeige verwirklichen oder zu mindestens die konzeptionellen Hintergründe darstellen. Hierzu brauchen wir weitere Elektronik-Module wie zum Beispiel ein Thermometer und eine Real-Time -Clock. Des Weiteren wäre eine eigene Akkuauflade-Technik eine coole Sache. Hierzu gibt es eigens dafür entwickelte Module zu kaufen.
In diesem Projekt geht es mehr um die momentane Spannung. Mit diesem Wert kann man grobe Aussagen über die Restkapazität machen. Mehr ist nicht drin. Wir erfüllen jedoch eine wichtige Sache: auch wenn wir keine Kapazitätsmessung durchführen, verwirklichen wir zu mindestens ein Tiefenentladungsschutz des Akkus. Und wir visualisieren einen momentanen Laststrommesser, der uns wichtige Erkenntnisse liefern kann. Hierzu werde ich noch später genauer eingehen.
Aber mir geht es hier nicht um eine perfekte technische Umsetzung, sondern um das Lernen. Wir wollen nur in die Thematik reinschnuppern. Ich kann hier keine industriell tauglichen Lösungen anbieten. Dieses Projekt soll für dich ein Sprungbrett sein, um selber in die Tiefe zu gehen. Bevor du weiter liest, empfehle ich dir die unteren Blogposts zu lesen, damit du ein besseres Verständnis zur Thematik bekommst:
Der Elektronenfluss – Strom, Spannung und Widerstand …in Bearbeitung
Allgemeines zu Akkus …in Bearbeitung
Der Projektstart
Der erste Schritt der Konzeptionsphase stellt die angemessene Auswahl der Grundvisualisierung der Daten dar. Zu diesem Zweck habe ich das Buch Information graphics a comprehensive illustrated reference von Robert Harris als Grundlage genommen. Schon in meiner Zeit als Student war es mir eine sehr gute Hilfe. Es bietet einen erschöpfenden Überblick in Sachen Datenvisualierungs-Grundlagen. Obwohl es mittlerweile etwas in die Jahre gekommen ist (1999 veröffentlicht), habe ich kein vergleichbares Buch gefunden. Aber gerade die alten farblosen Grafiken bilden viel Raum für ein kreatives Redesign.
Im Hinblick auf die Darstellung des EMS sollten wir folgende Anforderungen uns vor Augen führen:
Die Anzeige soll, wie im Szenario beschrieben, für den Fahrbetrieb optimiert sein und soll…
– sich dezent verhalten und sich nur bei Gefahr bemerkbar machen
– aber zu jeder Zeit ablesbar sein
– den User am besten warnen bevor eine Gefahrensituation entsteht
– die wichtigsten Informationen schnell erfassbar machen (kurzer Blick)
Konzeption der Spannungs-Visualisierung Tiefentladungsschutz
Für die Spannungs- und Stromvisualisierung kommen zum einen die Linien-Grafik und das Balkendiagramm infrage. Beide Grafiken haben gewisse Vor- und Nachteile. Bei der Entscheidung ist die Anforderungsliste von entscheidender Rolle. Nur so kann eine Durchgängigkeit im Gesamtsystem gewährleistet werden.
Meine Wahl fällt eindeutig auf das Balkendiagramm. Das Balkendiagramm ist definitiv kognitiv schneller erfassbar – allerdings bietet sie nur eine Momentaufnahme des aktuellen Wertes. Ein Rückblick welcher Wert vor 10 Sekunden eingelesen wurde, ist mit dieser Visualisierung nicht möglich.
Im Gegensatz dazu beinhaltet die Linien-Grafik eine Historie-Achse. Die Vertikale Achse stellt den Sensorwert dar. Die horizontale Achse eröffnet eine weitere Informationsdimension: den aufgezeichneten zeitlichen Verlauf der Spannung. Dadurch haben wir einen Rückblick über den Spannungsabfall.
Aber ist die Historie während der Teleoperation den so wichtig? Nein, nicht unbedingt. Es bedeutet nur zusätzlicher kognitiver Ballast. Auch wenn das möglicherweise kleinlich wirkt, dürfen wir nicht vergessen, dass wir auf dem Display noch jede Menge anderer Datenvisualisierungen haben werden. In ihrer Gesamtsumme stellen Sie an die Wahrnehmung eine Belastung dar. Zudem ist der aktuelle Sensorwert in der Linien-Grafik schwerer und langsamer abzulesen. Natürlich könnte man ihr visuell etwas nachhelfen, aber das Balkendiagramm ist in diesem Fall überlegener.
In diesen Use Case passt die Linien-Grafik nicht, dafür aber umso mehr in einen Analysemodus. Da wir die Rolle des Teleoperators und gleichzeitig die des Entwicklers einnehmen, können wir in unserer Homebase angekommen, mithilfe der Linien-Grafik weitaus wertvollere Einsichten in das System haben, da sie mehr Informationsgehalt beinhaltet. Wenn wir dann auch noch weitere Sensordaten über die Spannungskurve legen, kommen plötzlich Abhängigkeiten und Beziehungen zutage, die in isolierter Weise nicht sichtbar sind. Aber dazu später mehr.
An dieser Stelle sollte ich folgendes erwähnen. Eine Anforderungsliste sollte nie ein starres und einengendes Konstrukt sein. Ich habe in meiner beruflichen Tätigkeit als UX/UI Design oft erlebt, dass während der Entwicklung in Grosskonzernen eine vielversprechende Idee entstand, die nicht in den Anforderungen stand. Gute Ideen kommen meistens während der Entwicklung auf. Da aber Anforderungen von irgendwelchen fachfremden “Spezialisten” in einer übergeordneten Hierarchie formuliert werden, werden gute Ideen völlig ignoriert, auch wenn man damit Zehntausende von Euros sparen kann oder eine bessere Usability erreichen könnte.
Zurück zum Thema: Mit anderen Worten, ich finde ein Analysemodus an der Homebase eine gute Idee, die wir später weiter verfolgen sollten. Nur sollten wir jetzt schon einige kurze Überlegungen anstellen. Wir brauchen eine Art Recorder-Funktion, in der wir die gesammelten Daten speichern und später wiedergeben können: Wir integrieren eine Rekord-Funktion. Tiefer will ich in diesem Moment nicht gehen. Zumindest sollten wir einen Platzhalter vorsehen.
Das Balkendiagramm
Das Balkendiagramm gehört zur Familie der proportionalen Flächendiagramme. Es ist eine Kombination aus einer visuellen und textuellen Darstellung von Daten. Auf den ersten Blick geben uns Grafiken eine visuelle schnelle Orientierungshilfe. Sie führen unser Auge oder unsere Aufmerksamkeit auf ein bestimmtes Ereignis. Erst im zweiten Schritt können genauere Informationen in Form von Text ablesen werden. Aus diesem Grund setzen wir diese zwei Stufenwahrnehmungen in kombinierter Form so oft wie nur möglich ein.
In unserem Beispiel verwenden wir ein horizontales Balkendiagramm, das dynamisch seine Länge von rechts nach links verkürzen kann. Später werden wir bei der Programmierung mit Processing die Balkenlänge an den Sensorwert koppeln. Je nachdem, was der Spannungsmesser an Werten liefert, wird die Grafik verändert: Bei vollgeladenem Akku ist der Balken ganz ausgefüllt und verkürzt sich, wenn die Spannung abnimmt.
Unterschiedliche Daten - unterschiedliches Verhalten
Die Datenart beeinflusst das Verhalten der Grafik. Beispielsweise gibt es Werte, die nur in eine Richtung sich bewegen: ein steigender oder absteigender Flüssigkeitsstand in einem Behälter. Die Ereignisrichtung variiert je nach Interesse. An einem Staudamm interessiert eher ein Steigen der Wasseroberfläche, bei einem Benzintank interessiert uns eher das Absteigen der Benzinmenge. Andere Datenarten haben gleichzeitig einen positiven und negativen Bereich. Ein Temperatursensor mit der Einheit Celsius besitzt zwei entgegengesetzte Bereiche (2x Ereignisrichtungen) mit dem Wendepunkt 0° (Startpunkt).
Unabhängig von der Datenart und Ereignisrichtung haben wir die Möglichkeit bestimmte Wertebereiche besonders zu kennzeichnen. Wir können z.B. der Temperatur zwei Warnbereiche zuweisen: einen Höchst- und Minimalgrenze, die einen sicheren Betrieb garantiert. Denkbar wäre ein Akku-Sicherheitssystem, welches den Akku von der Schaltung trennt, sobald die Akkuzellen überhitzen oder tiefen Temperaturen ausgesetzt sind. Anstatt die Natur der Datenart zu visualisieren, können wir unsere selbstgewählten Eskalationsstufen zur Akku-Überwachung verwenden. Das heißt wir visualisieren nicht mehr die Datenart, sondern unsere eigenen definierten Bereiche.
Übertragen wir die bisherigen Konzepte nun auf den Spannungsmesser.
Der Start- und Endwert ist uns bereits bekannt: Akku vollgeladen (4,8V) und entladen (4,0V). Zwischen diesen Werten bewegt sich der aktuelle Spannungswert. Wie kommen wir auf 4,8V?Da wir einen 4er-NiMH-Akkublock benutzen, multiplizieren wir die Nennspannung des Akkus mit der Zahl vier.
NiMH-Akkus haben (genau wie NiCd-Akkus) eine Nennspannung von 1,2Volt pro Zelle. Für die im XplorerBB eingesetzte Baugröße Mignon AA sind Kapazitäten von 800 bis 2850mAh erhältlich. Sie zählen als leer, wenn die Entladeschlussspannung 1,0Volt beträgt. Die Entladeschlussspannung beschreibt die untere Spannungsgrenze, ab der die Batterie als leer zählt. Überschreitet man diese Grenze, geht es in Richtung Tiefentladung. Daher ist dieser Wert bei der weiteren Programmierung eines Alarms von Bedeutung.
Der maximal mögliche Wert von 4,6V Akkuspannung wird durch die untere Grundfläche bereits vorgegeben und begrenzt.
Die Spannungsmessung sagt nichts über die Kapazität der Batterie aus.
Das Messen der Spannung ist immer nur eine Momentaufnahme. Die tatsächliche Leistungsfähigkeit und die verfügbaren Amperestunden (Restladung) können anhand der aktuellen Spannung nicht ermittelt werden.
Mit einer Spannungsmessung erhalten wir erst recht keine Aussage über die noch zu erwartende Lebensdauer des Akkus. Über die Zeit verliert der Akku seine Kapazität und wird immer weniger Energie speichern können. Tatsächlich weist ein geladener veralteter NiMH-Akku die gleiche Ruhespannung von ca. 1,2V auf, wie eine vollgeladene, gesunde Batterie.
Um eine aussagekräftige Information über die momentane Kapazität zu erhalten, muss ein Entladetest mit einer konstanten Stromentnahme bis zum Erreichen der Grenzspannung von 1,0V erfolgen. Dabei wird die abgegebene Energiemenge mit gezählt und am Schluss mit der vom Hersteller angegeben Kapazität verglichen. Dieser Ansatz würde den Rahmen hier wieder einmal sprengen und soll als Information erwähnt werden.
Intuitive Wertangabe von 0% bis 100% ist besser
Unsere Grafik ist eine Kombination aus visueller und textueller Darstellung. Die Balkengrafik kann deutlich schneller wahrgenommen werden. Sie zeigt jedoch nur eine Tendenz und bietet keine Detailangabe. Eine weitaus genauere Auskunft bekommen wir in Textform. Dies ist jedoch ein reiner Informationsgehalt und muss zunächst kognitiv übersetzt und in Verhältnis gesetzt werden.
Wir verzichten auf eine technisch exakte Wiedergabe der Volt Anzahl von 4,0V bis 4,8V. Intuitiver ist die Verwendung von 0% bis 100% für die Differenz zwischen vollgeladenem und entleertem Akku. Uns interessiert also die Spannungsdifferenz (4,8V—4,0V) von 0,8V! Ich habe bereits erwähnt, dass es nicht (wirklich) möglich ist über die Spannungsmessung eine Aussage über die Restkapazität zu machen. Und trotzdem tun wir mal so als wäre es möglich. Hier geht es in erster Linie um die Umsetzung eines Alarmmeldungskonzeptes.
In diesem Fall stellen beispielsweise 50% der aktuellen Akkukapazität eine Differenz von 0,4V dar. Im Folgenden siehst du die Umrechnung von der Volt- in Prozenteinheiten.
Die obere Umrechnung basiert auf einem linearen Verhalten und stimmt mit dem realen Akkuverhalten nicht ganz überein. Das Entladeverhalten einer NiMH ist logarithmisch: Sie bleibt relativ lange mehr oder weniger flach und sackt in Richtung Grenzspannung (1.0V) schnell ab. Da die Abweichungen der Entladekurve mit unserer angenommenen linearen Kurve sich nicht großartig unterscheiden, vereinfachen wir uns die Arbeit an dieser Stelle.
Labels zur genaueren Bezeichnung
Da wir diese Form der Balkendarstellung auch für andere Datenwerten einsetzen, platzieren wir oberhalb der Grafik ein Textlabel zur eindeutigen Identifikation. Um weitere Merkmale hervorzuheben haben wir links von der Grafik die Möglichkeit Text oder Icons einzusetzen. Da wir links nur einen begrenzten Platz zur Verfügung haben begrenzt sich der Text auf maximal 3 Buchstaben. Auch das Icon bekommt eine feste Auflösung, um mit der Grafik besser zu harmonieren.
Kommen wir zur korrekten Bezeichnung des Labels. Wie bereits besprochen hat die Spannung in Bezug auf die Restladung wenig Aussagekraft. Und dennoch können wir die Entladespannung des Akkus messen und eine drohende Tiefentladung anzeigen. In diesem einen Moment können wir eine Aussage über die Restladung treffen! Genaugenommen müssten wir den Begriff TIEFENTLADUNGSSCHUTZ benutzen. Das Word ist viel zu lang. Ich gebe der Grafik lieber die Bezeichnung „ENERGIE“. Zugegebenermaßen könnte das Word Energie für eine Reihe von Akkus bezogenen Eigenschaften benutzt werden - sogar für die Stromstärke. In diesem Zusammenhang ist es am treffendsten. Das kannst du natürlich anders handhaben.
Referenzelemente
Erinnern wir uns daran, dass wir die 5 Eskalationsstufen des Energie-Monitoring-Systems wiedergeben wollen. Zur Wiederholung hier die fünf Stufen:
Stufe 1: 100% normaler Betrieb, niedrige Priorität
Stufe 2: 20% Hinweis auf eine mögliche Gefahr, niedrige Priorität
Stufe 3: 15% Warnung der mittleren Priorität
Stufe 4: 10% Warnung der höchsten Priorität
Stufe 5: 0% (5%) System Shutdown, Arduino Schlafmodus
Bei den Werten 0%, 10%, 15%, 20% und 100% handelt es sich bei der Konzeptumsetzung um Referenz- oder Beziehungswerte. Diese Werte müssen wir auf angemessene Art auf die Datengrafik übertragen. Wir können eine Reihe von zusätzlichen Elementen wie Symbole oder Referenzmaßstäbe (Strichlineale) anbringen.
Mithilfe der Zusatzelemente kann der Betrachter auf einfache Weise Vergleiche zwischen den aktuellen Werten und einem anderen Spezifikationswert, die durch die Symbole gekennzeichnet sind, anstellen.
In vielen Datengrafiken werden farbige Linien ober- oder unterhalb der Balkengrafik angebracht, um Schwellenwerte oder besondere Bereiche anzuzeigen. Tritt der Balken in diesen Bereich färbt er sich in die Warnfarbe rot. Jedenfalls ist dies eine von vielen Möglichkeiten.
Visuelle Übertragung der Eskalationsstufen auf die Grafik
Im Kapitel Konzept eines Energy-Monitoring-Systems (EMS) beschriebenen Eskalationsstufen werden nun visuell umgesetzt. Im Folgenden sehen wir eine Visualisierung zu jeder Stufe.
Eventuell ist die 15% Stufe doch zu viel des guten, sodass ich es herausgenommen habe. Ob ich richtig entschieden habe, wird sich später im Testing zeigen. Es ist sehr oft so, dass man in der Konzeptionsphase bestimmte Annahmen trifft. Diese basieren auf logischen Überlegungen und Erfahrung. Aber die Richtigkeit dieser Annahmen wird sich erst in der Praxis zeigen. Aber das macht das ganze ja so spannend: nachjustieren, ausprobieren, neue Erkenntnisse gewinnen. Es kann sein das ich später die 15% Stufe wieder einfüge oder sogar noch mehr Stufen implementiere.
Alle bereits angesprochenen konzeptionellen Ansätze kommen zur praktischen Anwendung. Diese bilden die Grundlage für das spätere Design.