- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 4 von 4

Thema: Algorithmus für fortlaufende Bahnkurvenberechnung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    08.11.2005
    Ort
    Zürich
    Alter
    46
    Beiträge
    7

    Algorithmus für fortlaufende Bahnkurvenberechnung

    Anzeige

    Powerstation Test
    Hallo allerseits,

    ich habe da ein mathematisches Problem und hoffe, dass mir das "allwissende" Forum weiterhelfen kann. Ich übermittle meinem Roboter Positionsdaten, die er mit einer schönen Kurve abfahren soll. Ich kann auch jeweils einige Positionsangaben im Voraus senden (ca. 1 Sekunde). Nun würde ich gerne aus diesen Positionsangaben eine stetige Bahnkurve berechnen.

    Ich denke dabei an eine Lösung, in der ich jeweils ein "Fenster" von beispielsweise 7 Punkten ( x/t-Diagramm) nehme und darüber die Kurve berechne. 3 Punkte in der Vergangenheit, 1 Punkt in dem sich der Roboter zur Zeit befindet, 3 Punkte für die nahe Zukunft. Mein erster Gedanke war eine Approximation mit Polynomen. Wenn das Berechnungsfenster aber um eine Position "verschoben" wird, verändert sich die Bahnkurve und der Übergang von der alten zur neuen Kurve ist nicht stetig. D.h. der Roboter macht einen Ruck. Mit der Bezier-Kurve kann ich diesen Ruck zwar verhindern, ich erreiche aber meine vorgegebenen Punkte nicht mehr.

    Daher Suche ich einen Algorithmus oder einen Lösungsvorschlag, der eine solche Bahnkurve schön stetig berechnet. Mindestens die x/t und die v/t Kurve müssen stetig sein. Unter Umständen muss sogar die zweite Ableitung, also die a/t-Kurve auch stetig sein. Ich bin nicht sicher wie stark das Schienengerüst der Roboter (ca. 30 bis 50 Stück) anfängt zu Schwingen, wenn sie mit einem Ruck beschläunigen.

    Ich bin für alle Hinweise und Vorschläge dankbar .


    Grüsse,

    Soror

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Schon mal mit (kubischen) Splines versucht? Falls die nicht genügen, evtl Splines höherer Ordnung.
    Disclaimer: none. Sue me.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    49
    Beiträge
    851
    Servus Soror!

    Ich habe da mal was ausgetüftelt gehabt mit Kurvenbahnen. Grundlage war ein Radius und ein zu fahrender Reisabschnitt. Wenn du jetzt in festen Zeiteinheiten immer eine neue Berechnung der Sollposition des linken Antriebs und des rechten Antriebs durchführst bekommst du die fortlaufenden Sollwerte des linken und des rechten Antriebs. Annahme die Geschwindigkeit ist fest hast du in jeder Zeiteinheit den selben Weg und Winkel bis zum Zielpunkt. Diese Zeitabschnitte sind viele kleine Wegstrecken welche immer eine kurze Gerade bilden. Wenn man nun das ganze näher betrachtet erhältst du Dreiecke auf der Kurvenbahn welche eine konstante Größe besitzen. Diese sind im Voraus zu berechnen anhand der Interpolationsrate und der zu fahrenden Strecke, also der Zeit welche die Strecke benötigen wird.

    Mach einfach mal den Versuch und setz immer an der Innenseite des vorhergehenden Dreiecks ein gleichartiges Dreieck an. Du wirst auch ohne Zirkel eine Kreisbahn zeichnen. Das ist das Grundprinzip der Kurveninterpolation.

    Vorraussetung ist natürlich ein guter Lage-, Drehzahl- und evtl. Stromregelkreis je Antriebsseite der fortlaufend mit den errechneten Interpolationsdaten beschickt wird im fest einzuhaltenden Zeitintervall der Interpolation.

    Grüße Wolfgang

  4. #4
    Gast
    hallo,

    danke für die 2 Tipps .

    @Georg-Johann: Das mit den kubischen Splines sieht sehr interessant aus. Ich werde mich da mal einarbeiten. Ich kannte bisher nur B-Splines, die die Punkte nicht exakt treffen. Ich hoffe meine Atmega128 beitzt genug Rechenleistung, um diese kubischen Splines zu berechnen.

    @Wolfgang: Das mit den 3ecken und den Kreisen ist eine interessante Lösung. Aber einen solchen Algorithmus auszutüfteln der eine schöne stetige Bahnkurve berechnet ist wahrscheinlich nicht gerade leicht. Ich werd mich daher an die kubischen Splines halten, da find ich schnell einen Algotithmus aus nem Mathebuch .

    Grüsse,

    Soror

Berechtigungen

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

12V Akku bauen