Making Stumpy Dance

Making Stumpy Dance

bachelorsthesis
Dieses Projekt implementiert einen biologisch inspirierten, rechnergestützten Mechanismus. Dieser ermöglicht es Stumpy, einem zweifüssig springendem Roboter, sich auf Musik reagierend zu bewegen. Um dies zu ermöglichen, erarbeiten wir zunächst einen Weg, musikalische Eigenschaften zu erkennen, im Speziellen den Takt eines Musikstücks. Wir identifizieren den Takt anhand der einzelnen Grundschläge. Da Bewegungen, welche relativ zu den Grundschlägen erfolgen, als rhythmisch angesehen werden, übertragen wir diese Bewegungen auf den Stumpy. Dafür identifizieren wir die einzelnen Grundschläge in einem Musikstück und generieren Werte für das Energieniveau eines einzelnen Grundschlags. Diese Energiewerte stellen wir einem Netzwerk von FitzHugh-Nagumo Neuronen zur Verfügung. Das Netzwerk wird im Einklang mit dem Takt des Musikstücks mit neuen Energiewerten aktualisiert. Ein FitzHugh-Nagumo Neuron hat eine Aktivierungsfunktion, die in der Regel periodisch verläuft. Gewisse Kombinationen von Eingangswerten und Perioden sorgen jedoch für chaotisches Verhalten. Die Motorneuronen unseres Netzwerks geben in einem definierten Zeitraum Werte aus, welche wir benützen, um die Parameter zu berechnen, welche wir per Bluetooth an den Stumpy senden. Der gesamte Prozess wird als EffectsPlugin für XMMS realisiert. Wir erstellen die benötigten Funktionen und Klassen in C und C++ Quellcode Dateien bereit. Das Plugin initialisiert beim Start ein Netzwerk, vollzieht eine beat detection mittels Samples, welche von XMMS wiedergegeben werden, stellt die ermittelten Energiewerte dem Netzwerk im Rhythmus des Musikstücks zur Verfügung und überträgt die ermittelten Werte per Bluetooth. Als Ergebnis bewegt sich Stumpy wenn Musik gespielt wird in einer gewissen Relation dazu, ein Verhalten das als tanzen bezeichnet werden kann.
Gelek Doksam
This projects implements a bio-inspired computational mechanism that allows the bidpedal hopping robot Stumpy to move in reaction to music, i.e. to dance. For that we first realize a way to distinguish features in music, namely the rhythmical pattern observant in music pieces. We identify the beat as a way to generate rhythmic behavior and we then use the beats of a music track as a marker and input the energy values of those beats into a network of FitzHugh-Nagumo neurons. These neurons, for the most part, spike periodically according to their input spike trains. Yet there are values for the input impulse and the periodicity of the impulse that lead the neurons to spike chaotically. The motor neurons of the neural network will then periodically output values which are then used to generate a parameter set to control Stumpy. We implement this process as a EffectsPlugin in XMMS using C and C++ source files. The plugin initializes a neural network, grabs packages of samples from the playback, performs a beat detection, feeds the energy values of beats periodically to the beat rate and transmits control parameter sets to Stumpy through a bluetooth connection. In the end we have a Stumpy that moves to the music played, which can be described as a rudimentary form of dancing.
Making Stumpy Dance
2009
November
University of Zurich
ailab