Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektewise19:linepublic:start

Einleitung

Unser Ziel war es einen Roboter zu bauen, der in der Lage ist einer schwarzen Linie zu folgen. Das Folgen der Linie wird ihm durch zwei Infrarotsensoren ermöglicht. Diese können erkennen, ob es sich um eine weiße oder schwarze Fläche handelt. Sollte es sich um eine weiße handeln, wird der Roboter seine Fahrtrichtung so anpassen, dass er wieder eine schwarze Fläche erkennt. Außerdem soll der Roboter mithilfe eines Farbsensors, Farben unterscheiden können und anhand der Farbe, die er gerade erkennt, zwischen verschiedenen Modi wechseln können.

Abbildung 1: Frontalansicht des Line-Robot

Die Modi unterscheiden sich dabei so dass er beispielsweise bei Blau, seine LED leiste so einstellt das diese auch dann blau leuchtet. Außerdem war es uns wichtig das der Roboter sich wie ein reales Fahrzeug fortbewegt. Damit ist gemeint das er nicht nur 3 Räder hat, sondern 4 und die Lenkung über die vorderen Achsen gesteuert wird.

Planung

  1. Was muss der Roboter können?
  2. Was sollte der Roboter können?
  3. Was wäre nett?
Abbildung 2: Projektplanung

Wir teilten am Anfang unserer Planung das Projekt in 3 Phasen auf, diese bestehen allerdings auch noch aus vielen kleinen Phasen. Die erste Phase war die wichtigste denn in dieser wollten wir realisieren das der Roboter die Wichtigsten Dinge beherrscht, wie das Fahren und das Erkennen einer Linie. In der zweiten Phase wollten wir den bisherigen Roboter verbessern und eine neue Lenkung einbauen. Eine Lenkung die aus 2 Achsen bestand. In der dritten und letzten Phase wollten wir einen Farbsensor hinzufügen sowie dem Roboter verschiedene Modi zur Verfügung stellen, sodass wenn er eine andere Farbe erkennt auch eine andere Aktion ausführen kann.

Methoden / Umsetzung

Anfänglich galt es zu überlegen, welche Form unser Roboter haben soll. Dazu haben wir mehrere unterschiedliche Skizzen angefertigt, wie unser Robotergestell auszusehen hat. Wir haben Skizzen für Roboter mit 4 Rädern erstellt.

Abbildung 3: Skizzen des Robotergestells mit 4 Rädern

Aber auch Skizzen für Roboter die nur 2 Räder haben bzw. 3

Abbildung 4: Skizzen des Robotergestells mit 2 Rädern

Wir entschieden uns für ein Gestell mit 4 Rädern da wir dies ansprechender fänden. Aber wir wollten auch einen Roboter bauen, der sich von den anderen abhebt, denn Roboter mit 4 Rädern und einer Vorderradlenkung gab es noch nicht so häufig in den vergangenen Semestern. Also fertigten wir aus Holz unser Gestell, wo wir genug Platz hatten 4 Räder dran zu befestigen. Wir haben zuerst aber nur einen Prototyp gebaut, der aus 3 Rädern bestand, da uns schnell klar wurde das eine Vorderradlenkung aus 2 Achsen nicht ganz so simpel war, wie nur ein um 360 Grad drehbares Vorderrad.

Infrarotsensoren

Wir entschieden uns dafür Infrarotsensoren zu verwenden, damit der Roboter die Schwarze Linie erkennen kann. Der Infrarotsensor erkennt auf einer dunklen Fläche einen deutlich geringeren Wert, als auf einer hellen Fläche. So entschieden wir uns außerdem dafür 2 Infrarotsensoren zu verwenden, die jeweils links und rechts von der Schwarzen Linie liegen. So können wir nämlich gewährleisten das der Roboter immer auf der Schwarzen Linie bleibt und sie nicht mehr verlassen kann. Wenn also der linke Infrarotsensor auf die schwarze Linie kommt, so weiß der Roboter, dass er nach links lenken muss, um weiterhin auf der Linie zu bleiben. Bei dem rechten Infrarotsensor funktioniert das genauso nur andersherum. Wenn beide Infrarotsensoren einen hohen Wert erkennen, was in dem Code mit messung >= 550 realisiert wird, so weiß der Roboter das er geradeaus fahren muss. Sollten 2 kleine Werte von den Sensoren erkannt werden, im Code messung ⇐ 25, dann stoppt der Roboter und fährt erst weiter, wenn er wieder auf einer Linie platziert wird.

Farbsensor

Da uns das Erkennen und verfolgen einer Schwarzen Linie zu wenig für den Roboter vorkam. Entschieden wir uns dafür, das wir noch einen Farbsensor verbauen. Dadurch hatten wir die Möglichkeit das der Roboter durch das Erkennen einer Farbe etwas anderes macht als nur der Linie zu folgen.

Wie zum-beispiel:

  • Wenn der Farbsensor Blau erkennt das die LED leiste, die wir verbauten, Blau leuchtet.
  • Wenn Rot erkannt wird das ein Ton ausgegeben wird.
  • Wenn Grün erkannt wird das der Roboter die Geschwindigkeit erhöht oder verringert.

Doch der Farbsensor ist nicht von Anfang an in der Lage dazu eine Farbe zu erkennen, was mein ja eigentlich annehmen könnte. Wir mussten dem Farbsensor erst vergleich Werte liefern, was wir durch viel testen machen mussten. Erst durch diese Wert war der Sensor in der Lage dazu eine Farbe zu erkennen. Doch leider war das auch nicht immer richtig.

Der gesamte Farbsensor machte uns im Projekt viele Probleme, wie:

  • Das erkennen einer Falschen Farbe.
  • Das deaktivieren der Servomotoren, sowohl Lenkung als auch Antrieb.

Lenkung

Wir wollten einen Roboter bauen, der einem reellen Fahrzeug sehr ähnlich ist. Also war uns schnell klar, dass wir einen Roboter bauen müssten der 4 Räder hat. Dies stellte uns vor die Herausforderung, wie wir eine funktionierende Lenkung in dem Roboter einbringen können. Dies war schwierig, da wir in der Lage sein mussten 2 Räder synchron bewegen zu können. Wir überlegen erst ob wir 2 Servomotoren verbauen, die jeweils einzeln an dem Gestell verbaut sind, aber die Räder gleichzeitig ansteuern. Diese Idee haben wir aber schnell wieder verworfen da diese mehrere Schwachstellen gehabt hätte.

  • 1. Es wäre eine recht instabile Konstruktion gewesen. Durch die Instabilität hätten sich die Winkel Einstellungen der Servomotoren immer wieder verändern können, was nicht akzeptabel wäre, da wir auf die Synchronität angewiesen wären.
  • 2. Das Einstellen der Servomotoren wäre sehr viel Feinarbeit gewesen.

Also suchten wir nach anderen Möglichkeiten, wir entschieden uns dafür, dass wir eine Konstruktion bauen, die die Räder mit einer Lenkstange bewegt. Dafür entwickelten wir mit einer 3D Software einen Prototyp und druckten diesen auch mit einem 3D- Drucker aus. Die Lenkstange ist mit den beiden Rädern durch ein Gelenk verbunden, die Räder haben jeweils noch eine Halterung, womit diese an dem Gestell verbunden sind. Sollte die Lenkstange nun durch einen Motor bewegt werden, so würden die Räder sich nach links oder rechts bewegen.

Abbildung 5: Die Vorderradlenkung

Die Lenkstange ist über Zahnräder mit dem Motor verbunden. Das Lenken funktioniert im Grunde so das durch die Lenkstange an dem einen Rad gezogen wird während das andere weggedrückt wird, dies ist nur möglich, da die Räder über ein Gelenk mit der Stange verbunden sind und sich durch die Halterung auch nur im Radius des Gelenks bewegen können.

Schaltung

Schaltung des Grundgerüsts

Abbildung 6: Basis/Infrarot-sensor und Antrieb

Schaltung der Erweiterung

Abbildung 7: Erweiterungen/Farbsensor und 2 Achsenlenkung

Schaltung der LED

Abbildung 8: LED

https://www.instructables.com/id/ARDUINO-CONTROLLED-12v-RGB-LED-STRIP/

Code

Fazit

Im Großen und Ganzen sind wir sehr zufrieden mit dem Roboter, den wir gebaut haben. Er stellte uns vor einige Herausforderungen, an manchen knobelten wir sehr lange, wie einer funktionierenden Vorderradlenkung, andere Probleme ließen sich wiederum schnell lösen. Alles in Allem sind wir trotz Fehlern zufrieden mit unserem Projekt, wir hatten eine sehr gute Teamarbeit und haben viel gelernt.

Abbildung 9: Video

Das Video ist ein Zeitraffer.

Erweiterungen/ Verbesserungen

Eine Möglichkeit den Line-Robot zu verbessern wäre die Integration eines zweiten Arduinos, da der Roboter durch den Farbsensor viel Geschwindigkeit verloren hat. Das liegt daran das die Methode Farberkennen sehr langwierig ist und der Arduino diese in jedem Loop Durchlauf wieder neu durchgeht. Das hat zur Folge das unsere Steppermotoren nicht mehr so viele Schritte in einem Durchlauf machen können.

Durch das Verwenden eines zweiten Arduinos, der sich nur auf das Farberkennen konzentriert und anschließend den Wert an den Haupt-Arduino sendet könnte man die Geschwindigkeit wieder erhöhen. So würde der Arduino, der für die Steuerung der Motoren zuständig ist, wieder mehr Schritte machen können, was die Geschwindigkeit steigern würde.


Quellen

Abbildung 6 und 7 wurden mit dem Programm Fritzing angefertigt.

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