Schnellstart - dialogos-project/dialogos GitHub Wiki

(diese Seite auf Englisch)

In diesem Kapitel lernen Sie, wie Sie ohne viel Vorwissen Ihren LEGO-Mindstorms-Roboter in die DialogOS-Umgebung integrieren. In dem hier beschriebenen Beispiel wird einem beliebigen Roboter (nehmen Sie als Beispiel den TriBot aus der LEGO-Mindstorms-Anleitung) eine Sprachsteuerung hinzugefügt, welche es ermöglicht, das installierte Programm zu starten und zu stoppen. Sie können dieser Anleitung mit einem beliebigen LEGO-Mindstorms-Roboter, auf dem ein Programm installiert ist, folgen.

Zunächst wählen Sie nach dem Start von Dialog OS die Option Create New Project. Nun kann die Konstruktion eines Dialogmodells beginnen. Sie können beispielsweise mit einem Spracherkennungsknoten anfangen, der auf ein Startkommando des Benutzers wartet. Wenn Sie diesen Knoten eingefügt haben, müssen Sie ihn zunächst mit dem Startknoten verknüpfen. Neu angelegte Knoten können über das Ziehen von Verbindungskanten, von Ausgängen anderer Knoten zu dem neuen Knoten, in den Ablauf des Modells eingebunden werden.

Mit einem Doppelklick der linken Maustaste auf den soeben erstellen Eingabeknoten erhalten Sie verschiedene Einstellungsmöglichkeiten zu dem Knoten. Wählen Sie unter der Schaltfläche Spracherkennung die Grammatik "<Automatisch aus den Mustern generieren>", damit das Dialogsystem zur Laufzeit automatisch eine Grammatik für den Spracherkenner erstellt, die das Vokabular aus den Eingabemustern enthält. Als Eingabemuster können Sie verschiedene Startkommandos definieren, wie beispielsweise "Start", "Anfangen" oder "Fang an!". Verwenden Sie hier Wörter als Eingabemuster, so ist es notwendig diese Anführungszeichen zu schreiben, da auch komplexere Muster verwendet werden können.

Für jedes erstellte Muster an einem Spracherkennungsknoten ensteht ein neuer Ausgang, über den sich neue Knoten verbinden lassen. Um das Programm auf dem Roboter zu starten, hängt man einen Knoten "NXT Programm starten" an, durch den ein entsprechendes Signal an den Roboter geschickt wird. Mit der Schaltfläche Auswählen in den Einstellungen dieses Knotens kann man bequem ein Programm auswählen, das auf dem angeschlossenen NXT installiert ist.

Anmerkung

NXT-Programme haben stets die Dateiendung .rxe, wie beispielsweise TriBotProgram.rxe.

Wenn Sie möchten, können Sie an diesen Knoten noch einen Sprachausgabeknoten anhängen, um eine Mitteilung auszugeben, dass das Programm jetzt gestartet wird. Wenn Sie in den Optionen dieses Knotens die Option "Text" wählen, können Sie einfach einen Ausgabetext in das Eingabefeld schreiben. Die Option "Ausdruck" gilt hingegen der Verwendung komplexer Ausdrücke.

Nachdem das Programm im Dialogverlauf nun gestartet wird, müssen Sie noch Knoten anlegen, um es wieder zu stoppen. Auch hier können Sie wieder einen Spracherkennungsknoten verwenden, der auf ein Kommando ("Stop", "Aufhören", etc.) wartet. Anschließend dient der Knotentyp "NXT Programm stoppen" dazu, das Programm auf dem NXT abzubrechen. Dieser Knoten hat einen Ausgang, über den er verlassen wird, nachdem ein Stop-Signal an den Roboter geschickt wurde.

Sie können allerdings zusätzlich die Option "Zuerst prüfen, ob ein Programm läuft" auswählen, um einen weiteren Ausgang zu erhalten, über den der Knoten verlassen wird, wenn zur Laufzeit kein Programm auf dem NXT verarbeitet wird. Nach dem Anlegen des Stop-Knotens können Sie wiederum Sprachausgabeknoten verwenden, in denen der Dialog die gemachte Aktion bestätigt.

Am Ende des Dialogverlaufs sollte man einen Ende-Knoten einfügen, mit dem der Dialog beendet wird. Alternativ können Sie auch eine Kante vom letzten Knoten zum Startknoten ziehen, um den Dialog zu wiederholen. Anschließend kann man im Menü Graph mit dem Befehl Überprüfen prüfen lassen, ob Ausgänge von Knoten existieren, die nicht verbunden wurden, oder ähnliche Probleme im Dialogmodell auftauchen.

Ist das Dialogmodell fertig erstellt, können Sie die Funktionsfähigkeit zunächst unabhängig von NXT und Spracherkennung testen. Dialog OS enthält dazu das nützliche Feature Wizard-of-Oz, welches über die Symbolleiste aufgerufen werden kann. Um den Dialog ohne den Wizard-of-Oz-Modus auszuführen, betätigen Sie einfach die Schaltfläche Ausführen aus der Symbolleiste.

Falls Sie in Ihren Dialogmodellen auf Fehler stoßen, bietet es sich auch an, den eingebauten Debugger zu benutzen, um den Dialog schrittweise durchzugehen oder Haltepunkte zu definieren, an denen der Dialog pausiert wird. Wenn Sie nun neugierig sind, was noch alles mit Dialog OS möglich ist, können Sie sich zunächst im Kapitel "Knoten" einen Überblick über die vorhandenen Knotentypen verschaffen.

Interessant ist beispielsweise die Verwendung von Variablenknoten, mit deren Hilfe Sie zum Beispiel durchzählen können, wie oft ein Programm ausgeführt wurde. Mit Hilfe von komplexen Ausdrücken können Sie anschließend Ihre Variablen auch in Sprachausgaben verwenden.

Nächste Seite: Knoten