Autonomes Fahren im Maßstab 1:10: Unterschied zwischen den Versionen
Zeile 168: | Zeile 168: | ||
===Installing the client=== | ===Installing the client=== | ||
Dies startet die Installation der Software vom Github Server. | Dies startet die Installation der Software vom Github Server. | ||
==Get on the Road== | |||
===1. Run the Server=== | |||
Notwendige Schritte: | |||
1) Vollgeladene Batterien in das Fahrzeug stecken. | |||
2) Fahrzeug über den Schalter an der Platine einschalten. | |||
3) Auf das Fahrzeug schalten mit Logindaten: pi und raspberry | |||
4)Befehl ausführen: cd ~/SunFounder_PiCar-V/remote_control | |||
5) Befehl ausführen: sudo ./start | |||
===2. Run the Client=== | |||
Notwendige Schritte: | |||
6) Einloggen mit Browser (Siehe unten) auf Adresse: http://<IP adress>:8000/ dort die IP Adresse vom Raspberry Pi einsetzen, z.B. http://192.168.0.25:8000/ | |||
7) Schalter LETS ROCK im Browser betätigen. | |||
8) Oben links auf die Einstellungen gehen. | |||
9) Dort die Servos falls nötig auf die Nullstellung stellen und überprüfen, ob die hinteren Antriebe richtig herum drehen. Falls nicht können diese in der Software oder am Fahrzeug invertiert werden. | |||
10) Einstellung speichern. | |||
11) Mit dem Fahrzeug Spaß haben! Gesteuert wird über die Pfeiltasten (Kamera) und über WASD (Fahrzeug). Mit den Zahlen 1-5 kann die Geschwindigkeit angepasst werden. | |||
==Software Tools== | ==Software Tools== |
Version vom 7. Juli 2019, 12:56 Uhr
Autor: Christian Sievers
Betreuer: Prof. Schneider
Art: Projekt
Thema
Autonomes Fahren ist ein wichtiges Ziel auf der Agenda der Automotive OEMs für die kommenden Jahre. Für das Praktikum SDE ist ein Mikrocontroller-gesteuertes Fahrzeug im Maßstab 1:10 zu entwickeln.
Ziel
Entwickeln Sie autonomes Modellfahrzeug, welches in der Zukunft im Praktikum SDE im Studiengang Mechatronik eingesetzt werden kann.
Umfang
Die Praktika habe laut Modulhandbuch folgenden Umfang
- Systementwurf Workload: 108h (45h Präsenz + 63h Selbststudium)
- Systemintegration Workload: 150h (60h Präsenz + 90h Selbststudium)
Der Umfang entspricht 258h. Bei einer 40 Stunden Woche entspricht dies ca. 7 Wochen.
Aufgabenstellung
Systementwurf
- Projektplanung und Zeit-Management*
- Entwickeln Sie konsequent nach dem V-Modell.
- Aufstellung der Anforderungen (Lastenheft)*
- Raspberry Pi für die LiDAR und Videoverarbeitung
- Optional Berücksichtigung von 3D-ToF-Sensorik
- Arduino zur Auswertung einfacher Sensorik und Ansteuerung der Aktoren
- Längs- und Querregleregler
- WLAN Kommunikation mit einem Diagnose-PC
- Display ansteuern
- Umsetzung der Anforderungen in ein Pflichtenheft*
- Planung der Hardware*
- Konstruktion und 3D-Druck des mechanischen Aufbaus des Fahrzeugs*
- QV-Antrag und Beschaffung der Bauteile
Systemimplementierung
- Modellbasierte Programmierung mit Simulink aufbauend auf der bestehenden Online/Offline-Software*
- Inbetrieb des Systems*
- Test der Anforderungen entsprechend der Methoden der Vorlesung Reliability Engineering (statische und dynamische Code-Tests, Modul- und Systemtests)
- Testdokumentation*
- Dokumentation nach wissenschaftlichem Stand*
* Diese Meilensteine müssen mit Prof. Schneider in einem persönlichen Gespräch abgestimmt und dokumentiert werden.
Anforderung
- Wissenschaftliche Vorgehensweise (Requirements, Projektplan, etc.)
- Wöchentliche Fortschrittsberichte
- Regelmeeting
- Projektvorstellung im Wiki
- ggf. Literaturrecherche mit Citavi
- Softwareentwicklung nach HSHL Standard, tägliche Datensicherung in SVN
Getting Started
- Nutzen Sie die Matlab Academy, um sich in Matlab Simulink einzuarbeiten.
- Studieren Sie das Carolo Cup Regelwerk zur Erstellung der Anforderungen.
- Erstellen Sie ein Lastenheft.
- Für die Entwicklung steht ein Bausatz "SunFounder Raspberry Pi Smart Video Car Kit V2.0" zur Verfügung.
- Lastenheft und Projektdaten der Vorgängen in SVN
Projektplanung und Zeit-Management
Meilensteine A-Muster
Projektplanung und Zeit-Management erstellt
Plandatum: 21.02.2019 Aktuelles Zieldatum: 21.02.2019 Meilenstein erreicht: 21.02.2019
Erstellung Lastenheft
Plandatum: 07.03.2019 Aktuelles Zieldatum: 07.03.2019 Meilenstein erreicht: 07.03.2019
Erstellung Pflichtenheft
Plandatum: 18.04.2019 Aktuelles Zieldatum: 03.05.2019 Meilenstein erreicht: 03.05.2019
Freigabe Lastenheft und Pflichtenheft
Plandatum: 31.05.2019 Aktuelles Zieldatum: 31.05.2019 Meilenstein erreicht: 28.05.2019
Erstellung Testplan
Plandatum: 18.04.2019 Aktuelles Zieldatum: 31.05.2019 Meilenstein erreicht: 16.06.2019
Konstruktion und mechanischer Aufbau
Plandatum: 02.05.2019 Aktuelles Zieldatum: 06.05.2019 Meilenstein erreicht: 06.05.2019
Software flashen
Plandatum: 16.05.2019 Aktuelles Zieldatum: 31.05.2019 Meilenstein erreicht: 28.05.2019
1. Fahrt
Plandatum: 21.05.2019 Aktuelles Zieldatum: 31.05.2019 Meilenstein erreicht: 28.05.2019
Testplan abgearbeitet
Plandatum: 04.06.2019 Aktuelles Zieldatum: 18.06.2019 Meilenstein erreicht: 18.06.2019
Präsentation
Plandatum: 11.06.2019 Aktuelles Zieldatum: 17.06.2019 Meilenstein erreicht: 17.06.2019
Dokumentation finalisiert
Plandatum: 02.07.2019 Meilenstein erreicht: -
Abschlussgespräch
Plandatum: 02.07.2019 Aktuelles Zieldatum: 02.07.2019 Meilenstein erreicht: -
Meilensteine B-Muster
Meilensteine C-Muster
Bausatz
Beschaffung
Zur Inbetriebnahme sind folgende Komponenten beschafft worden:
Bausatz Sunfounder Smart Video Car Kit V2.0
Der Bausatz wurde zu Beginn des Projekts bereits durch Prof. Schneider zur Verfügung gestellt.
Preis (08.06.2019) US$115.00
Link zum Onlineshop von Sunfounder
Batterien
Industriezelle, Li-Ion, 18650, 3,7 V, 3200 mAh, Button Top
Preis (08.06.2019) 15,59 €
Benötigt werden 2 Stück für das Fahrzeug. Beschafft wurden 4 Stück.
Batterie Ladegerät
XTAR D2 :: AC Ladegerät, 2 A, 2 slot
Das Ladegerät ist geeignet für diverse Modellbauakkus, unter anderem auch für die verwendeten 18650 LiPo.
Preis (08.06.2019) 14,20 €
Batterie Lagerbeutel
brandschutzbeutel-fuer-li-polymer-akkus-lipo-guard
Preis (08.06.2019) 8,24 €
Wichtig! Von LiPo Akkus geht bei Defekt immer eine Brand- und Explosionsgefahr aus!
Die Akkus immer bei Nichtverwendung im Lagerbeutel aufbewahren.
Akkus ohne Lagerbeutel nicht unbeaufsichtigt lassen, nicht Wärmequellen und mechanischer Belastung aussetzen.
Zusammenbau
Der Zusammenbau erfolgte mit Hilfe der dem Bausatz beigefügtem Bausatz. Der Bausatz ist gut bebildert und hilft, die einzelnen Schritte zu verstehen. Zusätzlich ist ein Video erstellt worden, in dem der gesamte Zusammenbau des Modells dokumentiert wurde. Hier kann sich jeder einzelne Schritt des mechanischen Zusammenbaus angeschaut werden, falls Fragen zum Aufbau aufkommen. Die Schritte des Aufbaus sind dabei identisch zur PDF vom Hersteller gewählt, damit man sich schnell orientieren und zum momentanen Schritt zu springen.
Das Video ist momentan im SVN vorhanden und wird, da Grafiken vom Hersteller Sunfounder vernwedet werden, erst online gestellt, wenn die Freigabe erfolgt ist. Dann wird es auf Youtube frei verfügbar sein.
Installation Software
Die Schritte die notwendig sind, um das Fahrzeug mit der von Sunfounder zur Verfügung gestellten Software zu flashen, sind alle sehr detailliert in der Beschreibung (PDF Sunfounder Pi Smart Video Car V2.0) beschrieben. Um einen Überblick zu gewinnen, sind die einzelnen Schritte hier kurz beschrieben.
A. Burn the Image
In diesem Schritt wird das Betriebssystem auf eine SD Karte geflasht. Benötigt wird Software, die ein Image verarbeiten kann, z.B. win32DiskImager (Siehe unten). Leider ist ein sehr gravierender Fehler in der Konfigurationsbeschreibung der Anleitung enthalten. Sunfounder ist bereits informiert und wird dies vermutlich im nächsten Update korrigieren. Die W-Lan Config startet nicht mit networ= sondern mit network= Zur Netzwerkverbindung habe ich einen alten W-Lan Router verwendet, das Fahrzeug kann aber auf jeden beliebiges Netzwerk konfiguriert werden.
B. Car Power Supply
Es wird beschrieben, dass das Fahrzeug sowohl über USB, als auch über die Akkus während der gesamten Prozedur mit Strom versorgt werden muss.
C. Log into Raspberry Pi
Zum Einloggen auf den Raspberry Pi wird die IP Adresse benötigt. Diese kann z.B. über das Tool Advanced IP Scanner (siehe unten) ermittelt werden. Für Windows Nutzer wird zum einloggen PuTTY (siehe unten) empfohlen. Dort wird die IP Adresse eingetragen. Die Standard Login Daten beim Raspberry Pi sind User: pi Passwort: raspberry. Die Passwort Eingabe ist wird nicht dargestellt, erfolgt aber nach Betätigung von Enter.
D. Get Source Code
Dieser Schritt läd den Sourcecode aus dem Internet herunter. Der Router, der verwendet wird, muss zwingend Internetzugriff aufweisen.
E. Go to the code directory
Hier wird auf den richtigen Pfad für die Installation der Software gewechselt.
F. Install the Enviroment via the script
Dies startet die Installation aller notwendigen Pakete.
G. Configure the Servo to 90 degrees
Diese Software stellt die Servos einmalig auf ihre Nullstellung ein, bevor alle mechanisch verbunden werden. Wichtig! Wenn dieser Schritt nicht vorab durchgeführt wird, kann es zu defekten der Servos kommen!
Installing the client
Dies startet die Installation der Software vom Github Server.
Get on the Road
1. Run the Server
Notwendige Schritte: 1) Vollgeladene Batterien in das Fahrzeug stecken. 2) Fahrzeug über den Schalter an der Platine einschalten. 3) Auf das Fahrzeug schalten mit Logindaten: pi und raspberry 4)Befehl ausführen: cd ~/SunFounder_PiCar-V/remote_control 5) Befehl ausführen: sudo ./start
2. Run the Client
Notwendige Schritte: 6) Einloggen mit Browser (Siehe unten) auf Adresse: http://<IP adress>:8000/ dort die IP Adresse vom Raspberry Pi einsetzen, z.B. http://192.168.0.25:8000/ 7) Schalter LETS ROCK im Browser betätigen. 8) Oben links auf die Einstellungen gehen. 9) Dort die Servos falls nötig auf die Nullstellung stellen und überprüfen, ob die hinteren Antriebe richtig herum drehen. Falls nicht können diese in der Software oder am Fahrzeug invertiert werden. 10) Einstellung speichern. 11) Mit dem Fahrzeug Spaß haben! Gesteuert wird über die Pfeiltasten (Kamera) und über WASD (Fahrzeug). Mit den Zahlen 1-5 kann die Geschwindigkeit angepasst werden.
Software Tools
Win32DiscImager
Mit diesem Tool kann das Image für das Raspberry Pi Betriebssystem auf die SD Karte geflasht werden. Es werden zwei Partitionen erstellt, eins für das Betriebssystem und eins für die Datenverwaltung (Software, Medien, etc).
Link zum Download bei www.heise.de
Advanced IP Scanner
Der Advanced IP Scanner kann genutzt werden um die dynamische IP vom Raspberry Pi herauszufinden. Die IP wird benötigt, um sich auf den Raspberry Pi per Netzwerk zu verbinden und Änderungen vorzunehmen, sowie um den Browser Client zu verbinden.
Link zum Download bei www.advanced-ip-scanner.com
PuTTY
Das Tool PuTTy ist notwendig, um per Netzwerk Fernzugriff auf den Raspberry Pi zuzugreifen. Dabei ist die IP Adresse vom Raspberry Pi notwendig. Das Tool ist ähnlich der Eingabeaufforderung unter Windows und die erforderlichen Befehle sind alle in der Sunfounder Doku zu finden.
Link zum Download bei www.heise.de
Browser: Internet Explorer/Google Chrome/FIrefox
Um das Fahrzeug fernsteuern zu können, wird ein Standard Browser benötigt. Dabei wird das Fahrzeug über die dynamische IP Adresse mit dem Zusatz :8000 verbunden. Die Tests wurden mit dem Internet Explorer 7 vorgenommen. Da eigentlich jeder PC einen Browser vorinstalliert hat, sollte der vorhandene getestet werden, bevor ein anderer installiert wird.
Komponenten
Grundplatten
Die Grundplatten bestehen auf einem Plexiglas. Alle Teile sind bereits fertig zugeschnitten und müssen nicht mechanisch nachbearbeitet werden. Die Teile sind beidseitig mit einer Schutzfolie versehen, die vorab entfernt werden muss.
Servos
Kupplungsgetriebe-Digitalservo mit eingebautem Gleichstrommotor Nach einer bestimmten Belastung kuppelt und schützt das Lenkgetriebe das Produkt automatisch vor Beschädigung.
Elektrische Eigenschaften:
Motoren
Die Beigefügten Motoren sind Gleichstrommotoren mit drehzahlreduzierendem Getriebe.
Elektrische Eigenschaften:
Platinen
TB6612_Motor_driver
Das TB6612 Motortreibermodul ist geeignet für Motoren mit geringer Wärmeentwicklung und kleinem Motorgehäuse.
PCA9685_PWM_Driver.JPG
PCA9685 16-Kanal-12-Bit-I2C-Bus-PWM-Treiber. Es unterstützt eine unabhängige PWM-Ausgangsleistung und ist ein einfach zu verwendender 4-Draht-I2C-Port für den parallelen Anschluss von 3-Farben-Ports für die PWM-Ausgabe.
Robot_hats.JPG
Robot HATS ist ein speziell für einen 40-Pin-Raspberry-Pi entwickelter HAT (Hardware Attached on Top), der mit den Raspberry-Pi-Modellen B +, 2-Modell B und 3-Modell B kompatibel ist. Er versorgt den Raspberry-Pi über die GPIO-Ports mit Strom. Dank des Designs der idealen Diode nach den Regeln von HATS kann der Raspberry Pi sowohl über das USB-Kabel als auch über den Gleichstromanschluss mit Strom versorgt werden. Dadurch wird verhindert, dass die TF-Karte durch tiefenentladene Batterien beschädigt wird. Der PCF8591 wird als ADC-Chip mit I2C-Kommunikation und der Adresse 0x48 verwendet.
Räder
Die verwendeten Räder sind aus einem Kunststoff, der mit Gummiüberzug versehen ist. Die Räder für vorne und hinten sind unterschiedlich im Design, aber gleich im Durchmesser.
Kamera
Die beigefügte Kamera besitzt einen Weitwinkel von 120 °.
Batteriegehäuse
Mechanischer Aufbau
Koordinatensysteme im Fahrzeug
Schwerpunkt des Fahrzeugs
Der Schwerpunkt des Fahrzeugs wurde über Aufhängung und Kippversuche ermittelt (Siehe Testplan).
Referenzpunkte für Software
Die Software benötigt für die korrekte Interpretation der Messdaten die Referenzpositionen der Kamera. Für die Erstellung des Einspurmodells, um die Fahreigenschaften abzubilden, werden Achsabstände, Spurbreite, Lenkwinkel etc. verwendet. Dies sind die relevanten Referenzpunkte am Fahrzeug:
Achsensystem 1:
Referenz Vorderachsmittelpunkt
Koordinaten: [0;0;0]
Achssysteme 2-5:
Vorderachse links [0;19;0]
Vorderachse rechts [0;-19;0]
Hinterachse links [-138;19;0]
Hinterachse rechts [-138;-19;0]
Achssysteme 5,6:
Kameradrehpunk 5: [36;0;21]
Kameradrehpunkt 6: [91;0;39]
Grundfläche Fahrbahn:
[x;y;-34]
Weblinks
- Carolo Cup Homepage
- Carolo-Cup 2018: Kleine Autos ganz groß
- SunFounder Raspberry Pi Smart Video Car Kit V2.0
- Zukunftsrauschen: Mobilität in Meschede
Siehe auch
- Studentische Arbeiten bei Prof. Schneider
- Anforderungen an eine wissenschaftlich Arbeit
- Programmierrichtlinien für Matlab
- SVN Repositorium
→ zurück zum Hauptartikel: Studentische Arbeiten