CattleSense: Ein Facelift für das Referenzsystem
CattleSense: Ein Facelift für das Referenzsystem
Das CattleSense Referenzsystem ist seit über einem Jahr erfolgreich in der Erprobung. Wie andere Assistenzsysteme stellt auch dieses eine komplexe Lösung aus mechanischen, elektronischen und softwaretechnischen Komponenten dar. Die Elektronik enthält einen Luftdrucksensor, der geringe Unterschiede im relativen Luftdruck erkennen kann. Über diese Luftdruckunterschiede werden Veränderungen in der Höhe des Sensors und dadurch Informationen über das Liege- und Stehverhalten eines Rindes erfasst. Zusätzlich ist ein Beschleunigungssensor eingebaut, über den Bewegungen des Sensors aufgezeichnet werden. Zum anderen können zusätzlich über eine Smartphone Anwendung detailliertere Verhaltensweisen in den Datenaufzeichnungen ergänzt werden. Anhand der Verhaltensaufzeichnungen können die Daten des Luftdruck- und Bewegungssensors mit Aktivitäten des Tieres verknüpft werden.
Für die Smartphone Anwendung wurde ein hierarchisches Ethogramm entwickelt. In der ersten Ebene wurde zwischen Kategorien (z.B. Stehen, Liegen, Laufen) unterschieden. Diese wurden in einem zweiten Schritt über konkrete Verhaltensweisen präzisiert (z.B. Liegen: Bauchlage/Seitenlage, auf dem Gang/in der Box).
In der praktischen Erprobung erwies sich diese Bedienung als suboptimal. Suche und Auswahl der passenden Verhaltensweise dauerten zu lange, da für jedes Verhalten Klicks in zwei Ebenen erforderlich waren. Für die Auswertung ist aber eine schnelle Eingabe für die korrekte Zuordnung des Verhaltens zu den Luftdruck- und Bewegungsdaten wichtig. Zudem war bei parallelen Verhaltensweisen, wie zum Beispiel Liegen und Wiederkäuen, nicht ersichtlich, ob und welche Verhaltensweisen aktuell in der Anwendung aktiv sind. Aus diesen Gründen wurde beschlossen, die Benutzeroberfläche auf eine einstufige Eingabe umzustellen und die aktuell aktiven Verhaltensweisen farblich hervorzuheben. Dabei wurde auch zwischen Sequentiellen Verhaltensweisen, von denen jeweils nur eine zu einem Zeitpunkt stattfinden kann (z.B. Stehen, Liegen, Laufen) und Verhaltensweisen, die parallel zu anderen (sequentiellen) Verhaltensweisen stattfinden können (z.B. Wiederkäuen in verschiedenen Körperhaltungen) unterschieden
Für die Weiterentwicklung der Anwendung wurde auf die vorherige Implementierung zurückgegriffen. Diese entstand mit Hilfe der visuellen Programmierumgebung App Inventor vom Massachusetts Institute of Technology. Diese richtet sich vor allem an Schüler und Programmiereinsteiger und ermöglicht die Implementierung von mathematischen Operationen, Bedingungen und Verarbeitung von Nutzereingaben über grafische Blöcke, ohne eine spezielle Programmiersprache lernen zu müssen. Die in Farbe und Form verschiedenen Blöcke fügen sich wie Puzzleteile ineinander. Anhand der Form erkennt der Softwareentwickler, welche Blöcke, sich an welcher Stelle hinzufügen lassen. Die Farbe hingegen gibt Aufschluss über die Funktionsweise und den Rückgabewert. So werden übliche Programmierfehler wie das Zuweisen von unterschiedlichen Datentypen schon bei der Eingabe verhindert. Für erfahrene Entwickler bietet dieser Anwendungsbaukasten die Möglichkeit zur schnellen Entwicklung von (potenziell) plattformunabhängigen Prototypen ohne umfangreiche Entwicklungsumgebungen zu installieren und sich intensiv in plattformspezifische Programmierschnittstellen einarbeiten zu müssen. Für umfangreiche Anwendungen stößt dieser Ansatz allerdings an seine Grenzen.
Die Herausforderung bei der Umgestaltung der CattleSense Anwendung bestand in der größeren Anzahl der Eingabeelemente. Waren es vorher acht Kategorie-Buttons mit jeweils einem Untermenü, stehen den Anwendenden nun 25 Buttons für Verhaltensweisen und Notizen zur Verfügung. Jeder Button löst ein individuelles Klick-Event aus, welches von jeweils einem eigenen Event-Handler in Software verarbeitet wird. Dabei bestehen zwischen den Event-Handlern Gemeinsamkeiten wie das Senden von Nachrichten und das Zurücksetzen von Farbhervorhebungen anderer Buttons, aber auch Unterschiede wie die gesendeten Nachrichteninhalte und die Beziehungen zu anderen Buttons. Durch die Restrukturierung der Event-Handler und Ausgliederung von Gemeinsamkeiten in parametrierbare Funktionen blieb die Programmlogik bei vergleichbaren Blockumfang beherrschbar und die Lesbarkeit wurde gesteigert. Bei der Entwicklung von Software ist stets zu beachten, dass man nicht zwingend die letzte Person sein wird, die Veränderungen an dem Code vornimmt. Sollte sich nach Jahren ein Programmierfehler bemerkbar machen, hilft die Einhaltung von Regeln für einen guten Programmierstil, den Fehler schnell zu lokalisieren und zu korrigieren.
Die Spezifikation der neuen Oberfläche entstand aus der Zusammenarbeit der Universität Bonn, dem Thünen-Institut und dem Lehr- und Versuchsgut Köllitsch. An der Professur Schaltkreis- und Systementwurf der TU Chemnitz erfolgte wie schon zuvor die Umsetzung. Im nächsten Schritt soll CattleSense mit der neu gestalteten App in Köllitsch getestet werden.
Dieser Beitrag hat 0 Kommentare