Perro robot Bittle de Petoi

FunduinoÚltima actualización el

Aufbau, Programmierung und Kalibrierung des Roboterhundes

Bittle ist ein kleiner, wendiger und leistungsstarker Roboterhund und ein ideales Werkzeug für das Erlernen, Unterrichten und Erforschen von Robotern. Mit einem speziell angefertigten Arduino-Board, das alle instinktiven und anspruchsvollen Bewegungen koordiniert, kannst du verschiedene Sensoren anbringen, um dem Roboterhund weitere „Wahrnehmungen“ hinzuzufügen. Du kannst auch künstliche Intelligenz integrieren, indem du einen Raspberry Pi oder andere KI-Chips montierst.

Der Start mit dem Bittle ist einfach, da bereits bei der Auslieferung ein Programm mit vorkonfigurierten Bewegungsabläufen installiert ist. Diese Bewegungen lassen sich mithilfe der beiliegenden Fernbedienung aufrufen. So kann der Bittle ohne jeglichen Programmieraufwand rennen, sitzen oder Pfote geben.

Nach den ersten „Gehversuchen“ kannst du den Roboter selbst programmieren – mit einfachen blockbasierten Programmbausteinen, aber auch über Hochsprachen wie Arduino (C++) und Python. Insbesondere Schülerinnen und Schüler können über die TinkerGen IDE Programme schreiben oder bereits bestehende Programme erweitern und verändern.

Die OpenCat-Software funktioniert neben dem Bittle auch auf dem Nybble. Sie kommuniziert mit einem Arduino-kompatiblen Mikrocontroller mit dem Namen NyBoard, der wie viele Arduino-Mikrocontroller auf dem Chip ATmega328P basiert. Weitere Informationen zur Programmierung findest du hier: github.com/PetoiCamp/OpenCat

Roboterhund Bittle von Petoi
Bittle mit Fernbedienung: vorkonfigurierte Bewegungsabläufe ab Werk
Blockbasierte Programmierung des Bittle in der TinkerGen IDE
1 / 3

Hardwareübersicht

Roboter, einschließlich des bionischen Roboterhundes Bittle von Petoi, bestehen aus verschiedenen Komponenten, die miteinander arbeiten. Anhand des äußeren Erscheinungsbilds lässt sich erkennen, wie sie fortgeschrittene Bewegungsfunktionen ausführen können. In dieser Anleitung befassen wir uns ausführlich mit den Modulen, aus denen Bittle besteht, und damit, wie sie miteinander interagieren.

Hauptkomponente: die Servos

In jedem beweglichen Gelenk sitzt ein Servomotor – für Schulter-, Hüft- und Kopfgelenk. Servos sind Motoren, die präzise gesteuert werden können, um sich auf einen bestimmten Winkel zu drehen. Ein Servo ähnelt einem Elektromotor – tatsächlich handelt es sich um einen Elektromotor mit einem Steuerchip, einem Potentiometer und Getrieben zur Geschwindigkeitsreduzierung, die alle in einem Kunststoffgehäuse untergebracht sind.

Das Potentiometer misst den Drehwinkel der Welle, und mithilfe eines Steuerkreises lässt sich der Servoschaft präzise auf eine vorgegebene Position bewegen. Im Gegensatz zu einfachen Gleichstrommotoren, bei denen nur Richtung und Geschwindigkeit gesteuert werden können, sind Servos in Robotikanwendungen einzigartig nützlich.

Servomotor des Bittle

Hauptkomponente: die Batterie

Unter dem Bauch des Bittle ist eine Batterie installiert, die über den Mikro-USB-Anschluss aufgeladen werden kann. Es handelt sich um eine Lithium-Ionen-Batterie: leicht, leistungsstark und aus Laptops und Mobiltelefonen bekannt. Das macht sie ideal für Geräte, die eine hohe Stromstärke benötigen, aber dennoch leicht sein müssen.

Lithium-Ionen-Batterie unter dem Bauch des Bittle

Hauptkomponente: die Hauptplatine (NyBoard)

Wenn du die hintere Abdeckung entfernst, siehst du die Oberseite der Hauptplatine. Aufgrund von Produktaktualisierungen gibt es verschiedene Versionen der Hauptplatine im Bittle-Kit. Die Version des Mainboards kann für die spätere Programmierung relevant sein. Du kannst feststellen, um welche Version es sich handelt, indem du den Aufdruck der Version auf dem Mainboard abliest.

Auf der Vorderseite der Platine, die auch NyBoard genannt wird, ist die Version zu erkennen. In diesem Fall handelt es sich um die Version V1_1.

Hauptplatine (NyBoard) nach Abnehmen der hinteren Abdeckung
Versionsaufdruck V1_1 auf der Vorderseite des NyBoard
1 / 2

Vor dem Programmieren: Stromversorgung

Bevor du den Bittle programmierst, solltest du die Hinweise zur Stromversorgung kennen.

Schalte auch die Batteriestromversorgung ein, wenn du USB zum Programmieren verwendest. Die Stromversorgungskapazität von Standard-USB-Ports reicht nicht aus, um Bittle ordnungsgemäß zu betreiben, und kann zu einem Stromstoß am USB-Anschluss des Computers führen, der die USB-Selbstwiederherstellungssicherung auslöst und den aktuellen USB-Anschluss vorübergehend deaktiviert (ein Neustart des Computers reaktiviert ihn).

Lade die Batterie vor jeder Verwendung von Bittle vollständig auf. Obwohl eine schwächere Batterie Bittle betreiben kann, führt eine niedrigere Spannung zu einer Verschlechterung der Leistung der Servos. Wenn du Bittle längere Zeit nicht verwendest, bewahre die Batterie aufgeladen an einem trockenen und belüfteten Ort auf.

Hardwarekonfiguration: Arduino oder RPi

Am Mainboard gibt es einen Schiebeschalter, mit dem die Verwendungsmethode ausgewählt wird – je nachdem, ob das integrierte Arduino-Board oder ein externer Mikrocontroller (wie Raspberry Pi) verwendet werden soll. Es können die Schalterpositionen „Arduino“ oder „RPi“ ausgewählt werden.

Der I2C-Schalter ändert den Master der I2C-Geräte (Gyro/Beschleunigungsmesser, Servo-Treiber, externes EEPROM). Bei der Standardeinstellung „Arduino“ verwendet das NyBoard den eingebauten ATmega328P als Master-Chip, bei „RPi“ verwendet es externe Chips, die über die I2C-Ports (SDA, SCL) angeschlossen sind. Der Modus „Arduino“ ist standardmäßig ausgewählt.

Bittle mit dem Computer verbinden

Um Bittle mit deinem PC zu verbinden, hebst du zuerst die hintere Abdeckung an.

Befestige dann den USB-TTL-Konverter (kleine grüne Platine) an Bittles Hauptplatine – achte auf die Stiftreihenfolge! Sie sollte auf dem USB-TTL-Konverter und der Hauptplatine von Bittle gleich sein. Prüfe dazu die Beschriftung der Kontakte an beiden Seiten. Anschließend verbindest du den USB-TTL-Konverter über ein USB-Kabel mit dem PC.

Hintere Abdeckung des Bittle anheben

Programmierumgebung und Programmiersprache wählen

Falls du dich bereits mit der Arduino IDE vertraut gemacht hast, empfehlen wir dir, diese weiterhin zu nutzen. Falls du dich schon mit Scratch oder ähnlicher Software vertraut gemacht hast, wird dir die TinkerGen IDE wahrscheinlich recht einfach erscheinen.

Wenn du unterrichtest, empfehlen wir dir, einfach mit dem weiterzuarbeiten, womit du deine Schülerinnen und Schüler bereits unterrichtet hast. Falls du gerade erst in das Thema einsteigst, empfehlen wir die TinkerGen IDE, da man sich schnell in sie einarbeiten kann.

Wenn du dich später dazu entscheidest, auf die Arduino IDE zu wechseln, oder sie generell den Schülern zeigen möchtest, ist das immer unter dem Tab „Code“ möglich. Dort wird das blockbasierte Programm als Arduino-Code angezeigt.

Programmieren mit der Arduino IDE

Arduino herunterladen: Lade die neueste Softwareversion von der offiziellen Arduino-Website entsprechend deinem Computersystem herunter: www.arduino.cc

Verbindung von Arduino und Bittle: Nach der Installation öffnest du Arduino und gehst zu „Werkzeuge → Port“, um den entsprechenden COM-Port zu finden. Bei mehreren COM-Ports prüfe den Geräte-Manager deines Computers.

Verbindungstest: Schalte den Bittle-Schalter ein, öffne den Seriellen Monitor, setze die Baudrate auf 115200 und drücke die Bittle-Reset-Taste. Eine erfolgreiche Verbindung wird durch den Testcode von Bittle im Seriellen Monitor angezeigt.

Einstellungen vornehmen: Bittle ist für Anfänger konzipiert und verwendet den gleichen offiziellen Bootloader wie das ATmega328P-UNO-Entwicklungsboard. Richte die Arduino-Umgebung ein, indem du unter „Werkzeuge → Board“ im Bereich „Arduino AVR Boards“ den Eintrag „Arduino UNO“ auswählst.

Reset-Taster des Bittle

Beispielprogramme herunterladen

Auf dem Bittle ist bereits bei der Auslieferung ein Programm aufgespielt: ein Arduino-Sketch mit dem Namen OpenCat.ino. Dieser Sketch reagiert auf die Daten, die andere Programme wie TinkerGen Blocks an den Roboterhund senden. Dieses Programm wird überspielt, wenn du mithilfe der Arduino-Software eigene Programme hochlädst. Aber keine Sorge: Das ursprüngliche Programm OpenCat.ino kannst du immer wieder aufspielen.

Fertige Beispielprogramme für den Bittle gibt es bei GitHub: github.com/PetoiCamp/OpenCat

Im Ordner „ModuleTests“ befinden sich Test-Codes zum Testen unabhängiger Funktionsmodule. Als Beispiel testen wir den Sketch „testBuzzer.ino“ und laden ihn auf den Bittle. Vorher stellen wir in der Arduino-Software Board und Port ein. Der Code wird sofort ausgeführt. Öffne den Seriellen Monitor mit einer Baudrate von 115200.

Bevor du zu einem späteren Zeitpunkt den Sketch OpenCat.ino wieder auf den Bittle lädst, musst du in dem Sketch die Versionsnummer des Mainboards einstellen. Ansonsten könnte der Kontakt zum Mainboard abbrechen. In diesem Fall müsste der Bootloader neu aufgespielt werden.

TinkerGen IDE und Blocks

Hier geht es um die blockbasierte Programmierung des Bittle. Auf der Website von TinkerGen wählst du zunächst die Kategorie Bittle aus: ide.tinkergen.com

Die Sprache der Internetseite kannst du in einem oberen Menü auf „Deutsch“ einstellen.

Zunächst verbindest du den Bittle mit Hilfe des USB-Kabels mit dem Computer. Danach klickst du auf „Verbinden“, um dich mit dem Bittle zu verbinden. An dieser Stelle erfolgt der Hinweis, dass der Treiber für den Bittle noch installiert werden muss, falls dies vorher noch nicht geschehen ist. Die Treiber werden über den Geräteassistenten installiert.

Die Bedienung ist danach recht einfach und gut vergleichbar mit Scratch und ähnlichen blockbasierten Programmieroberflächen. Ein Beispiel wäre ein Programm, das den Roboter für eine Sekunde laufen lässt, ihn dann eine Sekunde stoppen lässt und ihn danach wieder weiterlaufen lässt.

Jetzt nur noch auf „Hochladen“ klicken, den Port auswählen und auf „OK“ klicken – schon ist der Roboter programmiert.

Sprachauswahl im oberen Menü der TinkerGen-Website
Treiberinstallation über den Geräteassistenten
Beispiel für ein blockbasiertes Programm: laufen, stoppen, weiterlaufen
COM-Port auswählen und mit OK bestätigen
1 / 4

Problemlösung: Spannungsversorgung

Es kann vorkommen, dass der Upload des Codes erfolgreich war, der Bittle aber nur eine lustige Melodie von sich gibt. In den meisten Fällen liegt es dann daran, dass die Batterie nicht ausreichend geladen oder ausgeschaltet ist.

Lösung: Batterie einschalten oder aufladen.

Problemlösung: Fehler beim Upload

Die Fehlermeldung beim Hochladen besagt, dass der PC keine Daten an das Mainboard senden kann. Dafür kann es verschiedene Gründe geben. Das folgende Schaubild visualisiert eine Vorgehensweise zur Fehlersuche.

[1] Einfache Überprüfungen:

  • Vergewissere dich, dass kein anderes Programm die serielle Schnittstelle verwendet. Ein geöffneter Serieller Monitor kann die Schnittstelle belegen.
  • Stelle sicher, dass der Uploader (grüne Platine) richtig an das NyBoard angeschlossen ist.
  • Vergewissere dich, dass du das mitgelieferte USB-Kabel verwendest. Manche USB-Kabel haben nur zwei Adern für die Stromversorgung, aber keine Datenadern.

[2] Testsketch laden: Wähle in der Arduino IDE den Mainboard-Typ aus (Werkzeuge → Board → Arduino AVR Boards → Arduino Uno) und lade den Sketch Datei → Beispiele → 04.Communication → ASCIITable hoch. Mit der Petoi Desktop App wählst du den Mainboard-Typ NyBoard_V1_* und kannst die Standard-Firmware aktualisieren.

[3] USB-Uploader-Treiber installieren:

[4] Bootloader zurücksetzen: Anleitung von Petoi

Wenn du den Bootloader zurücksetzt, musst du danach die Grundkonfiguration der Gelenke (der Servomotoren) vornehmen. Der Gelenkkalibrator wird im nächsten Schritt beschrieben.

Fehlermeldung beim Hochladen eines Programms auf den Bittle
Ablaufdiagramm zur Fehlersuche beim Upload
1 / 2

Der Gelenkkalibrator

Als Erstes lädst du die Petoi Desktop App herunter: petoi.com/pages/software-apps oder github.com/PetoiCamp/OpenCat/releases

Du erhältst eine ZIP-Datei. Diese entpackst du und öffnest die UI.exe. In der Petoi Desktop App klickst du auf „Joint Calibrator“ bzw. „Gelenkkalibrator“.

Du kannst die Firmware des Bittle zurücksetzen, indem du auf „Firmware Uploader“ klickst. Achte beim Zurücksetzen darauf, dass er gerade steht, da sonst der Lagesensor (MPU6050) auf dem Mainboard falsch konfiguriert wird – das führt später dazu, dass der Bittle nicht geradeaus läuft.

Danach wird der Bittle automatisch mit der Software verbunden. Nun kannst du mithilfe des orangenen Justierwinkels, der mit dem Bittle geliefert wurde, die Position der Servos überprüfen. Sollten die Beine des Bittle nicht mit dem Justierwinkel übereinstimmen, kannst du die Position der einzelnen Servos mithilfe der Software anpassen.

Um die Kalibrierung zu starten, klickst du auf „Kalibrieren“ und nach Abschluss auf „Speichern“. Du kannst auch überprüfen, ob er normal stehen kann, indem du auf den Knopf „Aufstehen“ drückst.

Heruntergeladene ZIP-Datei der Petoi Desktop App
UI.exe im entpackten Ordner der Petoi Desktop App
Schaltfläche Joint Calibrator in der Petoi Desktop App
Gelenkkalibrator mit Schaltflächen Kalibrieren und Speichern
1 / 4
Calificar la guía

Comentarios

Haz una pregunta o comparte tu experiencia

Schreib uns, wenn etwas nicht funktioniert. Nenne dabei dein Board und die Fehlermeldung.

Revisamos cada comentario antes de publicarlo. Tu dirección de correo electrónico permanece con nosotros.