Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektewise18:beroboterpublic:start

BErobotER - Dokumentation

von Lenni und Konama

Einleitung

Jeder kennt’s: man sitzt am Tisch und das Bier ist leer. Aber man ist einfach zu faul um aufzustehen. Genau für solche Momente ist unser BErobotER gedacht. Ein Roboter der auf dem Tisch zu einem Durstigen fährt und ihm ein Bier serviert.

Er dreht sich auf dem Tisch, bis er jemanden sieht. Dann fährt er bis auf knapp 15cm nähe heran. Wirft man nun eine Münze ein, rollt der BErobotER ein bier heraus und macht sich auf die Suche zum Nächsten Menschen.

Methoden/Umsetzung:

Grundaufbau des Roboters: Das Grundgerüst des Roboters besteht aus Holz. Wir haben mit zwei verschiedenen Ebenen gearbeitet, um die ganzen Schaltungen, die externe Stromversorgung(Lipo) und den Arduino Nano nach der fertigstellung des Projekts, im inneren des Roboters verbergen zu können. Die zweite Ebene ist für das Lager der Getränke und für die Ausgabe gedacht. Die Untere und Obere Ebene haben wir so gebaut, dass es uns möglich sie auseinander zu nehmen, sodass es uns möglich war fortwährend an unseren Schaltungen weiterzuarbeiten und parallel auch schon die weiteren Bauteile fertig zu stellen. Fahrvorrichtung: 2x Getriebemotoren + 2 kleine Räder

Zum Fahren haben wir uns für zwei Getriebemotoren entschieden, da der Roboter später ein sehr hohes Gewicht tragen sollte und zum Beispiel Steppermotoren dieses Gewicht nicht hätten bewegen können. Die Getriebemotoren haben wir am hinteren Teil des Roboters mit zwei Monster-Truck Rädern angebracht. Vorne haben wir zwei einfache, kleine, drehbare Räder angebracht, welche die Bewegung der hinteren Räder einfach wieder geben.

Wir haben eine Fahrfunktion geschrieben. Mit Parametern konnten wir so Richtung, Geschwindigkeit und Dauer des Fahrens bestimmen und haben uns lange Codes sparen können.

Orientierungs Mechanismus - Menschen/Zielerkennung:

1x Entfernungsmesser/ Infrarotsensor 5-70 cm

Für die Erkennung eines Menschens, haben wir erstmals eine bestimmte Umgebung für den Roboter festgelegt. Unser Roboter bewegt sich auf einem Tisch und alle Gegenstände um den Tisch herum symbolisieren einen Menschen. Dies mussten wir so festlegen da wir uns bei der Orientierung für einen Entfernungsmesser entschieden haben welcher nicht zwischen Mensch und anderen Gegenständen unterscheidet.

Um den Sensor zu integrieren mussten wir zuerst eine MEssreihe durchführen. Wir haben in 2.5cm abständen von 5 bis 70cm gemessen, welche Werte der Sensor ausspuckt. Die haben wir dann mit dem QTI-Plotter modeliert und haben daraus eine Formel gebildet. Mit dieser konnte unser Programm also aus einem “nicht-viel-sagendem” Wert eine Entfernung ausrechnen. Auch wenn diese eher ungenau war.

Alternativen und Extras: Unsere erste Alternative wäre eine Thermalkamera gewesen, gegen welche wir uns jedoch schnell entschieden da der Erkennungsbereich und die Verarbeitung der Werte nicht so präzise sein sollten. Eine andere, wahrscheinlich auch gute Alternative wäre ein Thermal Sensor gewesen. Mit diesem hätten wir Menschen auch auf größere Entfernungen erkennen können. Jedoch wären auch andere Wärmequellen, wie ein Laptop, die Einstrahlung der Sonne oder die Wärme einer Heizung als Mensch wahrgenommen werden können und so entschieden wir uns im Endeffekt auch gegen diese Möglichkeit.

Ebenfalls wollten wir weitere Sensoren nutzen, die verhindern, dass der Roboter vom Tisch fällt. DAfür hatten wir aber zu wenig Zeit und wollten uns lieber auf die Grundfunktionen und das äußerliche konzentrieren.

Münzeinwurf:

1x Phototransistor 1x LED-Lämpchen

Für die Funktion des Münzeinwurfes haben wir uns relativ simple gedacht mit einer Lichtschranke zu arbeiten. Gerade da es eher eine Nebensache war, die wir gerne dabei haben wollten die jedoch nicht zu viel Zeit in Anspruch nehmen sollte.

Für die Lichtschranke nutzten wir einen Phototransistor und ein LED-Lämpchen. Das Prinzip davon ist ganz einfach. Sobald die Münze die Verbindung/ das Licht durchbricht, nimmt der Phototransistor ein geringeren Wert war und das Programm geht über zum nächsten Schritt: Bier Ausgabe.

Bier Ausgabe: Die Bier Ausgabe findet in der zweiten Ebene statt. Durch die unterschiedliche Größer der Hinter und Vorderräder ist die Lagerfläche etwas schräg. Das ersparte uns etwas Arbeit, denn so bewegten sich die Biere automatisch in Richtung Ausgabestelle. Als Schranke nutzen wir einen Servo, an welche wir eine Verlängerung heran bauten. Solange nicht der Befehl zur Bierausgabe eingeht, in unserem Fall ein Münzeinwurf, bleibt die Servo Schranke gerade und hält die Flaschen auf. Bei einem Befehl dreht sich der Servo um 90 grad nach rechts und ermöglicht so der Flasche in die Ausgabestelle zu rollen.

Schwierigkeiten: Wir mussten die perfekte Zeit finden in der ein Bier rausrollen kann und das nächste wieder gestoppt werden wird. Es war häufig entweder zu schnell oder zu langsam.

Code: beroboter_code.ino.zip

Video:

Fazit - Verbesserungen - Erweiterungen: Wir sind grundsätzlich zufrieden mit unserem Roboter. Wir haben das Meiste erreicht was wir uns vorgenommen hatten. Der Roboter funktioniert bei guten Umständen super, jedoch ist auf den Entfernungssensor nicht immer verlass. Erweiterungen könnten also bessere Sensoren sein. Außerdem könnten schlauere Bewegungen geplant sein. Heißt, dass er nicht nur sich im Kreis dreht bis er eine Person entdeckt sondern aktiv nach ihr sucht und auch vom Startpunkt weiter entfernte Person erreicht.

projektewise18/beroboterpublic/start.txt · Zuletzt geändert: 2019/04/02 23:16 von d.golovko