- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 22

Thema: SparkFun MMA8452Q

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650

    Werte auf einzelne Beine beim Hexapod umrechnen

    Ich habe jetzt das Accelerometer so weit im Programm eingebunden.

    Bevor ich jetzt wieder selber das Rad erfinde, folgende Frage:

    Hat schon jemand einen Algorithmus gesichtet, der die Werte eines Lagesensors auf 6 Beine, bei einem Hexapod - als Offset - berechnet? Oder was ähnliches?

    Ich habe die Werte so weit verarbeitet, dass ich in jeder Achse 0 bis +/-15 erhalte.
    Also 0 wäre waagerecht, -15 (max). zu der einen Seite, +15 (max.) zu der andern Seite gekippt.
    Jetzt muss ich, je nachdem wie der Sensor aus der Waagerechten gekippt wird, verschiedene Werte berechnen, die sich zu den einzelnen Beinen addieren lassen, so dass der Hexapod-Körper die Waagerechte in X und Y wieder einnimmt.




    MfG

  2. #2
    HaWe
    Gast
    "so etwas ähnliches": ja.
    Allerdings für den mpu6050, der aber für die Lage-Berechnung ebenfalls seine Accelerometer benutzt.
    Da sie als raw-Werte sehr verrauscht sind, wird ein Kalmanfilter verwendet:
    https://github.com/TKJElectronics/KalmanFilter
    https://github.com/TKJElectronics/Ka...50/MPU6050.ino

    (Anm.: Da dein Sensor sehr "ungewöhnlich" ist, er keine Gyros zur Stabilisierung per Sensorfusion hat und ich keine Arduino-Libs dafür kenne, würde ich dir empfehlen, ebenfalls auf den mpu6050 zu wechseln, er ist sehr preiswert erhältlich.)

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Neee, ich bleib dabei. Der Sensor ist nicht schlecht. Funktioniert ja auch. Wozu jetzt einen andern nehmen? Ich habe ein Vermögen dafür ausgegeben (Conrad eben).





    Danke, trotzdem für die Quellen!

    Ist mir aber zu kompliziert. Es muss einfacher funktionieren.


    Der Sensor wäre vom Prinzip auch egal, ich würde dieselben Wertebereiche für weitere Berechnungen verwenden.




    MfG

  4. #4
    HaWe
    Gast
    Zitat Zitat von Moppi Beitrag anzeigen
    Neee, ich bleib dabei. Der Sensor ist nicht schlecht. Funktioniert ja auch. Wozu jetzt einen andern nehmen? Ich habe ein Vermögen dafür ausgegeben (Conrad eben).

    Danke, trotzdem für die Quellen!
    Ist mir aber zu kompliziert. Es muss einfacher funktionieren.
    MfG
    die wesentliche Funktion ist doch gar nicht kompliziert, siehe ino code:

    double roll = atan(accY / sqrt(accX * accX + accZ * accZ)) * RAD_TO_DEG;
    double pitch = atan2(-accX, accZ) * RAD_TO_DEG;

    du brauchst nur echte absolute acc Werte als Bruchteile der Erdbeschleunigung.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    roll und pitch hört sich für mich nach Flugzeug an

    Wozu ich da einen Arkustangens brauche, weiß ich noch nicht. Ist doch: atan() ??


    Ich habe mal eine Skizze angefertigt und mir ein paar Gedanken dazu gemacht.

    Ich denke, es gibt dafür eine einfache Lösung:
    Wenn eine Seite 1cm angehoben ist, muss auf der gegenüberliegenden Seite 1cm dazu addiert werden.

    Erhalte ich auf einer Seite positive Werte, muss ich die gegenüberliegend auf die beiden Beine auf den Ecken addieren (oder subtrahieren, je nach dem), mit einem Wert, der dann die Differenz ausgleicht und auf dem Gemessenen basiert. Das müsste für X- und Y-Achse gemacht werden.
    Ein Grund, warum das nicht funktionieren würde, ist mir nicht eingefallen.

    Die Position in der Z-Achse der verbleibenden 2 Beine müssten aus den dann nebenliegenden Beinen errechnet werden (eines links und eines rechts).

    Für die weitere Betrachtung kommen sicher noch andere Aspekte hinzu. So könnte auch eine Seite 2 Beine abgesenkt und die gegenüberliegende Seite 2 Beine angehoben werden.
    Da wird es situationsbedingt verschiedene Ansätze geben, bzw. Korrekturen, die angewendet werden müssen, wenn bestimmte Fälle eintreten.


    Es könnte berechnet werden, welcher Winkel benötigt wird, um den Körper einer Seite eine bestimmte Strecke anzuheben (weil die Beinglieder ja einer Kreisbahn folgen).
    Aber es kann eigentlich auch ein Regelkreis verwendet werden, um den Körper schrittweise anzuheben bis die Waagerechte wieder hergestellt ist. Würde ich so meinen.
    Nur das Verhältnis zwischen den Beinen, die angehoben oder abgesenkt werden, müsste dann ermittelt werden. Das müsste sich aus den X- und Y-Werten ergeben.

    Letzteres würde mir sogar noch besser gefallen. Wenn nicht zu langsam.




    MfG
    Geändert von Moppi (21.05.2019 um 11:20 Uhr)

  6. #6
    HaWe
    Gast
    Zitat Zitat von Moppi Beitrag anzeigen
    roll und pitch hört sich für mich nach Flugzeug an
    MfG
    selbstverständlich, genau dort werden ja solche Lagefunktionen benötigt, sie können auf Drohnen oder ATVs im schweren Gelände übertragen werden - und genau so macht man das!

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ich habe in der Formel noch was entdeckt. Das ist der Z-Wert. Ich glaub den braucht man auf dem Boden nicht (?)

Ähnliche Themen

  1. RN-XV WiFly Modul von Sparkfun
    Von Christian H im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 31
    Letzter Beitrag: 12.06.2013, 13:51
  2. Sparkfun SerLCD Problem
    Von -Lookup- im Forum Arduino -Plattform
    Antworten: 4
    Letzter Beitrag: 09.01.2013, 19:48
  3. XBee Adapter Board von Sparkfun?
    Von spelli2001 im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 19.07.2012, 14:44
  4. Ausgangswerte Beschleunigungssensor Sparkfun ADXL322
    Von jevermeister im Forum Sensoren / Sensorik
    Antworten: 11
    Letzter Beitrag: 03.05.2011, 13:52
  5. Sparkfun - Sammelbestellung
    Von flyingcat im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 01.03.2007, 13:58

Berechtigungen

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

LiFePO4 Speicher Test