Activities

No upcoming events

Intelligent Systems Lab Project: Countertop Assistant for Recipes

Participants

Supervisors

Motivation

Situation ist bekannt: Man möchte etwas kochen und hat einen bestimmten Vorrat an Zutaten in der Küche vorhanden. Allerdings hat man auch mal Lust auf neue Rezepte, ohne erst umständlich in Kochbüchern oder im Internet suchen zu müssen. Außerdem soll das Programm dazu dienen, ältere Menschen im Alltag zu unterstützen, aber auch Menschen mit kognitiver Einschränkung.

Application Szenario

Herr D. kommt nach einem harten Arbeitstag nach Hause. Er will gerne etwas gesundes und leckeres kochen, dabei aber Zutaten verwenden, die er zu Hause vorrätig hat. Er geht in die Küche, öffnet den Kühlschrank um zu sehen was er da hat. Er nimmt spontan ein paar Zutaten, die ihm gerade zusagen aus dem Kühlschrank und legt sie auf die Arbeitsfläche. Die Zutaten werden automatisch vom CAR-System erkannt und Herrn D. wird auf in der Küche vorhandenen Monitoren eine mögliche Auswahl an Rezepten angezeigt. Die Auswahl berücksichtigt dabei viele Informationen über die gewählten und weitere vorhandene Zutaten, wie Mindesthaltbarkeitsdatum oder Menge/generelles Vorhandensein. Je nach gewählter Sortierung und Präferenz werden dann die Vorschläge sortiert. Herr D. wählt eines der Rezepte, das ihm am meisten zusagt aus und lässt sich die Details dafür anzeigen. Wenn Herr D. zufrieden ist und alle Zutaten für das gewählte Rezept vorhanden sind, beginnt er mit dem Kochen unter Anleitung des Systems.

Objectives

Wir haben das Ziel, ein einfach zu bedienendes System zu entwickeln, welches Rezeptvorschläge liefert, basierend auf den zu verwendenden Zutaten.

Die Projektziele sind:

Description

Beschreibung der Hardware

Als Hardware stellten wir zunächst ein Schneidebrett her, das in der Lage ist, RFID-tags zu erkennen bzw. auszulesen. Dafür wurden in das Schneidebrett ein Arduino-Diecimila-Board und ein RFID-Reader integriert. Der RFID-Reader wird über eine USB-Schnittstelle an den PC angeschlossen. Mit Hilfe unserer Software werden die Zutaten, die man auf das Schneidebrett legt, erkannt und auf die Liste für Zutaten, die man verwenden möchte, hinzugefügt. Dabei ist zu beachten, dass die Zutaten einzeln und hintereinander auf das Schneidebrett gelegt werden müssen, da nur ein Reader im Schneidebrett vorhanden ist, der nur ein sequenzielles Auslesen erlaubt.

Abbildung: Schneidebrett von oben, Schneidebrett mit RFID-Reader und Arduino, Schneidebrett mit RFID-Reader und Arduino (nah)

Beschreibung der Benutzeroberfläche:

Die Benutzeroberfläche der CAR-Software setzt sich aus mehreren Frames zusammen. Die einzelnen Frames werden im Folgenden näher beschrieben:


main_window

Abbildung 2: Benutzeroberfläche der CAR-Software

(1) Diese Schaltfläche blendet das rechte Frame, welches alle bekannten Zutaten enthält, aus. Betätigt man sie nochmal, wird das Frame wieder angezeigt.
(2) Hier werden alle möglichen Zutaten aufgelistet, die sich in unterschiedlichen Orten wie im Kühlschrank, in der Kühltruhe oder im Regal befinden können.
(3) In diesem Frame werden die Zutaten aufgelistet, die man im Rezept haben möchte.
(4) In diesem Frame werden alle möglichen Rezepte angezeigt. Das erste Rezept ist das erste vorgeschlagene Rezept aus der Datenbank.
(5) Dieser Balken zeigt das Rezept mit den meisten verwendeten Zutaten an.
(6) Die Rezepte können entweder nach dem Namen oder
(7) nach der Anzahl der verwendeten Zutaten sortiert werden
(8) Hier wird der Inhalt des ausgewählten Rezepts angezeigt. Auf der linken Seite des Frames werden die Zutaten, die man für das Rezept braucht, aufgelistet. Auf der linken Seite findet man eine schrittweise Anleitung von dem Rezept wieder.
(9) Anzeige: Sind die Zutaten im Kühlschrank vorhanden und noch frisch?

Results

Wir haben es geschafft ein funktionierendes System zu erstellen, welches in Verbindung mit dem von uns gebautem Schneidebrett in der Lage ist, Zutaten, die auf das Brett gelegt werden, zu erkennen. Auf Basis dieser Informationen kann unsere Software, wie geplant, eine Liste von möglichen Rezepten anzeigen. Aufgrund der Einschränkung durch das Arduino-Board wird die Verbindung zur Signalübertragung zur Software via eines USB-Kabels hergestellt. Beim Design der Software wurde darauf geachtet, dass bei einem eventuellem Ausfall des Schneidebretts oder der Verbindung weiterhin die Möglichkeit besteht, Zutaten über die GUI hinzuzufügen.

Demo-Video, das die erfolgreiche Verwendung der Hard- und Software in einem Beispielszenario zeigt:

Discussion and Conclusion

Wir haben wie geplant unsere Ziele erreicht (siehe oben). Trotzdem muss an dieser Stelle angemerkt werden, dass eine bessere Bearbeitung einiger Ziele möglich gewesen wäre, wenn die zu Anfang geplante Hardware geliefert, bzw. vorhanden gewesen, wäre. Das System kann leider nur eine Zutat gleichzeitig auslesen, was die Interaktion mit dem System stark beeinflusst und bremst.

Outlook

Eine einfache Lösung für das Problem der sequenziellen Verarbeitung von Zutaten ist der Erwerb eines besseren Lesegerätes, das in der Lage ist den Anforderungen gerecht zu werden. Ferner ist es möglich, die Lesegeräte mit einem Sender zu versehen, um die Technik innerhalb des Schneidebretts optimal zu verstecken, da dadurch kein USB-Kabel mehr nötig ist. Ausserdem ist im Bereich der Synergien viel Spielraum für weitere Verbesserungen, z.B. könnte eine Verbindung mit der Gruppe IKT zur verbesserten GUI-Verwendung implementiert werden.

References