Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
projekte2014:beerbot:dokumentation:detailbeschreibung_systemkomponenten [2014/07/27 16:34] jonasw [Thermalkamera: Erkennung der Bierflasche] |
projekte2014:beerbot:dokumentation:detailbeschreibung_systemkomponenten [2016/01/21 12:45] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Dokumentation der einzelnen Systemkomponenten ====== | ====== Dokumentation der einzelnen Systemkomponenten ====== | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ===== Bewegung im Raum: Fahrwerk ===== | ||
+ | |||
+ | Der Roboter wird von zwei Stepper Motoren (SY42STH47-1206A) angetrieben. Aus Gründen der Stabilisation ist am hinteren Teil des Gehäuses ein Stützrad befestigt, dass um 360° geschwenkt werden kann. Mithilfe zweier Stepper Motor Drivers (A4988) können die beiden Motoren sehr einfach über jeweils zwei digitale Pins des Arduinos (bzw. Teensys) angesteuert werden. Dabei gibt es einen „Richtungs-Pin“ und einen „Schritt-Pin“. Der „Schritt-Pin“ hat zwei Zustände (HIGH und LOW), für Vorwärts und Rückwärts, die bei dem jeweiligen Bewegungsschritt ausgewählt werden. Wenn der „Schritt-Pin“ mit einem kurzen Spannungspuls (mindestens 1 µs) angesteuert wird, mach der Motor einen Schritt. Die Motoren werden bei diesem Projekt ausschließlich im „Full-Step-Mode“ betrieben, bei dem die Länge eines Schrittes 1,8° beträgt. Zweihundert Schritte sind also eine ganze Umdrehung der Räder. Um möglichst präzise Drehungen durchführen zu können wurde der Radabstand sowie der Raddurchmesser gemessen. So kann die Strecke berechnet werden, die mit einem Schritt des Motors (1,8°) zurückgelegt wird. | ||
+ | ---- | ||
===== Thermalkamera: Erkennung der Bierflasche ===== | ===== Thermalkamera: Erkennung der Bierflasche ===== | ||
Zeile 5: | Zeile 12: | ||
Die Bierflasche wird anhand ihrer kalten Temperatur von einer Thermalkamera (Melexis90620) erkannt. Diese ist auf einem Servo befestigt und schwenkt beim Fahren umher, um einen möglichst breiten Bereich abdecken zu können. Der Servo ist wiederum über dem Flaschenturm befestigt, dem vordersten Teil des Roboters. Die Thermalkamera zeichnet Temperaturen eines rechteckiges Feldes in einem 16x4-Pixelarray auf. Sie deckt so einen Winkelbereich von 60° horizontal und 16,4° vertikal ab. | Die Bierflasche wird anhand ihrer kalten Temperatur von einer Thermalkamera (Melexis90620) erkannt. Diese ist auf einem Servo befestigt und schwenkt beim Fahren umher, um einen möglichst breiten Bereich abdecken zu können. Der Servo ist wiederum über dem Flaschenturm befestigt, dem vordersten Teil des Roboters. Die Thermalkamera zeichnet Temperaturen eines rechteckiges Feldes in einem 16x4-Pixelarray auf. Sie deckt so einen Winkelbereich von 60° horizontal und 16,4° vertikal ab. | ||
- | {{ :projekte2014:beerbot:dokumentation:thermalkamera.png?nolink&200 |}} | + | {{ :projekte2014:beerbot:dokumentation:thermalkamera.png?nolink&400 |}} |
Wir entschieden uns für eine Thermalkamera, da so eine eindeutige, einfache Erkennung der Flasche ermöglicht werden konnte. Alternativen wie eine optische Kamera oder ein Ultraschallsensor schlossen wir wegen des Aufwands aus. | Wir entschieden uns für eine Thermalkamera, da so eine eindeutige, einfache Erkennung der Flasche ermöglicht werden konnte. Alternativen wie eine optische Kamera oder ein Ultraschallsensor schlossen wir wegen des Aufwands aus. | ||
Zeile 11: | Zeile 18: | ||
Die Thermalkamera wirkt in zwei Phasen mit: In der Suchphase (Phase 1) und in der Phase des Grobausrichtens und Daraufzufahrens (Phase 2). | Die Thermalkamera wirkt in zwei Phasen mit: In der Suchphase (Phase 1) und in der Phase des Grobausrichtens und Daraufzufahrens (Phase 2). | ||
- | Ausformuliert steht in unserem Quellcode folgendes: | + | Ausformuliert steht in unserem Quellcode Folgendes: |
Phase 1: | Phase 1: | ||
Zeile 20: | Zeile 27: | ||
Die Thermalkamera schwenkt wieder. Wenn eine kalte Quelle gefunden wird, wird der Winkel an das Fahrwerk übergeben, was dann über die Bewegung entscheidet (rechts, links, geradeaus). Nach jeder Bewegung wird dieser Vorgang wiederholt bis die kalte Flasche sich nicht mehr im Blickfeld der Thermalkamera und direkt vor dem Roboter befindet. Dann wird Phase 3 eingeleitet (Feinausrichtung). | Die Thermalkamera schwenkt wieder. Wenn eine kalte Quelle gefunden wird, wird der Winkel an das Fahrwerk übergeben, was dann über die Bewegung entscheidet (rechts, links, geradeaus). Nach jeder Bewegung wird dieser Vorgang wiederholt bis die kalte Flasche sich nicht mehr im Blickfeld der Thermalkamera und direkt vor dem Roboter befindet. Dann wird Phase 3 eingeleitet (Feinausrichtung). | ||
- | ==== Fixierungsmechanismus ==== | ||
+ | ---- | ||
+ | ===== Kontaktsensoren ===== | ||
+ | Es wurden vier Taster bei dem Roboter verwendet. Ein Paar ist im oberen Teil des Flaschenturms bei dem Öffnungsmechanismus angebracht, sodass sie gedrückt werden wenn ein Bier erfolgreich eingeladen wurde. Des Weiteren wurde an die Blätter des Tasterpaars ein offener Stromkreis gelötet, welcher geschlossen wird sobald sich ein leitender Kronkorken dazwischen befindet. So wird geprüft, ob das eingeladene Bier bereits geöffnet wurde. Ein weiteres Paar ist unten links und rechts von dem Flaschenturm befestigt. Diese sollen dienen zur Kurskorrektur bei dem Einladen der Flasche. Wenn einer der beiden gedrückt wird soll der Roboter sich ein wenig in die entgegengesetzte Richtung drehen um eine Umstoßen der Flasche zu vermeiden. | ||
+ | ---- | ||
+ | ===== Fixierungsmechanismus ===== | ||
+ | |||
+ | Der Fixierungsmechanismus (Phase 4) wird durch zwei Druckschalter und zwei Schranken, welche mit zwei Servos bedient werden, realisiert. | ||
+ | |||
+ | {{ :projekte2014:beerbot:dokumentation:image.png?nolink&400 |}} | ||
+ | |||
+ | Die Druckschalter geben ein Signal wenn sie gedrückt werden. Wenn die Flasche vollständig im Flaschenturm steht, betätigt der Flaschenkopf die Druckschalter. Das Signal der Schalter veranlasst die Servos sich in die Position zu drehen, in der die Schranken geschlossen sind. Wenn dies geschehen ist, wird Phase 5 eingeleitet. | ||
+ | ---- | ||
+ | ===== Öffnungsmechanismus ===== | ||
- | ==== Öffnungsmechanismus ==== | + | Der Öffnungsmechanismus (Phase 5) wird mit einem Flaschenöffner, welcher an einem Hebel befestigt ist, und zwei "Pushern", welche den Hebel betätigen, realisiert. |
+ | {{ :projekte2014:beerbot:dokumentation:pusher.png?nolink&400 |}} | ||
+ | Die zeitgleich betätigten Pusher drücken den Hebel an dem langen Ende schlagartig hinunter. Das führt zu einer hohen Hebelwirkung und das kurze Ende mit dem Flaschenöffner verfügt über genügend Kraft den Kronkorken von der Flasche zu schlagen. |