Cosas de Frikis

27. März 2009

Ok bevor ich näher erläuter um was es hier geht, gleich mal ein Video (sozusagen als Teaser…):

Zuerst, was sieht man hier?


Man sieht eine stilisierte Darstellung eines Wagens an dem ein Pendel befestigt ist, und man sieht auch was passiert, wenn man das Pendel von ein bisschen weniger als 180° Auslenkung (also fast obere Ruhelage) ausschwingen läßt. (Nun ja, man kann das Ausschwingen nicht sehen … das Video hört vorher auf — but you get the idea…).

Das ganze ist mit POVRay gerendert worden, und das Verhalten des Pendels und des Wagens, der sich in der x-Richtung bewegen kann, weil er auf Rollen und Schienen steht (hier nicht zu sehen…), wirkt ziemlich realistisch. Und ich kann sagen es ist auch ziemlich realistisch.

Und jetzt kommt das Wieso:
Die Daten der Auslenkungen kommen aus einer Simulink-Simulation von Matlab, und das zugrunde liegende Modell basiert rein auf physikalischen Gleichungen. Mechatronik Kollegen von mir wird dieses Wagen Pendel Modell bekannt vorkommen, wir haben die Modellbildung, und Simulink-Simulation (und dann auch einen Reglerentwurf) im Automatisierungstechnik-Praktikum erstellt.

Meine Errungenschaft ist, dass ich eine kleines POVRay Modell der Anordnung erstellt habe, und dann aus Matlab heraus, mit den Daten der Simulation, die POVRay-Körper an die entsprechende Stelle bewegt habe und das Bild gerendert. Wenn man nun das mit den entsprechenden Werten für alle Zeitpunkte von 0 – Simulationsende, im Abstand von 1/(24fps) macht, erhält man viele (24*Simulationsdauer) Bilder die ganz schnell nacheinander betrachtet eine Animation ergeben. Man kann die Bilder auch mit mencoder zum Beispiel zu einem Film zusammenkodieren und dann auf youtube raufladen und dann sogar einen Blogeintrag darüber schreiben…

Und weil alle so brav bis hierhin mitgelesen haben, hier nun das gleiche Modell, mit Regler der das Pendel in der oberen Ruhelage hält. Bei 5s wird dem Wagen eine neue Sollposition vorgegeben, und er fährt in diese Sollposition so, dass er dabei das Pendel nicht völlig aus der oberen Ruhelage verliert und es bei erreichen der neuen Sollposition sich wieder in dieser befindet:

Falls sich wer fragen sollte, warum ich das mache: Ich brauch eine Abschlussarbeit für die Computergrafikvorlesung die ich mache. Und die Abschlussarbeit sollte eine Animation sein, die den physikalischen Gesetzen entspricht, sprich man sollte nicht nur Bewegungen so animieren dass sie realistisch aussehen, sondern die Bewegung muss vorher tatsächlich physikalischen Grundlagen entsprechend berechnet werden. In POVRay kompliziertere Berechnungen durchführen .. nun ja … wieso nicht ein Tool dazu verwenden, das extra dafür gemacht wurde (Matlab), noch dazu wenn es bei uns auf der UNI auf jedem Computerarbeitsplatz verfügbar ist? Der Gedanke geht zur Zeit noch weiter — wieso nicht ein kleines Tool in Matlab schreiben, das die Erstellung von solchen Simulationen vereinfacht? Man kann solche 3D Visualisierungen vllt. ja noch einmal brauchen …

Leave a Reply