Motionberechnung 8.0 Benutzeranleitung © 2010-2011 Inhaltsverzeichnis 1 Aufgabenbeschreibung .................................................................................................... 3 2 Automatische Motionerzeugung ...................................................................................... 4 2.1 Ausgelieferte Versionen........................................................................................4 2.2 Installation und Start des Programms ...................................................................4 2.3 Speichern und Laden............................................................................................4 2.4 motion.ini ..............................................................................................................5 3 Benutzeroberfläche .......................................................................................................... 6 3.1 Registerkarte „Drehratensensor“ ..........................................................................6 3.2 Registerkarte „Vergleichssensoren“......................................................................7 3.3 Registerkarte „Abaqus Include“ ............................................................................8 3.4 Registerkarte „Optimierung“ ............................................................................... 10 4 Anhang: Beispiel einer Datei motion.ini ......................................................................... 12 3 1 Aufgabenbeschreibung Zur Abbildung eines realen Fahrzeugcrashes in einem Simulationsmodell ist es notwendig, die Bewegung des Fahrzeuges während des Versuches zu erfassen. Die Erfassung dieser Fahrzeugbewegung kann derzeit nur mit Sensoren erfolgen, die im Fahrzeug verbaut sind. Diese Sensoren messen aber die Bewegungen im lokalen Koordinatensystem des Fahrzeuges; für die Abbildung in der Simulation ist die Bewegung aber im globalen System nötig. Der Berechnungsalgorithmus zur Umrechnung der lokal gemessen Daten (3 x Beschleunigung, 3 x Rotationsgeschwindigkeit) ist bereits erarbeitet und liegt vor (Excel Sheet). Diese Berechnung ist aber u.a. wegen nicht stabil erfassbarer Randbedingungen nur unzureichend exakt, deshalb sollen in Optimierungsschleifen diese Randbedingungen variiert werden, bis sich ein befriedigendes Ergebnis einstellt. Es soll nun ein Software-Tool erarbeitet werden, mit dem die Umrechnung einfach und effizient durchgeführt werden kann. Manueller Ablauf der Motionerzeugung 1. Versuchsdaten in HyperView einlesen 3 Kanäle Rotationsgeschwindigkeit 3 Kanäle Beschleunigung 2. Nullabgleich für alle Kurven durchführen Durch Sensordrift sind Winkel und Wege zum Zeitpunkt 0 nicht exakt auf null! Durch Korrektur der Messkurven (Verschieben in Y-Achse) wird dies korrigiert 3. Messkurven beschneiden Messkurven liegen in großen Zeitbereichen vor, werden aber nur für den Zeitbereich 0 bis 0.2 s benötigt. Deshalb werden die 6 Kurven auf diesen Bereich beschnitten. 4. Bearbeitete Messkurven in Excel-Format exportieren Daten in Excel-Datei in Sheet „Input“ einladen Verknüpfung auf diese Daten in Sheet“Daten-IMAR_ungefiltert“ setzen und auf ganzen Bereich erweitern Versuchsgeschwindigkeit eingeben Eventuell Anfangswinkelposition des Beschleunigungssensors setzen 5. Berechnete Motion in Text-Datei kopieren Im Sheet „Abaqus“ steht jetzt die errechnete Motion, mit Copy&Paste in Textdatei kopieren. 6. Rechenlauf mit erzeugter Motion und reduzierten Modell starten Rechenzeit lokal auf einem Prozessor ca. 5 Minuten 7. Vergleich der im Versuchsdaten mit dem erzeugten Daten (z.B. B-Säule links/rechts) Vergleich der Wege der B-Säulensensoren zeigt vor allem in Z Abweichungen 4 8. Anpassen der Sensororientierung / Jetzt wird die Sensororientierung so geändert, dass Abweichung in Z minimiert wird 9. Schritt 6 bis 9 wiederholen bis zufriedenstellendes Ergebnis 10. Visualisierung (aus Manueller Ablauf der Motionerzeugung.docx) 5 2 Automatische Motionerzeugung Motionbrechnung 8.0 ist ein Tool zur automatischen Motionberechnung und Optimierung der Einbaulage des Drehratensensors. 2.1 Ausgelieferte Versionen Linux Windows gebaut auf Centos 4, 64 Bit Windows XP, 32 Bit 2.2 Installation und Start des Programms Installation und Start unter Linux Kopieren der Datei Motionberechnung_V_8_0.tar.bz2 in ein für das Programm vorgesehenes Verzeichnis. Diese kann dann dort durch den Befehl tar -xjf Motionberechnung_V_8_0.tar.bz2 entpackt werden. Der Aufruf MotionGUI [project.mot] im Installationsverzeichnis startet das Tool Motionberechnung 8.0. Dabei ist die Angabe einer vorhandenen Projekt-Datei hinter dem Programmnamen optional und bewirkt das Laden des angegebenen Projektes. Installation und Start unter Windows Entpacken des Archivs Motionberechnung_V_8_0.zip in ein für das Programm vorgesehenes Verzeichnis. Doppelklicken auf die Datei MotionGUI startet das Tool Motionberechnung 8.0. 2.3 Speichern und Laden Das Tool Motionberechnung 8.0 ist in der Lage, angelegte Projekte zu speichern und zu laden. Die Daten werden dafür in Dateien mit der Endung .mot serialisiert. Projekte können, wenn sie schon vorhanden sind, unter ihrem bisherigen Namen ( File -> 6 Save oder Ctrl+S) oder unter einem neuen Namen (File -> Save As oder Ctrl+Shift+S) abgespeichert werden. Bei bisher nicht gespeicherten Projekten öffnet sich in beiden Fällen ein „Speichern unter...“-Dialog. Das Verzeichnis in dem das Projekt gespeichert wird, fungiert ab sofort als Arbeitsverzeichnis. Das bedeutet, dass alle Dateien, die das Tool Motionberechnung 8.0 anlegt, dort gespeichert werden. In folgenden Fällen wird ein automatischer Speichervorgang auslöst: Wechsel von einer Registerkarte zu einer anderen Beginn und Beendigung der Optimierung Schreiben eines HTML Reports Vorhandene Projektdateien können über File -> Load (oder Ctrl+O) geöffnet werden und werden dann in das Programm eingelesen. 7 2.4 motion.ini Im Installationsverzeichnis muss eine Datei motion.ini liegen, in der die Standarddaten zum Start des Tools spezifiziert sind. Ein Beispiel befindet sich in Abschnitt 4 . Wurde das Programm wie oben beschrieben installiert, so ist diese Datei im entsprechenden Verzeichnis schon zu finden. Außerdem ist es möglich, für jede ISO Datei eine eigene motion.ini anzulegen und diese im selben Verzeichnis zu speichern, in dem auch die ISO Datei liegt. Befindet sich keine motion.ini neben der ISO Datei, wird wieder die motion.ini aus dem Installationsverzeichnis aufgerufen. Um Änderungen in der motion.ini vorzunehmen, kann sie in einem Texteditor geöffnet und modifiziert werden. Die Daten sind dabei wie folgt gruppiert: [01Drehratensensor] Messkanalnamen & Koordinaten Drehratensensor [02Vergleichssensor1] Messkanalnamen & Koordinaten 1. Vergleichssensor [03Vergleichssensor2] Messkanalnamen & Koordinaten 2. Vergleichssensor [04Optimierung] Optimierungseinstellungen (Anzahl der Samples, für die Voroptimierung, Objective [05Abaqus] Zeitpunkte zur Auswertung der sowie die gewünschte Berechnungsvariante) Pfade zu Abaqus sowie zum Abaqus Input Deck des Vollmodells Wurden Änderungen vorgenommen, so kann die motion.ini in der Benutzeroberfläche über einen Button „Update“ erneut eingeladen werden. Eine Betätigung des Buttons „Save“ speichert eine motion.ini direkt neben die Projektdatei mit der Endung .mot. Entsprechendes kann erst geschehen, wenn das Projekt schon gespeichert wurde (siehe Abschnitt ) 8 3 Benutzeroberfläche 3.1 Registerkarte „Drehratensensor“ Die Daten der Messkanäle des Drehratensensors werden über eine ISO-Datei spezifiziert. Sie wird durch den Button „ISO“ ins Programm eingelesen. Können aus der Datei motion.ini die Defaultkanäle eingelesen werden, so werden diese in den Auswahlboxen unter dem Button „ISO“ automatisch gesetzt. Bei Bedarf können andere Kanäle gewählt werden. Weiterhin besteht die Möglichkeit, einzelne Kanäle zu invertieren. Dazu muss die Box neben dem entsprechenden Messkanal mit einem Haken markiert sein. Rechts werden die Koordinaten des Drehratensensors angegeben. Diese wurden aus der motion.ini extrahiert und sind bei Bedarf auch modifizierbar. Die Wege der Messkanäle können über das Visualisierungsfenster im unteren Teil der Registerkarte grafisch dargestellt werden. Dazu stehen über die Auswahlbox unter dem Grafikfenster die folgenden Visualisierungen zur Wahl: Beschleunigungen Rotationsgeschwindigkeiten Wege Rotationen 9 Durch einen Klick auf den Button „Aktualisieren“ (unterhalb der Kanalauswahlboxen) können mögliche Veränderungen in der Auswahl der Messkanäle dargestellt werden. Die Bedienung des Visualisierungsfensters ist ausführlich in der Dokumentation von optiSLang beschrieben (siehe optiSLang Documentation, Version 3.1.0, Abschnitt 14.2). Wechseln Sie nun auf die Registerkarte „Vergleichssensoren“. Beim Wechsel von einer Registerkarte zur nächsten wird automatisch gespeichert. 10 3.2 Registerkarte „Vergleichssensoren“ In der Registerkarte „Vergleichssensoren“ können Sensoren ausgewählt werden, die zur Fehlerminimierung verwendet werden sollen. Sensoren, welche in die Rechnung einbezogen werden sollen, müssen mit einem Haken markiert werden und die Messkanäle müssen ausgewählt werden. Die Defaultkanäle, welche in der Datei motion.ini angegeben sind, wurden beim Laden der ISO-Datei im vorherigen Abschnitt schon eingetragen, können aber bei Bedarf wieder in den Auswahlboxen geändert werden. Weiterhin können auch hier einzelne Messkanäle invertiert werden. Dazu muss der entsprechende Kanal mit einem Haken markiert werden. Rechts werden die entsprechenden Koordinaten der Vergleichssensoren angegeben. Diese wurden aus der motion.ini extrahiert und können auch angepasst werden. Die Wege der Messkanäle beider Sensoren können (sofern die Sensoren als verwendet markiert sind) über das Visualisierungsfenster im unteren Teil der Registerkarte grafisch dargestellt werden. Dabei gibt es folgende Auswahlmöglichkeiten: Beschleunigungen Vergleichssensor 1 Wege Vergleichssensor 1 Beschleunigungen Vergleichssensor 2 Wege Vergleichssensor 2 Durch einen Klick auf den Button „Aktualisieren“ (unterhalb der Kanalauswahlboxen) 11 können mögliche Veränderungen in der Auswahl der Messkanäle dargestellt werden. Die Bedienung des Visualisierungsfensters ist ausführlich in der Dokumentation von optiSLang beschrieben (siehe optiSLang Documentation, Version 3.1.0, Abschnitt 14.2). Danach kann in zur Registerkarte „Abaqus Include“ gewechselt werden, wodurch wieder automatisch gespeichert wird. 12 3.3 Registerkarte „Abaqus Include“ Im oberen Teil der Registerkarte kann ein Winkel und die Versuchsgeschwindigkeit festgelegt werden. Letztere wird beim Laden der ISO-Datei automatisch aus dieser übernommen. Sie kann jedoch bei Bedarf geändert werden. Die Winkel, sowie die Versuchsgeschwindigkeit werden bei der Berechnung der Optimierung benutzt. Die Wege der Mess- und Simulationskanäle aller Sensoren können über das Visualisierungsfenster im mittleren Teil der Registerkarte grafisch dargestellt werden. Die Simulation wird bei Klick auf den Button „Aktualisieren“ zu den unter „Einbaulage Drehratensensor“ angegebenen Winkeln und der angegebenen Versuchgeschwindigkeit berechnet und dargestellt. Die Bedienung des Visualisierungsfensters ist ausführlich in der Dokumentation von optiSLang beschrieben (siehe optiSLang Documentation, Version 3.1.0, Abschnitt 14.2). Mit einem Klick auf den Button „WriteINC“ kann eine INC-Datei zum oben gewählten Winkel und der gewählten Versuchsgeschwindigkeit herausgeschrieben werden. Nachdem dies geschehen ist, öffnet sich ein Benachrichtigungsfenster mit der Frage, ob im Anschluss das Vollmodell mit Abaqus berechnet werden soll. Dieses wartet 60 Sekunden auf die Antwort des Nutzers. Erfolg keine Antwort, so startet die Berechnung 13 des Vollmodells mit Abaqus automatisch. Für die Vollmodellberechnung ist es notwendig, dass in der motion.ini die entsprechenden Pfade zu Abaqus und zur INP Datei angegeben sind. Anschließend kann auch Abaqus CAE mit der entstandenen ODB Datei automatisch aufgerufen werden. 14 Im unteren Teil der Registerkarte ist der Button „Starte Optimierung“. Links daneben werden Einstellungen für die Optimierung angezeigt, welche über die motion.ini modifiziert werden können: Voroptimierung mit N Samples: Ist eine Voroptimierung gewünscht, so wird diese mit den ersten N Samples durchgeführt. Für die Voroptimierung wird davon ausgegangen, dass die Bewegung der Sensoren anfangs nur in X-Richtung erfolgt. Dafür werden passende Startwinkel gesucht, mit denen dann weiter gerechnet wird. In der motion.ini wird diese Anzahl im Punkt „SamplesPreOpt“ festgelegt. Zeitpunkte [s]: Es wird nach dem Abstand zwischen den Vergleichssensoren und deren simulierten Wegen optimiert. Soll dies nur an bestimmten Zeitpunkten ausgewertet werden, können diese in der motion.ini im Punkt „Zeitpunkte“ angegeben werden. Berechnungsmethode: Die Rotationen und Wege werden durch eine von 3 verschiedenen Berechnungsvarianten bestimmt. Welche dies sein soll, wird in der motion.ini im Punkt „Berechnungsmethode“ festgelegt. Dabei ist ein Wert 1, 2 oder 3 möglich, wobei 3 der Berechnung aus der Excel-Datei entspricht. Klickt man auf den Button „Starte Optimierung“ beginnt die Optimierung. Achtung! Für die Optimierung wird die Applikation minimiert und die Berechnung läuft im Hintergrund weiter! In der Konsole kann der Verlauf der Evaluation auch während des Optimierungsvorganges verfolgt werden. Nach Betätigung des Buttons „Starte Optimierung“ werden bis zu vier Vorgänge nacheinander gestartet: 1. Voroptimierung. 2. Optimierung mit den berechneten Startwinkeln. 15 3. Berechnung des Vollmodells mit Abaqus und der entstandenen INC Datei. Speichern der benötigten und entstandenen Dateien in einem Verzeichnis AbaqusResults_Projektname im Arbeitsverzeichnis. 4. Start des Abaqus CAE mit der entstandenen ODB Datei. Nach jedem einzelnen Vorgang gibt es über ein Benachrichtigungsfenster die Möglichkeit fortzusetzen oder abzubrechen. Wird keine der beiden Möglichkeiten direkt durch Betätigen des entsprechenden Buttons gewählt, so wird der darauf folgende Vorgang nach 60 Sekunden automatisch gestartet. Nach Beendigung der Optimierung wird automatisch gespeichert. Die Applikation erscheint wieder auf dem Bildschirm und die nächste Registerkarte öffnet sich. 16 3.4 Registerkarte „Optimierung“ Diesem Abschnitt kann das Ergebnis der Optimierung entnommen werden. Auf der linken Seite hat man mit der Auswahlbox unter dem Grafikfenster die Wahl zwischen neun Visualisierungen: Objective History Winkel History: Weg Drehratensensor Weg Vergleichssensor 1 Fehler Vergleichssensor 1 Abstand-History bei 80ms Vergleichssensor 1 Abstand-History bei 120ms Vergleichssensor 1 Weg Vergleichssensor 2 Fehler Vergleichssensor 2 Abstand-History bei 80ms Vergleichssensor 2 Abstand-History bei 120ms Vergleichssensor 2 Dabei zeichnet „Objective History“ eine Kurve in rot, welche das Ergebnis der Berechnung 17 in jedem Optimierungsdurchlauf aufzeigt, weiter werden in grün die besten Ergebnisse aus jeder Optimierungsgeneration angezeichnet. „Winkel History“ veranschaulicht die Gradzahlen der Einbaulage des Drehratensensors während der Optimierungsläufe. „Weg Drehratensensor“, „Weg Vergleichssensor 1“ und „Weg Vergleichssensor 2“ visualisieren jeweils die X-, Y- und Z-Wege der Mess- und Simulationskanäle des entsprechenden Sensors zum besten Design. „Fehler Vergleichssensor 1“ sowie „Fehler Vergleichssensor 2“ veranschaulichen die Abweichungen der Wege der Vergleichssensoren mit deren simulierten Wegen. Die übrigen zeigen die Abstände an den Stellen 80ms bzw. 120ms während der Optimierungsläufe. Die Bedienung des Visualisierungsfensters ist ausführlich in der Dokumentation von optiSLang beschrieben (siehe optiSLang Documentation, Version 3.1.0, Abschnitt 14.2). Im Informationsfenster auf der rechten Seite der Registerkarte kann die Einbaulage des Drehratensensors nach der Optimierung abgelesen werden. Zusätzlich werden die Abstände der Wege der Vergleichssensoren zu deren über den Drehratensensor simulierten Wegen zu den Zeitpunkten 80 und 120 Millisekunden angegeben. Ein Klick auf den Button „Report“ unterhalb des Informationsfensters exportiert alle Grafiken automatisch in ein Verzeichnis Pictures_Projektname im Arbeitsverzeichnis und schreibt einen HTML-Bericht, welcher im Arbeitsverzeichnis unter dem Namen Report_Projektname.html abgelegt wird und in einem Internetbrowser (bspw. Firefox) betrachtet werden kann. 18 4 Anhang: Beispiel einer Datei motion.ini [01Drehratensensor] ACCX=10VEHCMI0000ACXA ACCY=10VEHCMI0000ACYA ACCZ=10VEHCMI0000ACZA ROTX=10VEHCCG0000AVXA ROTY=10VEHCCG0000AVYA ROTZ=10VEHCCG0000AVZA X=2.738 Y=0.136 Z=0.229 ; ; Vergleichssensoren ; [02Vergleichssensor1] ACCX=10BPILLE0005ACXA ACCY=10BPILLE0005ACYA ACCZ=10BPILLE0005ACZA X=1.655 Y=-0.748 Z=0.326 [03Vergleichssensor2] ACCX=10BPILRI0005ACXA ACCY=10BPILRI0005ACYA ACCZ=10BPILRI0005ACZA X=1.658 Y=0.748 Z=0.330 ; ; Im folgenden Abschnitt muss die Anzahl der Samples angegeben werden, ; welche in der Voroptimierung betrachtet werden. Weiterhin koennen ; Zeitpunkte gewaehlt werden, an denen die Objective ausgewertet wird. ; Ausserdem wird eine von drei Berechnungsmethoden erwartet (1, 2 oder 3), ; wobei 3 der Excelberechnung entspricht. ; [04Optimierung] SamplesPreOpt=80 Zeitpunkte=0.08 0.12 Berechnungsmethode=1 ; ; ; ; ; Hier werden Pfade für die Berechnung des vollen Modells in Abaqus erwartet. Neben dem INP File muessen alle weiteren Include Files (ausgenommen, das von der Motionberechnung geschriebene) liegen, damit diese vor dem Start von Abaqus ins Arbeitsverzeichnis kopiert 19 ; werden koennen. ; Weiterhin muessen die Pfade in Anfuehrungszeichen angeben werden! ; [05Abaqus] AbaqusPfad="/home/bin/abaqus/abq691" AbaqusINP="/home/user/data/Motionberechnung.inp" 20