Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
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 />
Abbildung 10.6.: statisches Seite <strong>des</strong> Echtzeitmodells (Teil II)<br />
in INV_KIN_Gelenk, werden mit den für den Gain-Provider benötigten Daten zusammengeführt<br />
<strong>und</strong> <strong>an</strong> Lied_Traj übergeben. Im Folgenden können diese Daten nun als<br />
Eing<strong>an</strong>gskoordinaten für den LBR-III durch eine entsprechende Umschaltung <strong>des</strong> Multiport<br />
Switch2 durch Traj_Schalter übergeben werden. Zu beachten sei hierbei allerdings,<br />
das dies nur möglich ist, wenn die moment<strong>an</strong>e Lage <strong>des</strong> M<strong>an</strong>ipulators exakt mit der virtuellen<br />
Startposition <strong>des</strong> Trajektoriengenerators zusammenfällt, welche seine Koordinaten<br />
beginnend von dieser generiert. Ist dies nicht der Fall, muss entweder die Trajektorie <strong>an</strong><br />
die aktuelle Position <strong>an</strong>gepasst werden, was meist durch eine Neuberechnung der gesamten<br />
Bahn mit hohem Aufw<strong>an</strong>d verb<strong>und</strong>en ist, oder, wie in diesem Falle realisiert, die<br />
im Programm vorgegebene Position muss vom M<strong>an</strong>ipulator vor Beginn der Trajektorienfahrt<br />
<strong>an</strong>gefahren werden. Eine einfache aber effektive Lösung dieses Problems stellt die<br />
Implementierung eines Winkelinterpolators dar, welcher, steuerbar durch eine Vorgabe<br />
der max. Winkelgeschwindigkeit, direkt zwischen Start <strong>und</strong> Zielposition in Gelenkkoordinaten<br />
inkrementell interpoliert. Diese Aufgabe wird vom Block gleichen Namens realisiert<br />
(siehe Abbildung 10.7 oben). Als Eing<strong>an</strong>gsdaten dienen natürlich die aktuelle Position<br />
<strong>des</strong> Roboters, sowie die Zielposition entsprechend der Intitialposition <strong>des</strong> Trajektoriengenerators.<br />
Letzteres wird auf der Steuerungsseite definiert <strong>und</strong> als traj_gen übertragen.<br />
Auch diese Daten, in denen bereits die Regelparameter implementiert wurden, können<br />
nun durch den besagten Multiport-Switch 2 als Soll-Winkel <strong>an</strong>s Modell übergeben werden.<br />
Die Umschaltung durch Traj_Schalter geschieht auf der Steuerungsseite. Wie leicht<br />
zu erkennen ist, werden diese Daten allerdings nicht direkt <strong>an</strong>s Robotermodell übergeben,<br />
sondern in soll_<strong>an</strong>gle gespeist <strong>und</strong> <strong>an</strong> soll_<strong>an</strong>gle_modi zurückgeführt. Dazwischen<br />
befindet sich ein weiterer Winkelinterpolator selben Typs, erkennbar in Abbildung 10.7<br />
rechts. Dieser besitzt keine funktionale Aufgabe, sondern dient lediglich als Sicherung,<br />
falls unvorhersehbare Sprünge der Gelenkkoordinaten auftreten, die max. Geschwindigkeit<br />
überschritten wird oder die Steuerungsseite falsch bedient wurde. Dies erscheint sehr<br />
sinnvoll, da wie bereits erwähnt gerade Sprünge zu einer Zerstörung der hochentwickelten<br />
Maschine führen können. Möglich wird eine solche Sicherung durch die spezielle Funktionsweise<br />
<strong>des</strong> Interpolators: Wird in einem Takt die maximale Winkeldifferenz <strong>und</strong> somit<br />
84