- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 17

Thema: Beschleunigung aus Winkel & Beschleunigung errechnen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi,

    also so ganz schlau werde ich nicht aus deinem Beitrag, ist mir wohl ein bisschen zu mathematisch ...
    Wenn ich die Formel a = sqrt(ax^2+ay^2+az^2) verwende, kommt je nach Schrägstellung des Sensors (in Ruhelage) ein etwas anderer Wert heraus, wie oben geschrieben ...
    Außerdem habe ich dann wieder das Problem, wenn die einzelnen Achsen versch. Offsets haben, dass dann der Wert wieder etwas daneben liegt.
    Deswegen wollte ich den Dreisatz anwenden, allerdings scheitere ich daran, dass das Verhältnis von Winkel & Beschleunigung nicht linear ist.
    Ich kenne die Beschleunigung der Z Achse und auch deren Winkel, daraus möchte ich die Beschleunigung bei einem Winkel von 90° errechnen.

    Was meinst du mit "da sqrt() gern länglich wird"? Meinst du die Ausführungszeit? Das wäre egal, da der Wert nur einmal zum Start des Programms errechnet werden müsste.

    Gruß
    Chris

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    sqrt benötigt recht viel Rechenzeit. Die Implementierung auf Prozessoren bassiert auf einer Taylorreihe. Genauso wie die trigonometrischen Funktionen.

    http://de.wikipedia.org/wiki/Taylorreihe
    Geändert von schorsch_76 (22.09.2013 um 16:57 Uhr) Grund: Link

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Che Guevara Beitrag anzeigen
    Wenn ich die Formel a = sqrt(ax^2+ay^2+az^2) verwende, kommt je nach Schrägstellung des Sensors (in Ruhelage) ein etwas anderer Wert heraus, wie oben geschrieben ...
    Die Physik sagt aber, der Wert muß konstant sein. Was du hier also siehst, sind die Messfehler deines Sensors.

    Außerdem habe ich dann wieder das Problem, wenn die einzelnen Achsen versch. Offsets haben, dass dann der Wert wieder etwas daneben liegt.
    Deswegen wollte ich den Dreisatz anwenden, allerdings scheitere ich daran, dass das Verhältnis von Winkel & Beschleunigung nicht linear ist.
    Dein wirkliches Problem ist nicht die Formel, auch wenn sie kompliziert wäre, sondern daß du den Winkel nicht kennst. Erst wenn du deinen Sensor kalibriert hast, kannst du den Winkel berechnen. Ist dein Sensor kalibriert, brauchst du den Winkel zum kalibrieren nicht mehr.

    Zum Kalibrieren deines Sensors brauchst du (solange er linear ist) 6 Werte: 3 Offsets und 3 Faktoren. Und das gilt auch nur, wenn der Sensor Zeit- und Temperaturstabil ist. Wenn du dann auch noch zwei Sensoren vergleichen willst, sind es 12 Werte, 6 für jeden Sensor. Um das zu vereinfachen, muß man sich den Sensor genau ansehen und entscheiden, für welchen der 6 Werte man z.B. konstante, feste Werte ansetzen kann. Wie du selbst sagst, ist der Offset ein Problem. Also muß er gegen einen anderen Sensor (z.B. Wasserwaage oder Lot) kalibriert werden. Alles andere ist der Versuch, sich an den eigenen Haaren aus dem Sumpf zu ziehen.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    Eventuell könnte man einen Regressionsansatz wählen. was ja konstant ist, g. Gleichungssystem aufstellen und viele Messwerte reinballern. Mit der Methode der kleinsten Quadrate dann die optimalen Offsets berechnen.


    Die Frage ist, wie muss das Gleichungssystem aussehen.

    Gruß Georg

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi,

    also wie man einen ACC kalibriert, darüber hab ich mir schonmal Gedanken gemacht ...
    Ich brauche je Achse einen Offset-Wert und einen Bereichs-Wert, der den maximalen Ausgabewert enthält.
    Der Sensor-Wert wird wird dann wie folgt berechnet:
    Code:
    if(accx<accx_min) accx_min = accx;
    if(accx>accx_max) accx_max = accx;
    accx_offset = (accx_min+accx_max)>>1;
    accx_range = (labs(accx_min)+labs(accx_max));
    accx_corrected = (accx-accx_offset)/accx_range*32768;
    Allerdings dachte ich bis jetzt immer, ich komme auch ohne Kalibrierung aus ... Aber anscheinend muss ich das wohl wirklich mal in Angriff nehmen, damits gescheit funktioniert.

    Gruß
    Chris

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Che Guevara Beitrag anzeigen
    Allerdings dachte ich bis jetzt immer, ich komme auch ohne Kalibrierung aus ... Aber anscheinend muss ich das wohl wirklich mal in Angriff nehmen, damits gescheit funktioniert.
    Woran erkennst du, ob es gescheit funktioniert? Was funktioniert denn nicht?

    Jeder Messwert hat Tolleranzen. Ein Zimmermann kennt keine Millimeter, trotzdem hält das Dach. Wo liegt diese Grenze bei deinem System? Wenn du diese Grenze kennst und deine Messwerte entsprechend rundest, brauchst du möglicherweise nicht zu kalibrieren.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi,

    also Messwerte könnte ich später nachliefern, allerdings kann ich persönlich mit diesem mathematischem Gedöns zur Zeit nicht viel anfangen, ist schon zu lange her ...
    Also die Grenzen liegen darin, dass z.b. wenn die Platine waagrecht steht, kein Wert von 0 ausgegeben wird sondern von 1-3.
    Ich werd jetzt mal eine Kalibrierung einbauen und dann mal sehen, obs einen merkbaren Fortschritt bringt oder nicht.

    Gruß
    Chris

  8. #8
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    Bin immer noch am grübeln. Irgendwie lässt mich dieses Thema nicht los

    Ich hab einen BIAS (Offset) in alle Richtungen, eine Skalierung und nicht orthogonale Basisvektoren.

    Muss doch zu lösen sein ....

Ähnliche Themen

  1. Beschleunigung berechnen
    Von michas_rob im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 19.10.2007, 16:09
  2. RN-Motor Steuerung/Beschleunigung
    Von blackfeet im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 1
    Letzter Beitrag: 11.12.2006, 18:19
  3. Beschleunigung messen?
    Von Freak5 im Forum Sensoren / Sensorik
    Antworten: 19
    Letzter Beitrag: 12.04.2006, 18:28
  4. Beschleunigung aus einer Kurve herraus
    Von Simsmann im Forum Sensoren / Sensorik
    Antworten: 6
    Letzter Beitrag: 13.01.2006, 12:56
  5. Geschwindigkeit/Beschleunigung
    Von NoReAction im Forum Motoren
    Antworten: 3
    Letzter Beitrag: 06.10.2005, 21:34

Berechtigungen

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

Solar Speicher und Akkus Tests