Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektesose18:berlinerbierbubenpublic:start

Projektdokumentation

Einleitung

Der Roboter hat die Aufgabe, ein auf einer Fläche stehendes Bier zu finden, sie anzuvisieren und auf sie zuzufahren. Dabei misst der Ultraschallsensor permanent die Entfernung vor ihm. Sinkt dieser unter einen gewissen Grenzwert, interpretiert der Sensor dies als Bierflasche und fährt auf sie zu. Der Roboter fährt mit Hilfe zweier Motoren, an die jeweils ein Rad montiert ist. Um geradeaus fahren zu können, müssen sich die Motoren dabei gleich schnell in entgegengesetzte Richtungen drehen. Anschließend soll der Roboter vor der Flasche stehen bleiben und mit Hilfe eines Flaschenöffners die Flasche öffnen. Hirzu soll sich ein „Sicherungsbrett“ vor die Bierflasche schieben, welches als Stütze gebraucht wird. Für das Öffnen der Flasche wurde eine Konstruktion gebaut, die einen Flaschenöffner mit einer Holzplatte verbindet. Diese Holzplatte wird durch einen Getriebemotor über einen Flaschenzug nach oben gezogen. Ist die Flasche offen, dreht sich der Motor in die entgegengesetzte Richtung und lässt den Flaschenöffner wieder herunter. Im Folgenden findet sich eine Skizze des Roboters:  Abbildung 1: Aufbau des Roboters  Abbildung 2: Illustrierter Aufbau des Roboters

Methoden/ Umsetzung

Überblick über das Gesamtsystem:
Der Roboter besteht im Groben aus zwei Teilen, zum Einen aus dem Antrieb mit Getriebemotoren und Ultraschallsensor, zum Anderen aus dem Flaschenöffner mit Getriebemotor und Servo.
Finden des Bieres:
Am Anfang des Vorganges dreht sich der Roboter in eine zuvor festgelegte Richtung um seine eigene Achse. Dabei misst der Ultraschallsensor, der vorne am Roboter befestigt ist ständig den Abstand vor ihm. Unterschreitet dieser Abstand einen gewissen Grenzwert, der zuvor von uns auf 1,50 Meter festgelegt wurde, erkennt der Ultraschallsensor dies als Bierflasche ( Er erkennt nicht die Bierflasche an sich, sondern lediglich, dass sich ein Hindernis an dieser Stelle befindet. Der Roboter fährt also zum erstbesten Gegenstand. Deswegen sollte die Fläche, auf der sich die Bierflasche befindet, großflächig geräumt sein.), aus der ermittelten Distanz und einer von uns ermittelten Annäherungsvariabel für die Geschwindigkeit berechnet der Roboter wie lange er sich nach vorne bewegen muss um frontal zur Bierflasche ausgerichtet stehen zu bleiben. ( Die Formel lautet: t = s / v ; s = ermittelte Distanz, v = Annäherung an die Geschwindigkeit, t = Zeit; Zum Skalieren wird danach mit 1000 multipliziert)
Zum Bier fahren:
Nun kommen die Getriebemotoren ins Spiel. Das Programm springt nun zur Steuerung der Motoren ( Die Motoren sind mittels jeweils eines Treibers mit dem Arduino- Board verbunden, um sie anzusteuern.), indem es beiden die Anweisung gibt, sich in eine zuvor festgelegte Richtung und mit einer ebenfalls zuvor festgelegten Geschwindigkeit zu drehen. Dies hat den Zweck, dass der Roboter geradeaus fährt. Die Geschwindigkeit wurde zuvor im Code festgelegt und ist bei uns einfach nur 150. Im vorherigen Schritt hat der Roboter schon aus der Distanz berechnet, wielange er mit dieser Geschwindigkeit fahren muss um vor dem Bier stehen zu bleiben. Für diese Zeit fährt der Roboter also in diesem Schritt nach vorne. Anschließend sollte die Bierflasche genau vor dem Roboter stehen. Wir haben aus dem Grund keine Stepper-Motoren verwendet, da diese für das große Gewicht, das unserer Roboter auf die Waage bringt, zu schwach waren, das heißt, sie haben nicht genug Leistung geliefert.
In der Praxis klappte dies jedoch nicht genau so. Beim geradeaus Fahren wich der Roboter immer in eine Richtung ab. Dies hat wahrscheinlich damit etwas zu tun, dass die Motoren nicht baugleich sind und minimale baulich bedingte Unterschiede dazu führen, dass sich die Motoren nicht mit gleicher Geschwindigkeit drehen. Dies haben wir gelöst, indem wir den Roboter so lange gefahren haben lassen, bis er der Meinung war, die Bierflasche gefunden zu haben. Anschließend sollte er sich nochmals um seine eigene Achse drehen, die Flasche erneut anvisieren und den restlichen Weg zu ihr zu fahren.

Die Flasche öffnen:
Steht die Flasche direkt vor dem Roboter, senkt sich von auf einer über der Flasche auf dem Roboter befestigten Platte eine kleine Konstruktion, die sich um den Flaschenhals legt. Diese ist an einem Servo befestigt und soll verhindern, dass die Bierflasche beim Öffnen nach hinten umkippt. Anschließend zieht ein weiterer Getiebemotor mittels eines an der gerade genannten „Sicherungs- Konstruktion“ befestigten Seils diese an den Flaschenhals, damit die Flasche die Konstruktion nicht wegdrücken kann, da der Servo für solch große Kräfte zu schwach ist. Ist dies erledigt, fängt ein weiterer Getriebemotor an, sich zu drehen. Dieser befindet sich am hinteren Ende des Roboters. Das an ihm befestigte Seil verläuft über eine Umlenkrolle, die am Brett über der Flasche befestigt ist, senkrecht herunter zum am Flaschenöffner befestigten Brett. Auch hier dreht sich der Motor wieder in eine zuvor festgelegte Richtung und mit einer zuvor festgelegten Geschwindigkeit. Da er nicht weiß, wann die Flasche offen ist, musste durch Probieren eine geeignete Zeit herausgefunden werden, wie lange sich der Motor drehen muss.

Wenn alles gut gelaufen ist, sollte das Bier nun geöffnet und bereit zum Trinken sein.

Technische Daten/ Bauteile

Liste der verwendeten Bauteile:

  • Arduino
  • Arduino- Board
  • diverse Kabel
  • vier Getriebemotoren
  • Flaschenöffner
  • zwei Gelände- Räder
  • zwei drehbare Räder
  • Ultraschallsensor
  • Servo
  • drei Treiber für die Getriebemotoren
  • Akku

 Abbildung 5: Pinverteilung

Ergebnis/ Diskussion

Der Roboter findet das Bier Problemlos und bewegt sich auch ohne Umstände auf dieses zu. Er erfüllt also die Punkte „Finden des Bieres“ und „Zum Bier fahren“. Der Roboter hat außerdem kein Problem damit ein Bier zu öffnen welches bereits genau vor ihm, in dem dafür vorgesehenem Bereich steht und die Motoren optimal ein- bzw. ausgefahren sind. Diese Einstellungen hängen im Moment noch von undefinierten Faktoren ab, über welche wir keine Kontrolle haben. Hier würde im nächsten Schritt sicherlich der Einbau von weiteren Kontrollsensoren und sonstigem hilfreich sein und dieses Problem lösen. Das größte ungelöste Problem, welches uns alle noch vor eine große Herausforderung stellt ist der Übergang von den Punkten „Zum Bier Fahren“ und „Das Bier Öffnen“. Der Roboter bewegt sich auf das Bier zu und hält zwischen 2 und 10 cm vor dem Bier an. Nun weiß der Roboter zwar wie weit das Bier entfernt ist, der eigentliche Problempunkt ist allerdings, dass der Roboter, nachdem er vor dem Bier gehalten hat, wieder zu rasant und ruckartig losfährt, wodurch das Bier immer umgeworfen wird. Jeder Motor hat einen PWM-Pin, welcher die Geschwindigkeit steuern soll. Nun könnte man die Geschwindigkeit sehr gering machen, allerdings fängt der Motor sich bei einer zu geringen Geschwindigkeit nicht an zu drehen, weshalb man die Geschwindigkeit wieder erhöhen muss was allerdings wieder das ruckartige anfahren zufolge hat.

Code

projektesose18/berlinerbierbubenpublic/start.txt · Zuletzt geändert: 2018/11/09 11:01 von d.golovko