Incom ist die Kommunikations-Plattform der Fachhochschule Potsdam

Its functionality is tailored to teaching in the creative domain...modern interface to teaching

Incom ist die Kommunikations-Plattform der Fachhochschule Potsdam mehr erfahren

Backpack McBagface - ein emotionaler Rucksack

Backpack McBagface - ein emotionaler Rucksack

Wir Menschen neigen dazu in den unmöglichsten Gegenständen und Bildern des Alltags Gesichter zu sehen. Wenn uns eine Toastscheibe, eine Wolke oder ein Hundepopo freundlich zulächeln, sprechen Psychologen von Pareidolie. Doch wie reagieren ahnungslose Passanten im öffentlichen Raum, wenn das Gesicht eines toten Gegenstandes mit Leben erfüllt wird?

Aufgabenstellung

Designe eine Input Output Maschine und verleih ihr Emotionen.

Emotional Machines.

„Menschen haben Emotionen, Maschinen nicht. Das scheint bewiesen. Menschen sind aus Fleisch und Blut; sie handeln nicht nur rational sondern emotional. Sie treffen Entscheidungen, fühlen sich zu Objekten oder Subjekten hingezogen oder abgestoßen. Sie trauern, beneiden, sind guter Laune oder depressiv. Aber was ist mit Maschinen?

Zuerst sind Maschinen und Emotionen zwei große Gegensätze. Wir programmieren Maschinen und sie rechnen ohne irgendwelche Emotionen. Wenn wir uns Maschinen allerdings genauer anschauen, sieht es nicht mehr so eindeutig aus: heutzutage sind Maschinen in der Lage Emotionen zu erkennen und darauf zu reagieren. Und wenn es nach ihren Designern geht, besitzen manche sogar Emotionen...

Inspiration

Von der ersten Idee zu dieser

Die erste Idee, eine Stoffkugel, die auf haptische Reize mit akustischem Output in Form von Musik reagiert, stellet sich nach ersten Recherchen einerseits als sehr aufwendig in der Programmierung der Klangerzeugung dar und hatte andererseits für mich keinen überzeugenden Anwendungsfall.

So suchte ich zunächst nach einem Kontext, in dem mehr Menschen angesprochen werden, als avantgardistische Klangkunstliebhaber, deren Ansprüchen ich mit einem Anfängerprojekt ohnehin nicht gerecht werden könnte.

Kontextualisierung

Ein geeigneter Ort, als Bühne für die emotionale Maschine, schien die unterkühlte bis missmutige Stimmung der Berliner S- und U-Bahnen. Die Hoffnung war, dass einige Passagiere nur darauf gewartet haben mit einem unbekannten Gegenstand auf bekannte Weise in Kontakt treten zu können.

Gesichter

Das zweifellos massentauglichste emotionale Output erschien mir das mimische Spiel zu sein. In Verbindung mit dem bekannten Phänomen der Wahrnehmung von Gesichtern in alltäglichen Gegenständen musste ein Projektionsfläche für Freud und Leid gefunden werden. Ein Rucksack, als typisches Gepäckstück im Nahverkehr und mit Potential zur Interpretation als Gesicht sollte also das Artefakt werden.

Referenzen

Idee

Die Idee war einen Rucksack zu bauen, der durch Schnallen, Riemen, Reißverschlüsse etc. als Gesicht interpretiert werden kann und auf U-Bahn-typische Geschehnisse, die von Sensoren leicht erfasst werden können, mit einer basalen Mimik reagiert.

basal doch nicht banal?

Dabei sollte der Rucksack nicht offensichtlich ein Gesicht darstellen, vielmehr jedes Accessoire, das später als Augen, Lippen, Augenbrauen interpretiert werden kann, auch eine schlüssige Funktion in der Gestaltung des Rucksacks aufweisen.

Der Fokus der Projektarbeit lag also auf dem Output, die Inputkonzeption wurde vergleichsweise stiefmütterlich bearbeitet.

Aufbau

Funktionsprinzip

Das Gesicht des Rucksacks weist Augen, Augenbrauen und einen Mund auf, um damit durch die Mimik verschiedene Emotionen wiedergeben zu können.

Zwei Augenbrauen und zwei Augenlider werden durch insgesamt vier Servomotoren jeweils unabhängig von einander gesteuert. Ein Kiefergelenk und symmetrisch (nicht links und rechts unabhängige) gesteuerte Mundwinkel werden durch je einen weiteren Servomotor angesteuert.

Ein Mikrofon misst den Umgebungslautstärkepegel, ein Beschleunigungssensor die Beschleunigungssensor die Längs- und Querbeschleunigung, ein Abstandssensor die Entfernung eines Gegenübers vor dem Rucksack-Gesicht.

In einer eigens erstellten Bibliothek sind die basalen Gesichtsausdrücke Lächeln, Flirten, Trauer, Ärger, Überraschung, Schlafen und Neutral als Methoden hinterlegt. Sie steuern jeweils die 6 Servomotoren an.

Im Main-Code werden Sensormesswerte den verschiedenen Gesichtsausdrücken zugeordnet: Zu Beginn soll der Rucksack schlafen. Erst durch eine Beschleunigung in Längsrichtung erwacht er.
Dann reagiert er auf ein lautes Geräusch mit einem verärgerten Gesicht. Eine plötzliche Querbeschleunigung (bspw. durch eine Kurvendurchfahrt) überrascht ihn. Nähert sich ein anderer Fahrgast auf eine Ellbogenlänge beginnt er zu Flirten. Geht der Fahrgast daraufhin wieder weg, ist er traurig. Wenn nichts dergleichen passiert, also die Sensorwerte im Normalbereich sind, ist das Gesicht neutral. Nach einer Bremsung (negativer Längsbeschleunigung) und folgendem Stillstand des Zuges, schläft er wieder ein. Soweit die Theorie.

Input/Output Bauteile


  • 6 Servomotoren Micro Servo MG90S

  • IR-Abstandssensor GP2 Y0A21 YK0F

  • Mikrofonmodul FC-109
  • Beschleunigungssensor ADXL335

Schaltkreise

Das Projekt verfügt nur über simple Schaltungen. Die 6 Servomotoren werden über ein Breadboard an die 6 digitalen PWM-Outputs angeschlossen. Die drei Sensoren sind über das Breadboard mit insgesamt 5 (3 für den 3-Achsen Beschleunigungssensor) analogen Eingängen verbunden. Außer dem Beschleunigungssensor (3,3V) werden alle Elemente mit 5V Spannung versorgt.

Mechanik

Die Servomotoren sind auf einer Holzplatte montiert und steuern über Hebelarme bewegliche Elemente aus Holz an, die als Fügungsschnittstelle zur Rucksackhülle dienen sollen. Dabei werden die Augenbrauen über Permanentmagnete, die Stegringe der Augen in eine Form aus Holz und Federstahl eingeklickt und die Lippen mit 4 Druckknöpfen an Mundwinkel und Kiefermechanik befestigt.

Produktdesign

Textilgestaltung

Die Grundgestalt des Rucksacks ist so schlicht, wie möglich.
Der Grundfarbton ist schwarz, Kontraste werden durch eine beigen Leinenstoff gebildet.Besondere Elemente ergeben sich aus den Anforderungen zwei Augen, Augenbrauen und Lippen darzustellen, außerdem hebt sich der Deckel als „Haare“ farbig ab.

Das Gesicht
Der Mund
Ober und Unterlippe bilden die Umrahmung einer kleiner, vorderseitigen Extratasche, die mit Reißverschluss zu verschließen ist.

Die Augen
Zwei D-Ringe (und ein zusätzlicher, redundanter Stegring) an einem 25mm Gurtband dienen dem Verschluss der oberen Hauptöffnung.

Die Augenbrauen
Das 25mm Gurtband ist wiederum über zwei Verstellschnallen mit dem Deckel verbunden.

Materialien und Aspekte der Nachhaltigkeit

Aus Gründen der ökologischen Nachhaltigkeit wurde bei der Auswahl der Stoffe(Baumwolle,Leinen), der Gurtbänder(Hanf) und der Garne(Baumwolle) Wert auf natürliche Materialien gelegt. Die Gurtbänder wurden teilweise jedoch mit Simplicol Textilfarbe schwarz gefärbt. Der Reißverschluss ist aus Kunststoff und der vordere Stoff des Rucksacks enthält elastische Kunstfasern.

Die Mechanikplatte besteht ganz überwiegend aus Holzteilen, fast alle verwendeten Metallschrauben und andere Bauteile lassen sich ausbauen und wiederverwenden.

Alle elektronischen Bauelemente sind über ein Breadboard mit dem Arduino verbunden und lassen sich somit ebenfalls komplett in anderen Projekten wiederverwenden.

Code

Bibliothek Gesicht (cpp, h)

Nachdem die richtigen Winkel aller Servomotoren für unterschiedliche Gesichtsausdrücke experimentell ermittelt wurden, wird dieses Wissen in eine externen Bibliothek ausgelagert, um den Hauptcode übersichtlicher zu gestalten.

Die Bibliothek steuert die Servomotoren an, enthält also wiederum die Servo-Bibliothek. Es hat nicht funktioniert beim Erstellen eines Gesichts-objekts direkt die 6 Pins, über die die Servomotoren angesteuert werden, zu übergeben, stattdessen müssen sie der Gesicht.attach(int pinBL, int pinBR, int pinL, int pinK, int pinAL, int pinAR) Methode in der Setup-Funktion übergeben werden.

Danach können die Methoden Gesicht.neutral(), Gesicht.smile(), Gesicht.laugh(), Gesicht.flirt(), Gesicht.sad(), Gesicht.angry(), Gesicht.suprised(), Gesicht.sleep() im void loop der Main Methode aufgerufen werden.

Main Code

Setup
Im Main Code werden in der Setup Methode zunächst die Inputs der Sensoren abgefragt, die von den Umgebungsverhältnissen abhängig sind und somit normal-Werte für spätere Vergleichsoperationen ermittelt.
Dabei werden für die Beschleunigung in X(Quer) und Y(Längs)-Richtung und die Lautstärke des Mikrofonsignals 10 Werte gemessen und daraus das arithmetische Mittel gebildet. Anschließend wird die Gesicht.sleep() Methode aufgerufen und das Programm beginnt mit einem schlafenden Rucksack.

Loop
Im Loop werden nun zunächst wieder Sensor Werte ermittelt.

Messung Lautstärke
Wird die Lautstärke, um ein bestimmtes Maß überschritten, soll die Methode Gesicht.angry() aufgerufen werden. Der Rucksack soll also verärgert auf Lautstärke reagieren. Um Überempfindlichkeit bzw. Fehlmessungen auszuschließen werden 100 Werte gemessen und wieder das arithmetische Mittel und nun auch die Varianz und der Varianzkoeffizient, also das Verhältnis der Standardabweichung zum Mittel, ermittelt. Ist letzterer größer als ein Sechstel, wird das Mikrofon-Signal als laut interpretiert und ein entsprechendes boolean laut true gesetzt.

Messung Beschleunigung in Y(Längs)-Richtung
Auch hier werden zur Fehlervermeidung 100 Werte gemessen, allerdings wird eine Art Hochpass-Filter eingesetzt. Sind mehr als 15, der 100 Werte um mindestens 30 Punkte größer als der Normalwert, wird davon ausgegangen, dass der Zug angefahren ist und das entsprechende boolean angefahren true gesetzt. Sind analog mehr als 15 Werte um mindestens 30 Punkte kleiner als der Normalwert, wird von einer Bremsung des Zuges ausgegangen. Um herauszufinden, ob der Zug nach einer Bremsung zum Stehen gekommen ist, der Rucksack also wieder einschlafen würde, werden weitere 100 Werte gemessen und wenn 90 von diesen um weniger als 5 Punkte vom Normalwert abweichen, wird von einem Stillstand ausgegangen (boolean ohneBesch true).

Messung Beschleunigung in X(Quer)-Richtung
Zur Messung der Querbeschleunigung wird analog der Längsbeschleunigung vorgegangen. Ob der Wert positiv oder negativ (links- oder rechtsgerichtet) ist, spielt hier jedoch keine Rolle, da der Rucksack lediglich mit einem überraschten Gesicht auf die Querbeschleunigung reagieren sollte.

Messung Abstand
Da der IR-Abstandssensor einen effektiven Messbereich von 10-80cm hat und in Bereichen darüber und darunter extrem schwankende Messwerte ausgibt, werden auch hierbei 100 Messwerte zur Ermittlung von arithmetischem Mittel und Varianz, sowie Varianzkoeffizienten verwendet. Ein experimentell ermittelter Grenzwert von 70, der etwa einer Elbogenlänge entspricht, soll nur dann eine Flirtreaktion auslösen, wenn der Wert durch einen geringen Varianzkoeffizienten von 0.2 reliabel ist.

Wenn... Dann
Nach den Messungen, werden die Ergebnisse durch Wenn-Dann-Bedingungen den Gesichtsausdrücke zugeordnet. Hierbei ist die Hierarchie wie folgt:

0. Der Rucksack schläft

  1. Wenn der Zug angefahren und noch nicht wieder zum stehen gekommen ist, wird der Schlafzustand unterbrochen und folgendes getestet

    1.1. Ist lautes Geräusch erklungen? Dann Ärgern, sonst
    1.2. Ist jemand nah gekommen? Dann Flirten, sonst
    1.3. War im letzten loop jemand nah gekommen? Dann traurig sein,
    sonst
    1.4. Gibt es eine Querbeschleunigung? Dann überrascht sein, sonst
    1.5. neutral sein

2. Sonst (wieder) schlafen

Arbeitsprozess

Leider gab und gibt es noch einige Probleme bei der Realisierung des Projektes und so steht auch heute noch der angedachte Einsatz des Rucksacks in einer Berliner U- oder S-Bahn aus. Vor allem die Inputs funktionieren nicht, wie gewünscht. Zudem gab es nach einem Versuch der Stabilisierung der Mechanik innerhalb des Rucksacks, sodass er auch auf dem Rücken getragen funktioniert, Rückschritte hinsichtlich der Übertragung der Mimik auf den Stoff.

Mimik

Die Mimik, also die Steuerung der Servomotoren entsprechend der Mimik-Methoden funktioniert nach dem experimentellen auf dem Mechanik-Brett und ohne Stoffhülle sehr gut.

Sensoren

Die größten Herausforderungen bereiten zweifellos die Sensoren.
Nachdem ich das Thema lange hinten angestellt hatte, musste ich bald realisieren, dass eine zunächst erwogene Erkennung des Türsignals der Berliner U-Bahn mit dem Arduino Uno und einem eifachen Mikrofonmodul sehr schwierig zu realisieren sind.
Zwischenzeitlich erwog ich noch eine Input-Steuerung via Bluetooth. Doch dazu kam es auch aus Zeitmangel nicht mehr.

Nachdem erste Testmessungen der vorhandenen Sensoren zahlreiche Fehler aufwiesen, habe ich über die Anwendung von verschiedenen einfachen statistischen Methoden versucht die Messwerte zu glätten und reliabele Messwerte zu erhalten. Dies war bisher aber nur sehr begrenzt von Erfolg geprägt.

Nachdem Abstandssensor und Mikrofon ohne Stoffhülle ganz ordentlich funktioniert haben, misst der Abstandssensor mit Stoffhülle deutlich zu hohe Werte.

Noch schwerwiegendere Probleme macht der Beschleunigungssensor. Funktionierte er auch schon ohne Stoffhülle nur gelegentlich entsprechend der Erwartung, so gab es in der Stoffhülle sehr viele Fehlmessungen und dementsprechend überraschte Gesichter.

Abgesehen davon ist bis heute noch kein Test unter realen Bedingungen der Beschleunigung einer U-Bahn erfolgt. Sodass ohnehin noch eine entsprechende Kalibrierung nötig ist.

Rucksack-Design

Bei der Präsentation des Rucksackmodells Ende Januar, war ich mit der Umsetzung der Design-Strategie der Textilgestaltung in vielen Aspekten zufrieden. Der starke Glanz der Schnallen und Ringe ist ein ziemlich harter Kontrast zu den natürlichen Farben der Stoffe, ergab sich jedoch aus dem begrenzten Angebot an Stegringen, die somit die Farbigkeit/Materialität vorgaben.

Das kurze Gurtbandes zwischen Augen und Augenbraue fiel in seiner eigenartigen Proportion beim präsentierten Rucksack negativ auf, sodass ich inzwischen jeweils ein zweites Gurtband oberhalb der Verstellschnallen angebracht habe und somit die schlüssige Rucksackgestaltung vor der schlüssigen Gesicht bzw. Haargestaltung priorisiere.

Das Auftauchen von zwei „Nasenlöchern“ oberhalb des Mundes ist dem Abstandssensor geschuldet und hat bislang leider noch keine Rechtfertigung bei der Gestaltung des Rucksackes gefunden. Die gestalterische Idee, die Löcher mit dem Logo eines Unendlichkeitssymbols zu rechtfertigen und darum eine Markenidentität zu etablieren, wartet noch auf ihre Umsetzung.

Hochzeit

Zur stabilen und kraftschlüssigen Verbindung von Stoff und Mechanikplatte sollte eine Verbindung aus Stofflasche und Holzstange, wie sie von Zelten bekannt ist, fungieren. Leider hatte ich zunächst bei der Wahl des Stoffes nicht darauf geachtet, dass dieser in sich flexibel sein sollte, vor allem, um die Mundwinkel und Kieferbewegung zu ermöglichen. Nachdem dies mit dem zunächst ausgewählten, steifen Stoff überhaupt nicht funktionierte, besorgte ich einen gestrickten (nicht gewebten) Jerseystoff mit elastischen Faser.

Nachdem die Übertragung der Mimik nach der ersten Hochzeit aus Stoffhülle und Mechanik zunächst bei stehendem Rucksack funktionierte, streikten einige Servomotoren beim Tragen des Rucksacks auf dem Rücken. Um dem entgegenzuwirken, dachte ich eine steifere Halterungskonstruktion mit stabilerer Bodenplatte würde dem Problem Abhilfe schaffen. Doch leider scheint diese das Problem noch weiter verschärft zu haben. Wahrscheinlich wäre es sinnvoll eine innere Verbindung zwischen Tragegurten und Mechanikplatte aus Stoff anzubringen, die das Gewicht trägt und gleichzeitig dem Stoff den nötigen Spielraum für die Mimik lässt.

Fazit

Das Projekt war durch seine Vielseitigkeit sehr interessant. Man konnte einiges an technischen Wissen mitnehmen und dieses hoffentlich bei folgenden Projekten einsetzen.

Mit meinem Projekt bin ich vielleicht etwas zu ambitioniert gestartet, da ich nicht nur Arduino- sondern auch Nähanfänger war und dementsprechend viel Lehrgeld zahlen musste.

Grundsätzlich scheinen die Sensoren mit Arduino immer mehr Probleme zu bereiten, als man am Anfang denkt. Man kann nur hoffen, dass man diese mit zunehmender Erfahrung besser in den Griff bekommt!

Mein Rucksack wird jetzt jedenfalls nicht gleich eingemottet, sondern zumindest noch einige Zeit versucht ihn doch einsatzbereit für den Kontext zu machen, mit dem die Projektidee gestartet ist.

Referenzen/Quellen

Ein Projekt von

Fachgruppe

Werkstattpraxis

Art des Projekts

Studienarbeit im Grundstudium

Betreuung

Lina Wassong

Zugehöriger Workspace

Physical Computing

Entstehungszeitraum

Wintersemester 2017 / 2018

zusätzliches Material

Noch keine Kommentare