Robotics and Artificial Intelligence
January 22, 2026
Head up display with grounded language
The surprising situation is, that a head up display and especially the textual labels have a use case from a scientific perspective. They are demonstrating the symbol grounding problem. The robot is able to think and fulfill tasks by using the information from the HUD. A command like "grasp the banana" is converted into an action like "grasp the object on top left which is a fruit and has a weight of 120g". These detail information are extracted from the hud display, because the banana item was recognized in the picture.
A head up display is a photo from the ego perspective of a robot with annotated objects. There is sometimes a status box available which shows additional information. These text boxes ensures, that the robot understands a situation. It makes the teleoperation of the robot smoother.
January 19, 2026
Sprachspiele vs. Mathematische puzzle
Über Jahrzehnte hinweg galten Mathematische Rätsel und Denkspiele wie SChach als Testumgebung für Künstliche Intelligenz. Anhand des SChachspiels kann man grundlegende Algorithmen wie Minmax erläutern und geometrische Routenfindungsprobleme sind ideal um darüber Path planning algorithmen zu verstehen.
Allerdings haben diese klassischen KI Probleme einen großen Nachteil: sie blende das Thema natürliche Sprache aus. In einem Spiel wie das 15 puzzle Problem oder im berühmten Tictactoe Spiel gibt es keine Worte sondern es nur ein grid-Raster auf dem die Spieler Steine platzieren. Als interne Datenstruktur für eine Computerumsetzung wird folgerichtig ein Array verwendet womit das Spiel simuliert wird. Damit reduzieren sich mögliche Ansätze zur Entwicklung von künstlicher Intelligenz auf eine mathematisch-logische Sichtweise.
Neben den erwähnten Logikpuzzles gibt es eine zweite Kategorie von Gesellschaftsspielen die in der Informatik erst seit 2010 näher untersucht werden: Sprachspiele. Diese haben ihre Wurzeln weniger in der Mathematik sondern werden traditionell zum Erlenen einer Fremdsprache verwendet. Sprachspiele stellen ein Rätsel da was man nur lösen kann wenn man die Vokabeln der Fremdsprache beherscht. Eine mögliche Aufgabe besteht darin für das englische Wort "apple" die deutsche Übersetzung "Apfel" zu finden oder ein gezeigte Bilderkarte mit dem korrekten Wort zu annotieren.
Obwohl diese Spiele in einem Computer simuliert werden können werden sie bisher nur selten in der KI Forschung eingesetzt. Dies hat etwas mit der traditionellen Ausrichtung auf mathematische Probleme zu tun, weil die Informatik sich historisch bedingt von der Mathematik abstammt also sich primär um Zahlen und Formeln kümmert und weniger um natürliche Sprache, welche innerhalb der Geisteswissenschaft erforscht wird.
Es gibt Indizieren dafür dass ausgrechnet natürliche Sprache der fehlende Baustein ist um Künstliche Intelligenz zu erzeugen. Sprache ist kulturell bedingt ein Zeichen und Sinnsystem was auf die realität referenziert. Frühe Hieroglyphenschriften verwenden bilder und symbole anstatt Substantive, während moderne Sprache auf das lateinische Alphabet zurückgreifen. Der Vorteil von natürlicher Sprache und speziell deren schriftlicher Ausprägung ist, dass es sich um ein etabliertes Zeichensystem handelt was in Wörterbüchern kodifiziert ist. Man muss also nicht eine neue Sprache erfinden die zur Steuerung von robotern verwendet wird sondern kann das bekannte Englische Vokabular für diesen Zweck verwenden. Die einzige Modifikation besteht darin, dass in der Robotik häufig auf einen Subset, eine mini language zurückgegriffen wird, der Roboter also effektiv nur 100 Worte versteht, ähnlich wie ein Textparser in einem Adenturegame.
Das besondere bei einem Sprachinterface ist, dass sich damit eine Fernsteuerung programmieren lässt die anders als eine joystick-Fernsteuerung über einen replay modus verfügt. Man speichert die kommandos die ein Mensch an einen Roboter erteilt in einem logfile und kann das logfile dann später erneut an den roboter senden und dieser wird auf dieselbe Weise reagieren.
Obwohl derartige Roboter bisher nur selten in der Forschungsliteratur erwähnt werden und das Themengebiet des Symbolgrounding hochkomplex ist, lassen sich praktische Roboter mit erstaunlich wenig Aufwand realisieren. Im Grunde reicht es einen einfachen Parser zu programmieren, der 10 worte versteht wie "left, right, up, down, stop, status" und schon kann man an diesen Roboter längere Befehlssequenzen senden. Zugegeben, das Prinzip ist nicht wirklich innovativ, es ist identisch mit der Entwicklung einer domain specific language und wurde in der Robotik unter der Bezeichnung "Karel the robot" seit den 1980er verwendet. Das neue liegt eher darin, dass man auf dieses Hilfsmittel der natürlichen Sprache stärker fokussiert um damit eine vielzahl von Künstliche Intelligenz Aufgaben zu formalisieren.
Ein derartiger Roboter wird nicht über Algorithmen gesteuert sondern die Basis ist ein Englisch-Wörterbuch mit Verben, adjektiven und Substantiven. DIe kenntnis dieser Worte erlaubt es dem roboter statusmeldungen an den BEnutzer zu senden und von diesem Befehle zu empfangen. SYmbol grounding ist folgerichtig die autoamtsierung der Mensch-Maschine-Schnittstelle. ES geht weniger darum, den roboter als Maschine zu programmieren sondern der fokus liegt auf der Schnittstelle zur Außenwelt, also welche Daten an den roboter gesendet werden und welche der Roboter an die Umwelt zurückschickt.
Künstliche Intelligenz früher
Vor dem Jahr 2010 war die KI Forschung durch Sackgassen, ungelöste Probleme und Pessimismus geprägt. Man könnte sagen, dass die Zeit von 1950 bis 2010 ein einziger langer KI Winter war, bei dem es nicht gelang wichtige Probleme wie Robotik zu lösen. Diese distanzierte Bewertung erhält man wenn man sich die gängige Literatur anschaut, also die Bücher und Konferenz-Proceedings die über Jahrzehnte von Wissenschaftlern publiziert wurden. Während klassische Informatik also software engineering, Datenbanken, Computer netze und Algorithmen einen kontiniurlichen Aufschwung erlebte und praktische Probleme lösen konnte, war die Künstliche Intelligenz niemals erfolgreich.
Am einfachsten lässt sich das Scheitern aufzeigen wenn man versucht konkrete Probleme zu lösen, z.B. eine Software zu programmieren die schach spielt, eine KI entwickelt die einen Roboter steuert oder einen Algorithmus entwirft der ein Selbstfahrendes Auto steuert. Zwar gab es viele Versuche sowas zu implementieren, aber im Regelfall war der ergebnis ernüchternd. Bevor eine Schachsoftware in der Lage ist gegen einen Menschen zu spielen wurde diese Software über Jahre hinweg verbessert, unzählige Manstunden sind in solche Projekte geflossen. Und bei Algorithmen zur Robotiksteuerung sieht es noch schlechter aus. Dort sind selbst sehr umfangreiche Programmbibliotheken wie das ROS System nicht im Stande einfachste roboter durch ein Labyrinth zu steuern.
Es gab bis 2010 durchaus Erfolge, z.B. hat der Deep blue Computer im Schach gegen einen Menschen gewonnen und das selbstfahrende Auto Stanley konnte im Jahr 2005 die Ziellinie der Darpa Grand challenge durchqueren. Allerdings war der Programmieraufwand für diese Prototypen extrem hoch und die Resultate sind nicht verallgemeinerbar.
Die gute Nachricht lautet dass sich das Unvermögen eine intelligente Software zu programmieren sich gut eingrenzen lässt. Es reicht aus die folgende Aufgabe näher zu untersuchen: "Programmieren sie eine Software die einen Roboter steuert. Der Roboter soll in einem Labyrinth vom Startpunkt zum Zielpunkt fahren und dabei Hindernissen ausweichen. Erlaubt ist als Programmiersprache jede vorhandene sprache, ebenfalls erlaubt ist jeder bekannte Algorithmus und jedes bekannte Informatik-Buch zu verwenden. Viel erfolg."
Die traurige Nachricht lautet, dass so eine Programmieraufgabe viel zu umfangreich ist. Informatiker vor dem Jahr 2010 sind damit immer gescheitert. Das Problem hat damit zu tun, dass vorhandene Programmiersprachen wie C/C++, vorhandene Algorithmen wie RRT und vorhandene Literatur wie "Russel/Norvig:AIMA" nicht ausreichend sind um das obige Problem mit dem Maze roboter zu lösen. Selbst wenn es gelänge in C/C++ einen Roboter zu programmieren der Hindernisse umfährt, wird der fertige Roboter nicht wirklich überzeugen können. Es wird ein Projekt mit einer hohen Zahl von Codezeilen werden während die praktische Einsatzfähigkeit nahe null ist.
Leider sind die erwähnten Tools, also Programmiersprachen, Algorithmen und Informatik-Bücher bereits das beste vom besten. C/C++ ist die effizienteste Programmiersprache die in Kombination mit dem ebenfalls sehr mächtige RRT Algorithmus eigentlich in der Lage sein sollte, einen Roboter zu steuern. Tut es aber nicht.
Der Grund warum es bis 2010 Künstliche Intelligenz ein unüberwindliches Hinderniss darstellte hat mit der Fokussierung auf Computer zu tun. Die unausgesprochene Vorstellung in der Informatik ist, eine Software zu erstellen die auf einer CPU ausgeführt wird, und diese Software soll dann ein Problem lösen. Informatiker haben Zugriff auf einen Computer auf dem ein Program mausgeführt werden kann und sie benötigen dann eine Software die das Problem löst. Diese Software wird in aller Regel neu geschrieben und hier liegt das Problem. Niemand weiß wie eine KI Software aussehen soll. Das STandardparadigma der Informatik funktioniert nicht.
Lediglich bei Nicht-KI Themen wie Datenbanken, Textverarbeitung oder mathematischen Problemen ist es sinnvoll computerzentriert vorzugehen. Wenn z.B. in einer Datenbank die Inhalte einer Tabelle aufaddiert werden sollen, reicht es dafür in C/C++ eine Software zu schreiben oder noch besser, man sucht nach einer bereits existierenden Bibliothek und verwendet diese lediglich für das konkrete Beispiel. Klassische Informatik funktioniert immer computer zentriert, d.h. es gibt eine vorhandene Hardware + Software die dann auf ein konkretes Problem angewendet wird. Lediglich bei KI Themen funktioniert dieses eingeübte Vorgehen nicht. Es gibt keine KI Standardbibliotheken und selbst das Neuschreiben von Software führt nicht zum erfolg.
Man kann die Zeit bis 2010 so umschreiben, dass damals die KI Community versucht hat Software zu entwickeln mit denen Computer intelligent werden, aber das alle Versuche dieser Art gescheitert sind. Selbst unkonventionelle Ansätze welche durch eine neue Generation von Informatikern verfolgt wurde war nicht erfolgreich. z.B. könnte ein alternatives Vorgehen darin bestehen auf die altmodische C/C++ Sprache zu verzichten zugunsten der neueren Python Sprache und den RRT Pfadplanungsalgorithmus zu ersetzen durch ein neuronales Netz. Man hätte damit zwar ein innovatives Robotik-Projekt allerdings würde auch dieses leider scheitern.
Damit dieser Blogpost nicht ausschließlich pessimistisch endet, zum Schluss noch ein kleiner Ausblick wie seit dem Jahr 2010 Robotikprojekte durchgeführt werden. Neuartige Robotik basiert darauf Sprachspiele zu maschinisieren die erforderlich sind um Probleme zu lösen. Ein Speaker übermittelt natürlichsprachige Anweisungen an einen Hearer, der ein Labyrinth durchquert. Die dabei ausgetauschte Kommunikation wird dann in ein Computermodel formalisiert. Damit kann der computer sowohl als Speaker als auch als Hearer agieren und so das Problem lösen.
Der Fokus verschiebt sich dabei von der früheren Programmierung eines Computers hin zum Entwurf eines Sprachspiels. Erst wenn das Sprachstil existiert wird dafür ein Computerprogram erstellt. Damit ist klar definiert was Künstliche Intelligenz ist, hähmlich die maschinelle Ausführung von Sprachspielen.
In der klassischen Informatik wird dies als verteilte KI bzw. agentenbasierte KI beschrieben. Allerdings gehen Sprachspiele weit darüber hinaus weil Sprachspiele auch zwischen Menschen stattfinden können. Im kern wird Sprache als Werkzeug eingesetzt um von der Realität zu abstrahieren.
Ein Sprachspiel ist ein vergleichbar mit klassischen Gesellschaftsspielen wie Mühle, TicTacToe oder Schach, allerdings mit dem Unterschied dass es nicht um logisches Denken geht sondern um das Beherschen einer Sprache. Meist werden Sprachspiele eingesetzt zum Fremdsprachen lernen, Beispiele sind das "Simon Says" spiel, das "Ich sehe was was du nicht siehst" und Übersetzungsspiele bei dem ein Bild in das korrekte Wort übersetzt werden muss.
Derartige Sprachspiele wurden von der Informatik über Jahrzehnte ignoriert. Man kann sie zwar ähnlich wie Schach oder wie ein Kartenspiel in einer Software simulieren und dafür sogar eine KI entwickeln, die das Sprachspiel automatisch löst, nur wurde dies von der Informatik meist nicht als lohnenswerte Aufgabe angesehen. zu unrecht, denn Sprachspiele sind die Schlüsseltechnologie bei der Entwicklungt künstlicher Intelligenz.
Moderne KI seit dem Jahr 2010 lässt sich erstaunlich simpel zusammenfassen. Es geht darum sich neuartige Sprachspiele zu überlegen, diese auf einem Computer zu simulieren und in Datasets und Neuronalen Netzen hochzuskalieren. Wenn man das realisiert, erhält man dabei automatisch eine hochentwickelte Künstliche Intelligenz die in der Lage ist als chatbot zu kommunizieren, die roboter steuern kann und die muster erkennt. Wichtig ist, dass das Sprachspiel oder der Trainingsdatensatz für neuronale Netze an irgendeiner Stelle eine Sprachkomponente beinhaltet. Es müssen also zwingend Verben und Substantive enthalten sein, weil es sonst kein Sprachspiel ist.
Es ist sinnvoll die Geschichte der KI grob in zwei Phasen einzuteilen: vor 2010 wurden mathematische Gesellschaftsspiele untersucht wie das 15 puzzle, Schach und Labyrinthspiele. Seit 2010 werden zusätzlich noch Sprachspiele untersucht z.b. "Visual question answering" "instruction following", "image annotation". Dieser veränderte Fokus erklärt die Erfolge der Künstliche Intelligenz seit dem Jahr 2010.
January 16, 2026
Taqging based evaluation functions
Despite its philosophical implication, Artificial Intelligence is also a technical subject within computer science. There are even some algorithms available to realize game playing agents in software. The most famous one is perpahs an evaluation fucntion which is used since the 1980s in computer chess. The inner working of evaluation function including a semantic improvement should be explained next.
In a classical heuristic evaluation function the current game state is mapped towards a score from 0.0 to 1.0 and this score helps the gradient descent solver to find the optimal action. In case of a path planning problem on a 2d grid map, the score is the manhattan distance to the goal, and in case of computer chess the is the strength of a player determined by the amount of chess pieces on the board.
For complex problem from robotics, the score can't be determined directly because its unclear if a certain game state is an improvement or not. Especially for biped walking based on mulitiple joints its impossible to determine a numerical score for a certain pose. What can be utilized instead is a tagging mechanism. Instead of calculating the numerical score, the computer determined only the detected tags. A tag is a semantic anchor like [finger_open] or [battery_low]. Such a tag doesn't describe the game state with numbers but with words. The numerical scores have to be calculated in a second step:
Game state -> semantic tags -> numerical score
The main advantage of a tagging mechanism is that its much easier to encode domain specific knowledge. There is no need to describe a game state from a mathamtical perspective, but its enough to provide a list of words to annotate a game state. This works great easpecially for complex motion capture annotation. An example list of detected tags for a bipod robot might be: [left_foot_front] [balance_stable] [right_foot_back] [servo_motor_off].
The objective for the computer program is to determine the correct tags in realtime. The robot is moving on the screen and in the background all the tags are shown on the screen.
December 28, 2025
Von Python zu Forth
Über die Vorteile der Python programmiersprache braucht es nicht vieler Worte zu verlieren. Es ist die anfängerfreundlichste Sprache die es derzeit gibt, unterstützt sowohl prozedurale als auch objektivorientierte Konzepte, bietet gut leserlichen Code, hat eine umfangreiche Bibliotheksauswahl und die selbe Software läuft sowohl in Linux als auch Windows (zumindest in der Theorie).
Dennoch gibt es einige wenige Python Programmierer die unzufrieden sind mit dem Ökosystem und die neugierig sind auf mögliche andere bessere Programmiersprachen. Die wohl faszienrende Sprache abseits des Mainstreams ist zweifelsfrei Forth um die sich zahlreiche Legenden ranken während die wenigsten Programmierer praktische Erfahrung damit sammeln konnten.
Der folgende Blogpost erläutert die Forth Sprache für geübte Python programmierer. Der wohl wichtigste Unterschied ist, dass Forth mit deutlich weniger Speicher auskommt als jede andere Sprache. Forth benötigt sogar weniger RAM als die hocheffiziente C Sprache. Wenn ein Betriebssystem wie Haiku was in C++ geschrieben wurde rund 500 MB an RAM benötigt um den desktop anzuzeigen, kommt die Forth sprache für das selbe Betriebssystem mit nur 5 MB aus, also um den Faktor 100x weniger. Der Hauptgrund für den Effizienzvorteil ist der Verzicht auf Variablen. Forth hat keine Variablen die an Funktionen übergeben werden, sondern Forth hat einen Stack der nur wenige Byte groß ist und die Kommunhkation zwischen den Funktionen sicherstellt. Weiterhin ist der Befehlsumfang von Forth kleiner, so dass die Programme weniger Speicher im RAM belegen.
Einschränkend sei gesagt, dass das selbe Programm einmal geschrieben in C und einmal in Forth, in beiden fällen gleich schnell abläuft. Das heißt eine Routine um grafiken zu zeichnen oder eine Game engine die 30fps erzeugt ist in beiden Programmiersprachen mehr oder weniger gleich schnell. Um Forth schneller zu machen bzw. die selbe Software mit weniger Joule an elektrischer Leistunbg ablaufen zu lassen benötigt man speziell angepasste Forth CPU wie deb GA144, was ein hocheffizienter Vektorprozessor mit 144 Kernen ist.
Aber zurück zur Programmiersprache Forth. Im wesentlichen ist Forth eine Teilmenge einer Assemblersprache. Anstatt die üblichen Assembler Mnemonics wie Mov, add, mul, and bietet Forth nur Befehle die auf den Stack zugreifen, also push und pop. Es gibt keine Register wie EAX, EBX, ECX sondern nur diesen einen Stack plus einen zweiten für den Instruction Pointer und mit dieser Teilmenge müssen Forth Programmier dann auskommen.
Leider ergibt sich daraus ein gravierender Nachteil der die geringe Verbreitung von Forth erklärt: die sprache ist noch umständlicher zu lernen als Assembler. In Assembler wurden in den 1980er auf Heimcomputern relativ viele Spiele programmiert, speziell auf den 8bit Rechnern von Commodore und Atari ist Assembler bis heute die einzige weit verbreitete Sprache. Assembler gilt im Vergleich zu C als unleserlich und als maschinennah. Forth übertrifft Assembler im Minimalsmus und ist noch unleserlicher und noch minimalistischer.
Der Hauptgrund warum Forth im Mainstream niemals Akzeptanz fand ist, dass die Sprache ein Problem löst, was es so technisch nicht gibt und zwar das Problem des Hauptspeichers. Such Sicht einer Forth virtual machine ist Speicher extrem knapp. Die Annahme lautet dass der verfügbare Arbeitsspoeicher weniger als 10 kb beträgt. Und mit diesem knappen RAM muss die Software dann vorlieb nehmen. In der Realität hingegen haben moderne PC deutlich mehr Speicher, und zwar 1 GB und deutlich mehr. In so einem Umfeld hat ein Forth Programm keinen Vorteil gegenüber Code der in C geschrieben wurde.´
December 24, 2025
Python for event detection of a warehouse robot
The Python programming language is recognized as a high level language which allows to program complex software in a low amount of code. The reason is, that python has many builtin libraries and has an easy to understand syntax for parse. Its much easier to create a prototype in Python than in other programming languages like C or Assembly.
Unfurtunately, the Python language remains a classical imperative language which means, that the programmer has to define functions, classes and variables. This formal syntax ensures, that a computer can execute the statements. To increase the abstraction level further another syntax is needed which is presented next. The goal is to program an event recognition system for a warehouse robot. Instead of implementing a GUI prototype the goal is to write only a list of [tags] which can be detected by the robot. The tags are described in a python dictionary:
warehouse_robot_taxonomy = {
# --- Navigation & Localization ---
"NAV_WAYPOINT_REACHED": "Robot base has arrived at the specific coordinate destination.",
"NAV_PATH_OBSTRUCTED": "LIDAR/Depth sensors detect an unexpected object in the path.",
"NAV_RELOCALIZATION_REQ": "Robot uncertainty in pose exceeds threshold; seeking landmarks.",
"NAV_FLOOR_HAZARD": "Detection of liquid spills, debris, or uneven surfaces.",
# --- Manipulation & Payload ---
"MAN_SHELF_ALIGNED": "End-effector is centered and parallel to the targeted rack slot.",
"MAN_GRIP_SUCCESS": "Tactile/Force sensors confirm object acquisition.",
"MAN_GRIP_SLIP": "Loss of contact or shifting weight detected during transport.",
"MAN_LOAD_SHIFT": "Internal IMU detects payload instability while the robot is moving.",
# --- Perception & Identification ---
"PRC_SKU_VALIDATED": "Barcode, QR code, or RFID successfully read and matched to manifest.",
"PRC_MISPLACED_ITEM": "Vision system identifies an object where the database expects a void.",
"PRC_SHELF_FULL": "The destination bin has no available volume for placement.",
# --- Safety & Human-Robot Interaction ---
"SAF_ESTOP_ACTIVE": "Physical or software-based emergency stop has been engaged.",
"SAF_HUMAN_NEAR": "Safety scanners detect a human worker within the 'Slowdown' zone.",
"SAF_COLLISION_IMMINENT": "Time-to-collision calculation triggers immediate braking.",
# --- System & Maintenance ---
"SYS_BATTERY_LOW": "Charge level requires return to docking station.",
"SYS_COMMS_LOST": "Loss of heartbeat or high latency with the Warehouse Management System (WMS)."
}
Such a list of tags has not much in common with a software project, but its similar to a database. The table stores two columns: name, description. The dictionry stores the items in the table.
The idea behind the project is, to annotate the sensory perception with one of the tags. For example, if the battery is low the tag [SYS_BATTERY_LOW] gets activated or if the robot has scanned an object the tag [PRC_SKU_VALIDATED] gets activated. The entire game state is projected towards a tag vector with 16 entries, each of the tags can be true or false so the game state is encoded in 16 bits, which is a very compact representation. The python dictionary ensures, that the human operator has a better understanding of each of the tags. There is a name plus a descripotion given.
December 20, 2025
Symbol grounding with tags
The screenshot shows a prototype for a maze game. The dominant features is a camera which determines semantic tags for the mouse position. Such a camera is a basic demonstration for grounded language, it doesn't photograph the picture on a pixel level but it captures the meaning of a cell. This meaning is encoded by tags like [wall], [junction], [robot] and [straight_right].
Without the tagging mechanism its impossible to communicate with the robot in natural language and its also impossible to execute tasks like instruction following or visual question answering. The detected tags are the precondition for human to robot interaction with natural language.
From a software engineering perspective, the semantic camera is a GUI widget element. It contains of a rectangle shown in the video game and there is a textual output shown on the bottom of the window.
December 18, 2025
From robotics algorithms to grounded language
Artificial Intelligence from 1960 to 2010 was working with a bias which prevented the development of powerful robots. This bias was a closed system driven by numerical algorithms. The understanding was that a robot is some sort of computer or a Turing machine which executes a computer program step by step. The computer program controls the robot and limits its ability to solve problems in the real world. Until 2010 it was unclear how to use a programming language like C/C++ for motion planning in robotics. Possible attempts like the famous RRT motion planner resulted into a high CPU load but struggled in the reality.
Computers until 2010 were limited to classical computing tasks rooted in mathematical domain. They were able to analyze statistical data or show a graphics on the screen. These classical tasks were implemented in software packages and operating systems. None of these libraries was able to control robots with artificial intelligence and this has slowed down the development of robotics.
The paradigm shift towards intelligent robots was initiated by natural language as a communication interface. The principle is not completely new because since the 1980s it was available in text adventures like Zork and Maniac mansion. In both cases, the human player communicates with a computer over a textual interface. For example the player can select the command "move to door, open the door" from the menu and the avatar in the game will follow this command.
What was unknown until 2010 was, that such a text based user interface works great for robot control. Advanced robotics can be imagined as some sort of point&click adventure which provides a vocabulary on the screen to activate commands. This point&click interface ensures, that the man to machine communication works smoothly. That means, the robot is following the human instruction.
Under such a constraint, former motion planning in robotics are no longer an obstacle. Because the robot doesn't need to solve an optimization problem but the robot has to listen to the human operator. The hard problems are delegated to the human located outside of the robot and this is equal to an open system. Open system means, that natural language is feed into the robot and is submitted from the robot to the operator.
The single modification of using text based teleoperation is the core technology in modern robotics after the year 2010. It allows to solve all the former problems without inventing new hardware or new algorithms. Instead of designing a sophisticated artificial intelligence hidden inside a robot, the goal is to invent a user interface which connects a robot with a human. In case of the Maniac Mansion videogame there are 3x5=15 located on the bottom of the screen. This interface allows to control the game. A character like Dave or Bernard can't be called intelligent in the meaning of computer science but they are able to parse commands and they give feedback in natural language so they are good examples grounded language in a video game.

