Im Projektkurs Robotik arbeiten wir mit kleinen, Wall-E ähnlichen, Robotern namens Cozmos, welche wir im Laufe des Projektkurses austesten und programmieren.
Um die Fähigkeiten der kleinen Roboter kennenzulernen haben wir in den ersten Stunden mit der Cozmo-App im ‚Constructor‘-Modus gearbeitet. Dort gab es verschiedene Befehlsblöcke, die man ähnlich wie in Scratch aneinanderreihen konnte um den Roboter zu programmieren.
Hier ist beispielhaft das Programm, um den Cozmo im Quadrat fahren zu lassen:
Zuerst wird festgelegt, dass der Roboter 100 mm mit einer Geschwindigkeit von 50 mm pro Sekunde fahren soll und dann sich um 90 Grad mit einer Geschwindigkeit von 40 Grad pro Sekunde drehen soll. Das soll er dann insgesamt vier mal machen.
Der Cozmo hat zwei Gummiketten mit denen er sich frei bewegen und drehen kann. Mit dem Hebearm kann er die drei mitgelieferten Würfel anheben, stapeln und drehen. Der Kopf kann nach oben und unten geschwenkt werden, wodurch Cozmo seine gesamte Umgebung mit der über dem Bildschirm angebrachten Kamera betrachten kann, welche auch eine Nachtsicht-Funktion besitzt. Über dem Bildschirm können Informationen wie der Ladestand der Akkus, aber auch menschenähnliche Emotionen und Mimik abgebildet werden.
Durch die vielen Sensoren und Motoren ist Cozmo sehr vielseitig programmierbar und in der App lassen sich bereits einige Beispiele für Programmiermöglichkeiten in Form von Minispielen finden. Doch wirklichen Freiraum zum Entfalten der eigenen Ideen und Fantasien bietet erst der ‚SDK‘-Modus der Cozmo-App. Durch diesen kann man die Cozmo-App mit dem Computer verbinden und somit auf dem Computer geschriebene Programme von Cozmo ausführen lassen.
Um den Roboter aber überhaupt auf diese Weise zu programmieren, mussten wir jedoch erst die dafür verwendete Programmiersprache kennenlernen: Python.
Python ist im Grunde genommen relativ ähnlich zu Java, was wir bereits seit der Klasse 10 im Informatikunterricht lernen. Beide sind objektorientierte Programmiersprachen, bei denen man Objekte erstellt, welche dann vorher programmierte Aufgaben ausführen können.
Der Unterschied zu Java ist, dass Python im ständigen Wandel ist und Befehle und Programmierstrukturen sich immer wieder ändern. Das macht es zwar schwerer, sie zu lernen, gibt den Programmierern aber auch mehr Freiraum sich zu entfalten, da man sich nicht an strikte Programmierabläufe halten muss.