Quiz-Roboter unsere idee!

Aus Hansa-Wiki

Wechseln zu: Navigation, Suche

Hier können Menschen aus allen Altersklassen ein paar lustige Minuten verbringen und ihr Wissen unter Beweiss stellen. Der Roboter stellt nacheinander Fragen, die die gegenüber sitzende / stehende Person beantworten muss.

Inhaltsverzeichnis

Planung

In diesem Quiz werden Fragen aus der Schulzeit, aber auch aus dem Allgemeinwissen gestellt. Der Roboter stellt 10 Fragen, die keine feste Reihenfolge haben. Das Quiz geht so lange, bis der Mitspieler eine Fragen falsch oder bis er alle 10 Fragen richtig beantwortet hat. Durch Bewegungen, bzw. sprachliche Reaktion des Roboters erkennt der Mitspieler, ob er nun richtig oder falsch geantwortet hat.


Die zurzeit durch feste Programmierung in Dialogos enthaltenden Fragen können aus einer seperaten Datenbank abgerufen werden, um eine größere Vielfalt für das Quiz zu erreichen. Dazu ist dann auch ein weiteres Script notwendig, dass die Anzahl der gestellten Fragen speichert und nach einer festgesetzten Anzahl das Quiz beendet, sofern es nicht zuvor aufgrund falscher Antwort verloren ist. Dieses wird durch eine weitere Variable verwirklicht, die einfach beim Durchlauf der Frageprozedur hochgezählt wird. Beim Erreichen des Grenzwertes tritt eine Abbruchbedingung in Kraft und das Quiz wird zum End-Knoten geleitet.

Der Roboter soll neben der normalen Spracherkennung/Sprachausgabe ( Programmierung in Diablogos ) auch in der Lage sein mit Bewegungen auf das Geschehen zu reagieren. Zum Beispiel sich bei einer richtigen Antwort im Kreis drehen oder bei gewonnenem Quiz (s.o.) gewinne verteilen. Dazu ist zunächst ein besonderer Aufbau des Roboters notwendig; er muss eine Art Lagermöglichkeit für die gewinne habe, sowie einen Arm, um diese aushändigen zu können. Außerdem muss er in der Lage sein, bei vorzeitigem Ende des Quizes Trostpreise oder "Zwischenpreise" verteilen zu können. Somit ist die Fähigkeit diese zu unterscheiden notwendig. Dazu kann der Aufbau des Lagers für die Gewinne benutzt werden indem es in verschiedene Teile eingeteilt wird und der Roboter durch Winkel oder Entfernung für die "Armsteuerung" zum richtigen Teil geleitet wird. Die Bewegungen des Roboters werden in einer weiteren Programmiersprache verwirklicht. Dazu werden NXT-Programme in Dialogos eingebunden.


(Kursiv unterlegter Teil ist bereits verwirklicht.)

Kurze Übersicht der momentanen Tätigkeit:

-> zurzeit: Wiki!

Programmierung

Wir haben den Roboter in zwei Sprachen programmiert.


1.DialogOS für den Dialog


2.NXT für die Bewegung des Roboters

DialogOS

Chronologische Gliederung (Erläuterung anhand des normalen Durchlaufs der Programmierung bei Quiz-Teilnahme)

1. Einleitung


-Hier wird der Quizteilnehmer begrüßt und gefragt, ob er mitspielen will. Dieser Teil findet in der Prozedur "Start" statt. Durch Spracherkennung wird dieses von dem Roboter erfasst. Zusätzlich ist eine Wiederholung eingebaut, damit der Spieler bei Missverständnis oder Zweifel erneut gefragt wird.

-Durch Spracherkennung ( Ja/Nein - Antwort des Spielers) und daran geknüpfte Sprungziele wird das Programm zur nächsten Station geleitet.

2. Fragen

-Nach anfänglichem statischem Durchlauf haben wir durch ein weiteres Script eine zufällige Auswahl der Fragen ermöglicht. Die Fragen werden in einer Liste erfasst ( Nummern ). Bei jedem Durchlauf wird die gestellte Frage, die durch die Ermittlung einer Zufallszahl ausgewählt wurde, aus der Liste gestrichen. Am Ende, bei leerer Liste, springt das Script zum Ende des Quizes. Ist die Liste noch nicht leer wird die Frage Prozedur durch Sprünge an den Anfang bis zu o.g. Situation immer wieder neu durchlaufen. Somit ergibt sich bei jedem neugestarteten Quiz eine zufällige Reihenfolge der Fragen.

-Die Antworten auf die Fragen werden durch Spracherkennung( sowohl Buchstabe,als auch Lösung ) erfasst, woraufhin wieder durch Sprungziele zu den weitern Knoten übermittelt wird.


3. Ende

-Der Endknoten ist so aufgebaut, dass nach der Einleitung, wie auch nach dem durchlaufenden Quiz dorthin "verlinkt" wird. Dieses wird erneut durch Sprünge verwirklicht.

-Der Quizteilnehmer wird im falle eines bestandenen Quizes mit Gratulation verabschiedet.

An dieser Stelle soll, wie in der Programmierung bereits erwähnt noch ein NXT-Programm eingebunden werden. Damit der Spieler gerecht belohnt wird. ;)

NXT

Der Quizroboter soll zusätzlich durch die NXT-Programmierung dem Mitspieler ziegen, ob die Antwort richtig oder ob die Antwort falsch war. Wenn die Antwort richtig war, dreht sich der Roboter einmal im Kreis und fährt ein bisschen vor und zurück. Wenn die Antwort falsch war, soll der Roboter sein Kopf schütteln und durch die DialogOS-Programmierung (Sprachausgabe) dem Mitspieler mitteilen, dass die letzte Antwort falsch war.

Problematik

1. Unser erstes Problem lag darin, dass die verfügbaren Fragen zufällig gestellt werden. Dieses lösten wir durch Anwendung eines Scripts.

2. Unser zweites großes Problem liegt darin, dass nach Stellung aller Fragen der Roboter erkennen muss, dass er nun keine Fragen zur Verfügung hat. ( Verhinderung von Wiederholung) Das Problem liegt speziell in der Abbruchbedingung, da das Script nicht zum gewünschten Knoten springt.

Konstruktion des Roboters

Wir haben uns zunächst mit der Sprachsoftware beschäftigt, da der Roboter so erstma funktionsfähig ist. Die o.a. Bewegungen sind in diesem Sinne Kosmetik.

Für den Aufbau ergibt sich dadurch allerdings, dass der Roboter, wie schon gesagt, einen Arm sowie eine Art Lager für die Preise haben muss.


Bilder und Videos

Persönliche Werkzeuge