Roboterspinne selbst gebaut mit MicroPython-Antrieb und ESP32

Aus einer Roboterspinne wird mit Hilfe eines 3D-Druckers und einer selbstentworfenen Platine ein autonom arbeitender Laufroboter. Grundlage ist ein ESP32.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Die Roboterspinne auf einem Tisch
Lesezeit: 19 Min.
Von
  • Thomas Euler
Inhaltsverzeichnis

Die Skriptsprache Python ist heute nicht nur weit verbreitet, sondern insbesondere als Einstieg ins Programmieren sehr beliebt. Mit der Implementierung MicroPython lässt sie sich auf Mikrocontrollern einsetzen und ermöglicht damit einen einfachen Zugang auch zu umfangreicheren Projekten. Wie der praktische Einstieg in MicroPython gelingt, haben wir im Artikel "Einstieg in MicroPython" beschrieben. Nun setzen wir MicroPython in einem komplexeren Projekt ein. Dieser Artikel beschreibt den Aufbau und die Programmierung eines einfachen autonomen Laufroboters, genannt Robotling.

Grundlage ist ein Spielzeugroboter von HexBug. Seit über 10 Jahren produziert die luxemburgische Firma verschiedene Roboter, von sehr einfachen, die bei einem Hindernis nur ihre Laufrichtung umkehren, bis zu fernsteuerbaren Kampfrobotern. Bei Letzteren fällt die HexBug-Spinne durch ihre elegante Laufmechanik mit nur zwei kleinen Gleichstrommotoren auf: Ein Motor treibt die Beine an und bewegt den Roboter vorwärts, während der zweite den „Kopf“ der Spinne dreht und damit die Laufrichtung bestimmt. Bei der simplen, aber effektiven Konstruktion lag die Idee nahe, die Spinne als günstige Basis für einen autonomen Laufroboter zu verwenden. Diese Idee gab es schon an anderer Stelle, etwa als Arduino-basierter Spiderino, wurde aber meines Wissens bisher nicht mit MicroPython umgesetzt.

Inzwischen gibt es eine recht martialisch aussehende Version 2.0 des Hexbug mit Waffenarmen. Wir haben die alte Version genommen, die im Internet noch zahlreich angeboten wird.

Für den Robotling habe ich eine einfache Platine entwickelt, die viele Anschlussmöglichkeiten für Motoren und Sensoren bietet und als „Gehirn“ ein Mikrocontroller-Modul aus der Feather-Reihe von Adafruit aufnimmt. Das Feather-Format bietet einige Vorteile: Die Belegung der Anschlussleisten ist standardisiert, daher sind Feather-Boards durch Aufsteckplatinen, die FeatherWings, erweiterbar – ähnlich wie Shields beim Arduino. Außerdem besitzen die Module einen Batterieanschluss inklusive Ladeelektronik. Feather-Module gibt es mit unterschiedlich leistungsstarken Mikrocontrollern, mit oder ohne Funkunterstützung, und für eine Handvoll von ihnen ist eine passende MicroPython- bzw. CircuitPython-Firmware verfügbar, darunter das hier verwendete HUZZAH32-Modul.