Hexapod-Roboter

Im Rahmen der Veranstaltung „Embedded Systems“ entsteht z.Zt. ein Hexapod-Roboter. Hierbei handelt es sich um einen sechsbeinigen Roboter in Anlehnung an Insekten. Die mechanische Konstruktion ist inzwischen abgeschlossen und die entsprechenden Aluminiumbleche wurden mit freundlicher Unterstützung der Fa. Schleicher Blechbearbeitung aus Heinsberg gefertigt.

Jedes Bein wird durch drei klassische Modellbau-Servos angetrieben, wobei immer ein Beinpaar durch eine selbst entwickelte Steuerplatine kontrolliert wird. Diese enthält einen Mikroprozessor sowie die nötigen Schnittstellen und Spannungswandler, um mit einem LiPo-Akku, welcher in den Rumpf geschoben werden kann, versorgt zu werden.

Auch die Erzeugung der entsprechenden PWM (Pulsweiternmodulation)-Steuersignale für die sechs Servos muss selbst programmiert werden. Als Programmierumgebung kommt Eclipse zum Einsatz, die Programmierung erfolgt in C und kann über die an der Steuerplatine vorhandene USB-Schnittstelle auf den Mikrocontroller geflasht werden.

In einem ersten Schritt muss von den Studierenden eine Software für diese Steuerplatine entwickelt werden, wobei Inverse Kinematik zum Einsatz kommt. Dies bedeutet, dass der Steuerplatine die gewünschte Position der Beinspitze als x,y,z-Koordinate übergeben wird und die zugehörigen Winkel bzw. Servo-Parameter berechnet werden.

Danach müssen die Beinpaare durch eine „zentrale Intelligenz“ gesteuert werden. Hierzu kommt ein Raspberry Pi 2 zum Einsatz, da dieser komfortabel einen drahtlosen Zugriff per WLAN ermöglicht. Die Steuer-Informationen an die einzelnen Beinpaare werden dann über einen I²C-Bus gesendet. Nachdem zunächst einfache Schrittfolgen programmiert wurden, können danach Drehungen, Neigung des Rumpfes usw. implementiert werden, ebenfalls wieder unter Einsatz der Inversen Kinematik.

Erweiterungsmöglichkeiten

Neben diesen Grundlegenden Aufgaben sind bereits zahlreiche Erweiterungsmöglichkeiten vorbereitet, um auch nachfolgenden Studierenden-Generationen neue Herausforderungen zu bieten, so z.B.

  • Anschluss einer Kamera an den Raspberry PI; Übertragung eines Live-Bildes per WLAN; Ansteuerung von zwei Servos, um die Kamera schwenken und neigen zu können.
  • Drucksensoren an den Füßen, um Bodenkontakt zu erkennen
  • Einbau eines Lage-/Beschleunigungssensors
  • Steuerung über eine Modellbau-Fernbedienung
  • LEDs für Lichteffekte und Status-Anzeige, z.B. NeoPixel RGB-LED-Stripes
  • Erweiterung um einen Servo-bestückten Greifer

Eckdaten der Steuerplatine

Die Steuerplatine ist eine komplette Eigenentwicklung. In der unten stehenden Tabelle sind einige Eckdaten aufgeführt.

Prozessor:ATmega 2560 – 256 KiB Flash, 8 KiB RAM, 16 MHz
PWM:bis zu 10 Kanäle, jeweils bis zu 16 bit Auflösung
Messfunktion:
  • Batteriespannung
  • Strom linkes/rechtes Bein
  • Kraftsensor linkes/rechtes Bein
Spannungsregler:
  • 5 V, max. 1,5 A (auch für Raspberry PI)
  • 6 V, max. 10 A (für Servos), schaltbar über Mikrocontroller
Schnittstelle:
  • USB 2.0 über FT232-Chip
  • kompatibel zu Linux und Windows
  • Bootloader zum Flashen über USB
Sonstiges:Automatische Umschaltung Versorgung +5 V über USB bzw. Akku (somit Betrieb des Mikrocontrollers ohne Akku zu Testzwecken möglich)