- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 343

Thema: .: Vinculum :. - Hexabot

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    32
    Beiträge
    601
    Hallo,

    3) Die Füsse sollen selbst entscheiden wann der Fuss gehoben wird und wieder an den Anfang gefahren wird.
    Ich nehme an, die Schritte werden trotzdem zentral koordiniert werden? Ansonsten könnte es ja zu Problemen kommen, wenn etwa die beiden hintersten Beine gleichzeitig der Meinung sind, einen Schritt machen zu müssen?

    A) Wie erzeuge ich eine Bahnkurve die genau diese Bewegung dar stellt
    Alles was du brauchst, sind Transformationen, die dir aus der Position des Robotermittelpunkts und den drei Winkeln, die die Drehungen des Körpers beschreiben, die Positionen der einzelnen Befestigungspunkte der Beine berechnet. Dann kannst du ja mit mehr oder weniger Standard-IK die Servowinkel bei bekanntem Fußpunkt berechnen.

    D) Wie kann ich berücksichtigen, dass die resultierende Bahnkurve bei jedem Schritt durch die Lageregelung des Roboters verändert wird
    "Bahnkurve" klingt für mich viel zu sehr nach "Berechnung vor Ausführung". Wenn du hingegen für jeden Punkt die Servowinkel nacheinander berechnest (z.B. du veränderst für eine Vorwärtsbewegung die X-Koordinate schrittweise um ein gewisses delta) und für die Lageregelung statt der Soll- die Istwinkel verwendest, sollte alles möglich sein.

    Schöne Grüße

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451
    Die Bewegung sollte doch theoretisch kein Problem sein, Du hast ja 2 Koordinatensysteme:

    1. Das des Raumes in dem du dich Bewegst
    2. Das des Roboters
    (3-9). Die der einzelnen Beine, sind aber Ausschnitte von 2.

    Das erste System gibt die Bewegung deines Torsos in X,Y,Z Richtung und die Ausrichtung des Roboters angegeben. Es wird ein Vektor zwischen der Aktuellen Position des Roboters und dem Zielpunkt gespannt (theoretisch sind hier auch Kurven möglich). Also wie wenn sich der Roboter auf einer Karte von Punkt A nach Punkt B bewegen würde und in Richtung Süden schaut.

    Jetzt wird ein kleines Teilstück der Bewegung ins zweite System umgewandelt. Dieses liegt um alle Achsen gedreht im ersten System und dem entsprechend wird das Teilstück von System 1 in 2 umgewandelt. Jetzt können auf dieses Teilstück in System 2 die Korrekturmaßnahmen (vom vorherigen Teilstück) aufaddiert werden. Und diese Ergebnisse werden dann als delta X, delta Y,..... an die IK übergeben.

    Die IK von jedem Bein wird zum Mittelpunkt des Torsos berechnet.

    Die Randbedingungen von den Teilstücken werden durch die Maximalgeschwindigkeit des Roboters (evtl auch Minimalgeschwindigkeit wegen Rundungsfehlern als Drehung um 0,00001° pro step) bzw einer Vorgegebenen Geschwindigkeit festgelegt.


    Damit sollten alle deine Bedingungen erfüllt sein und auch das laufen einer Kurve müsste machbar sein, solange die Teilstücke nicht zu groß sind, sonst wirds ein Dreieck .
    Vorteil von dem Ganzen, du hast eine einfach Schnittstelle mit dem ersten Koordinatensystem auf dem Sogar noch Mapping integriert werden kann etc.

    Frage bleibt die Aufteilung zwischen den Controllern. Die Beste Möglichkeit wird wohl sein, IK und Servoansteuerung auf einen Controller und alles was zur Berechnung der Lage und das addieren des Korrekturfaktors auf das "Gehirn" zu verteilen.
    Dadurch bleibt dein IK+Servocontroller System fertig und muss "nie mehr" verändert werden (wers glaubt ). Die ganzen Änderungen im Code werden dann nur im "Gehirn" notwendig, bedeutet, hast du z.B. einen anderen Beschleunigungssensor zur Korrektur Berechnung verwendest muss an der IK nichts mehr geändert werden

  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
    @Ikarus_177 den Ansatz haten wir ein paar Beiträge weiter vorn auch schon diskutiert und an dem werde ich auch festhalten. Bahnkurve bedeutet in der Tat vorberechnet, da es ja eine Zentrale Vorgabe geben muss wohin der Roboter laufen soll. Das würde ich als die "Bahnkurve" definieren (sprich einen Meter gerade aus und dabei eine 360° Drehung). Allerdings ändert sich die Lage des Roboters wärend der Bewegung immer wieder so, dass diese "Vorberechnung" nur teilweise gültig ist und der Weg der zurück gelegt wird in entsprechende viele Teilstücke zerlegt ist. So wie du das mit dem dx, dy gemacht hast nur dass es bei mir noch ein dh (Höhe) geben wird für jeden "Schritt"
    Dein Einwand mit beide Beine hinten oder beide Beine vorne ist richtig und muss entsprechend im Programm verhindert werden, ich weis nur noch nicht ob das Zentral oder Lokal passiert.

    @robin
    Genau so denke ich dass es in der theorie funktionieren könnte. Das ist im Endeffekt ziemlich ähnlich zu dem was Ikarus_177 beschrieben hat. Die Bewegung im Raum wird zerlegt in Teilschritte und dann in Servobewegungen umgerechnet.

    Langsam ergibt sich auch für mich ein Bild wie es aussehen könnte und schwierig wird es nun nur das ganze theoretische Gebilde in einen funktionierenden Code umzusetzen (insbesondere der Mathematik) und dann auf meine µC Struktur zu verteilen.

    Ich verwende wieder (wie bei meinem Phoenix²) einen Propeller Chip von Parallax der hat 8 µC integriert die alle unabhängig voneinander arbeiten können und sich einen gemeinsamen Memory Pool teilen.
    Im Moment denke ich, dass jeder Cog (so nennen die die einzelnen µC) ein Bein bekommt und damit zwei Cogs übrig bleiben für die zentrale Berechnung der Bewegung.
    Da die Cogs auf einen gemeinsamen Memory Pool zugreifen können sie hier ohne Probleme ihr dx, dy und dh Werte abholen und selbstständig in die Servowinkel s0, s1 und s2 Umrechnen und ausführen. Nach jedem dx, dy, dh Schritt warten sie auf neue Werte oder halten die Position. Außerdem könnte jeder Cog selbst prüfen ob die Übergabewerte in Ordnung sind oder zu illegalen Servowinkeln führen (Berechnungsfehler) würden. Auch die Regelung, dass sich die Beine vorn oder hinten nicht gleichzeitig vom Boden abheben, sollte hier erfolgen.

    Der Charm dieses µC sind wirklich die 8 unabhängig und echt parall arbeitenden Kerne. Bei meinem Phoenix² arbeite ich teilweise parallel, dort berechnet Cog1 die Bewegungen und Cog6 bewegt alle rechten Beine und Cog7 alle Linken. Abgesehen davon unterstützt die Programmiersprache inline Assembler Code, so dass man alles was "schnell gehen soll" in Assembler programmieren kann und alles übrige in SPIN. Achja eine sehr umfangreiche Tabelle mit Cosinus Werten ist auch schon fest implementiert, das heißt er berechnet den Wert nicht sondern schaut einfach nach, was gerade für diese Anwendung im Hexa sehr praktisch ist.


    PS: Neue Servos für die Schultern hab ich trotzdem noch gekauft, um nicht in Probleme mit dem Drehmoment zu laufen, denn 73Ncm bei einer Belastung von 72Ncm im 45° Winkel fand ich dann doch zu kritisch. Daher gibt es jetzt einen Satz 142Ncm Servos (Zudem noch Digitale und keine Analogen) für die Schultern, womit selbst bei 90° ausrechend Leistung zur Verfügung steht und der Roboter auf ein Maximalgewicht von 3,9kg kommen dürfte (vier Beine immer am Boden).

Ä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
  •  

fchao-Sinus-Wechselrichter AliExpress