Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektewise19:botenbotpublic:start

Der Boten Bot:

Abbildung 1: Der Boten Bot

Einleitung:

Das Ursprüngliche Ziel unseres Roboters, der Boten Bot, war es das ihm ein Objekt gegeben wird, er dann in seiner Umgebung nach einer Farbe sucht um schließlich zu dieser Farbe zu fahren. Am Zielort dann angekommen wartet er bis ihm das gegebene Objekt abgenommen wird und wenn dies geschieht sollte er an seinen Ursprungspunkt sich zurück begeben. Außerdem sollte er eine Funktion besitzen durch welcher er Abstand von etwas hält wenn es zu nah an ihm dran ist. Das Ziel was wir ursprünglich erreichen wollten mit dem Boten Bot haben wir ein bisschen angepasst so das er nicht an seinen Ursprungspunkt zurückkehren muss. Wir haben uns inspirieren lassen durch den „Butter Robot“ aus der TV-Serie „Rick and Morty“.

Abbildung 2: Butter Robot

[Rick and Morty Season 1 Folge 9 "Something Ricked This Way Comes"/ https://www.youtube.com/watch?v=3ht-ZyJOV2k]

Bauteile:

Unser Roboter wurde aus mehren Komponenten zusammen gebaut die jeweils dazu dienen bestimmte Funktionen unseres Roboters zu übernehmen. Zunächst haben wir die Karosserie bzw. das Fahrgestell aus Holz zusammen gebaut.

Fahrwerk: Damit unser Roboter fahren kann haben wir Stepper-Motoren an das Fahrgestell geschraubt, um genau zu seien zwei hinten als Hauptantrieb und wir haben vorne zwei Lenkrollen befestigt damit der Roboter normal fahren kann.

Schalter: Nachdem wir die Teile für das fahren an dem Roboter befestigt haben, haben wir uns darum gekümmert das wenn er ein Objekt bekommt er los fährt, dafür haben wir die Plattform und denn Schalter dafür befestigt. Die Plattform haben wir mit Sprungfeder und Schrauben am Fahrgestell befestigt. Unter anderem haben wir um die Platte kleine Holz Stelzen befestigt damit die Platte nicht während der Roboter fährt als zu viel wackelt. Unter der der Plattform befindet sich ein Holzblock, in welchem eine Kuhle ist für den Schalter. Der Holzblock wurde mit Holzleim am Fahrgestell fest gemacht und damit der Schalter nicht aus der Kuhle fällt wurde er mit einem Papierstreifen, welches wir mit Holzleim am Holzblock befestigt haben, fest gehalten.

Kamera: Anschließend befestigten wir vorne am Roboter die Kamera für die Farben Erkennung. Die Kamera befestigten wir mit Kabelbindern an einem weiteren Holzblock, welcher ebenfalls mit Holzleim am Roboter fest gemacht wurde.

Abstand Halter: Damit unser Roboter Abstand halten kann haben wir Ultraschall-Entfernungssensoren jeweils links und rechts am Roboter befestigt mithilfe von Klettverschlüssen und Kabelbindern.

Arduino und Arduinoboard: Die Arduino benutzten wir dafür das überhaupt alle verbauten Komponenten benutzt werden können. Alle Komponenten wurden mit Kabeln an die verschiedenen Pins der Arduino eingesteckt damit diese auch funktionieren. Die Kabel wurden ins Arduinoboard gesteckt damit die damit verbundenen Teile funktionieren. Das Arduinoboard mussten wir nicht besonders befestigen da es stabil auf dem Roboter liegen kann . Aufgrund von Problemen konnten wir die Raspberry Pi Zero nicht verwenden, wodurch wir diese nicht am Roboter verbaut haben.

Abbildung 3: Beschriftung der Bauteile

Funktionen:

Verwaltungen der Funktionen über Arduino und Raspberry Pi: Wir hatten vor die Funktionen unseres Roboters über eine Raspberry Pi zu verwirklichen, da unser Roboter auch eine Kamera besitzt, welche man an die Raspberry Pi hätte verbinden können, so das wir die Raspberry Pi gleich im Roboter mit hätten verbauen können. Wir haben schlussendlich eine Arduino verwendet, da die Rasberry Pi unsere Kamera nicht erkennen konnten, wodurch wir sie nicht eingebaut haben und gezwungen waren dem Roboter am Computer anzuschließen über ein langes USB-Kabel.

Fahren durch die Stepper Motoren: Der Stepper Motor funktioniert insofern, das im Programm Code angewiesen wird das der Stepper Motor immer nacheinander Angeschaltet und Ausgeschaltet wird mit kurzem Abstand dazwischen damit er jeweils immer einen Schritt macht (deswegen auch „Stepper“ Motor). Jeder Schritt entspricht einem Grad.

Schalter: Der Schalter dient als Bedingung dafür ob der Roboter überhaupt fährt. Wir haben es im Code insofern programmiert das wenn der Schalter runtergedrückt wird das erst dann der Roboter in der Lage ist los zufahren. Die Plattform dient dazu das das gegebene Objekt die Plattform nach unten drück was dafür sorgt das der Schalter nach unten gedrückt wird. Um die Plattform nach unten drücken zu könne benötigt man ein Objekt was ca. 500 Gramm wiegt. Nachdem nun der Schalter betätigt wurde fährt der Roboter immer nach vorne.

Farben Erkennung durch eine Kamera und Processing: Processing ist eine Programmiersprache die fähig ist Grafiken, Simulationen und Animationen zu zeigen. In unserem Fall benutzen wir Processing um unsere Kamera benutzen zu können. Im unserem Code haben wir die Funktion der Farben Erkennung so eingerichtet, dass in Processing angezeigt wird was die Kamera im Moment sieht. Wenn man nun einen bestimmten Teil der Übertragung anklickt wird die angeklickte Farbe markiert durch einen schwarzen Kreis, welcher innerhalb gefüllt ist mit der Farbe die das Programm grade sucht. Die Markierung ist auch stehts in der Mitte der gesuchten Farbe. Was man bei unserem Programm beachten muss ist die Belichtung, da er nur genau eine Farbe sucht kann es passieren das durch eine falsche Belichtung sehr viel von der einen Farbe gesehen wird wodurch die Markierung nicht mehr so genau ist wie sie es eigentlich sollte.

Abbildung 4: Wie die Farben Erkennung dargesetellt wird

Abstand Halter: Für denn Abstand Halter verwendeten wir Ultraschall-Entfernungsmesser. Diese funktionieren so das ein Pin vom Entfernungsmesser, der Trigger Pin, einen Impuls ausstößt. Während der Impuls ausgestoßen wurde hat ein anderer Pin, der Echo Pin, einen Timer gestartet, wodurch der Echo Pin misst wie lange der Impuls braucht um wieder zurückgestoßen zu werden und wieder den Trigger Pin erreicht. Nachdem der Impuls zurück gekommen ist stoppt der Echo Pin den Timer und berechnet die Entfernung mit folgender Formel: Entfernung (in cm) = ( Dauer des Impulses * Schall Geschwindigkeit(340 m/s)) / 100 / 2. Nachdem nun bekannt ist wie nahe etwas an unserem Roboter ist kommt es jetzt drauf an wie viel Abstand zwischen Roboter und Objekt herrscht. In unserem Code haben wir es so eingestellt das der Roboter bei einem Abstand von 10cm anfängt seine Route zu ändern. Wenn der Abstand links 10cm beträgt ändert der Roboter seine Fahrtrichtung dadurch das der linke Stepper Motor nach vorne fährt und der rechte nach hinten, damit er eine Kurve fahren kann. Wenn der Abstand rechts 10cm beträgt dann umgekehrt und wenn es bei beiden Seiten so ist dann fährt er gänzlich Rückwärts.

Abbildung 5: Darstellung des Prozesses vom Abstand Halter

Materialien und Pinbelegung:

Wir verwendeten folgende Materialien für unseren Roboter:

-2 Stepper Motoren

-2 Ultraschall-Entfernungsmesser

-Schalter

-Kamera

-Arduino und Arduinoboard

-Raspberry Pi Zero

-Holz

Pintabelle:

Ergebnis: Von unserer Ursprünglichen Idee konnten wir nicht viel Umsetzen. Wir wollten unseren Roboter über die Raspberry Pi laufen lassen aber Aufgrund von Programm Fehlern war es uns nicht möglich unseren Code zu verwenden, da die Raspberry Pi die angeschlossene Kamera innerhalb des Codes nicht Aufrufen konnte, wodurch die Funktion weg gefallen ist das er Farben suchen kann. Den Code für die Farben Erkennung funktioniert hingegen. Unser Roboter kann fahren, erkennen ob ein Objekt auf ihm liegt und Abstand halten wenn er sich zu nah an Jemandem oder etwas befindet. Verbesserung und Erweiterungsmöglichkeiten die noch gemacht werden können sind zum einen, eine mögliche Lösung dafür, dass der Code für die Farben Erkennung auf der Raspberry Pi benutzt werden kann. Zum anderen kann man die Farben Erkennung genauer programmieren damit es das Problem mit der Beleuchtung nicht mehr gibt.

Codes:

codes.zip

projektewise19/botenbotpublic/start.txt · Zuletzt geändert: 2020/04/07 14:36 von d.golovko