- Akku Tests und Balkonkraftwerk Speicher    Werbung      
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
    @Hanno: als ich mich noch aktiv mit meinem Hexa beschäftigt hatte, erschien mir folgender Weg am zweckmäßigsten / einfachsten:
    Meinen Beincontrollern (die die IK für die Beine berechneten und die Servos ansteuerten) bekommen vom Master (der für die übergeordnete Bewegungssteuerung zuständig ist) nicht die absolute Wunschposition des Beines übermittelt, sondern stets ein gewisses dX / dY / dZ. Um die Datenübertragung weiter zu vereinfachen, war diese Schrittweite immer fix eingestellt (man sollte natürlich einen relativ kleinen Wert nehmen, um die Bewegung "flüssig" aussehen zu lassen); alles was der Beincontroller vom Master empfing, waren Kommandos a là "Bewege Fußspitze um 1 dX / um -1dY usw...".

    Trotz dieses einfachen Systems ließen sich damit alle Bewegungen realisieren, auch Überlagerungen von Bewegungen waren ohne weiteres möglich (z.B. um schräg zu gehen werden die Kommandos "+1dY" und "+1dX" abwechselnd gesendet, die Häufigkeit der beiden Befehle zueinander bestimmt, wie "schräg" gegangen wird; Drehungen während Bewegungen funktionieren ähnlich). Die Stärke des Konzepts ist aber auch gleichzeitig seine Schwäche: alle Bewegungen der Beine werden in einem roboterfesten Koordinatensystem gemessen, dessen Ursprung im Montagepunkt der Beine am Roboterkörper liegt. Das macht es extrem einfach, den Roboter etwa fernzusteuern, da alle Kommandos stets "aus Sicht des Roboters" ausgeführt werden, und er sich nicht in einem absoluten - ortsfesten - Koordinatensystem bewegt.

    Das Problem ist, dass der Master (bzw. deine Instanz, die den Pfad bestimmt) bei überlagerten Bewegungen, die Drehungen beinhalten, seehr viel zu rechnen hat, wenn du Manöver wie deine 360°-Drehung während des Geradeauslaufens ausführen willst - schließlich läuft der Roboter (aus seiner Sicht) am Ende "rückwärts".

    Der "Königsweg" für einen IK-Bewegungsapparat - aus meiner heutigen Sicht - würde ein globales, ortsfestes Koordinatensystem haben, in dem sich der Roboter bewegt. Aus dem Robotermittelpunkt und seinen Drehungswinkeln in den drei Achsen (quasi den Parametern, mit deren Hilfe der Roboter gesteuert werden kann) werden die globalen Positionen der Befestigungspunkte berechnet, diese fließen zusammen mit den Bodenpunkten der Beine (die - während das Bein am Boden ist - im globalen System konstant bleiben!) in die Berechnung der eigentlichen IK ein.

    Zum Thema Neigungsausgleich: willst du die Neigung eines konstant schiefen Bodens ausgleichen, oder auf unregelmäßig unebenem Gelände laufen? Ersteres würde wahrscheinlich einfach über eine Winkelmessung (im Optimalfall mit Gyroskopen + Beschleunigungssensoren und einem Kalmanfilter zur Datenfusion) und entsprechende Korrektur möglich sein (ein geschlossener Regelkreis wäre denkbar). Zweiteres benötigt Sensoren, die feststellen können, ob ein Bein nun tatsächlich am Boden ist (Ich habe festgestellt, dass es bei Tastern das Problem gibt, dass diese eventuell nicht sicher schließen, wenn das Bein schief am Boden aufkommt). Die Anpassung an das Gelände erfolgt dann bei den Schritten, indem sich die Beine solange absenken - aber auf keine feste Höhe - bis ein fester Bodenkontakt hergestellt ist. Neigungsmessungen wären wohl auch hier notwendig, um eine absolute Referenz zu haben.

    Schöne Grüße

  2. #2
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    43
    Beiträge
    4.534
    Das Konzept hab ich bisher auch verfolgt bei meinem Phoenix². Da habe ich dem Roboter vorgegeben "laufe x schritte gerade aus oder Schräg" oder "drehe dich um 270°" allerdings war gerade aus laufen ein unterschiedlicher Algorithmus als drehen. Ich habe damals keine Überlagerung hin bekommen. Für den Vinculum wollte ich nun die Überlagerung von "gerade, schräg usw" und "drehen" schaffen und noch den Höhenausgleich. Auch diesmal wird es wieder ein ortsfestes Roboterkoordinatensystem geben und ausgehend von diesem werde ich die Fussbewegung berechnen lassen. Vermutlich wird es auf ein Koordinatensystem hinaus laufen, welches immer nach Norden ausgerichtet ist, aber sich mit dem Roboter bewegt. D.h. Drehungen verändern das Koordinatensystem nicht und bei translatorischen Bewegungen wandert das Koordinatensystem mit.

    Mein erster Ansatz ist nicht so weit weg von euren Ideen - was mich sehr beruhigt.

    Zum Neigungsausgleich: Erst mal geht es mir nur um "schiefen Boden" die Option mit dem "unregelmäßig unebenen Gelände" kommt irgendwann später, denn hier muss die Höhe jede einzelnen Beins individuell angepasst werden. Hier wäre aber eine Rückmeldung von den Beinen sehr hilfreich und die hab ich nicht implementiert. Der Lageausgleich lässt sich aber recht gut über ein Gryo+Beschleunigungssensor+Kalmanfilter erschlagen.

    Erst mal muss der Roboter auf "eigenen Füßen" stehen und da mir immernoch die letzten 4 Servos - dank der deutschen Post - fehlen geht es nicht weiter.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    47
    Beiträge
    1.369
    Ohne eine Rückmeldung der Fußspitze wird es schwierig, denke ich. Allein dadurch das der Roboter seine Lage verändert, die vom Sensor gemessen wird, würde ich nicht machen. Denn dann drückt dieses eine Bein kurzfristig ein mehrfaches des Gewichts, für das möglicherweise nicht ausgelegt ist. Das kann nicht gut sein, und hat mir schon einen AX-12 Getriebe zerlegt.

    Ich plane etwas ähnliches wie diesen Fühler vom catapilar...nur etwas verstärkt und in der Bewegung begrenzt.
    Etwas ähnliches würde der Analogstick von einem Play_statio_pad wohl auch leisten. Allerdings wird dafür das Gewicht dann bei Dir schon kritisch sein?
    Geändert von HeXPloreR (11.10.2012 um 13:37 Uhr)

  4. #4
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    43
    Beiträge
    4.534
    Oh beim Phoenix² ging es ganz prima ohne Rückmeldung der Servos. Im Prinzip vertrau ich einfach darauf, dass die Beine da ankommen wo sie nach Vorgabe sein sollten. Die Rückmeldung würde mir ja nur ermöglichen zu prüfen ob sie da angekommen sind und falls nicht einzugreifen. Für die ersten Schritte wird es so gehen müssen, später implementiere ich vielleicht eine geeignete Art der Rückkopplung, wobei ich hier wohl eher auf DMS Streifen als auf Potis zurück greifen würde.

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    47
    Beiträge
    1.369
    Ja, ich meine ja auch für später.

  6. #6
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    43
    Beiträge
    4.534
    Gestern hat die Post es endlich geschafft mir meine PIN für die Packstation zukommen zu lassen. Auf einmal ging es dann doch per SMS und egal.... ich habe meine letzten vier Servos bekommen. Jetzt muss ich die natürlich erst mal testen (ich hatte ja schon genug ausfälle und die dann Mühsam wieder ausgebaut) und kalibrieren. Danach kann ich sie Einbauen und der Roboter steht endlich auf 6 Beinen.

  7. #7
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    43
    Beiträge
    4.534
    So Bein Nummer 5 ist fertig. Die nächsten Tage wird Nummer 6 fertig und dann hoffe ich, dass die Beine alle "laufen" allerdings hatte ich in Gelenk F3 ein unschönes Knattern und die Analyse hat ergeben, dass hier wieder ein Zahnrad zerstört wurde. Diese Plastikgetriebe halten einfach nichts aus. Sobald die Servos mechanisch blockiert werden geht das Getriebe kaputt.

    Aus meinem defekten Servo konnte ich ein Zahnrad "verpflanzen" aber ich denke es ist nur ein Notbehelf. Über kurz oder lang werden alle Servos mit Metallgetriebe ausgerüstet!

    Jemand ne Idee wie ich ein SO-24 Bauteil auf einer Lochrasterplatine anschliessen kann? Ich würde meine Schaltung zur LED Steuerung gerne erst testen bevor ich sie auf eine Platine brenne.

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

    Werbung      fchao-Sinus-Wechselrichter AliExpress