Documentation World Robot Olympiad – Future Engineers Team Siemens Chemnitz Bei YouTube haben wir eine nicht gelistete Playlist erstellt. Darin ist ein Video, in dem unser Auto das Eröffnungsrennen fährt und ein Video, in dem unser Auto das Hindernisrennen meistert enthalten. Hier geht es zu Playlist: https://youtube.com/playlist?list=PLosNMtmjerQhduPas9dO_IPUJpvwRk50k. Als Mikrocomputer verwenden wir einen Raspberry Pi. An diesem ist die gesamte Sensorik (Kamera, Schalter und Farbsensor) und Aktorik (Servomotor und Antriebsmotor mit Motortreiber) angeschlossen. Der Raspberry Pi wird über eine Powerbank mit 5V Betriebsspannung versorgt. Die Sensorik bezieht ihre Spannung vom Raspberry Pi. Der Servomotor hat eine eigene Spannungsversorgung von 6V. Der Antriebsmotor hat ebenfalls eine eigene Spannungsversorgung von 9V. Um den Antriebsmotor anzusteuern, befindet sich zwischen Raspberry Pi und Antriebsmotor ein Motortreiber. Einrichtung des Raspberry Pi’s: Zuerst wird auf dem Mikrocomputer das Betriebssystem Debian Buster installiert. Dies wird von einem externen Computer auf die SD-Karte des Mikrocontrollers geschrieben. Um weitere Schritte durchzuführen, verbindet man den Raspberry Pi über ein WLAN-Netzwerk mit einem externen Computer. Dazu greift man mittels dem Programm Remotedesktopverbindung von einem externen Computer auf den Mikrocomputer zu. Alternativ kann der Raspberry Pi auch über HDMI Kabel mit einem Monitor verbunden werden, dann muss allerdings noch Maus und Tastatur an die USB-Ports des Mikrocomputer angeschlossen werden. Jetzt muss in den Einstellungen der Kamerazugriff erlaubt werden. Da wir in unserem Programm auf Bibliotheken zurückgreifen, müssen diese jetzt installiert werden, um unser Programm nutzen zu können. Es muss OpenCV installiert werden, eine genauere Anleitung findet man unter folgendem Link: https://singleboardbytes.com/647/install-opencv-raspberry-pi-4.html. Des Weiteren muss die Bibliothek gpiozero installiert werden. Eine genauere Anleitung findet man unter folgendem Link: https://gpiozero.readthedocs.io/en/stable/installing.html. Außerdem muss auch noch die Bibliothek NumPy aufgespielt werden, sowie die Bibliothek pigpio. Hilfestellungen hierzu erhält man unter folgenden beiden Links: https://numpy.org/install/ und https://abyz.me.uk/rpi/pigpio/download.html. Zuletzt muss noch die Bibliothek Adafruit TCS34725 Library installiert werden um den Farbsensor nutzen zu können. Die Anleitung findet sich unter folgendem Link: https://learn.adafruit.com/adafruit-color-sensors/python-. Der Code kann nun in einer frei gewählten Programmierumgebung (wir empfehlen VisualStudioCode) auf dem Raspberry Pi geöffnet und bearbeitet werden. Wenn man nun ausführen auswählt, wird der Code auf dem Steuergerät kompiliert und ausgeführt. Ein Hochladen entfällt, da direkt auf dem Steuergerät programmiert wird. Zum Code: Unser Programm startet, wenn zwei Kontakte mit einem Schalter verbunden werden. Nun wird der Motor gestartet. Jetzt nimmt die Kamera ein Frame auf. Dieses dreht nun unsere Software und schneidet die obere Hälfte weg. Nun wird das Bild in ein HSV-Farbmodell umgewandelt. Über eine Funktion werden jetzt drei Bilder erstellt. Daher enthält das erste alle schwarzen, das zweite alle grünen und das letzte alle roten Flächen. Nun erkennt eine Funktion die untere Kante der Begrenzungen. Eine weitere Funktion erkennt die roten und grünen Objekte. Aus den erkannten Linien und Objekten wird nun die ideale Fahrtrichtung errechnet. Daraus wird der einzuschlagende Winkel des Servos errechnet und an diesen ausgegeben. Der Farbsensor detektiert nun die orange oder blaue Linie und zählt darüber die Runden. Nachdem er die dritte Runde gezählt hat, hält er nach einer gewissen Zeit (maximal 6 Sekunden) an.
-
Notifications
You must be signed in to change notification settings - Fork 0
ch5gto/WRO-2022
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published