- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24

Thema: Rotationsproblematik - Koordinatentransformation

  1. #11
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Anzeige

    Powerstation Test
    Hallo,

    warum möchtest Du überhaupt dieses "herausdrehen" machen? ich meine, der Zusatnd auf dem oberen Bild ist doch eigentlich der gleiche wie der unten...das Koordinatensystem der Füße (Raumkoordinate) zu drehen macht doch nur Sinn, wenn sich auch tatsächlich der "Boden" neigt - und da auch nur um z. B. Bewegungen auszugleichen. Das soll hier aber wohl nicht gemeint sein.

    Aber Du schreibst etwas geht vom Roboter aus, also würde ich statt die Raumkoordinaten zu drehen das Roboterkoordinatensystem drehen. Normalerweise sollten sich dann die Wert einstellen die Du laut deiner Bilder etwa haben müsstest. Und mit denen solltest Du dann auch Deine Verdrehung hinbekommen.
    Tatsächlich ist es doch von der Berechnung her egal ob Du die Raumkoordinaten zu den Roboterkoordinaten drehst, oder die Roboterkoordinaten zu Raumkoordinaten. Wichtig ist allein das Du das dann immer so berechnest und nicht plötzlich mittendrin etwas tauschst oder anders machst. Hast Du nach so einem Fehler ggf schon gesucht?

    Du hast doch zwei Koordinatensysteme oder?

    mfg

  2. #12
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hallo,

    danke für die vielen Vorschläge!

    @mare_crisium: Danke für das Dokument, bis auf den Text versteh' ich aber leider Bahnhof
    Du hast recht: wenn ich für die Hin-Transformation eine Reihenfolge festlege, und die für's zurückdrehen umkehre, müsste es funktionieren. Das Problem dabei ist aber, dass ich keine "richtige" Hin-Transformation habe. Ich weiß ja nur den Mittelpunkt des Roboters und den Bodenpunkt des jeweiligen Fußes. Ich könnte mir zwar den Befestigungspunkt des Beines am Roboter ausrechnen, indem ich den "Ausgangspunkt", also den Standard-Befestigungspunkt bei keiner Neigung, um die drei Achsen drehe (da könnte ich mir ja eine beliebige Reihenfolge ausdenken). Danach dreh ich den Befestigungspunkt mit der selben Reihenfolge wieder zurück, und nimm den Bodenpunkt gleich mit. Da der Befestigungspunkt dann sowieso wieder am Anfang steht, könnte ich mir diese Rechnerei gleich sparen. Dann aber müsste die Endlage des Bodenpunktes aber bei jeder Reihenfolge gleich sein, weil das Programm ja nicht wissen kann, mit welcher Reihenfolge ich den Befestigungspunkt Hin- und wieder zurücktransformiert habe - das ist aber leider nicht so. Irgendwo verständlich?

    @PicNick: stimmt natürlich, das zweite Teilbild soll auch nur rein eine "Verdrehung" des ersten sein, sodass der Körper waagrecht steht.

    @vohopri: Die Winkel sind (derzeit) als "Abweichungswinkel" des Befestigungspunktes von der Nulllage definiert - also Winkel zu Achsen. In der ersten Version der IK hatte ich nur ein Koordinatensystem, in dem sich der Roboter immer in Nulllage befand, und sich die Bodenpunkte unter dem Körper wegbewegen bzw. drehen. Das hatte den Vorteil, dass es zwar für den Anfang relativ überschaubar und einfach bleibt, leider war damit ein geneigtes Laufen o.ä. nur sehr schwer möglich. Deshalb wollte ich nun zwei Koordinatensysteme verwenden, eines, in dem sich der Roboter im Raum bewegt und auch dreht, und ein zweites, in dem der Roboter wieder in Nulllage ist, und die Bodenpunkte entsprechend gedreht werden. Ich wollte nun vom ersten aufs zweite Koordinatensystem umrechnen, indem ich zuerst den Robotermittelpunkt in den Ursprung schiebe, und danach um die jeweiligen Achsen drehe, sodass der Roboter schließlich parallel zum zweiten Koordinatensystem steht. Dieser Ansatz ist eigentlich aus dem heraus entstanden, da ich noch nicht herausgefunden hab', wie ich (einfach) den Gelenkswinkel (z.B. mit einem Tangens) ausrechne, wenn der Roboter als ganzes geneigt ist, und der Winkel, wenn ich von oben (also parallel zur z-Achse im Ortsfesten Koordinatensystem) auf den Roboter schaue, durch dessen Rotation verzerrt ist.

    @HeXPloreR: dürfte der Großteil schon oben stehen

    Viele Grüße
    ikarus_177

  3. #13
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Hi,

    Deine Gelenkwinkel sollten sich daraus ergeben das Du das Roboterkoordinatensystem auf die Achsen des Bots legst...und daraus deine Neigung an den Coxa-Gelenken mit der IK + oder - einrechnest.

    Dein maximaler Drehwinkel ergebt sich doch aus deiner Roboter-Goemetrie (inkl. Beinpositionen) / Servostellwinkel. Und den bekommst Du wenn dein RoboterKOS sich auf dem RaumKOS dreht. Deine Füße sind am Raum festgemacht, und der Körper dreht quasi frei MIT seinem "KOS"=Koordinatensyste.

    Das laufen mit komplett einseitig gesenktem Körper ist allgemien sowieso nicht das gleiche laufen wie "normal", weil ja die Gelenkwinkel "runtergedrückt" werden, also eingeschränkt in der möglichen Bewegung sind. Entweder liegen die zur Berechnung vorliegenden Winkel außerhalb von 90°/deine IK rechnet ggf nicht bis 180° - was wohl auch noch etwas schwieriger dann wird.

    Probier doch die Drehung erstmal ohne Neigung aus - also nur paralleles RoboterKOS zu RaumKOS - oder hab ich das überlesen und das hast Du schon hinter Dir?


    mfg

    EDIT: Übrigens kann ich Dir nur empfehlen min. zwei Beine in Abhängigkeit beim drehen zu betrachten. Vorne links - hinten rechts; vorne rechts - hinten links, mitte links -rechts.

    Wie berechest Du es im Moment wenn Du schon nach z.B dem Tangens fragst? Denn soweit ich weiß geht IK nicht ohne Winkelberechnung.

    Meinen Überlegungen stützen sich unter anderem auf diese Arbeit von Claudia Weiss:
    http://medien.informatik.uni-ulm.de/...audiaWeiss.pdf

  4. #14
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hi HeXPloreR,

    danke für den Artikel!
    Die IK, die ich jetzt habe, hatte nur ein Roboterkoordinatensystem. Das machte zwar die Berechnung beim Laufen und Drehen recht einfach und überschaubar, leider war aber ein gekipptes Laufen nicht so einfach möglich, weshalb ich nun "umwagonieren" möchte.

    Im Prinzip ist mein derzeitiger Ansatz ziemlich gleich wie dein Vorschlag, das Roboterkoordinatensystem (das stets parallel zum Bot ist) auf die Achsen des Bots zu legen, und ein zweites (Raum-)Koordinatensystem zu verwenden, in dem der Roboter aber gekippt usw. ist. Aber wie komm ich nun auf die Koordinaten des Bodenpunktes im Roboterkoordinatensystem, also wie rechne ich die Punkte um? Mein Ansatz bestand ja in der Drehung um den umgekehrten Winkel, aber das bringt ja einige Tücken mit sich...

    Viele Grüße

  5. #15
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn man zwei gegeneinander verdrehte Koordinatensystem hat, kommt man um die Drehung nicht herum. Rechnerisch macht man das oft mit Drehmatizen, also Gebilde mit 3x3 Elementen. Damit kann man jede beliebige Drehung beschreiben und auch die Rückrichtung ausrechenen. Das ganze ist aber mathematisch nicht so ganz einfach (je nach Schule kommt das noch dran,oder auch nicht mehr) und auch nicht mehr so anschaulich. Gerade dass man die Reihenfolge der Drehungen im Raum nicht vertauschen kann ist ungewohnt.

    Der Wikipedia Eintrag ist leider auch mehr zu Nachschlagen, wenn man es im Pronzip schon kennt:
    http://de.wikipedia.org/wiki/Drehmatrizen

  6. #16
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hi Besserwessi,

    den Wikipedia-Artikel werd' ich mir anschauen, danke!

    Wenn ich nun eine Koordinatentransformation vom globalen Koordinatensystem aufs lokale (Roboter-) System machen will, muss ich wohl zuerst das Roboterkoordinatensystem auf den Ursprung des globalen Systems schieben, und danach die Rotation ausführen? Dann hab' ich ja erst wieder das Problem, mit welcher Achse ich anfangen soll (nur, dass die Rotation jetzt durch die Matritzen berechnet wird)?

    Viele Grüße

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    19.11.2007
    Beiträge
    22
    Hast du nen Beschleunigungssensor drauf?

  8. #18
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hi,

    nein, einen Beschleunigungssensor hab ich (noch) nicht.

    Ich denke, die Problemstellung lässt sich auf folgendes zusammenfassen: ich hab ein globales Koordinatensystem mit den Achsen x, y und z. Dann hab ich noch ein weiteres Koordinatensystem, dessen Ursprung irgendwo im ersten System liegt, und dessen Achsen u, v und w im Raum (des ersten Koordinatensystems) geneigt sein können. Ich habe nun einen Punkt im globalen Koordinatensystem und möchte dessen Koordinaten in mein zweites System transformieren, den Punkt also "aus Sicht" des zweiten Koordinatensystems darstellen.
    Wie stelle ich das nun am besten an? Bei Rotationsmatritzen, wie sie im Artikel auf Wikipedia auftreten, hab' ich noch nicht wirklich Erfahrungswerte aufzuweisen, wie man da jetzt was berechnen kann. Im Netz findet man auch kaum "anfängertaugliches" zu dem Gebiet.

    Viele Grüße

  9. #19
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Hey,
    also ich denke das Du das nicht unbedingt benötigst bzw nur bedingt und Dir die ganze Sache nur unnötig erschwert.

    Wenn man sich bewußt macht das das RoboterKOS den tatsächlichen Körper des Roboters darstellen soll.
    Dein RoboterKOS endet bei den geometrischen Gegebenheiten Deines Bots, die Fußpunkte stellen gleichzeitig (oder auch nur) Koordinaten im RaumKOS dar. Damit hast Du eine Verbindung der beiden Systeme. Da sie dadurch verbunden sind braucht man eigentlich doch nichst mehr transformieren. Man sieht das es nur wichtig ist in welche Richtung Du rechnen möchtest - also vom RaumKOS zum RoboterKOS, oder von RoboterKOS zu RaumKOS - das Ergebnis sollte in beiden Fällen das gleiche sein, und Dir eine Koordinate im RaumKOS liefern nicht im RoboterKOS, denn dort kennst Du bereits die die Du benötigst. Aber nicht vergessen es ist ein Koordinate innerhalb deines beschriebenen Systems, nicht mehr und nicht weniger.
    Leider kann ich Dir zu Vektoren und Rotationmatrixen auch noch nicht sonderlich viel sagen.


    nfg

  10. #20
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hi,

    so ganz verstehe ich das noch nicht. Ich kenne die Lage der Fußpunkte ja nur im Raumkoordinatensystem, nicht in dem des Roboters. Nun möchte ich den Punkt aber auch im Roboterkoordinatensystem - in dem ich ihn ja vorher nicht kannte - beschreiben können.

    Viele Grüße

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests