-         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Hexapod

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.04.2014
    Beiträge
    10

    Hexapod

    Anzeige

    Einleitung:
    Die Hexapot Meisterschaften sind nun schon eine Zeit lang her, und die Version ist auch schon längst überholt.
    Nichts desto trotz wurde der Hexapod immer weiter entwickelt und nun gehen wir es auch dieses Jahr wieder weiter.

    Änderungen zum alten Konzept:
    Im der vorherigen Version wurde der Schritt von der Sandbox zum Pandaboard gewagt, und so eigentlich wieder von Grund auf begonnen. Das Gestell wurde Grunderneuert und hat nun eine andere Form.
    Auf dem Pandaboard wurde Ubuntu mit einem Pseudo-RealTime Patch verwendet, was im nachinhein immer wieder Probleme mit der Pwm-Erzeugung geführt hat.


    Realisierung:
    Anstatt des Pandaboards wird nun das Raspberry Pie Board verwendet, der für den Laufalgorithmus zuständig ist.
    Außerdem werden Pro Bein eine uController verwendet, der für die Pwm-Erzeugung der 3 Servos zuständig ist.
    Die uController werden per I2C angesteuert.

    Es werden nach wie vor Analoge Servos verwendet, allerdings werden diese so modifiziert das es möglich ist den Strom zu messen (Leitung ans Poti) und so endlich eine Feedbeck der Beine zu bekommen.

    Einkauf:
    Größter Kostenpunkt sind die 18 analogen Servos.
    Vom Pandaboard aufs Rasperry wird ordentlich an Geld gespart
    Das Gestell wird wie im Vorjahr aus Sperrholz vom Lasercutter geschnitten


    Letzte bestehende Grundlage/alter Stand:
    http://robomotion.hagenberg.servus.at/

    Klicke auf die Grafik für eine größere Ansicht

Name:	BigPicture.jpg
Hits:	35
Größe:	29,2 KB
ID:	28053
    Geändert von wrock (23.04.2014 um 15:47 Uhr)

  2. #2
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    35
    Beiträge
    4.530
    Blog-Einträge
    1
    Ehrlich gesagt bin ich von der Bein-Ansteuerung alles andere als begeistert. Grundsätzlich stellt sich natürlich eh erst mal die Frage ob es ich bei dem Projekt noch um ein Hobbyprojekt handelt, wohl eher nicht, aber egal. Zurück zum Thema: durch die modulare Ansteuerung wird es sehr schwierig die Beine später sauber zu synchronisieren. Hier favorisiere ich einfach einen Lösung mit einem µC der alle PWM Signale erzeugt. Es gibt bereits genug µC auf dem Markt die die locker 18 Servos steuern können.

    Weiter sind Stromsensoren pro Servo, zwar nicht völlig unnütz aber eine Positionsüberwachung deutlich sinnvoller. Da das Poti eh schon angezapft wird, könnte man den Spannungsteiler auch noch auf einen AD Eingang des µC legen und so einen Regelkreis aufbauen.

    LiPo Akkus sind heute Pflicht für Hexas und ein eigener Spannungsregler dürfte bei HiTec Servos gar nicht notwendig sein. Ansonsten tut es hier sicher ein SBEC mit 20A den es für etwa 20€ von der Stange zu kaufen gibt. Alle Lösungen mit Spannungsreglern sind nicht umsetzbar.

    So und weil ich gerade so schön am meckern bin gleich noch: das Design ist meiner Meinung nach unpraktisch!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.04.2014
    Beiträge
    10
    Zitat Zitat von HannoHupmann Beitrag anzeigen
    Grundsätzlich stellt sich natürlich eh erst mal die Frage ob es ich bei dem Projekt noch um ein Hobbyprojekt handelt, wohl eher nicht, aber egal.
    Ist im Rahmen des Studienprojekts

    Zurück zum Thema: durch die modulare Ansteuerung wird es sehr schwierig die Beine später sauber zu synchronisieren. Hier favorisiere ich einfach einen Lösung mit einem µC der alle PWM Signale erzeugt. Es gibt bereits genug µC auf dem Markt die die locker 18 Servos steuern können.
    Haben da nichts anständiges gefunden was uns Preis/Leistungsmäßig gefallen hätte, deswegen die Verwendung von 6 ATTIN24P.
    Außerdem könnte es mit dem Timing kritisch werden, da wir ja auch noch 2 ADC Werte pro Servo haben(Position und Strom)
    Schaltung


    LiPo Akkus sind heute Pflicht für Hexas und ein eigener Spannungsregler dürfte bei HiTec Servos gar nicht notwendig sein. Ansonsten tut es hier sicher ein SBEC mit 20A den es für etwa 20€ von der Stange zu kaufen gibt. Alle Lösungen mit Spannungsreglern sind nicht umsetzbar.
    Wir sind von der vorherigen Version auf die aktuelle von LiPos wieder weg. Weil die Regler die Spitzenströme nicht abfangen können, was bei der letzten Version zum Zusammenbruch geführt hat.

    das Design ist meiner Meinung nach unpraktisch!
    finde ich jetzt persönlich auch nicht so prickelnd, allerdings funktioniert sie, und da wir in absehbarer Zeit was laufendes haben wollen, ist das Design vom Gerüst mal hinten angestellt.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 10286398_1415437698723949_2056426221_o.jpg  
    Geändert von wrock (23.04.2014 um 20:00 Uhr)

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Zitat Zitat von HannoHupmann Beitrag anzeigen
    durch die modulare Ansteuerung wird es sehr schwierig die Beine später sauber zu synchronisieren. Hier favorisiere ich einfach einen Lösung mit einem µC der alle PWM Signale erzeugt.
    Das würde ich nicht unbedingt so eng sehen. I2C auf einem AVR läuft bei bis zu 400 kHz, das entspricht optimistisch gerechnet 50 kB/s Datenrate (natürlich geht noch einiges für Adressierung flöten, außerdem ist die Flankensteilheit der I2C Signale ein begrenzender Faktor), was 20 µs/Byte entsprechen würde. Wenn man also entsprechend kurze Telegramme zur Positionsübermittlung verwendet, kann man ohne weiteres eine schnellere "motorische Kommunikation" realisieren, als im menschlichen Nervensystem.

    Ich hab's damals bei meinem Hexapoden auch so gemacht, es gibt einen Controller je Bein, alle Beincontroller werden als I2C Slaves von einem Master kontrolliert. Jedes Bein bekommt vom Master einfach die Sollposition für die Fußspitze, rechnet seine eigene IK und stellt die drei Gelenke dementsprechend ein. Das war kein Problem:



    (dass die Bauweise des Hexas ansonsten aber ziemlich wabbelig war stimmt auch... )

    Gruß
    Malte

  5. #5
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    35
    Beiträge
    4.530
    Blog-Einträge
    1
    Meine Güte, das mit den Reglern und den Spitzenströmen wurde hier im Forum jetzt schon mehrfach diskutiert. Eigentlich wird es in jemdem Hexabot Threat noch mal erklärt. Also auch hier wieder. Natürlich kann kein Regler der Welt die Spitzen glätten die bei einem Hexa auftreten. Manche Systeme aus Servos und Akku sind stabil genug um einfach darüber hinweg zu sehen, andere reagieren etwas empfindlicher. Daher gilt es eine großgenuge Anzahl von Kondensatoren einzubauen, die die ganzen Spitzen glätten. Ich rede hier allerdings nicht von ein paar kleinen 100nF oder 100µF sondern eher von 6800µF für jedes Bein. Leistungselektronik ist eben ganz was anderes als 5V Logikspannung.

    LiPos sind da einfach erste Wahl und ja man muss ein wenig mehr Aufwand betreiben für die Ansteuerung, aber dafür passt am Ende auch das Gewicht.

    @Malty es geht mir nicht um die Datenmenge sondern um die Tatsache, dass man die Daten nicht synchron an alle Beine schicken kann sondern immer leichte latenzen mit einbaut. Das kann am Ende zu Problemen führen, außer es ist einem egal, wann sich die Beine bewegen.
    Es gibt µC mit 80Mhz, das reicht dicke um alle Beine anzusteuern.

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Die Datenmenge die pro Zeit verschickbar ist, ist ein Maß dafür, in welchem absoluten Zeitfenster die unterschiedlichen Slaves mit Steuerdaten versorgt werden können. Wenn dieses Fenster hinreichend klein wird - und das ist für diese Anwendung mMn bei I2C der Fall - ist damit kein praktisches Problem mehr verbunden. Die Leute haben früher (mich eingeschlossen) mit analogen Servos gebaut, deren Regelung lief bei ca. 50 Hz! Und die standard Digitalservos kann man maximal auch nur mit etwa 300 Hz updaten. Wenn man ein verlässliches Timing in dieser Größenordnung hinbekommt, ist alles im grünen Bereich. Und das geht mit I2C. Wegen der eher lächerlichen Trigonometrie die man für eine Hexapoden-IK benötigt gleich einen riesigen Controller zu verwenden finde ich auch nicht gerade elegant. Okay, ob's ökonomisch ist, für jedes Bein einen eigenen Controller einzusetzen, darüber kann man natürlich auch streiten .

    Gruß
    Malte
    Geändert von malthy (23.04.2014 um 19:25 Uhr)

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    23.04.2014
    Beiträge
    10
    Das sich das mit dem Timing beim I2C ausgeht denk ich nämlioch auch. Es werden ja keine große Datenmengen verrschickt(wahrscheinlich nur ServoID und Winkel). Das sollte dann kein Problem sein.
    Natürlich muss auf die Latenz geachtet werden. Allerdings kommt dann auch wieder die Reaktionszeit der Servos hinzu, was das Ganze weniger kritisch macht.

    Die LiPos die wir haben sind recht schwer und brauchen einen haufen platz, da sind mir normale Akku batterien lieber...

    Edit: werden hier eigentlich auch irgendwo laufalgorithmen behandelt? hab bis jetzt noch nichts gefunden
    Geändert von wrock (23.04.2014 um 20:13 Uhr)

  8. #8
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    35
    Beiträge
    4.530
    Blog-Einträge
    1
    Dann hast du die falschen LiPos :-P. Ganz in ernst, es gibt im Moment keine Akkus die annähernd an das Energie/Gewichtsverhältnis der Lipos ran kommen und bezahlbar sind! Abgesehen davon bekommt man heute Lipos schon für 30 bis 50€ mit ausreichender Leistung. Dann kann man schwächere Servos einsetzen und spart sich dort wieder einiges. Die grundsätzliche Herangehensweise ist einfach immer: so leicht wie nur möglich!

    Laufalgos gibt es mehr als genug im Forum. In meinem Vinculum Projekt gibt es sogar einige Seiten dazu, wo ich über verschiedene Versionen diskutiere. Für eine genauere Aussage, solltest du die Frage etwas näher spezifizieren.

    EDIT: Die Fragestellung ist übrigens fast schon so alt wie die Entwicklung von Hexas selbst: Modulares Konzept bei der Steuerung oder doch lieber ein zentraler Controller? Bisher habe ich im Forum immer wieder beide Lösungen gefunden und auch genug User die von modular auf zentral gewechselt haben oder in die andere Richtung von zentral zu modular. Ist also immer eine Frage der persönlichen Vorlieben, denn die Aufgabe bleibt ähnlich komplex.
    Geändert von HannoHupmann (24.04.2014 um 09:21 Uhr)

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    23.04.2014
    Beiträge
    10
    So, erst mal zur Ansteuerung...hab mir folgendes Überlegt:

    Aktuell sieht die Befehlstruktur so aus:

    1. CommandForward wird aufgerufen
    2. neue Position wird per IK aus der aktuellen Position berechnet
    3. Laufalgorithmus startet
    4. bei fertigstellung des kompletten wird auf den nächsten Befehl gewartet.


    Vorteil: einfach implementiertung
    Nachteil: Feedback der Servos kann nicht verarbeitet werden, neue Befehle werden erst nach Abschluss des Algos neu verarbeitet-->sehr langsame Reaktionszeit


    Neuer Ansatz:

    1. CommandForward wird aufgerufen
    2. neue Position wird per IK aus der aktuellen Position berechnet
    3. befehl für Fuß1 wird geschickt
    4. es wird auf fertigstellung per Polling gewartet(in unserem Fall bekommen wir die Winkel zurück)
    5. die IST-Position wird mit der SOLL-Position verglichen,
    6. falls unterschiedlich oder neue wir bekommen einen neuen Befehl(z.b richtungsänderung) wird die Position neu berechnet,
    7. ansonsten wird der Laufalgorithmus abgearbeitet-->befehl für Fuß2 wird geschickt

    Vorteil: Nach jedem Schritt kann reagiert werden, ob nun auf Unebenheiten, Blockierungen oder neue Befehle.
    Nachteil: Es kann immer nur ein Fuß bewegt werden-->Geschwindikeits defizit


    Kompromiss[beste Lösung?]

    1. CommandForward wird aufgerufen
    2. neue Position wird per IK aus der aktuellen Position berechnet
    3. Befehl für Fuß1, Fuß3, und Fuß6 werden geschickt, abhängig vom Laufalgorithmus können sowieso nur eine gewisse Anzahl an Füßen in Bewegung sein(dirty bit)-->kein Zeitverlust
    4. Polling auf Fuß1, Fuß2 und Fuß3 für Rückmeldung
    5. Sobald 1 Fuß rückmeldung gibt, wird die IST-Position wird mit der SOLL-Position verglichen,
    6. falls unterschiedlich oder wir bekommen einen neuen Befehl(z.b richtungsänderung) wird die Position neu berechnet,
    7. ansonsten wird der Laufalgorithmus abgearbeitet


    Vorteil: keine Leerzeit, Feedback/Reaktionsfähigkeit sehr hoch
    Nachteil: kompliziertere Implementierung?

  10. #10
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    35
    Beiträge
    4.530
    Blog-Einträge
    1
    Klassischerweise wird für Roboter die Steuerung durch mehre Ebenen gegliedert. Im Thread zu meinem Vinculum habe ich ausführlich beschrieben wie sowas bei einem Hexabot aussieht. Die meisten Projekte hier im Forum sind ähnlich aufgebaut, wenn auch vielleicht nicht ganz so klar differenziert. Deine Vorschläge sehen mir ehrlich gesagt etwas zu umständlich aus.
    Mit einer Rückgabe der tatsächlichen Winkelposition baut der Fachmann einen Regelkreis auf und lässt diesen parallel zur Berechnung laufen.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. 3-Servo-Hexapod
    Von erik_wolfram im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 7
    Letzter Beitrag: 29.03.2010, 18:35
  2. Newbie Hexapod
    Von Hummer im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 27
    Letzter Beitrag: 19.08.2008, 08:35
  3. Hexapod extrem?
    Von Skull im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 11.02.2008, 20:06
  4. Hexapod
    Von . . . . . im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 3
    Letzter Beitrag: 08.07.2007, 17:40
  5. Hexapod
    Von unathome im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 5
    Letzter Beitrag: 30.09.2006, 15:11

Berechtigungen

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