Ein Roboter für die Bar. Der BarRoboter ist aus Lego gebaut. Zur Stuerung und programmierbarkeit der Elektromotoren wird die BrickPi Platine von Dexter Industries verwendet. Diese Platine wird auf einen RaspberryPi 3 Modell B gesteckt. Der Aufbau der Roboters ist auf den Bilder zu sehen, um genügend Kraft aufzubringen, den Getränkespender zu betätigen wird die Lego-Pneumatik verwendet.
Zum Bau wurden folgende Teile verwendet:
- Diverse Lego-Technik Mindstorm Teile, Rundlochstangen, Verbinder etc.
- 4 Räder, starr ohne Lenkmöglichkeit.
- 3 NXT Motoren
- Vor- Rückwärtsbewegung
- Pumpen für die Pneumatik
- Steuerung der Pneumatikstempel (auf ab)
- 2 Touch Sensoren
- Bestimmung der Position
- Kontrolle ob die Plattform oben oder unten ist
- BrickPi von Dexter Industries
- RaspberryPi 3 Modell B
- Verschiedene NXT-Verbindungskabel
Weiter unten ist ein Video zu sehen, welches den Roboter in Aktion zeigt.
Die Programmierung erfolgte in der Programmiersprache Java. Dafür wurde eine Java-Bibliothek von Dexter Industries zur Ansteuerung der Motoren sowie dem auslesen der Sensoren und Motoren. Zusätzlich wurde das Spring-Framework verwendet, um eine Website als Interface für die Benutzer bereit zu stellen. Die Bedienung ist dabei recht einfach: Der Benutzer wählt auf der Website sein gewünschtes Getränk aus und der Roboter fährt los und mixt es.
Zur Kommunikation zwischen Client und Roboter wird eine Web-Socket Verbindung verwendet. Dies hat den Grund, das auch der Server an Clients Nachrichten senden kann. Dadurch kann der Roboter z.B. den Status "busy" zurücksenden, falls dieser noch mit der Zubereitung eines Getränkes beschäftigt ist und daher keine weiteren Bestellungen annehmen kann(Es wird eine Warteanimation statt der Bestellbuttons angezeigt).
Zur Poitionierung des Roboters ist ein Touchsensor verwendet. Um den Arbeitsbereich herum ist ein Legogestellt gebaut, mit einrückungen. Fährt der Roboter an diesen Stellen vorbei, wird der Touchsensor eingedrückt. Der Roboter zäjlt diese mit, in Verbindung mit der Fahrtrichtung kann so die Position bestimmt werden. Ist das gewünshte Getränk erreicht, wird die Plattform nach oben gepumpt und das Getränk gezapft. Entsprechend geht dieser Vorgang bis alle Zutaten enthalten sind, und der Roboter zurück in die Start-Position fährt.
In dem Video ist ebenfalls einmal ein kippende Cola zu sehen, zum Glück hat die Platine die ungeplante Cola-Dusche überstanden. Zur Verhinderung wurde daher noch ein Touchsensor eingebaut, der Prüft ob die Plattform mit dem Glas wirklich ganz nach unten gefahren ist, nur dann ist ein weiterfahren erlaubt.
Ansonsten wünsche ich viel Spaß mit den Bildern und den Videos und dem Programmcode hosted by Bitbucket.org. (Keine Garantie auf Bugfreiheit etc, Hobbyprojekt). Damit das Projekt läuft, muss das Raspberry OS von Dexter installiert sein.