Blockchain

Wer sind die Blockchains?

  • Florian Wagner (manchmal anwesend)
  • Fabian Geiselhart (Softwareentwickler)
  • Henning Klatt (Elektroingenieur)

Aktueller Aufbau des Roboters

Das Ziel unseres aktuellen Roboters ist es, so kompakt wie möglich gebaut zu sein. Hierfür verwenden wir ein eigens entwickeltes PCB.
Als Prozessor wird ein ATMega 328P verwendet. Dieser ist jedoch fest auf dem PCB verlötet um Platz zu sparen.

Softwareseitig verwenden wir das Arduino Framework. Zum Upload und Management wird jedoch nicht die Arduino IDE sondern PlatformIO verwendet.

Der Source Code ist auf GitHub verfügbar: https://github.com/Henning-Klatt/Robot_v4

Prognosen für den RoboCup 2020 in Vöhringen:

Alte Roboter

Raspberry Pi + Arduino Hybrid

Der Roboter mit dem Raspberry Pi und dem Arduino ist (bisher) der komplexeste unserer Roboter.

Das Fahrwerk unseres Roboters wird von Schrittmotoren angetrieben, die durch ein Getriebe mit den Rädern verbunden sind. Das Getriebe ist – wie der Rest des Roboters auch – 3D-Gedruckt.

Als Sensoren kommen 2 industrielle Kontrastsensoren von Wenglor zum Einsatz, welche wir für die Unterscheidung zwischen Schwarz und Weiß verwenden. Für die Erkennung der grünen Punkte haben wir zusätzlich zwei Farbsensoren verbaut.

Alle Hardware wird von unserem Arduino DUE gesteuert. Dieser steuert die Schrittmotoren an, wertet die Farbwerte aus und ließt die Lasersensoren. Da die Schrittmotoren eine exakt getimte Ansteuerung (Signale auf Millisekunden genau vom Arduino gesendet) benötigen, ist es schwer diese ohne Threading zu steuern. Deshalb verwenden wir für das Steuern der Threads FreeRTOS, was ganz eigene Probleme mit sich bringt.
Da die Farbsensoren bis zu 2 Sekunden (pro Lesung) die CPU Blockieren, war es uns nicht möglich (auch mit Threading) die Farbsensoren mit dem Arduino Due auszulesen, ohne die Schrittmotoren bei jeder Lesung zu blockieren. Deshalb haben wir einen zusätzlichen Arduino Nano verbaut, welcher die Farbwerte ausließt und über ein serielles Protokoll an den Due überträgt. Dieser kann dann die RGB-Farbwerte auswerten und interpretieren.

Zusätzlich war geplant, einen Raspberry Pi mit Kamera hinzuzufügen, um später mit OpenCV Kugeln erkennen zu können. Hierfür haben wir „contouring“ und „color masking“ verwendet. Die Verbindung von Raspberry Pi und Arduino konnte aus Zeitgründen vor dem Wettbewerb jedoch nicht fertiggestellt werden.

Raspberry Pi + Lego Hybrid

Den Raspberry Pi mit Lego zu kombinieren war unsere bisher schlechteste Idee, da die Lego Motoren an den Raspberry Pi anzuschließen nur über Umwege möglich war.

Dieser Umweg (sowohl im technischen als auch im metaphorischen Sinne) ist eine ältere Version des BrickPi. Da es das BrickPi nicht ermöglichte die Motoren für eine unbestimmte Zeit drehen zu lassen, und die Verwendung der Encoder nicht funktionierte, haben wir eine eigene Firmware für das BrickPi entwickelt.

Lego