Im Rahmen dieses Projekts soll ein autonomer, selbstfahrender Roboter auf Basis eines Ackermann-Chassis im Maßstab von ca. 1:10 im Vergleich zu einem echten Auto gebaut und getestet werden. Der selbstfahrende Roboter ist ähnlich wie der JetRacer Roboter von Waveshare aufgebaut, mit dem einzigen Unterschied, dass er von einem Arduino-Uno-Board der neuen Generation, dem Uno Q, gesteuert wird, das in der Lage ist, Computer-Vision- und KI-Modelle zu verarbeiten.
Die Hauptziele hierbei sind:
1. Aufbau des Roboterfahrzeugs auf Basis einer bereits vorhandenen Plattform
2. Einsatz einer Kamera zur Spurerkennung
3. Einsatz eines LiDAR-Sensors zur Hindernisvermeidung
4. Verwendung eines kostengünstigen IMU-Sensors und eines Encoders für die Navigation des Roboters
5. Arduino Uno Q zur Steuerung der Aktuatoren, zum Auslesen der Sensordaten sowie zur Verarbeitung von Videoinformationen
✅ Anforderungen
Einleitung
In diesem Lastenheft werden die Anforderungen (engl. Requirements) und Einschränkungen (engl. Limitations) für den QRacer definiert. Projektgegenstand ist die Entwicklung eines Fahrzeuges, welches sich auf einer vorgegebenen Fahrbahn autonom, d. h. ohne fremde Steuerung von außen, fortbewegt.
In den folgenden Tabellen sind alle funktionalen Anforderungen an das Fahrzeug beschrieben. Zur Vertiefung der Anforderungen wird, da wo nötig, auf entsprechende Literatur verwiesen. Nicht-funktionale Anforderungen wie Performance, Wartbarkeit und Testbarkeit des entwickelten Produktes müssen bei der Entwicklung berücksichtigt werden auch wenn sie hier nicht gesondert aufgeführt sind.
Die Anforderungen werden in einer „Anforderungsbox“ dargestellt. Die Anforderungen sind in die Prioritäten 1 (hoch), 2 (mittel), 3 (niedrig) eingestuft. Einschränkungen der Anforderungen werden in Form von Limitations formuliert. Eine Beschreibung von Limitations gibt es nur an Stellen an denen ohne Limitation fälschlicherweise von einer Realisierung der jeweiligen Funktion ausgegangen werden könnte, d. h. nicht alles was „nicht funktionieren soll“ ist mit einer Limitation gekennzeichnet.
Tabelle 1: Systemanforderung
SR
Beschreibung
Priorität
1
Der QRacer muss ohne eine Verbindung zu einem weiteren System (auch keine Funkverbindung) eigenständig funktionieren.
1
2
Das autonome Fahrzeug am Heck muss elektrisch angetrieben werden.
1
3
Die Energieversorgung des autonomen Fahrzeugs muss mit Akkus realisiert werden, die sich auf dem Fahrzeug befinden.
1
4
Für die Abmessungen des autonomen Fahrzeugs müssen folgenden Kriterien eingehalten werden.
Das Fahrzeug muss vierrädrig sein und darf nur zwei Achsen haben.
Der Radstand muss mindestens 200 mm betragen.
Die Spurweite, gemessen von Reifenmitte zu Reifenmitte, muss mindestens 160 mm betragen.
Die Höhe fester Fahrzeugaufbauten über der Fahrbahn darf 300 mm nicht überschreiten.
1
5
Das autonome Fahrzeug muss eine Zweiradlenkung der Vorderachse besitzen.
1
6
In Notsituationen muss es möglich sein, das Fahrzeug sofort anzuhalten (Notstopp).
1
Tabelle 2: Funktionale Anforderung
FR
Beschreibung
Priorität
1
Das Fahrzeug soll auf einem unbekannten Rundkurs autonom und möglichst schnell fahren können ohne dabei die Spur zu verlieren.
1
2
Das Fahrzeug soll auf einem unbekannten Rundkurs autonom und möglichst schnell fahren können und dabei statischen Hindernissen ausweichen.
2
3
Trifft das Fahrzeug bei seiner Rundfahrt an eine Stopp-Kreuzung so muss es anhalten
3
4
Beim verlust von spurerkennung oder kommunikationsfehler muss das Auto zum stehen kommen.
1
5
Das Fahrzeug muss Hindernisse mithilfe LiDAR sensor erkennen und deren entfernung zum fahrzeug in echtzeit bestimmen.
1
6
Das Fahrzeug soll die Motordrehzahl und Drehrichtung an hand der Hall sensor bestimmen.
2
7
Beschleunigung und Winkelgeschwindigkeit von Fahrzeug soll mithilfe der IMU Sensor erfasst können
2
Tabelle 3: Nicht-Funktionale Anforderung
NFR
Beschreibung
Priorität
1
Die Fahrzeugdaten müssen via WLAN an einen Leitrechner übertragen werden.
1
2
Eingesetzte sensoren müssen während der fahrt zuverlässige und nachvollziehbare Messdaten liefern.
1
3
Die Spurerkennung muss über eine Mono-Kamera erfolgen.
1
4
Die Roboternavigation muss über Odometrie und IMU realisiert werden.
1
5
Alle Komponenten müssen ohne Spezialwerkzeug austauschbar sein.
2
6
Der QRacer muss für Lernzwecke geeignet sein und eine verständliche Dokumentation im Wiki besitzen.
1
7
Software soll modular aufgebaut sein damit einzelne funktionen unabhängig getestet und erweitert können darf.
1
Tabelle 4: Hardware Anforderungen
HWR
Beschreibung
Priorität
1
Arduino Uno Q ist der haupt Mikrocontroller/Rechner.
1
2
Als IMU muss ein MPU-6050 zum Einsatz kommen.
1
3
Die Objekterkennung muss über den LiDAR Sensor RP LiDAR A1M8 erfolgt werden
1
4
Die Akkus müssen vor dem fahrt vollgeladen werden.
1
5
Akkus müssen ausreichend strom an alle komponente liefern.
1
6
Die Hardware komponenten müssen elektrisch und mechanisch mit dem vorhandenen chassis kompatibel sein.
1
Tabelle 5: Software Anforderung
SWR
Beschreibung
Priorität
1
Die Regelung muss modellbasiert über MATLAB®/Simulink programmiert werden.
1
2
Die Spurerkennung mit Kamera muss modellbasiert über MATLAB®/Simulink programmiert werden.
1
3
Die Objekterkennung mit LIDAR muss modellbasiert über MATLAB®/Simulink programmiert werden.
1
4
Für das CAD-Design muss Solid Works verwendet werden.
2
5
Die tägliche Dokumentenversionierung muss in SVN erfolgen.
1
6
Das Projekt muss währen der Bearbeitungszeit in diesem Wiki-Artikel vollständig dokumentiert werden.
1
7
Die erfassten IMU und encoder daten sollten in MATLAB visualisiert und ausgewertet werden.
2
8
Alle Aktoren müssen für den Test mithilfe der Arduino IDE/App Lab programmiert werden.
2
9
Die Rohdaten des Hall-Sensors müssen während der anfänglichen Testphase von der Arduino-IDE ausgewertet werden. .
2
Hinweis: Sollte MATHWORKS in der Projektlaufzeit keine Uno Q Unterstützung anbieten, kann ein Workaround verwendet werden:
Der Uno Q sendet die Daten via WLAN an den Leitrechner.
Auf dem Leitrechner erfolgt die Bildverarbeitung in Echtzeit.
Längs- und Querregler laufen auf dem Leitrechner in Simulink.
Die Steuersignale für die Motoren werden über WLAN an den QRacer übertragen.
🎯 Aufgabenstellung
Recherche bestehender Modelle
Bewertung der Lösungen mittels morphologischem Kasten
Aufstellung einer Materialliste und Beschaffung vor Beginn der Arbeit
Einbindung der Hardware in das Labor WLAN und Echtzeit-Übertragung von Sensordaten.
Ansteuerung der Aktoren via MATLAB/Simulink
Einlesen der Sensoren via MATLAB/Simulink
Spurerkennung via MATLAB/Simulink
Konstruktion und Druck einer Plattform für das TopCon-Prisma
Erfassung der Ground-Truth-Daten und Verfolgung des JetRacer auf einer digitalen Karte
Steuerung des JetRacer auf der hindernisfreien rechten Spur anhand von Kameradaten
Bewertung der Ergebnisse anhand technischer Merkmale
Diskussion der Ergebnisse
Testen der Systemanforderungen - Verifikation und Validierung
Wissenschaftliche Dokumentation als Bericht
Wissenschaftliche Präsentation als Wiki-Artikel mit Ergebnisvideo
Das Projekt erfordert Vorwissen in den nachfolgenden Themengebieten. Sollten Sie die Anforderungen nicht erfüllen müssen Sie sich diese Kenntnisse anhand im Rahmen der Arbeit anhand von Literatur/Online-Kursen selbst aneignen.
Elektrische Sensor- Aktorinbetriebnahme
Entwicklung mit Arduino UNO Q (Linux, Python, OpenCV, KI)
Bewertung der Lösungen mittels morphologischem Kasten
Aufstellung einer Materialliste und Beschaffung vor Beginn der Arbeit
Sicherheitseinweisung
Arbeitsplatz Vorbereitung (Login,...)
SVN-Zugang zum Arbeitsordner
Wiki-Zugang zum persönlichen Artikel
ggf. Transponderausgabe
Projektunterlagen
Projektplan
Hier ist der Projektplan zu verandeutlichen, Die wird mit Software Gantt Project erstellt und wird regelmäßig aktualisiert. es ist leicht nachvollziehbar und trägt jede Projektschritt bei und in welche Zeitraum die geplannt und eingehalten sind
❓ Fragen für den Start
Gibt es ein günstiges Ackermann-Chassis für den Arduino Uno Q?