04.11.2013 Aufrufe

Analyse, Modellierung und Programmierung des Geige-spielens an ...

Analyse, Modellierung und Programmierung des Geige-spielens an ...

Analyse, Modellierung und Programmierung des Geige-spielens an ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

10. Entwicklung echtzeitfähiger Simulink-Oberflächen<br />

Hauptbest<strong>an</strong>dteil dieses Modell sind die fünf Untersysteme realisiert in den Blöcken<br />

namens Vorberechnungen, Anfahrt, Abfahrt, Streichen <strong>und</strong> Ueberfuehren. In ihnen spielen<br />

sich die wesentlichen Vorgänge zur Trajektoriengenerierung ab. Wie die Namen schon<br />

vermuten lassen, werden dabei die einzelnen Vorgänge getrennt vonein<strong>an</strong>der generiert.<br />

10.4.2.2. Vorberechnungen<br />

Der Block Vorberechnungen hat folgende Aufgaben: Er liest aus den Arbeitsbereich<br />

Matlabs alle benötigten Daten wie Violinenkoordinaten, Tr<strong>an</strong>sformationsmatrizen, Spielgeschwindigkeiten,<br />

usw. aus <strong>und</strong> übergibt sie <strong>an</strong> eine modifizierte Vari<strong>an</strong>te <strong>des</strong> bereits<br />

bek<strong>an</strong>nten Programmfragments namens Trajektorie_II. Weiterhin werden auch die vom<br />

Liedgenerator vorher zu berechnenden Matrizen TAbspiel <strong>und</strong> TMatrix ausgelesen 3 , welche<br />

das zu spielen Stück definieren. Es ist also Sorge zu tragen, dass sich all diese Informationen<br />

vor Beginn der Berechnungen im Arbeitsbereich (Workspace) von Matlab<br />

befinden. Die Eing<strong>an</strong>gsvariable a <strong>des</strong> Blockes dient als Zähler <strong>des</strong> Systems, mit welchem<br />

die auszulesende Spalte der Matrix TMatrix definiert wird. Der Ausg<strong>an</strong>g Ende_Matrix<br />

wird beim Erreichen der letzten Spalte von TMatrix auf den Wert Eins gesetzt <strong>und</strong> stoppt<br />

in Folge <strong>des</strong>sen die Simulation. Die Ausg<strong>an</strong>gsvariable Aktion bestimmt das als nächstes<br />

auszuführenden Teilsystem. Das Untersystem Vorberechnungen ist in Abbildung 10.12<br />

dargestellt.<br />

10.4.2.3. An- <strong>und</strong> Abfahrt<br />

Die beiden Untersysteme An- <strong>und</strong> Abfahrt sind sich vom strukturellen Aufbau sehr ähnlich<br />

<strong>und</strong> werden aus diesem Gr<strong>und</strong> hier zusammen betrachtet. Für die textuelle <strong>Programmierung</strong><br />

wurden hierbei Programmfragmente aus Trajektorie_II entnommen <strong>und</strong><br />

geeignet modifiziert, um sie für eine Echtzeitberechnung nutzbar zu machen. Die Werte<br />

der Rotation werden <strong>an</strong>h<strong>an</strong>d der übergegebenen Werte T_aktuell <strong>und</strong> T_Lage_soll<br />

vollständig in Echtzeit berechnet, während für den tr<strong>an</strong>slatorischen Bewegungsablauf Daten<br />

aus einer in Vorberechnungen ermittelten Kurve entnommen werden. Die Variable r<br />

dient dabei als zählen<strong>des</strong> Glied, welches auf den Wert der Variable Punkt<strong>an</strong>zahl gegrenzt<br />

wurde. Die Trajektoriendaten werden in der Form von Umweltkoordinaten direkt auf den<br />

Ausg<strong>an</strong>g gegeben. Wurde die Berechnungen abgeschlossen, so wird mit dem Ausg<strong>an</strong>g Ende<br />

dies signalisiert <strong>und</strong> der Block Vorberechnungen wird in Folge <strong>des</strong>sen die Vorarbeiten<br />

für die nächste Aktion laut TMatrix übernehmen <strong>und</strong> diese starten bzw. das Programm<br />

beenden. Das Untersystem Anfahrt ist in Abbildung 10.13 dargestellt.<br />

10.4.2.4. Streichen<br />

Das Untersystem Streichen funktioniert ähnlich wie das der An- <strong>und</strong> Abfahrten, wobei<br />

hier noch nicht einmal eine Rotationsregelung von Nöten sein wird. Die benötigte Orientierung<br />

wird als konst<strong>an</strong>te <strong>an</strong> das System übergeben. Die lineare Tr<strong>an</strong>slation wird mit<br />

3 Eine Verbindung der beiden Matrizen zu einer einheitlichen konnte aus zeitlichen Beweggründen nicht<br />

mehr realisiert werden, wäre aber durchaus sinnvoll.<br />

92

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!