Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte2014:beerbot:dokumentation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projekte2014:beerbot:dokumentation [2014/08/26 17:11]
fbonowski [Einleitung]
projekte2014:beerbot:dokumentation [2016/01/21 12:45] (aktuell)
Zeile 1: Zeile 1:
 ====== Dokumentation ====== ====== Dokumentation ======
 +
 +== Was soll der BeerBot können? ==
 +
 +Der Roboter kann mithilfe einer Thermalkamera und eines eine kalte Bierflasche im Raum lokalisieren. Er soll sich dann auf die Flasche zubewegen, die Bierflasche einladen und sie anschließend öffnen. \\
 +Minimale Anforderung ist, dass der Roboter die Bierflasche in einem "​künstlichen"​ Raum ohne andere Gegenstände erkennen und einladen kann. Eine mögliche Erweiterung wäre ein Ultraschall-Abstandssensor,​ mit Hilfe dessen der Roboter auch Hindernissen im Raum erkennen und ihnen ausweichen kann.
 +
 +{{:​projekte2014:​beerbot:​beerbot.jpg?​600|}}
  
 ===== Einleitung ===== ===== Einleitung =====
Zeile 45: Zeile 52:
 Soll der Roboter auch andere, spezielle Flaschentypen öffnen, dann muss die Öffnungsmechanik noch einmal komplett neu konzipiert werden. Die mechanischen Anforderungen sind jedoch bereits bei einem Flaschentyp relativ groß und würden bei einer flexibelen Lösung noch deutlich größer. Dementsprechend haben wir auch darauf verzichtet. \\ Soll der Roboter auch andere, spezielle Flaschentypen öffnen, dann muss die Öffnungsmechanik noch einmal komplett neu konzipiert werden. Die mechanischen Anforderungen sind jedoch bereits bei einem Flaschentyp relativ groß und würden bei einer flexibelen Lösung noch deutlich größer. Dementsprechend haben wir auch darauf verzichtet. \\
 Vergleichsweise einfach ist zu realisieren,​ dass der Roboter (nicht kalten) Hindernissen im Raum ausweichen kann. Ein Ansatz für eine Lösung mit Hilfe eines Ultraschallsensors ist im Code auch schon enthalten und auch auf der Platine sind schon die entsprechenden Anschlüsse vorhanden. Jedoch hatten wir zum Ende des Projekts leider nicht mehr ausreichend Zeit, um diese Funktion noch mit einzubauen und auszutesten. Vergleichsweise einfach ist zu realisieren,​ dass der Roboter (nicht kalten) Hindernissen im Raum ausweichen kann. Ein Ansatz für eine Lösung mit Hilfe eines Ultraschallsensors ist im Code auch schon enthalten und auch auf der Platine sind schon die entsprechenden Anschlüsse vorhanden. Jedoch hatten wir zum Ende des Projekts leider nicht mehr ausreichend Zeit, um diese Funktion noch mit einzubauen und auszutesten.
-<note tip>gut. (Felix)</​note>​ 
  
 ==== Darstellung des Programmablaufs ==== ==== Darstellung des Programmablaufs ====
Zeile 63: Zeile 69:
  
 Um die Annäherung an eine Flasche zu realisieren,​ wird die „Blickrichtung“ des Roboters an die, mit der Thermalkamera gefundenen, Position der Flasche angepasst. Wurde eine Flasche nach einem „Sweep“ der Thermalkamera gefunden, dreht sich der Roboter um einen kleinen Winkel in die Richtung der Flasche. Daraufhin fährt er eine kleine Strecke geradeaus und der „Sweep“ wird wiederholt. Wird hier keine Flasche gefunden, dreht sich der Beerbot kleinschrittig zu der letzten gefundenen Position und wiederholt den „Sweep“ nach jeder Drehung (s. Zustandsdiagramm). Im Idealfall befindet sich die Flasche nach einigen Wiederholungen geradeaus vor dem Roboter und kann einfach eingefahren werden. Um die Annäherung an eine Flasche zu realisieren,​ wird die „Blickrichtung“ des Roboters an die, mit der Thermalkamera gefundenen, Position der Flasche angepasst. Wurde eine Flasche nach einem „Sweep“ der Thermalkamera gefunden, dreht sich der Roboter um einen kleinen Winkel in die Richtung der Flasche. Daraufhin fährt er eine kleine Strecke geradeaus und der „Sweep“ wird wiederholt. Wird hier keine Flasche gefunden, dreht sich der Beerbot kleinschrittig zu der letzten gefundenen Position und wiederholt den „Sweep“ nach jeder Drehung (s. Zustandsdiagramm). Im Idealfall befindet sich die Flasche nach einigen Wiederholungen geradeaus vor dem Roboter und kann einfach eingefahren werden.
- 
-<note tip>​Nicht schlecht, aber eine kurze Beschreibung,​ bzw. ein Querverweis darauf, wie die Ausrichtung auf eine Flasche damit funktioniert,​ fehlt noch. (Felix)</​note>​ 
- 
 ---- ----
 ==== Thermalkamera:​ Erkennung der Bierflasche ==== ==== Thermalkamera:​ Erkennung der Bierflasche ====
Zeile 97: Zeile 100:
 {{ :​projekte2014:​beerbot:​5.png?​nolink&​800 |}} {{ :​projekte2014:​beerbot:​5.png?​nolink&​800 |}}
  
-<note tip>Wie ist die Kamera angebunden? Wie sehen typische Messdaten aus, wenn a) keine Flasche im Blickfeld ist, b) eine Flasche verfolgt wird. Wie wurde der Schwellenwert gewählt?​(Felix)</​note>​ 
-<note tip> Es wäre es gut, den Ablauf der Suche in einem separaten Abschnitt zu beschreiben und mit einem Ablaufs- bzw. Zustandsdiagramm zu versehen, welches die Phasen, deren Bedeutung und die Übergangsbedingungen enthält. (Felix)</​note>​ 
 ---- ----
 ==== Kontaktsensoren ==== ==== Kontaktsensoren ====
Zeile 104: Zeile 105:
  
 Es kam zu einigen Komplikationen bei der Nutzung der verbauten Kontaktsensoren. Wenn der Roboter im Prozess des Einladens der Flasche mit einem der Sensoren gegen die Flasche fährt, geben jeweils beide Sensoren eines Paares den Status HIGH zurück. Die Ursache dieses Problems haben wir nicht herausgefunden. Es ist jedoch nur für das untere Paar relevant. Das untere Paar wird derzeit nur dazu verwendet, um zu überprüfen,​ ob der Roboter die Flasche bereits erreicht hat und nicht zur Feinausrichtung. Bei dem Oberen Sensoren Paar ist das Problem irrelevant, da diese von vornerein beide gedrückt werden. Es kam zu einigen Komplikationen bei der Nutzung der verbauten Kontaktsensoren. Wenn der Roboter im Prozess des Einladens der Flasche mit einem der Sensoren gegen die Flasche fährt, geben jeweils beide Sensoren eines Paares den Status HIGH zurück. Die Ursache dieses Problems haben wir nicht herausgefunden. Es ist jedoch nur für das untere Paar relevant. Das untere Paar wird derzeit nur dazu verwendet, um zu überprüfen,​ ob der Roboter die Flasche bereits erreicht hat und nicht zur Feinausrichtung. Bei dem Oberen Sensoren Paar ist das Problem irrelevant, da diese von vornerein beide gedrückt werden.
-<note tip>Die Formulierung mit '​soll'​ macht misstrauisch:​ Werden die Taster momentan tatsächlich ausgewertet?​ mit welchem Ergebnis?</​note>​ 
 ---- ----
 ==== Fixierungsmechanismus ==== ==== Fixierungsmechanismus ====
Zeile 152: Zeile 152:
  
 Bei den Ergebnissen handelt es sich um eine grobe Hochrechnung. Eine präzise berechnung der Gesamtkraft ist komplexer. Es soll mit diesen Berechnungen jedoch lediglich eine einfache Darstellung geliefert werden. ​ Bei den Ergebnissen handelt es sich um eine grobe Hochrechnung. Eine präzise berechnung der Gesamtkraft ist komplexer. Es soll mit diesen Berechnungen jedoch lediglich eine einfache Darstellung geliefert werden. ​
- 
- 
-<note tip>Sehr schöne Skizze, bei der jedoch Maßangaben fehlen.\\ Hier fehlt unbedingt eine überschlagsmäßige Berechung der maximal am kurzen Arm wirkenden Kraft, sowie der zurückgelegte Weg (unter Annahme der im Datenblatt angegebenen Maximalkräfte der beiden Pusher) - mit dieser Angabe hätte jemand anderes die Möglichkeit,​ sein System besser auszulegen.</​note>​ 
 ===== Hardwaredokumentation ===== ===== Hardwaredokumentation =====
  
Zeile 164: Zeile 161:
 {{:​projekte2014:​beerbot:​dokumentation:​22.png?​600|}} Ansicht von vorne {{:​projekte2014:​beerbot:​dokumentation:​22.png?​600|}} Ansicht von vorne
 {{:​projekte2014:​beerbot:​dokumentation:​11.png?​600|}} Ansicht von oben {{:​projekte2014:​beerbot:​dokumentation:​11.png?​600|}} Ansicht von oben
-<note tip>Die Skizzen sind ohne Maßangaben und eine Beschriftung der Bestandteile zwar hübsch anzuschauen,​ aber es ist unklar, was sie aussagen sollen... Denkt dabei insbesondere an ein Publikum, das euren Roboter noch nie gesehen hat.</​note>​ 
  
 ==== Schaltplan ==== ==== Schaltplan ====
  
 {{:​projekte2014:​beerbot:​dokumentation:​schaltplan_besser.jpeg?​800|}} {{:​projekte2014:​beerbot:​dokumentation:​schaltplan_besser.jpeg?​800|}}
-<note tip>​Damit der Schaltplan wirklich nützlich ist, müssen unbedingt die Bezeichnungen der Pins an den Modulen sowie deren Modellbezeichnung enthalten sein. Schaut euch ausserdem mal einen beliebigen Schaltplan im Netz an, um zu sehen, wie die richtigen Symbole und Bezeichnungen aussehen. So werden z.B. Verzweigungen mit einem Punkt markiert.\\Kleiner Tip für mehr Schönheit: Wenn ihr Handzeichnungen macht, verwendet weisses Papier und/oder setzt nach dem Scannen den Weisspunkt so, dass das Papier rein weiss wird.</​note>​ 
-<note tip> Eure "​Metallkondensatoren"​ sind "​Elektrolythkondensatoren"​ oder kurz "​Elkos"​. </​note>​ 
 ==== Materialliste ==== ==== Materialliste ====
  
Zeile 198: Zeile 192:
  
 ==== Pinbelegungstabelle ==== ==== Pinbelegungstabelle ====
-<note tip>​Hierhin sollte ein Hinweis, an was eigentlich etwas angeschlossen wird... Außerdem sind die angeschlossenen Signale nicht genau genug bezeichnet (bei Stepper, Servo, Thermalkamera)(Felix)</​note>​ 
  
 In der folgenden Tabelle ist aufgelistet,​ welche Signalleitung welches Bauteils an an welchen Pin des Teensy angeschlossen sind. In der folgenden Tabelle ist aufgelistet,​ welche Signalleitung welches Bauteils an an welchen Pin des Teensy angeschlossen sind.
Zeile 250: Zeile 243:
  
 https://​github.com/​PaulStoffregen/​NewPing https://​github.com/​PaulStoffregen/​NewPing
- 
-<note tip>Hier fehlt auf jeden Fall ein Diagramm als Überblick über die "​Phasen"​ und die Übergangsbedingungen zwischen ihnen. Fügt es hier ein und stellt den Abschnitt an den Anfang der Beschreibung der Bierflaschenfindung.(Felix)</​note>​ 
 ===== Einrichten des Roboters ===== ===== Einrichten des Roboters =====
 Damit der Beerbot Einsatzbereit ist werden zuerst ​ die drei Akkus angeschlossen. Ein 14,8 V Akku für das Fahrwerk, ein 7,8 V Akku für den Teensy und ein weiterer 7,8 V Akku für die beiden Pusher. Die Software wird auf den Teensy geladen und der Funktionsaufruf der "​main1()"​ Funktion wird in die "​loop()"​ Funktion geschrieben. Damit der Beerbot Einsatzbereit ist werden zuerst ​ die drei Akkus angeschlossen. Ein 14,8 V Akku für das Fahrwerk, ein 7,8 V Akku für den Teensy und ein weiterer 7,8 V Akku für die beiden Pusher. Die Software wird auf den Teensy geladen und der Funktionsaufruf der "​main1()"​ Funktion wird in die "​loop()"​ Funktion geschrieben.
Zeile 258: Zeile 249:
  
 Aufgrund des Zeitmangels konnten wir keine systematischen Tests durchführen. So war es uns nicht möglich die Probleme weiter zu isolieren und festzustellen unter welchen Bedingungen der Prozess erfolgreich abläuft. Aufgrund des Zeitmangels konnten wir keine systematischen Tests durchführen. So war es uns nicht möglich die Probleme weiter zu isolieren und festzustellen unter welchen Bedingungen der Prozess erfolgreich abläuft.
-<note tip>Hier wären ein paar genauere Informationen gut: In welchen Fällen funktioniert es, in welchen scheitert es?, Gibt es Testdaten, die ihr zeigen könnt? (Felix)</​note> ​Um die Genauigkeit des Fahrwerks zu erhöhen gibt es die Möglichkeit die Schrittweite der Motoren an den Stepper Motor Drivern zu verändern (Halb-, Viertel-, Achtel- und Sechszehntel-Schritt). ​+Um die Genauigkeit des Fahrwerks zu erhöhen gibt es die Möglichkeit die Schrittweite der Motoren an den Stepper Motor Drivern zu verändern (Halb-, Viertel-, Achtel- und Sechszehntel-Schritt). ​
  
 Bei dem Öffnungsmechanismus sind auch zum Ende noch Probleme vorhanden. Der Weg auf dem die Pusher Kraft auf den Hebel ausüben scheint zu kurz zu sein. Eine verschlossene Flasche wird noch nicht konsistent geöffnet. Es gelingt zum Teil bei mehreren Versuchen. Eine Verlängerung des Kraftweges der Pusher sowie eine Optimierung und Stabilisation des Öffnungsmechanismus könnte zu einer Lösung dieser Probleme führen. Außerdem sind die Schranken, die das Bier feststellen,​ nicht ohne Fehler. Diese könnten also in Richtung eines engeren Einschließens der Flasche optimiert werden. ​ Bei dem Öffnungsmechanismus sind auch zum Ende noch Probleme vorhanden. Der Weg auf dem die Pusher Kraft auf den Hebel ausüben scheint zu kurz zu sein. Eine verschlossene Flasche wird noch nicht konsistent geöffnet. Es gelingt zum Teil bei mehreren Versuchen. Eine Verlängerung des Kraftweges der Pusher sowie eine Optimierung und Stabilisation des Öffnungsmechanismus könnte zu einer Lösung dieser Probleme führen. Außerdem sind die Schranken, die das Bier feststellen,​ nicht ohne Fehler. Diese könnten also in Richtung eines engeren Einschließens der Flasche optimiert werden. ​
projekte2014/beerbot/dokumentation.1409065864.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)