- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 343

Thema: .: Vinculum :. - Hexabot

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Das was du meinst ist die inverse Kinematik, die ist nun nahezu vollständig implementiert. Was ich jetzt Suche ist die sogenannte Bahnkurve. D.h. die Trajektorie bei der sich der Roboter von A nach B bewegt. Also von einem Ausgangspunkt zu einem Zielpunkt und diesen Weg muss ich irgendwie in der Mathematik abbilden.

    - - - Aktualisiert - - -

    Das was du meinst ist die inverse Kinematik, die ist nun nahezu vollständig implementiert. Was ich jetzt Suche ist die sogenannte Bahnkurve. D.h. die Trajektorie bei der sich der Roboter von A nach B bewegt. Also von einem Ausgangspunkt zu einem Zielpunkt und diesen Weg muss ich irgendwie in der Mathematik abbilden.

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Ich würde es versuchen so zu lösen das man den Anfangspunkt und den Zielpunkt (A-Z) als Variablen, dann den Weg dazwischen in die kleinste Einheit zerlegen die die Beine sich bewegen können und dann solange auf den Anfangstpunkt aufaddieren bis man den Zielpunkt erreicht hat. Sollte auch für Koordinaten funktinieren. Habe ich selbst sovor, aber noch nicht umgesetzt. Daher ist es erstmal nur ne Idee.

  3. #3
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Meine Gedanken gehen in eine ähnliche Richtung. D.h. ich habe eine Aktuelle Ist Position definiert durch x=0, y=0, und Drehwinkel alpha = 0° und eine Zielposition mit z.B. x = 150cm, y = 150cm, alpha 45°. Damit müsste der Roboter dann 150cm nach vorn und 150cm nach rechts laufen (translatorisch) und dabei die Orientierung des Körpers um 45° drehen (rotatorisch). Soweit so gut. Einziges Problem was ich bisher noch habe ist, wie ich die Wegstrecke sinnvoll in Schritte unterteile, denn die Zielpositionen können unterschiedlich weit entfernt sein und daher in variablen Anzahl von Schritten erreicht werden, die Anzahl gilt es irgendwie sinnvoll zu bestimmen.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2008
    Alter
    40
    Beiträge
    557
    Mir fehlt es an Erfahrung in diesem Bereich aber manchmal können Ideen von "Unwissenden" ja ein Anstoß für die eigene Lösung sein

    Als Bezug würde ich das mittlere Beinpaar wählen, um die Bewegungen des vorderen, bzw. hinteren, Beinpaares davon abzuleiten.

    Den Bogen, den das kurvenäußere Bein zurücklegt, würde ich in Bogensehnen unterteilen. Die Länge dieser Sehnen könnte die maximal zurücklegbare Strecke des Beins bei einer Bewegung sein, aber kleiner um auf den Untergrund angepasst eine bessere Mobilität zu erziehlen (auf ebener Fläche sind keine Steine oder Löcher zu erwarten).

    Die Länge der ermittelten Sehnen würde ich im Verhältnis äußere Kurvenbahn zu innerer Kurvenbahn verkürzen um mit der gleichen Anzahl Schritten den benötigten Weg zurück zu legen. Wenn ein Mensch um eine Kurve läuft hebt er ja auch immer abwechselnd die Füße und macht unterschiedlich große Schritte.

    Auf Basis dieser Bewegungen müsste man dann die Bewegungen der verbleibenden vier Beine errechnen. Ich denke, es sollen immer drei Beine Bodenkontakt haben (Mitte links + Vorne/Hinten Rechts oder umgekehrt)
    Alles ist möglich. Unmögliches dauert nur etwas länger!

  5. #5
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Hallo Arkon,

    was du beschreibst - und auch völlig richtig - ist die weiter Führung der Inversen Kinematik zu einer einfachen Bein-Trajektorie. Was allerdings noch fehlt ist die übergeordnete Bahnplanung oder um es weniger technisch auszudrücken: der Weg.

    Hier mal meine Lösung, wie ich mir das Vorstelle:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Berechnung.jpg
Hits:	31
Größe:	21,4 KB
ID:	26426

    Nur leider wird er bei einer überlagerten translatorischen und rotatorischen Bewegung keine Kurve laufen, sondern einfach schräg mit einer entsprechenden Drehung des Körpers.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2008
    Alter
    40
    Beiträge
    557
    Also vereinfacht die Bahn, die ein Punkt(z.B. Schwerpunkt oder Drehpunkt) auf der Basis zwischen Start und Ziel verfolgen soll?

    Dann müsste doch die Distanz nicht als Gerade (Pythagoras -> Gleichschenklige Weiber, her damit!) sondern als Bogen berechnet werden. Für die Berechnung eines Punktes auf einer Kreisbahn wäre das entsprechend Bild hier   Die Bogenlänge geteilt durch den maximal zurücklegbaren Weg pro Schritt würde dann die Anzahl der benötigten Schritte ergeben.

    Sollte ich nur Blödsinn oder unnützes Zeug schreiben wink doch bitte kurz mit dem Zaunpfahl. Will nicht mit unqualifizierten Aussagen nerven
    Alles ist möglich. Unmögliches dauert nur etwas länger!

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Ich denke auch der Lösungsanstz ist der Richtige, nur sollte man vermutlich eine Kreisbogenbahn, wenn man Kurven läuft, in viele kleiner Punkte zerteilen... und diese Punkte dann mit Geraden verbinden, damit man die Steigung einfach herausbekommt.
    Man kann natürlich auch den Kreisbogen mit Sinus/Cosinus in verschiedenn (aktueller) Winkeln bearbeiten damit man einzelne Punkte herausbekommt. Dazu muss man aber einen Drehpunkt setzen.

    Das der Roboter nur schräg läuft mit Drehung des Körpers halte ich für ein Gerücht: Auch hier gilt, er macht das was man ihm sagt.

    Wenn er schräg läuft hat man ggf nicht die richtige Bahnberechnung ausgewählt.
    Wenn es verschieden Zielpositionen die aber für den gesamten Roboter (Mittelpunkt, Centrum ...wie auch immer...) gibt, dann sind diese alle nacheinander zu berechenen und anzulaufen.
    Wenn die Strecken unterschiedlich sein können, dann gibt es mehrere Wege nachdem man die Strecke A-Z des Körpers und der Beinkurve kennt:
    1.die Bewegung der Beine anpassen, also kürzer oder länge Schrittweite.
    2 die Bewegung mit vordefinierten fester Schrittweite und am Ende der Strecke den Rest des Weges ermitteln der nicht mehr in einen vollen Schritt passt. Das bedeutet das jedes Bein das letzte zu bewegbare Bein sein kann. Auch sollte man bedenken, das der Körpermittelpunkt nicht unbedingt auch den gleichen Abstand zu allen Fußpunkten haben muss - also nicht unbedingt der wirkliche Zielpunkt sein muss. Man könnte damit also auch noch etwas schieben und die Füße ggf extra nachberechnen wenn einen die Position eines einzelnen Fußes nicht gefällt. Da gilt es dann die erlaubte Toleranz einzustellen wo der Zielpunkt liegen darf, damit man mit den Beinen den Körper ggf letztendlich aufs Ziel schieben kann.

    Ich verstehe Dein Bild mit dem unteren IF - Else nicht recht. Warum ist translatorisch zu rotatorsch getrennt? Wozu ist das gut?

    Das Problem was ich hier sehe ist, das es nichts damit zu tun hat ob ein Betrag der Schritte je translatorisch zu rotatorisch größer als der andere ist?
    Dazu müsstest Du nochmnal was sagen.
    Der Winkel kann auch nicht einfach vorggeben werden, jedenfalls nicht wenn man auch gleichzeitig Koordinaten vorgibt - denn man weiß ja eigentlich garnicht ob der Winkel zu den Koordinaten passt, ob also die Gerade den Zielpunkt schneidet. Man kann nur eines von den beiden vorgeben, wo bei Vorgabe eines Winkel auch noch die Länge (Vektoren) der Strecke angegeben werden sollte, damit die Bewegung dort beendet bzw auch die Schrittzahl berechnet werden kann. Sonst läuft er eben weiter bis "was neues" kommt, dazu muss die maximale Schrittweite por Bein also zwingend vorhanden sein.

    Also man erechnet sich Koordinaten aus Winkel + Länge oder den Winkel + Länge aus Koordinaten.

    Ein Frage stellt sich mir noch: Welchen Schrittmodus benutzt Du als Grundlage 3x3, 4x2, 5x1? Mischung?
    Meine Idee ist vielleicht kommt es zu einem Denkfehler wenn man sich auf eine bestimmte Schrittart einschiesst ala "ein Schritt muss immer genau so lang sein". Ich denke da liegt eher der Knackpunkt des Problems.

    Um nochmal auf die sinnvolle Anzahl der Schritte zurück zu kommen: Die liegt zwischen einer Definition von maximaler Schrittlänge pro Schritt/Schub bis nicht bewegt.
    Lege die maximale Schrittlänge fest, dann kannst du erst berechnen wieviele Schritte mindestens nötig sind.
    Lege die minimale Schrittlänge fest, dann kannst Du berechnen wieviele Schritte maximal nötig sind.
    Wichtig ist hier zu unterscheiden ob eine Kurve oder eine Strecke gelaufen werden soll.
    Und auch ob die Koordinaten (kurze Strecken) mit Körperverschiebung nur mit Schub ohne Schritt zu erreichen sind und eine nachfolgende Korrektur der Fußpunkte gewünscht ist.

    Das sind mal son paar von meine Gedanken dazu. Ich hab die Lösung auch noch nicht so richtig fertig - und solange kommt in meinem eigenen Beitrag auch nichts neues
    Geändert von HeXPloreR (19.09.2013 um 16:29 Uhr)

Ähnliche Themen

  1. CFK Hexabot
    Von MichaF im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 14
    Letzter Beitrag: 19.08.2010, 22:03
  2. atmega und Vinculum
    Von elcomportal im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 27.05.2008, 22:47
  3. hexabot
    Von patrickgera im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 29.04.2008, 22:09
  4. LVProg - Linux Vinculum (USB Hostcontroller) Programmer
    Von Surveyor im Forum Open Source Software Projekte
    Antworten: 0
    Letzter Beitrag: 01.11.2007, 03:08
  5. Hexabot
    Von Derboss im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 36
    Letzter Beitrag: 22.09.2007, 11:32

Berechtigungen

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

12V Akku bauen