Humanoider Roboter, MQTT und Smalltalk

Auf dem letzten PIB-Hackathon bei pib.rocks vom 25.04.2026 - 26.04.2026 wurde zwar vorwiegend an der Hardware gebaut, aber als Softwerker habe ich mich mit einem ganz speziellen Thema beschäftigt.

Kann ich mit MQTT die Roboter Simulation von Smalltalk aus ansteuern? Geht das und wie viel Aufwand ist das?

/images/HackathonTask.jpg

Warum will ich das?

Jeder sollte einen leichten Einstieg in die Robotik haben und seine gewohnte Entwicklungsumgebung verwenden können.

Ohne lange Einarbeitung in Frameworks oder vorgegeben Entwicklungsmethodiken sollten doch zumindest Grundfunktionen machbar sein.

Das macht dann gleich viel mehr Spaß und bringt Motivation für das Thema.

Eigentlich gibt es ja schon 2 Methoden den Roboter zu programmieren:

  1. Blockly als einfache grafische Programmierung

  2. ROS2 für 'echte' Robotik

Ich mache gerne Blockly. Grafische Blöcke an die richtige Stelle ziehen und sich dabei auf die Struktur konzentrieren, ohne das ich mich um Programmiersprache, Compiler oder Laufzeitumgebung kümmern muss. Schwierig wird es leider, wenn es den Block für die gewünschte Funktion noch nicht gibt. Dann muss ich den selber entwickeln und habe dann wieder alle Umstände, die ich eigentlich vermeiden wollte.

ROS2 hat zwar viele Möglichkeiten, aber leider auch viele Regeln und Einschränkungen. Zumindest ich habe einen 1 Wochen Kurs gebraucht, um ein 'hello robot' Programm zu schreiben und die wichtigsten Konfigurationsdateien zu verstehen. Da hat sich am Roboter aber noch nichts bewegt. Anbindung der Simulation hat dann auch noch eine ganze Zeit gedauert. Es werden leider nur 2 Programmiersprachen unterstützt.

Ich wollte jetzt aber was mit Smalltalk oder Erlang oder Elixir machen. Wird alles nicht unterstützt.

Was ist denn der einfache Weg?

Ich habe mich für MQTT entschieden. Das kann jeder, jede Programmiersprache, jeder 30 Jahre alte 8bit Prozessor, jede smarte Steckdose.

Ist Message orientiert ähnlich ROS2, aber ohne den ganzen Verwaltungsoverhead.

Ist leicht aufgesetzt - Docker Container starten - fertig.

Macht erst mal keine großen Vorgaben wie es verwendet werden soll.

Ist für kleine Messages schnell und brauchte kaum CPU oder Speicher Ressourcen.

Umsetzung - tut das auch?

Ja, es tut.

Es waren im Controller der Simulation keine 10 Zeilen Code nötig. Dann wurden alle Sensoren gepublished und ich konnte alle Freiheitsgrade mit dem MQTT-Explorer ansteuern.

Die Simulation lässt sich jetzt schon mal super einfach steuern.

Geht das jetzt auch mit Smalltalk?

Nach kurzer Suche fand ich eine MQTT Implementierung in reinem Smalltalk. Importieren, geht.

Zwei Zeilen in einen Workspace eingeben und der Arm von dem humanoiden Roboter in der Simulation bewegt sich.

Ergebnis:

Mit vergleichsweise geringen Aufwand kann ich jetzt in meinem Lieblings-Smalltalk einen humanoiden Roboter programmieren.

Genau so habe ich mir das vorgestellt.

So macht Robotik-Programmierung Spaß.

Für mich hat es sich voll gelohnt, diesen neuen Weg zu gehen.