Autonome Spurführung mit einem JetRacer ROS AI Robot: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(18 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
[[Kategorie:AMR]] | [[Kategorie:AMR]] | ||
[[Kategorie:JetRacer ROS AI Roboter]] | [[Kategorie:JetRacer ROS AI Roboter]] | ||
{| | {| class="wikitable" | ||
|- | |- | ||
| '''Autor:''' || Jonas Michael | | '''Autor:''' || Jonas Michael Beisler | ||
|- | |- | ||
| '''Modul:''' || Projektarbeit, | | '''Modul:''' || Projektarbeit, MBP-B-2-6.05 | ||
|- | |- | ||
| '''Starttermin''': || 19.02.2024 | | '''Starttermin''': || 19.02.2024 | ||
Zeile 12: | Zeile 12: | ||
| '''Abgabetermin''': || TBD | | '''Abgabetermin''': || TBD | ||
|- | |- | ||
| '''Prüfungsform''': || Modulabschlussprüfung als Hausarbeit (Praxisbericht, Umfang | | '''Prüfungsform''': || Modulabschlussprüfung als Hausarbeit (Praxisbericht, Umfang 10-50 Seiten Textteil) | ||
|- | |- | ||
| '''Betreuer''': || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]], Tel. 806 | | '''Betreuer''': || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]], Tel. 806 | ||
Zeile 28: | Zeile 28: | ||
## SLAM LiDAR Mapping | ## SLAM LiDAR Mapping | ||
## Bahnplanung, Autonome Navigation, dynamische Hindernisbehandlung | ## Bahnplanung, Autonome Navigation, dynamische Hindernisbehandlung | ||
# Systemtest | # Systemtest | ||
# Optimierung | # Optimierung | ||
Zeile 35: | Zeile 33: | ||
== Durchführung == | == Durchführung == | ||
# | *'''Zeitplanung''' | ||
:#Ursprüngliche Planung | |||
:#Überarbeitete Planung | |||
*'''Montage des Jetracers''' | |||
:[https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit: Anleitung zum Aufbau des Jetracers] | |||
:Verbesserungen beim Aufbau | |||
::Motor-Aufhängung "tiefer legen" | |||
*'''Multimachine Communication''' | |||
:[https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit_Tutorial_II:_Install_Jetson_Nano_Image: Anleitung für die Inbetriebnahme des Racers] | |||
:[https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit_Tutorial_III:_Install_Ubuntu_Virtual_Image: Anleitung für die Inbetriebnahme des Controllers] | |||
:[https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit_Tutorial_IV:_Configure_Multi-machine_Communication: Anleitung für die Verbindung zwischen Racer und Controller] | |||
*'''Austesten aller Funktionen''' | |||
:#Verschiedene manuelle Steuerungsmodi | |||
::#Steuerung per Tastatur | |||
::#Steuerung per Joystick | |||
:#Automatisches Fahren | |||
::#Anfahren eines einzelnen Zieles | |||
::#Abfahren mehrerer Punkte | |||
*'''Endziel festlegen''' | |||
*'''Raum Kartographieren''' | |||
:[https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit_Advanced_Tutorial_I:_SLAM_Lidar_Mapping: Anleitung für das erstellen einer Karte mit SLAM] | |||
*'''Erstellen eigener Python Skripte''' | |||
:Vorhandene Skripte verstehen | |||
:ROS Publisher & Subscriber verstehen | |||
:Einbauen der gewollten Funktionen | |||
*'''Austesten der Skripte''' | |||
:Testen & Verbessern des Skriptes | |||
*'''Finale Vorführung des Ziels''' | |||
:Video | |||
== Anforderungen == | == Anforderungen == | ||
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. | 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. | ||
* Umgang mit Linux | * Umgang mit Linux | ||
* | * Python-Programmierung | ||
* Dokumentenversionierung mit SVN | * Dokumentenversionierung mit SVN | ||
* Optional: | * Optional: | ||
Zeile 58: | Zeile 83: | ||
*[[Studentische_Arbeiten_bei_Prof._Schneider|Studentische Arbeiten bei Prof. Schneider]] | *[[Studentische_Arbeiten_bei_Prof._Schneider|Studentische Arbeiten bei Prof. Schneider]] | ||
*[[Anforderungen_an_eine_wissenschaftlich_Arbeit| Anforderungen an eine wissenschaftlich Arbeit]] | *[[Anforderungen_an_eine_wissenschaftlich_Arbeit| Anforderungen an eine wissenschaftlich Arbeit]] | ||
* Abgabe der Schriftlichen Ausarbeitung als Wiki-Artikel (ggf. Artikel als PDF drucken). | |||
== Repositorium == | == Repositorium == | ||
* Sciebo-Projektordner: \JetRacer_ROS_AI_Robot\ | * Sciebo-Projektordner: \JetRacer_ROS_AI_Robot\ | ||
* Sciebo-Abgabeordner: \ | * Sciebo-Abgabeordner: \Jonas_Beisler\Projektarbeit\ | ||
== Getting started == | == Getting started == | ||
Zeile 71: | Zeile 97: | ||
*[[Software_Planung| PAP Designer Einstieg]] | *[[Software_Planung| PAP Designer Einstieg]] | ||
*[[Software_Versionsverwaltung_mit_SVN| Einführung in SVN]] | *[[Software_Versionsverwaltung_mit_SVN| Einführung in SVN]] | ||
*[https://studyassist.hshl.de/at-home/extern/sciebo/ Einrichtung der ScienceBox (Sciebo)] | |||
{| class="wikitable" | |||
|+ Tabelle 1: Checkliste | |||
|- | |||
! LOP !! Status !! Bemerkung | |||
|- | |||
| Sicherheitseinweisung für die Labore von [[Benutzer:Marc Ebmeyer| Marc Ebmeyer]] || <span style="color:green">☑</span> || | |||
|- | |||
| Schlüsselübergabe für die Labore von [[Benutzer:Marc Ebmeyer| Marc Ebmeyer]]|| <span style="color:green">☑</span> || | |||
|- | |||
| SVN-Zugang bereitstellen|| <span style="color:green">☑</span> || user: <code>Jonas_Beisler</code> | |||
|- | |||
| Vereinbarung wöchentlicher Meetings|| <span style="color:green">☑</span> || user: <code>Jonas_Beisler</code> | |||
|- | |||
| Wiki-Zugang bereitstellen|| <span style="color:green">☑</span> || user: <code>Jonas_Beisler</code> | |||
|} | |||
== Nützliche Artikel == | == Nützliche Artikel == | ||
*[https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit Waveshare: JetRacer ROS AI Kit Wiki] | *[https://www.waveshare.com/wiki/JetRacer_ROS_AI_Kit Waveshare: JetRacer ROS AI Kit Wiki] | ||
---- | ---- | ||
→ zurück zum Hauptartikel: [[Studentische_Arbeiten|Studentische Arbeiten]] | → zurück zum Hauptartikel: [[Studentische_Arbeiten|Studentische Arbeiten]] |
Version vom 11. September 2024, 16:29 Uhr
Autor: | Jonas Michael Beisler |
Modul: | Projektarbeit, MBP-B-2-6.05 |
Starttermin: | 19.02.2024 |
Abgabetermin: | TBD |
Prüfungsform: | Modulabschlussprüfung als Hausarbeit (Praxisbericht, Umfang 10-50 Seiten Textteil) |
Betreuer: | Prof. Dr.-Ing. Schneider, Tel. 806 |
Mitarbeiter: | Marc Ebmeyer, Tel. 847 |
Einführung
Der JetRacer ist ein Modellrennwagen im Maßstab 1:10. Hierbei handelt es sich um ein leistungsstarkes intelligentes KI-Modellfahrzeug, das speziell für Studierende entwickelt wurde, die den Umgang mit dem Robot Operation Systelm (ROS) erlernen möchten. Das System besteht aus zwei Steuereinheiten. Den Host-Controller bildet das JETSON-NANO-DEV-KIT-A und als Sub-Controller wird ein Raspberry Pi RP2040-Mikrocontroller verwendet. Die Hauptplatine integriert die OLED, den Servomotor-Antriebsschaltkreis, den Batterieschutzschaltkreis, einen Audioausgangsschaltkreis usw., das lästige Löten des Schaltkreises erspart, das Entladen und Laden unterstützt und kein wiederholtes Entfernen des Akkus erfordert. Der verbauter IMU-Lagesensor und DC-Encodermotor regelt die Geschwindigkeit über einen PID-Regler und kann einen Radkilometerzähler ausgeben. Die Software ist mit dem Open-Source-Projektprogramm NVIDIA Jetbot kompatibel und unterstützt AI Deep Learning, SLAM-Mapping und -Navigation, visuelle OpenCV-Verarbeitung, intelligente Sprachinteraktion und andere Funktionen.
Aufgabenstellung
- Einarbeitung in den JetRacer
- Ansteuerung des Antriebs und der Lenkung
- Einlesen der Sensoren
- Fokus auf eines der Schwerpunktgebiete
- SLAM LiDAR Mapping
- Bahnplanung, Autonome Navigation, dynamische Hindernisbehandlung
- Systemtest
- Optimierung
- Dokumentation der Vorgehensweise im HSHL-Wiki
Durchführung
- Zeitplanung
- Ursprüngliche Planung
- Überarbeitete Planung
- Montage des Jetracers
- Anleitung zum Aufbau des Jetracers
- Verbesserungen beim Aufbau
- Motor-Aufhängung "tiefer legen"
- Multimachine Communication
- Anleitung für die Inbetriebnahme des Racers
- Anleitung für die Inbetriebnahme des Controllers
- Anleitung für die Verbindung zwischen Racer und Controller
- Austesten aller Funktionen
- Verschiedene manuelle Steuerungsmodi
- Steuerung per Tastatur
- Steuerung per Joystick
- Automatisches Fahren
- Anfahren eines einzelnen Zieles
- Abfahren mehrerer Punkte
- Endziel festlegen
- Raum Kartographieren
- Erstellen eigener Python Skripte
- Vorhandene Skripte verstehen
- ROS Publisher & Subscriber verstehen
- Einbauen der gewollten Funktionen
- Austesten der Skripte
- Testen & Verbessern des Skriptes
- Finale Vorführung des Ziels
- Video
Anforderungen
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.
- Umgang mit Linux
- Python-Programmierung
- Dokumentenversionierung mit SVN
- Optional:
- AI Deep Learning mit NVIDIA Jetson Nano
- OpenCV Vision Processing
- Simulation mit WeBots
- Umgang mit ROS2
- Partikel Filter SLAM
- Mensch-Roboter Sprachinteraktion
Anforderungen an die wissenschaftliche Arbeit
- Wissenschaftliche Vorgehensweise (Projektplan, etc.), nützlicher Artikel: Gantt Diagramm erstellen
- Wöchentlicher Fortschrittsberichte (informativ), aktualisieren Sie das Besprechungsprotokoll - Live Gespräch mit Prof. Schneider
- Projektvorstellung im Wiki
- Tägliche Sicherung der Arbeitsergebnisse in SVN
- Tägliche Dokumentation der geleisteten Arbeitsstunden
- Studentische Arbeiten bei Prof. Schneider
- Anforderungen an eine wissenschaftlich Arbeit
- Abgabe der Schriftlichen Ausarbeitung als Wiki-Artikel (ggf. Artikel als PDF drucken).
Repositorium
- Sciebo-Projektordner: \JetRacer_ROS_AI_Robot\
- Sciebo-Abgabeordner: \Jonas_Beisler\Projektarbeit\
Getting started
Lesen Sie zum Einstieg diese Artikel
- Hauptartikel: JetRacer_ROS_AI_Roboter
- Waveshare: JetRacer ROS AI Kit
- Gantt Diagramm erstellen
- Tipps zum Schreiben eines Wiki-Artikels
- PAP Designer Einstieg
- Einführung in SVN
- Einrichtung der ScienceBox (Sciebo)
LOP | Status | Bemerkung |
---|---|---|
Sicherheitseinweisung für die Labore von Marc Ebmeyer | ☑ | |
Schlüsselübergabe für die Labore von Marc Ebmeyer | ☑ | |
SVN-Zugang bereitstellen | ☑ | user: Jonas_Beisler
|
Vereinbarung wöchentlicher Meetings | ☑ | user: Jonas_Beisler
|
Wiki-Zugang bereitstellen | ☑ | user: Jonas_Beisler
|
Nützliche Artikel
→ zurück zum Hauptartikel: Studentische Arbeiten