Springe zum Hauptinhalt
Professur Schaltkreis- und Systementwurf
Professur Schaltkreis- und Systementwurf

Hexapod

Stabheuschrecke

Geh- oder Laufmaschinen stellen unter den mobilen Robotern eine spezielle Gruppe dar, die dadurch gekennzeichnet ist, dass die Fortbewegung des Roboters nicht mit Hilfe von Rädern sondern mittels der Natur entlehnter mechanischer Nachbildungen von Beinen erfolgt. Das Rad als Fortbewegungselement ist eine Erfindung des Menschen und demzufolge ist der Einsatz von rollenden Robotern in einer vom Menschen gestalteten Umwelt (Straßen, Wege, Gebäude) aber auch in einer natürlich strukturierten Umgebung (Sandstrände, Gelände mit geringen vertikalen Abweichungen) sinnvoll und effektiv.

Im unstrukturierten Umfeld (Wald, Gebirge) oder auch beispielsweise auf Treppen und an Bordsteinkanten stoßen rollende Roboter allerdings auf mechanisch bedingte Grenzen. Dieses Problem kann entweder durch eine aufwendige Zusatzmechanik zur Überwindung der Hindernisse oder durch den Einsatz von Laufmaschinen gelöst werden. Jedoch besitzen Laufmaschinen im Vergleich zu räderbasierten Robotern einen wesentlich geringeren Wirkungsgrad, der sich auf den Energieverbrauch, den Aktionsradius bzw. die Einsatzzeit negativ auswirkt: Man bedenke, dass eine Laufmaschine selbst im statischen Fall Energie aufwenden muss, um ihr Eigengewicht gegen die Erdanziehungskraft zu kompensieren. Dagegen kann beispielsweise ein Auto bis zur endgültigen Korrosion seiner Bestandteile geparkt werden, ohne dabei Energie zu verbrauchen. Vor allem wegen der ungünstigen Energiebilanz und der damit verbundenen geringen Nutzmasse-Kapazität werden Laufmaschinen in absehbarer Zeit nur im unstrukturierten Gelände ihr Applikationsfeld finden. Trotzdem; oder besonders deshalb, stellen sie eine Herausforderung an die mechanische Konstruktion, Mikrosensorik und -aktorik, Materialforschung sowie Informationstechnik und Informatik dar und sind Gegenstand weltweiter Forschung.

Um diesen interdisziplinären Aspekt auch in die studentische Ausbildung einfließen zu lassen, wurde im Jahr 2000 an der Professur Schaltungs- und Systementwurf das Hausprojekt "HEXAPOD" eingeführt. Ziel des Projektes ist es, die Studenten im Rahmen eines Komplexpraktikums mit der Problematik der Steuerung und Regelung autonomer mobiler Roboter, der Erfassung und Verarbeitung von Sensorsignalen und der Implementierung von Algorithmen in Hardware vertraut zu machen. Fachgebietsübergreifende Aktivitäten (Mechatronik, Mikrosensorik und -aktorik, Informatik, AG "Robotik") sind dabei sehr willkommen.

Mechanik

Aufbau

Bewegung der Laufmaschine

Grundsätzlich erfolgt die Bewegung einer Laufmaschine über eine zeitlich koordinierte Auslenkung der einzelnen Servo-Motoren. In Analogie zur Kinematografie, wo der Eindruck einer Bewegung durch die schnelle Darstellung von Einzelbildern erzeugt wird, kann die Bewegung ("Laufen") der Gehmaschine durch einen zyklischen Ablauf von Servo-Positionen hervorgerufen werden. Unabhängig von der Anzahl der Beine und Freiheitsgrade werden folgende Begriffe definiert:

  • Position: Stellung eines Servos zu einem Zeitpunkt tx (Einheit °).
  • Phase: Vektor aus den Positionen aller N Servos zu einem Zeitpunkt tx. Dabei ist N das Produkt aus der Anzahl der Beine NB und der Anzahl der Freiheitsgrade NF.
  • Schritt: Eine Periode mit einer zeitlichen Abfolge von Z unterschiedlichen Phasen, die die Bewegung der Laufmaschine in eine bestimmte Richtung bewirkt.

Die folgende Skizze soll den Bewegungsablauf am Beispiel der Vorwärtsbewegung in acht Phasen verdeutlichen:

Um das System Laufmaschine statisch stabil zu halten, muss abgesichert werden, dass in jeder Phase mindestens drei Beine den Boden berühren und ein "statisches Dreieck" aufspannen, d.h., der Schwerpunkt S der Laufmaschine muss sich stets über der Dreiecksfläche befinden. Für eine von der Anordnung und vom Typ der verwendeten Servos unabhängige Bewegungsbeschreibung erweist sich eine Transformation der Servopositionen auf ein Koordinatensystem mit dem Schwerpunkt S als Ursprung als notwendig:

  • Den Neutralpositionen der Servos (Mittelstellung) wird der Wert "0" zugewiesen.
  • Die Maximal- bzw. Minimalpositionen der Servos werden auf die Werte "1,0" bzw. "-1,0" transformiert.
  • Einführung eines Koordinatensystems:

Als Koordinatenursprung wird der Schwerpunkt S der Laufmaschine definiert. Horizontal nach vorn bzw. hinten wirkenden Servos wird ein positiver bzw. negativer x- Wert; vertikal nach oben bzw. unten wirkenden Servos ein positiver bzw. negativer z-Wert und (nur bei drei Freiheitsgraden pro Bein) horizontal nach rechts bzw. links wirkenden Servos ein positiver bzw. negativer y-Wert zugewiesen.

Verzichtet man auf das "Kniegelenk", also auf den 3. Freiheitsgrad, kann die Laufmaschine keine direkte Bewegung in y-Richtung mehr ausführen. Ein Kurswechsel kann dann nur über eine Drehbewegung um die Hochachse z herbeigeführt werden. Dieser Nachteil wird aber durch den Vorteil der Gewichts-, Energie- und Kostenreduzierung bei Wegfall von 6 Servomotoren mehr als kompensiert. Der Zusammenhang zwischen den normierten Positionswerten, die bekanntlich vom Auslenkungswinkel φ der Servos abgeleitet werden, und den Distanzen in x- bzw. z-Richtung entspricht der Sinusfunktion und ist unten für die Horizontal- bzw. Vertikalservos dargestellt: Bei Verwendung von 60°-Servos kann die Laufmaschine pro Einzelschritt maximal eine Strecke von lHOR zurücklegen (lHOR = Hebellänge eines Beins in horizontaler Richtung).

s = 2 * sMAX = 2 * lHOR * sin(30°)

Auf den ersten Blick erscheint es unerheblich, welchen Grad der Auslenkung die Vertikalservos in jeder Bewegungsphase einnehmen sollen; es muss nur abgesichert werden, dass die "Standbeine" genügend Bodenkontakt und die "Schwungbeine" einen ausreichenden Abstand von der Geländeoberfläche besitzen. Unter diesem Aspekt könnten die Positionen der Vertikalservos relativ unabhängig von den jeweiligen Horizontalpositionen definiert werden, was die Beschreibung der Bewegungsabläufe stark vereinfachen würde.

Hexapod I Hexapod I

Aber: Konstruktionsbedingt werden durch die Horizontalservos die Beine der Laufmaschine nicht nur in x-Richtung bewegt, sondern es tritt auch eine Komponente in y-Richtung auf.

sy = lHOR * cos (φ)

hexapodgelb.gif

Diese Komponente bewirkt eine Änderung des seitlichen Abstandes zwischen den jeweiligen Stützbeinen auf der linken und der rechten Seite der Laufmaschine, im folgenden als "Stützbreite" BS bezeichnet. In der Praxis wirkt sich dieser Effekt so aus, dass die Stützbeine nicht ihre Position auf dem Boden beibehalten, sondern nach innen bzw. außen weggedrückt werden - die Laufmaschine "läuft" nicht, sondern sie "schwimmt". Aufgrund der - an sich beabsichtigten - guten Bodenhaftung der Füße wirken dabei starke Kräfte auf die gesamte Konstruktion der Beine, die nicht nur die Energiebilanz sondern auch die Verschleißfestigkeit der Laufmaschine negativ beeinflussen. Daher ist es notwendig, entsprechende Maßnahmen zu treffen, um diese parasitäre Bewegungskomponente zu kompensieren und die Stützbreite BS konstant zu halten. Bei einer Laufmaschine mit 3 Freiheitsgraden wird die Kompensation über eine entsprechende Auslenkung der y-Servos ("Kniegelenk") problemlos und vollständig erreicht. Komplizierter und nicht in jedem Fall vollständig gestaltet sich die Kompensation der Stützbreite bei nur 2 Freiheitsgraden pro Bein: Da hier nur mit den Vertikalservos Einfluss auf die Stützbreite genommen werden kann, ergibt sich eine funktionale Abhängigkeit der z-Positionen von den x-Positionen, was dazu führt, dass Unebenheiten im Gelände nicht ohne Konsequenzen für die Konstanz der Stützbreite ausgeglichen werden können. Bezeichnet man die Position des Vertikalservos mit sigma und die Position des zugehörigen Horizontalservos mit φ, so gilt für alle Standbeine der Laufmaschine die Beziehung

cos σ * cos φ + cos φ * ( lHOR / lVERT - 1) = const.

Nur wenn sich die Drehachsen beider Servos senkrecht in einem Punkt schneiden (lHOR = lVERT), ist eine vollständige Kompensation über den gesamten Wertebereich von φ möglich; d.h., es existiert zu jedem φ ein σ, sodass BS konstant bleibt.

In der Praxis ist dieser Bewegungsablauf allerdings nicht realisierbar, da für die Kompensation eine Auslenkung der Vertikalservos über den gesamten konstruktiv möglichen Winkelbereich notwendig ist und damit mangels "Gangreserve" ein Ausgleich von Unebenheiten im Gelände nicht mehr möglich wäre. Die Laufmaschine würde ihren wesentlichen Vorteil gegenüber rollen-den Konstruktionen verlieren: Die Bewegung im unstrukturierten Gelände!

Features:

Im Vergleich zum Hexapod I wurde die mechanische Konstruktion des Hexapod II vollkommen überarbeitet. Die horizontale Bewegung der Beine, erfolgt jetzt parallel zur Längsachse der Gehmaschine. Ebenso bleibt bei einer vertikalen Bewegung, der seitliche Abstand zwischen den Stützbeinen konstant. Dadurch wird ein "Schwimmen" des Hexapods vermieden. Der Hexapod II besteht aus Profil-Aluminium-Legierungen, die sowohl leicht, als auch sehr widerstandsfähig sind.

Die Masse der Mechanik inkl. der Servos beträgt 870g.

Ansichten:
n�here Ansicht n�here Ansicht n�here Ansicht n�here Ansicht n�here Ansicht
Funktionsweise:
Bewegung horizontal Bewegung vertikal
horizontal2.gif vertikal.gif
horizontal_foto.gif vertikal_foto.gif

Was ist gehen?

Gehen ist die auf dem Land am weitesten verbreitete Fortbewegungsart. Der Schritt eines Einzelbeins lässt sich dabei in zwei Phasen zerlegen: Während der Stemm- oder Retraktionsphase wird das Bein vorn auf den Boden aufgesetzt und nach hinten gedrückt; der Körper bewegt sich vorwärts. Dann folgt die Schwing- oder Protraktionsphase, in der das Bein vom Boden abgehoben und nach vorn bewegt wird. Beide Phasen zusammen bezeichnet man als Schreitzyklus eines Beins.

Warum wurde Hexapod II entworfen?

Weil so folgendes Problem des Hexapod I gelöst wurde.

Was sind Freiheitsgrade und wieviele hat der Hexapod?

Freiheitsgrade sind. Unser Hexapod besitzt zwei Freiheitsgrade. Tarry von der Universität Duisburg hat zum Beispiel 3 Freiheitsgrade.

Was ist der Tripodgang?

Der Tripodgang ist eine Gangart bei der stets mind. drei Beine auf dem Boden sind. siehe auch unseren animierten Hexapod beim Tripodgang

Was ist der Tetrapodgang?

Der Tetrapodgang ist eine Gangart bei der stets mind. vier Beine auf dem Boden sind. siehe auch unseren animierten Hexapod beim Tetrapodgang

Der Asymmetrische Tripodgang
(von jungen Stabheuschrecken bevorzugt)

tripod.gif n�here Ansicht

Der Symmetrische Tripodgang
(von jungen Stabheuschrecken bevorzugt)

tripod2.gif n�here Ansicht

Der Tetrapodgang I
(von älteren Stabheuschrecken bevorzugt)

tetrapod.gif n�here Ansicht

Der Tetrapodgang II
(von älteren Stabheuschrecken bevorzugt)

tetrapod2.gif n�here Ansicht

Asymmetrischer Tripodgang

Symmetrischer Tripodgang

Tetrapodgang

In Aktion

Elektronik/Systemkonzept

Elektrische Steuerung der Gehmaschine

Systemfolie
Systemfolie

Der strukturelle Aufbau der Steuerung des Hexapods entspricht in seiner Gesamtkonzeption einer hierarchischen Anordnung von Modulen zur digitalen Signalverarbeitung nach einem Vorschlag von McPhee u. a.. Ziel der Schaltungsentwicklung ist es, das Gesamtsystem mit einem Minimum an Bauelementen zu realisieren. Damit steigt nicht nur die Zuverlässigkeit des Systems, sondern vor allem sinken dessen Energieverbrauch und Masse.

Für die schaltungstechnische Realisierung dieses Konzepts wird ein an der Professur SSE entwickeltes FPGA-Prototyping Board eingesetzt. Kernstück des Boards ist ein SRAM-basierter FPGA, auf den die gesamte Steuerung des Hexapods abgebildet ("gemappt") werden kann. Je nach Ausstattungsgrad des Haxapods mit Sensoren und Aktoren und dem damit in Zusammenhang stehenden unterschiedlich großen Hardwareaufwand zur Informationsverarbeitung stehen Boards mit verschiedenen FPGAs der VIRTEX-E-Familie zur Verfügung (XCV100E, XCV300E, XCV600E, XCV1000E). Ebenso können bei Bedarf Speichermodule (SRAM bzw. FLASH) mit einer Gesamtkapazität bis zu 32 MByte auf den Boards installiert werden (Bild). Damit ist es möglich, sowohl einzelne Module als auch bereits komplexere Systeme zu implementieren und verifizieren. Zusätzliche auf den Boards installierte Hardware dient einerseits der Pegelanpassung zwischen den Signalen von den Sensoren ( z.B. Kameramodul, Foottouch-Sensoren, Distanzsensoren) und dem FPGA bzw. vom FPGA zu den Aktoren (Servos) und andererseits der Kommunikation mit einem externen Host über eine RS-232 - Schnittstelle.