-         

Ergebnis 1 bis 2 von 2

Thema: Differentialkinematik

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    31.05.2009
    Ort
    Ingolstadt
    Beiträge
    82

    Differentialkinematik

    Anzeige

    Hallo Leute,

    ich sitze gerade an der Kinematik meines differential angetriebenen R2-D2. Der Microcontroller liefert mir alle 50ms die Encoderinkremente, und ich baue die zu einer Trajektorie zusammen. Nach den klassischen Formeln der Differentialkinematik rechne ich aus den Raddrehgeschwindigkeiten die Bewegungsgeschwindigkeit in vx, vy und die Drehrate va (im Roboterkoordinatensystem) aus. x, y und a sind Position und Rotation des Roboters in Weltkoordinaten und starten bei 0.

    Wenn ich das Ganze jetzt in Weltkoordinaten umsetzen muß, berechne ich

    x += cos(a)*vx - sin(a)*vy
    y += sin(a)*vx + cos(a)*vy
    a += va

    ...transformiere also vx und vy mit der aktuellen Roboterdrehung ins Weltkoordinatensystem und addiere sie auf x und y, und a inkrementiere ich einfach mit va.

    Meine Frage: Ich nehme also die Bewegung als stückweise geradlinig an, interpretiere also (vx vy)^T als Bewegungsvektor. Dabei mache ich einen Fehler, denn der Robbi bewegt sich ja auf einem Kreisbogen. Macht Ihr das auch so, berechnet Ihr tatsächlich den Kreisbogen (aufwendig!), oder habt Ihr andere Ideen?

    Danke für jeden Input!

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2008
    Ort
    Graz
    Beiträge
    500
    Hi,

    Also ganz so kompliziert berechne ich die Koordinaten nicht:

    Weg=(weg_links+weg_rechts)/2
    Drehwinkel=(weg_lins-weg_rechts)/Radstand [rad]
    Radstand= Abstand der beiden angetriebenen Rädern.

    Position seit letzter Berechnung:
    pos_x_temp=weg*sin(Drehwinkel)
    pos_y_temp=weg*cos(Drehwinkel)

    Absolute Position:
    pos_x=pos_x+pos_x_temp
    pos_y=pos_y+pos_y_temp

    Richtung=Richtung+ Drehwinkel

    Hier brauche ich kein eigenes Koordinatensystem für den Roboter, das geht direkt im Weltsystem.

    Bei geringen Radien berechne ich den Kreisbogen extra, besser gesagt nach der Drehung berechne ich den aktuellen Endpunkt des Kreisbogens und von dort geht es mit der einfachen Streckenberechung weiter. Dazu brauche ich Roboter und Weltsystem.

    Formeln sind auf meiner Homepage unter Software - Positionsbestimmung.
    Bis jetzt stimmen die Ergebnisse der Berechnung mit der Wirklichkeit trotz der geringen Tastrate überein.

    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.)

Berechtigungen

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