Der JetRacer kommt an der HSHL in vielen Praktika zum Einsatz. In diesem Projekt soll ein Ackermann-Chassis mit Arduino Uno Q vergleichbar dem JetRacer entwickelt werden. Der Arbeitstitel lautet QRacer.
Hauptmerkmale:
Arduino Uno Q
Kamera für die Spurerkennung
LiDAR für die Objekterkennung
IMU und Odometrie für die Navigation
✅ 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
Tabelle 3: Nicht-Funktionale Anforderung
NFR
Beschreibung
Priorität
1
Die Fahrzeugdaten müssen via WLAN an einen Leitrechner übertragen werden.
1
2
Am höchsten Punkt des Fahrzeugs über der Antriebsachse muss das Topcon Prisma zur Erfassung der Ground-Truth-Daten montiert werden können.
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.
1
6
Der QRacer muss für Lernzwecke geeignet sein und eine verständliche Dokumentation im Wiki besitzen.
1
Tabelle 4: Hardware Anforderungen
HWR
Beschreibung
Priorität
1
Als Mikrocontroller muss ein Arduino Uno Q zum Einsatz kommen.
Die Objekterkennung muss über LiDAR realisiert werden
1
4
Die Akkus müssen austauschbar sein (z. B. AAA).
1
5
Es dürfen ausschließlich schwer entflammbare Akkumulatoren eingesetzt werden.
1
Tabelle 5: Software Anforderung
SWR
Beschreibung
Priorität
1
Die Regelung muss modellbasiert über MATLAB®/Simulink programmiert werden.
1
2
Die Spurerkennung muss modellbasiert über MATLAB®/Simulink programmiert werden.
1
3
Die Objekterkennung muss modellbasiert über MATLAB®/Simulink programmiert werden.
1
4
Für das CAD-Design muss Solid Works verwendet werden.
1
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
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
🚀 Getting Started
Recherche bestehender Modelle
Bewertung der Lösungen mittels morphologischem Kasten
Aufstellung einer Materialliste und Beschaffung vor Beginn der Arbeit
Bachelorbeit anmelden
Sicherheitseinweisung
Arbeitsplatz Vorbereitung (Login,...)
SVN-Zugang zum Arbeitsordner
Wiki-Zugang zum persönlichen Artikel
ggf. Transponderausgabe
🔧 Funktionaler Systementwurf
Ein funktionaler Systementwurf beschreibt, was ein technisches System leisten soll und welche funktionalen Teilsysteme dafür benötigt werden, ohne bereits festzulegen, wie diese Funktionen technisch konkret umgesetzt werden.
Es beantwortet die Frage: Was muss das System tun?
⚙️ Technischer Systementwurf
Im technischen Systementwurf werden die Funktionen aus dem funktionalen Entwurf auf konkrete technische Komponenten und Technologien abgebildet.
Er beantwortet die Frage: Wie wird das System technisch aufgebaut?
📝 Komponentenspezifikation
Die Komponentenspezifikation beschreibt anschließend genau, welche Anforderungen eine einzelne Komponente erfüllen muss.
Sie beantwortet die Frage: Welche Eigenschaften muss jede konkrete Komponente erfüllen?