Hallo Leute.
Ein Teil meiner Diplomarbeit besteht aus der Erstellung eines Laufmodells in Adams und die Anbindung des Modells an ein Matlab/Simulink - Modell. Das ganze klappt auch soweit ganz gut und funktioniert.
Das Modell hat ziemlich viele Gelenke/Freiheitsgrade. Auf jeden Freiheitsgrad wird jeweils ein periodische Funktion gegeben (Weg(t) oder Geschschwindigkeit(t) + Anfangsbedingung(t=0)).
Diese Bewegungen und Verschiebungen sind durch Fourierreihen hohen Grades approximiert.
Die Fourierfunktionen (es sind momentan 12. Später bis 69) werden in Matlab erstellt und automatisch in Dateien geschrieben. Bisher habe ich - zum "probieren" einige Funktionen in den Function-Builder von Adams aus der entsprechenden *txt - Datei "reingepasted". Das klappt auch wunderbar.
Die Ergebnisse sind soweit befriedigend und ich möchte die Funktionen auf alle Freiheitsgrade anwenden. Da es aber lästig und recht aufwendig ist immer die Funktionen in den Functin-Builder zu "copy- pasten", suche ich nun einen Weg, um die Dateien, die die Funktionen enthalten automatisch einzulesen und so die Funktionen zu definieren.
Eine andere (tolle) Möglichkeit wäre es, die Koeffizienten der Fourier-Reihe als State-Variablen zu definieren und sie während der Co-Simulation mit Matlab+Adams/View rüberzuschicken. Hierbei besteht aber das Problem, dass ich die Anfangsbedingungen der Verscheibungen nicht mit State Variablen von Matlab nach Adams "rüberbekomme". Es bleibt also wieder nur das "Copy-Pasten". Beispiel: Die Funktion der Gelenkgeschwindigkeit in X - Richtung sei:
G12Xposition(time) =
-2.269588e+001
-12.593542*cos(1.000000*0.274141*time)+41.123960*sin(1.000000*0.274141*time)+29.086005*cos(2.000000*0.274141*time)+19.191413*sin(2.000000*0.274141*time)+18.380053*cos(3.000000*0.27 4141*time)....
usw...
Diese Funktion kann ja, (aber nur bei der Arbeit mit Adams/View + Simulink) ersetzt werden durch:
G12Xposition(time) =
VARVAL(V1)*cos(1.000000*0.274141*time)+VARVAL(V2)*sin(1.000000*0.274141*time)+VARVAL(V2)*cos(2.000000*0.274141*time)+...
usw..
Nun bekomme ich aber Probleme wenn ich das initial Displacement auch als VARVAL(StateVariable1) definieren. Fehlermeldung:
ERROR: ---------------------------------------------------------------------
ERROR: Invalid input. Enter a number.
ERROR: The command was not executed.
ERROR: >> var set var=.vereinfachterKoerper.m_lfemur.r1_ic_disp real=VARVAL(Var1)
ERROR: ---------------------------------------------------------------------
Leider kann man ja Design - Variablen auch nicht durch die Varval Funktion ausdrücken also scheidet diese Möglichkeit auch aus ? So dass ich das Initial Displacement wieder "Copy-Pasten" muss. Das geht aber bestimmt sehr vieleleganter und ich entschuldige mich schon jetzt, falls ich den Wald vor lauter Bäumen nicht sehe...
Ich hoffe sehr (bezweifele es aber etwas) dass ich mich und das Problem verständlich ausgedrückt habe....
Ich würde mich sehr freuen falls jemand einen Ratschlag geben kann, wie ich diese Funktionen und Anfangbedingungen elegant einlesen kann oder Anfangsbedingungnen von Simulink via Adams/Controls in mein Modell bekomme.
Vielen Dank und einen schönen Abend!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP