Inhaltsverzeichnis
1.) Einführung
2.) Ziele und Prioritäten des Projekts
3.) Szenario-Skizze - Lebenszyklus
4.) Teilaufgaben und Arbeitspakete
5.) Gantt-Diagramm - Graphische Darstellung der Teilaufgaben und Arbeitspakete
1.) Einführung
Für uns sollten Roboter vor allem eins sein, niedlich! Unser Projektziel ist es, den kleinen fanatisch-/neurotischen Putzroboter M-O (Microbe-Obliterator) aus dem Film Wall-E möglichst originalgetreu nachzubauen. Einer seiner Funktionen wird es sein, eine beliebige Oberfläche abzufahren und mittels einer sich rotierenden Putzrolle, die er vor sich mitführt, zu reinigen. Doch das Augenmerk des Projekts liegt nicht auf seiner Funktion als primitiver Putzroboter. Vordergründig wollen wir die Eigenarten und Emotionen M-Os während des Arbeitsprozesses nachstellen. Dementsprechend nimmt das Design unseres Roboters einen hohen Stellenwert in unserer Projektarbeit ein.
Abbildung links - M-O (Microbe-Obliterator)
Abbildung rechts - M-O beim Putzen
2.) Ziele und Prioritäten des Projekts
Wie bereits in der Einführung erwähnt, soll unser Roboter verschmutzte Oberflächen reinigen als auch die Mimik und Gestik M-Os simulieren können.
Unsere Anforderungen an den Roboter:
3.) Szenario-Skizze - Lebenszyklus
Im Folgenden die MP3-Dateien, die während der einzelnen Schritte ausgegeben werden sollen:
4.) Teilaufgaben und Arbeitspakete
Projektstrukturplan
Hinweis:
Da alle unsere Arbeitspakete einen ungefähr gleich großen Arbeitsaufwand besitzen, ließ sich keine konkrete Hierarchie finden.
Arbeitspakete (5-10 Sätze)
1.) Servomotoren – Bewegung der Arme und des Kopfes (Gestik)
Hierbei geht es um das Bewegen der Arme und des Kopfes nach oben und unten.
Das Ziel soll es sein (wie schon zuvor im Lebenszyklus erwähnt), die Position der Arme und des Kopfes mit Servomotoren anzupassen, um einerseits ähnliche Gestik wie im Film, als auch Abschnitte des Arbeitszyklus darzustellen.
Da beide Anwendungen nahezu identisch sind, ist die Lösung dieses Problems ebenfalls ähnlich. Es sollen lediglich Servomotoren angebracht werden, die sich bei der Ausführung des Programms nach unten oder oben drehen, sowohl zu Beginn als auch bei Beendigung des Programms. Im Lebenszyklus wird auf die Parameter der Gradzahlen der Motoren (135°) verwiesen, welche in einer moderat schnellen Geschwindigkeit erreicht werden sollen.
Diese Motoren befinden sich für die Arme am Oberkörper/ an den Schultern und für den Kopf am Gerüst im Kopfinnenraum (siehe Skizze).
2.) Schrittmotoren – Antrieb der Räder und der Putzrolle (Utensilien zur Verrichtung der eigentlichen Putzarbeit)
Die Fortbewegung wird für die Ausführung der Putztätigkeit entscheidend sein.
Er soll in der Lage sein, mittels von Schrittmotoren angetriebenen Rädern, einen bestimmten Bereich abzufahren und gleichzeitig eine sich rotierende Rolle vor sich zu führen, die bis zur Beendigung des Programms die besagte Oberfläche putzt.
Ähnlich wie bei den Servomotoren ist die Lösung für die Fortbewegung (geradeaus) denkbar einfach (das Eingrenzen der Bewegungen wird unter dem Punkt Ultraschallsensoren erläutert). Es soll ein Schrittmotor an Räder, welche sich unterhalb der Basis des Roboters befinden (siehe Skizze), angebracht werden, wodurch eine geradlinige Fortbewegung ermöglicht werden soll.
Da nur eine gleichbleibende Geschwindigkeit gewünscht ist, ist lediglich der Parameter der Schrittzahl so festzulegen, damit der Roboter über eine nicht zu schnelle, aber stetige Geschwindigkeit verfügt (dasselbe gilt für die Putzrolle).
Programmiertechnisch soll dieser Schritt, wie schon im Lebenszyklus beschrieben, nach der Einführungssequenz beginnen. Dasselbe gilt für den an der Putzrolle befestigten Schrittmotor, der lediglich für das Rotieren der Bürste gedacht ist.
Für das Gewicht der Schrittmotoren stellen sich die größten Risiken heraus, vor allem an der Putzrolle, welche von einem vergleichsweise schweren Schrittmotor angetrieben wird. Es ist fraglich, ob der Servomotor, welcher am Arm befestigt ist, das gesamte Gewicht tragen kann. Falls es zu schwer wird, könnte man entsprechende Gegengewichte im Inneren des Roboters, oder an den Schultern platzieren (oder auch ein stabileres Gerüst für die Arme bauen).
3.) Ultraschallsensor – Umgebungswahrnehmung, Hinderniserkennung
Um die Bewegungen unseres Roboters kontrolliert bestimmen zu können, benötigen wir eine Entfernungsmessung mittels eines Ultraschallsensors.
Er soll schließlich in der Lage sein, Hindernisse in seiner Umgebung wahrzunehmen, um kurz vor diesen besagten Hindernissen, den Programmablauf beenden zu können. Bei Beginn vor so einem Hindernis soll er zudem eine alternative Sequenz einleiten (siehe Lebenszyklus).
Um eine Hinderniserkennung zu ermöglichen, werden Daten benötigt, die durch den Ultraschallsensor gesammelt werden. Wie aus dem Lebenszyklus zu erkennen, werden diese Daten in einem Array gespeichert, aus denen dann der Mittelwert ermittelt wird, welcher entscheidet, wann das Programm abgebrochen wird.
Dieser Sensor soll vor den Rädern (siehe Skizze) angebracht werden.
4.) LED-Matrizen – Mimik, Emotionen darstellen
Ein wichtiger Teil der Optik von M-O, werden auch seine Augen sein, welche wir mithilfe von zwei 8×8 LED-Matrizen darstellen werden.
Ziel soll es sein, verschiedene Augenformen (normal, mürrisch, zusammengekniffen - siehe Lebenszyklus und Ziele) bei verschiedenen Zeitpunkten seiner Tätigkeit darzustellen.
Die Problemlösung wird es sein, beide Matrizen unabhängig voneinander in Betrieb zu nehmen, um einmal das linke und das rechte Auge darstellen zu können. Somit geht es hier nur darum, die entsprechenden LEDs in den Matrizen zu bestimmten Zeitpunkten anzuschalten (was mittels Arrays möglich ist) und an der oberen Hälfte des Gehäuses (also im Kopf) zu befestigen.
Abschließend ist es nur noch vonnöten, besagte Augenformen von seinen Arbeitsschritten abhängig zu machen (im Lebenszyklus steht genauer, wann welche Form auftritt).
5.) Audio-Dateien abspielen – Teil des Charakters, Emotionen
Um M-Os Emotionen passend widerspiegeln zu können, benötigen wir auch noch Audioaufnahmen seiner Stimme.
Hier soll das Ziel sein, MP3-Dateien von M-Os Stimme über einen Lautsprecher abzuspielen.
Zur Lösung sind zwei größere Schritte vonnöten: Einerseits wird die besagte Stimme in Form von Audioausschnitten aus dem Film benötigt, welche mittels externer Software (dazu zählt auch die Aufnahme von diesen Dateien) und Arduino-Bibliotheken, in den Arduino-Programmcode eingefügt werden kann.
Dann wird es noch nötig sein, diese Audioprobe zu bestimmten Zeitpunkten der Tätigkeit des Roboters über den Lautsprecher (geplant über einen Piezolautsprecher oder 4 Ohm-Lautsprecher, mit ca. 4 verschiedenen Audiodateien) abspielen zu können.
Der Lautsprecher wird voraussichtlich in der unteren Hälfte des Gehäuses befestigt werden.
6.) Gehäuse – Optik von M-O
Dies ist ein simples Problem, denn es geht hier lediglich darum ein Gehäuse zu schaffen, welches M-O gleicht.
Unser Ziel ist es eine leichte und funktionsfähige Hülle zu schaffen, welche einen Großteil der verwendeten technischen Bauteile verdecken kann und gleichzeitig eine dem Roboter M-O nahezu gleiche Optik besitzt (siehe Skizze und Bilder von M-O).
Die Größe wird der verwendeten Anzahl an Breadbords und anderen Bestandteilen angepasst, um alle Bestandteile möglichst kompakt im Inneren behalten zu können.
Auch hier könnte das Gewicht ein Risiko sein, denn es muss darauf geachtet werden, dass das Gewicht überall im Roboter gleichmäßig verteilt ist. Als Lösungsansatz könnte man also entsprechend einige Gewichte für eine gleichmäßige Gewichtsverteilung im Inneren des Roboters anbringen.
7.) Gerüst – außen und innen
Da das Gehäuse nicht die tragende Kraft unseres Roboters wird, wird noch ein externes Gerüst benötigt, welches die Bestandteile tragen kann.
Im inneren soll es eine quadratische Basis für den Unterkörper und eine weitere quadratische Basis für den Kopf geben, welche über zwei kleinere Außenwände verbunden sein werden.
Zusätzlich wird es noch eine Art Genick im Kopf geben, an dem die LED-Matrizen und der Servomotor am Kopf befestigt werden (der Roboter soll in der Lage sein, seinen Kopf unabhängig von seinem Unterkörper bewegen zu können).
Außen wird noch ein externes Gerüst für die Arme benötigt, welches jeweils einen Servomotor und einen Schrittmotor halten muss. (siehe Skizze)
Materialliste
- 3x Servomotoren, zwei für die Arme und einen für das Genick, entsprechend 3x Kondensatoren (jeweils 100 Mikrofarad, 16 Volt)
- 2x Steppingmotoren (Nema 11, 8825 Driver), (einen für die Putzrolle und einen für die Räder zur Fortbewegung), entsprechend 2x große Kondensatoren
(jeweils 100 Mikrofarad, 25 Volt)
- 2x LED-Matrizen, die als Augen fungieren (8×8-Matrix)
- 1x Ultraschallsensor, als Entfernungsmesser und zum Erkennen von Hindernissen
- 1x Piezolautsprecher oder 4 Ohm-Lautsprecher zur Ausgabe der MP3-Dateien, eventuell einen Transistor
- 2x bis 3x Breadbords
- 1x Microcontroller (Arduino Nano)
- Widerstände
- Kabel
- Externe Stromquelle (Akku) – 7.5 Volt Nennspannung (zum Betrieb eines Steppingmotors)
- Putzrolle – Farbrolle wird als Putzrolle fungieren
- Gerüst – Holzkonstruktion, ebenfalls um das Gehäuse daran zu befestigen
- Räder bestehend aus Lego
- Gehäuse aus festem Papier/ Pappe
5.) Gantt-Diagramm - Graphische Darstellung der Teilaufgaben und Arbeitspakete
Hinweis: Die Länge der schwarzen Balken innerhalb der Farbbalken zeigt den Fortschritt der jeweiligen Teilaufgabe an.
Da wir lediglich zu zweit an einem Projekt arbeiten, werden wir den Großteil der Arbeitspakete zusammen angehen. Eine Arbeitsaufteilung wird es per se nicht geben. Vielmehr ergibt sich die Zuständigkeit spontan (abhängig von der Frist und Art des Arbeitspakets).