Autonome Spurführung mit einem JetRacer ROS AI Robot

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: JetRacer ROS AI Roboter von Waveshare
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

  1. Einarbeitung in den JetRacer
  2. Ansteuerung des Antriebs und der Lenkung
  3. Einlesen der Sensoren
  4. Fokus auf eines der Schwerpunktgebiete
    1. SLAM LiDAR Mapping
    2. Bahnplanung, Autonome Navigation, dynamische Hindernisbehandlung
  5. Systemtest
  6. Optimierung
  7. Dokumentation der Vorgehensweise im HSHL-Wiki

Durchführung

  • Zeitplanung
  1. Ursprüngliche Planung
  2. Ü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
  1. Verschiedene manuelle Steuerungsmodi
  1. Steuerung per Tastatur
  2. Steuerung per Joystick
  1. Automatisches Fahren
  1. Anfahren eines einzelnen Zieles
  2. Abfahren mehrerer Punkte
  • Endziel festlegen
  • Raum Kartographieren
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

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

Repositorium

  • Sciebo-Projektordner: \JetRacer_ROS_AI_Robot\
  • Sciebo-Abgabeordner: \Jonas_Beisler\Projektarbeit\

Getting started

Lesen Sie zum Einstieg diese Artikel

Tabelle 1: Checkliste
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