Künstliche Intelligenz ist nicht in einem Roboter als Algorithmus verortet sondern zeigt sich im Parser welcher menschliche Befehle ausführt. Ein erster Prototyp besteht aus einem Text widget in das ein Mensch befehle eingibt wie "Fahre zu regal #2". Leider sind solche Freitext eingaben relativ kompliziert maschinell auszuwerten, besser ist das Benutzerinterface als Formular zu gestalten:
a) Aktivität: Scan (0.2), Fahre (0.4), Greife (0.6), Abladen (0.8)
b) Ort: Regal #1 (0.2), Regal #2 (0.4), Regal #3 (0.6)
c) Parameter: klein (0.2), groß (0.4), blau (0.6), gelb (0.8)
Hier ist eine Zuordnung von Kommandos zur Formular Darstellung:
- "Fahre zu regal #2" -> [0.4, 0.4, 0.0]
- "Fahre zu regal #1" -> [0.4, 0.2, 0.0]
- "Scan" -> [0.2, 0.0, 0.0]
Die Formular Darstellung kann direkt in ein neuronales Netz als Input pattern gesendet werden. Der Computer verarbeitet also keine Strings mit kompletten Sätzen, sondern einen mathematischen Vektor. Es handelt sich um eine klassische Backus-Naur-Form Grammatik welche über neural encoding in einen numerischen Feature vektor überführt wird um die Kommunikation zu komprimieren.
Der Fokus liegt also wie eingangs erwähnt weniger auf der internen Verarbeitung im Lagerroboter selber sondern der Schwerpunkt ist ein Kommunikationsprotokoll was möglichst kompakt und maschinelesbar zugleich ist.
Dadurch verändert sich das ursprüngliche Problem. Es geht nicht länger darum ganzu allgemein einen Lagerroboter in einer Programmiersprache wie Python zu programmieren sondern die modifzierte Aufgabenstellung besteht darin, dass der Roboter einen numerischen Array als input erhält, [0.4, 0.4, 0.0], und dafür dann eine Trajekctorie erzeugen soll.
Erst wenn das Kommunikationsprotokoll definiert wurde gibt es für den Roboter einen zustandsraum. In dem obigen Beispiel besteht die Realität des Lagerroboer aus 11 möglichen Wörtern, angefangen von Befehlen, über Zielorte bis hin zu Adjektiven wie Farbwerte. Für diesen Kommunikationsraum eine Roboter software programmieren und darin Fehler zu beheben ist deutlich leichter als das Allgemeine Problem eines Lagerroboters in Software abzubilden.
No comments:
Post a Comment