-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Bewegungsmodell eines Modellschiffes

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    20.12.2009
    Ort
    Peine, Germany, Germany
    Alter
    24
    Beiträge
    36

    Bewegungsmodell eines Modellschiffes

    Anzeige

    Hallo,

    ich bin gerade dabei ein "Dynamik Positioning System" für Modellboote zu entwickeln. Das ist ein System, das Sensor gestützt z.b. die Position und das Heading eines Schiffes hält. Desweiteren ist z.b. möglich das Schiff Seitwärts fahren zu lassen, wobei der Boardcomputer die Sensorik auswertet und dann dementsprechend die Ruder, Motoren usw. regelt.

    Ich habe die Ranzow von Graupner (1,1m lang) mit einem Bugstrahlruder vorne und hinten 2 Propeller und 2 Ruder, die alle separat angesteuert werden können. Somit ist mein Vorhaben theoretisch möglich.

    Das Problem ist die Sensorik. Im Modell lassen sich leider nicht alle Sensoren umsetzten wie z.b. der Windsensor. Auch geht eine Positionierung über GPS nicht, da wir im Schnitt nur auf 1 - 2 Meter Genauigkeit kommen.
    In der Realität werden alle Werte dann in ein Mathematisches Modell eingerechnet, die Ruder/Motoren angesteuert und dann noch bei bedarf mit einem PID Regler korrigiert.

    Im Modell habe ich mir gedacht, das ganze mit einer IMU Einheit zu machen, also Beschleunigungssensor, Gyro und Magnetometer. Um die Abweichung der Position zu bekommen, wollte ich zuerst mit einem "Attitude and Heading Reference System" die Lage im Raum errechnen und danach drehe ich das Koordinatensystem des Bootes/Sensoren auf das Koordinatensystem über Grund. Daraus kann ich dann die Beschleunigungswerte des Bootes in x und y Richtung rausnehmen. (Z Brauche ich nicht). Die Werte kann ich dann verwenden, um die Abdrift von der Position zu bestimmen und gegensteuern.

    Das Problem ist, dass sich Boote nicht immer an der gleichen Stelle drehen, das heißt ich kann die Z-Achse der Sensorik nicht auf der Z-Achse des Bootes platzieren. Dazu habe ich mir gedacht, 2 IMU Einheiten zu verwenden, eine vorne und eine hinten. Das Problem ist nur, wie kann ich die Daten interpretieren, damit ich auch die Richtige Beschleunigung im Bug und Heck des Bootes bekomme?


    Hat hier vielleicht jemand eine Idee, wie ich die Daten fusionieren könnte, um die Beschleunigungs und Drehraten von Bug und Heck bekomme?
    Hat vielleicht noch jemand eine andere Idee, wie ich das Sensortechnisch anders machen kann?

    MFG
    Philipp

    P.S.: Am Ende soll sowas in etwas rauskommen, und auch angezeigt werden: (Hab grad nichts besseres gefunden)
    http://i1-games.softpedia-static.com...Extremes_6.jpg
    Unten links der Kreis mit Bewegungsrichtung/Geschwindigkeit im Bug und Heck, Drehbewegung in °/min (oder /sek), Heading und Kurs über Grund, und vorwärts/Rückwärtsbewegung
    Geändert von lord-maricek (29.05.2012 um 19:15 Uhr)

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    500
    Hi,
    Genügt es ist nicht die Querbeschleunigungen im Bug und Heck zu messen, daraus den aktuellen Drehpunkt ermitteln und weiters die restlichen Daten? zB wenn nur Beschleunigungen in y nur am Bug auftreten, dreht sich das Schiff genau um das Heck.

    LG!
    alles über meinen Rasenmäherroboter (wer Tippfehler findet darf sie gedanklich ausbessern, nur für besonders kreative Fehler behalte ich mir ein Copyright vor.)

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    20.12.2009
    Ort
    Peine, Germany, Germany
    Alter
    24
    Beiträge
    36
    Zitat Zitat von damfino Beitrag anzeigen
    Hi,
    Genügt es ist nicht die Querbeschleunigungen im Bug und Heck zu messen, daraus den aktuellen Drehpunkt ermitteln und weiters die restlichen Daten? zB wenn nur Beschleunigungen in y nur am Bug auftreten, dreht sich das Schiff genau um das Heck.

    LG!
    Hi,
    ja das müsste sogar gehen, und aus dem Verhältnis der Beschleunigung im Bug und im Heck müsste man sogar den genauen Drehpunkt bestimmen können, da man die Bootsmaße kennt.

    Hat jemand vielleicht Sensorempfehlungen? Gesucht werden Acc,Gyro und Mag. Schnitstelle muss SPI sein, die Gyrodaten sollen mit >5kHz und die AccDaten mit >2kHz ausgegeben werden. Fusioniert wird mit einem STM32F4 mit 168Mhz und FPU.

    Mfg
    Philipp

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    500
    So schnelle Sensoren kenne ich jetzt nicht. Würde dazu aber einen Kompass (CMPS10) nehmen, ein paar absolute Werte können zur Korrektur einer Drift nicht schaden

    LG!
    alles über meinen Rasenmäherroboter (wer Tippfehler findet darf sie gedanklich ausbessern, nur für besonders kreative Fehler behalte ich mir ein Copyright vor.)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    20.12.2009
    Ort
    Peine, Germany, Germany
    Alter
    24
    Beiträge
    36
    Zitat Zitat von damfino Beitrag anzeigen
    So schnelle Sensoren kenne ich jetzt nicht. Würde dazu aber einen Kompass (CMPS10) nehmen, ein paar absolute Werte können zur Korrektur einer Drift nicht schaden

    LG!
    Danke, werde mir den Kompass mal angucken. Der MPU6000 schafft Gyro 8kHz Output und 1kHz für den Acc.
    Der ITG3200 gyro geht auch bis 8kHz, der Acc ADXL345 geht bis 3,2kHz. Kennt jemadn vielleicht noch besser?

    Mfg
    Philipp

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    Mir scheint die Sensorik nicht ausreichend um den gewünschten Effekt zu erzielen.
    Beispielszenario:
    Boot driftet (z.B. durch Wasserströmung) mit konstanter Geschwindigkeit.
    Diese Drift ist weder mit einem Beschleunigungssensor Gyro oder Magnetometer meßbar. Eine Navigation oder das Halten eine Position ist so offenbar nicht machbar.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    20.12.2009
    Ort
    Peine, Germany, Germany
    Alter
    24
    Beiträge
    36
    Zitat Zitat von ranke Beitrag anzeigen
    Mir scheint die Sensorik nicht ausreichend um den gewünschten Effekt zu erzielen.
    Beispielszenario:
    Boot driftet (z.B. durch Wasserströmung) mit konstanter Geschwindigkeit.
    Diese Drift ist weder mit einem Beschleunigungssensor Gyro oder Magnetometer meßbar. Eine Navigation oder das Halten eine Position ist so offenbar nicht machbar.
    Dazu wollte ich die Beschleunigungswerte mit der Zeitmessung in Geschwindigkeiten errechnen und die Geschwindigkeit aufintegrieren, und wenn keine positive oder negative Beschleunigung auftritt, bleibt die Geschwindigkeit gleich. Das sollte zumindest theoretisch so machbar sein.

    MfG
    Philipp

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    Dazu wollte ich die Beschleunigungswerte mit der Zeitmessung in Geschwindigkeiten errechnen und die Geschwindigkeit aufintegrieren, und wenn keine positive oder negative Beschleunigung auftritt, bleibt die Geschwindigkeit gleich. Das sollte zumindest theoretisch so machbar sein.
    Theoretisch ist das so machbar. In der Praxis ergeben sich Probleme durch die unvermeidlichen Meßfehler der Sensoren. Die zufälligen Fehler (Rauschen) lassen sich ganz gut wegmitteln, wenn man genügend häufig misst. Wesentlich unangenehmer (weil nicht korrigierbar) sind Fehler des Nullpunkts, der Linerarität usw., die bei Deinem Vorschlag über die Zeit integriert werden.
    Nimmt man z.B. den ADXL 345 dann gibt das Datenblatt (Seite 4) eine Nullpunktabweichung (0g Offset) von +/- 150 mg für x und y Achse an. Das gibt einen inakzeptablen Messfehler von 0,15m/s nach einer Sekunde Meßzeit. Dieser Fehler wächst in jeder Sekunde um weitere 0,15 m/s. Damit hat man nach wenigen Sekunden Meßzeit schon einen Fehler in einem Geschwindigkeitsbereich, den das Schiff aus eigener Kraft gar nicht mehr fahren kann.

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    20.12.2009
    Ort
    Peine, Germany, Germany
    Alter
    24
    Beiträge
    36
    Zitat Zitat von ranke Beitrag anzeigen
    Theoretisch ist das so machbar. In der Praxis ergeben sich Probleme durch die unvermeidlichen Meßfehler der Sensoren. Die zufälligen Fehler (Rauschen) lassen sich ganz gut wegmitteln, wenn man genügend häufig misst. Wesentlich unangenehmer (weil nicht korrigierbar) sind Fehler des Nullpunkts, der Linerarität usw., die bei Deinem Vorschlag über die Zeit integriert werden.
    Nimmt man z.B. den ADXL 345 dann gibt das Datenblatt (Seite 4) eine Nullpunktabweichung (0g Offset) von +/- 150 mg für x und y Achse an. Das gibt einen inakzeptablen Messfehler von 0,15m/s nach einer Sekunde Meßzeit. Dieser Fehler wächst in jeder Sekunde um weitere 0,15 m/s. Damit hat man nach wenigen Sekunden Meßzeit schon einen Fehler in einem Geschwindigkeitsbereich, den das Schiff aus eigener Kraft gar nicht mehr fahren kann.
    Naja, dann müssen wir wohl hoffen, dass sich der Messfehler alle 2 Sekunden selbst ausgleicht .
    Ne aber jetzt mal ernst, mit nem Kalman Filter werden wir wohl schon etwas Fehler rausbekommen. Hat jemand eine gute Lektüre bezüglich Kalman Filter für Leute, die mit höherer Mathematik nochnicht soviel zu Tun hatten? Bin erst Gymnasium 10 Klasse.
    Ansonsten könnte man auch noch versuchen einen Ausgleich mit den Gyros zu machen. Wenn sich das Schiff dreht, hat man ja auch verschiedene Drehraten an den Gyros, mit den Werten könnte man auch den Drehpunkt des Bootes berechnen und dann den Drehpunkt der Acc ausgleichen.
    Oder einfach einen teureren, besseren Sensor.

    MfG
    Philipp

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    ... mit nem Kalman Filter werden wir wohl schon etwas Fehler rausbekommen. Hat jemand eine gute Lektüre bezüglich Kalman Filter für Leute, die mit höherer Mathematik nochnicht soviel zu Tun hatten? Bin erst Gymnasium 10 Klasse.
    Ansonsten könnte man auch noch versuchen einen Ausgleich mit den Gyros zu machen. Wenn sich das Schiff dreht, hat man ja auch verschiedene Drehraten an den Gyros, mit den Werten könnte man ...
    Bei meinem Szenario oben bin ich extra davon ausgegangen, dass keine Drehung (abgesehen von der unvermeidlichen der Erdachse) auftritt. Da ist also auch nichts zu kompensieren mit Kalmanfilter und ähnlichen Tricks.
    Was man noch zur Verbesserung des Outputs des Beschleunigungssensors machen kann, sind im wesentlichen 2 Dinge:
    1. Man sorgt für Temperaturkonstanz am Sensor, also baut man ihn in ein Gehäuse ein, das man thermostatgesteuert beheizt und erlaubt der Elektronik auch eine angemessene Hochlaufzeit nach dem Einschalten (ca. 1/2 Stunde) bevor man die ersten Messungen vornimmt.
    2. Man kalibriert den Sensor vor jeder Meßfahrt indem man das Schiff definiert einer Beschleunigung von ax=ay=Null aussetzt und den in dieser Situation gemittelten Meßwert als Null definiert.
    Mit diesen beiden Maßnahmen sollte man den Nullpunktfehler des Sensors auf (geschätzt) 1% des maximalen im Datenblatt angegebenen Fehler bringen können. Das ist eine erhebliche Verbesserung (aber leider nicht genug für das Vorhaben).

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Ausgabe eines Bytes auf ein LCD dauert länger als die Ausgabe eines Strings?
    Von Thomas E. im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 20.03.2012, 22:43
  2. Aufladedauer eines C
    Von Philipp9494 im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 06.06.2009, 07:24
  3. Antworten: 5
    Letzter Beitrag: 30.06.2007, 20:24
  4. Bau eines Linearantriebes
    Von Naeel im Forum Mechanik
    Antworten: 6
    Letzter Beitrag: 04.10.2006, 12:27
  5. Bewegungsmodell für einen Knickarmroboter
    Von Ghuzdan im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 24.01.2006, 13:39

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •