Anki Vector: Autonomer Mini-Roboter mit Charme und eigenem SDK im Test

Seite 3: Vector SDK: Roboter programmieren

Inhaltsverzeichnis

Wäre Vector nur ein niedliches Spielzeug, wäre der Preis tatsächlich ganz schön hoch. Dank seiner zahlreichen Sensoren bietet Vector jedoch auch einen guten Einstieg in die (Roboter-)Programmierung.

Seit Dezember 2018 ist die bis dahin den Unterstützern der Kickstarter-Kampagne Alpha-Version des Vector Software Development Kit für jeden zugänglich (Registrierung erforderlich). Das SDK setzt auf dem des Vorgängers Cozmo auf, sodass sich auch Vector in der beliebten Skriptsprache Python programmieren lässt. Derzeit stellt das API 29 Python-Objekte mit zig Klassen und Funktionen bereit, über die sich sämtliche Motoren, Sensoren und der Bildschirm ansteuern lassen.

Die Installation ist denkbar einfach: Nach der Installation von Python (Download) reicht der Befehl

py -3 -m pip install --user anki_vector

zum Einspielen aller benötigten Pakete aus dem Anki-Repository. Die Kommunikation mit Vector erfolgt mittels HTTPS über die WLAN-Verbindung; der Computer, auf dem das SDK läuft, muss also im selben WLAN sein wie Vector. Zur Authentifizierung wird ein Zertifikat von Ankis Servern benötigt. Der Befehl

py -m anki_vector.configure

fragt die Zugangsdaten des bei der Einrichtung von Vector angelegten Anki-Kontos, den Namen des Roboters und dessen Seriennummer ab, um das Zertifikat herunterzuladen.

Anki Vector: Apps aus dem SDK (4 Bilder)

Der 3D Viewer ist eine der Beispiel-"Apps" aus dem Vector-SDK. Hier sieht man nicht nur Vectors Umgebung, sondern kann ihn auch mit der Tastatur steuern.

Anki liefert ein gutes Dutzend Tutorial-Skripte mit, außerdem vier komplexere Applikationen zur Steuerung: einen 3D-Viewer, eine interaktive Shell, den Proximity Mapper und eine Vector-Fernbedienung. Sämtliche Applikationen und Skripte laufen nicht auf Vector selbst, sondern übertragen die einzelnen Befehle über die verschlüsselte Netzwerkverbindung. Die stets nötige Authentifizierung gegenüber dem Roboter macht das zu einem recht trägen Unterfangen.

Die ersten Schritte sind sehr einfach, das folgende Skript lässt Vector beispielsweise einen Herz-Umriss abfahren:

#!/usr/bin/env python3

"""-------------------------
   Make Vector drive a heart
   -------------------------"""

import anki_vector
from anki_vector.util import degrees, distance_mm, speed_mmps


def main():
    args = anki_vector.util.parse_command_args()

    # The robot drives straight, stops and then turns around
    with anki_vector.Robot(args.serial) as robot:
        robot.behavior.drive_off_charger()

        robot.behavior.turn_in_place(degrees(-30))
        robot.behavior.drive_straight(distance_mm(200), speed_mmps(100))
        for _ in range(6):
            robot.behavior.turn_in_place(degrees(30))
            robot.behavior.drive_straight(distance_mm(30), speed_mmps(100))
        robot.behavior.turn_in_place(degrees(-120))
        robot.behavior.drive_straight(distance_mm(30), speed_mmps(100))
        for _ in range(6):
            robot.behavior.turn_in_place(degrees(30))
            robot.behavior.drive_straight(distance_mm(30), speed_mmps(100))
        robot.behavior.drive_straight(distance_mm(170), speed_mmps(100))

if __name__ == "__main__":
    main()

In den USA ist Vector bereits seit Oktober 2018 erhältlich: Die auf Programmierkurse für Kinder und Jugendliche spezialisierte Webseite Kinvert lotet Vectors Möglichkeiten aus und hat diverse Python-Skripte für Cozmo und Vector nebst Erläuterungen veröffentlicht, etwa ein Pong-Spiel. Auf GitHub findet sich darüber hinaus das Projekt VectorCloud: ein gegenüber der Beispiel-Anwendung "Remote Control" erweitertes Web-Interface inklusive eines Demo-"App Store".

Im Anki Developer Forum (Registrierung erforderlich) gibt es fortgeschrittene Projekte wie das Vector Explorer Tool – eine Portierung des Cozmo Explorer Tool –, mit dem man sehr bequem alle Hardware- und Software-Features von Vector ausprobieren kann, bis hin zur Gamecontroller-Unterstützung. Mit Hilfe des Objekterkennungssystems You Only Look Once (YOLO) kann Vector Blackjack auch mit echten Spielkarten spielen, wie das Projekt VectorCards zeigt.

Über das SDK lassen sich anhand ihrer Seriennummern auch mehrere Roboter ansprechen, sodass sich prinzipiell auch Interaktionen zwischen ihnen realisieren ließen.

Ihr exklusiver Zugriff auf das gesamte Wissen der größten unabhängigen IT-Fachredaktion Europas.

Jetzt entdecken!