Starten der Online-Simulation

Aus HSHL Mechatronik
Version vom 11. Februar 2021, 18:37 Uhr von Levin Baumeister (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Im folgenden wird kurz erklärt, wie man das Online-Modell für das Carolo-Cup Fahrzeug startet und damit arbeiten kann. Das Online-Modell ist jenes Modell, welches für Verarbeitung sämtlicher Daten während der Laufzeit des Fahrzeuges (also beim Fahren auf der Strecke) verantwortlich ist. Das Modell ist nach dem EVA-Prinzip aufgebaut und verarbeitet die eingehenden Sensorikdaten durch eine Logik, welche anschließend wieder in Aktorikbefehle gewandelt werden. Der allgemeine Umgang mit dem Online-Modell, Matlab, Simulink und ControlDesk ist ebenfalls in einem Video veranschaulicht.

Updaten des Modells

Bevor man mit dem Arbeiten am Modell anfängt, sollte man ein Update des SVN´s durchführen. Dies kann man durch einen Rechtsklick auf den entsprechenden Ordner und Klicken des Befehls "Update" bewerkstelligen. Nur wenn alle in geupdateten Modellen arbeiten ist gewährleistet, dass keine Änderungen überschrieben werden.

Starte MatLab 2013a

Als erster Schritt muss MatLab 2013a gestartet werden. ACHTUNG: Das Online-Modell funktioniert nur einwandfrei, wenn MatLab 2013a als Version ausgewählt wurde, als Compiler Visual Studio 2010 eingestellt ist und der dSpace-Dongle für den jeweiligen PC eingesteckt ist.

start.m

In der Ordnerstruktur Software->CaroloCup Fahrzeug befindet sich eine Datei start.m. Diese Datei ist der Startknopf für die Online- und Offline-Simulation. Wenn man die Datei mit dem Befehl edit start.m im Editor öffnet, dann kann direkt am Anfang eine Codezeile finden, die folgendermaßen aussieht:
 %% Auswahl des Simulationstyps %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Schalter "Simulation".

% 0: Modell für die dSPACE-Karte

% 1: Simulation offline

Schalter_offline = 0;
Nur wenn der Parameter Schalter_offline disabled, also auf "0" steht, wird auch das Modell für die Online-Simulation geladen.
Es ist wichtig, dass man das Modell über die start.m-Datei öffnet, da dadurch auch gewährleistet wird, dass sämtliche benötigten Parameter geladen werden.

Ändern des Modells

Nun ist das Modell soweit geladen, dass man es durch einen Build-Befehl (STRG+B) kompilieren lassen kann und durch den Startknopf mit der Simulation anfängt. ACHTUNG: Sollten die Sensoren / Aktoren angeschlossen sein, so werden diese auch direkt angesprochen und können sich drehen oder bewegen. Es sollte gewährleistet werden, dass das Fahrzeug (wenn es nicht Fahren soll) frei steht. Am besten eignet sich hierfür eine kleine Box.

Zum aktuellen Zeitpunkt lässt sich das Modell nicht kompilieren, da die enthaltenen Bibliotheken fehlerhaft sind. Die ausgegebene Fehlermeldung "Library failed to build. Cannot continue build process." gibt dabei keine genaueren Auskünfte über die Fehlerursache. Daher ist die empfohlene Debugging-Strategie, den Build-Befehl auf die einzelnen Bibliotheken auszuführen. Dabei enstehende Fehlermeldungen enthalten erfahrungsgemäß detaillierte Informationen.


Siehe auch: Fehlermeldungen

Autor: Steffen Topp (Diskussion)

ControlDesk und C-Programm starten

Nachfolgend wird erläutert, in welchen Schritten die Kommunikation zwischen dem PC und der DSPACE-Karte hergestellt werden kann.

  1. Zunächst wird das DSPACE-Programm gestartet. Hierfür wird ControlDesk 5.0 gestartet und das Projekt „Carolo Cup Fahrzeug“ mit folgendem Pfad C:\SVN\CaroloCupFahrzeug gestartet. Dies kann unter "Open Project + Experiment erfolgen".
  2. Dann muss die sdf-Datei neu geladen werden, dazu muss diese Anleitung befolgt werden.
  3. Über den Button Go Online kann nun das Projekt gestartet werden.
  4. Im dritten Schritt wird das C-Programm "Objekt_Spurerkennung" auf dem Desktop gestartet. Dies muss kurz nach dem Start des ControlDesk-Projektes erfolgen, da sonst der Handshake der RS232 Kommunikation nicht erfolgen kann.
  5. Ist der Handshake erfolgreich, so leuchtet in ControlDesk die Lampe, welche den Handshake signalisiert, grün. Zudem ist ersichtlich, dass im Layer "KommunikationRS232" Daten empfangen werden. Zudem wird nun das Kamerabild visualisiert und die versendeten Daten sind in der Konsole dargestellt.

FAQ

Problem mögliche Lösung
Unbekannte Befehle Möglicherweise wurden die MatLab-Dateien durch einen Doppelklick gestartet. Dabei kann es dazu kommen, dass als Default-Programm eine andere MatLab-Version eingestellt ist. Am besten MatLab 2013a direkt starten und dann in das entsprechende SVN navigieren.
Fehler beim Kompilieren der c-Dateien Im Befehlsfenster (Hauptfenster) von MatLab den Befehle "mex -setup" eingeben und als Kompiler "Visual Studio 2010" einstellen.
Änderungen vom letzten Check-In fehlen Entweder wurde kein SVN-Update durchgeführt, oder eine andere Gruppe hat die Änderung überschrieben. Am besten lässt man sich dann das Log anzeigen (Rechtsklick auf den Ordner und unter TortoiseSVN->Show Log das Log einblenden lassen.).

→ zurück zum Hauptartikel: Praktikum SDE