JetRacer: Spurführung mit künstlicher Intelligenz

Aus HSHL Mechatronik
Version vom 18. Oktober 2024, 15:44 Uhr von Evrard.leuteu-feukeu@stud.hshl.de (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Abb. 1: JetRacer AI Pro von Waveshare

Autor: Evrard Leuteu
Art: Projektarbeit
Starttermin: TBD
Abgabetermin: TBD
Betreuer: Prof. Schneider

Einführung

Installation der virtuellen Maschine VirtualBox

Aufgabenstellung

  1. Einarbeitung in das bestehende Framwework
  2. Optimierung der KI für den Rundkurs im Labor Autonome Systeme (Geschwindigkeit, Robustheit).
  3. Optimierung des Reglers (z. B. PD-Regler)
  4. Nutzung von MATLAB zum Anlernen des Jetson Nano.
  5. Drive the JetRacer in the right lane counterclockwise with the gamepad controller. Limit the speed via Software to a maximum (e. g. 1 m/s).
  6. Take a video while driving a lap with MATLAB® using a MATLAB®-script.
  7. Load the pretrained NN.
  8. Train the pretrained NN with MATLAB® with a MATLAB®-App (GUI) by clicking the desired path in the images.
  9. Option: Use classic lane tracking algorithms to teach the NN automatically.
  10. Write a PD-contoller that uses the NN to drive in the right lane. Program this in MATLAB® and let it run on the JetRacer-GPU using GPU Coder.
  11. Goal: the car should drive autonomously several laps in the right lane as fast as possible.
  12. Dokumentation nach wissenschaftlichem Stand im HSHL-Wiki

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.

  • Erfahrungen mit Künstlicher Intelligenz/Deep Learning
  • Programmierung in C++, Python
  • Dokumentenversionierung mit SVN

Anforderungen an die wissenschaftliche Arbeit

Projektplan

Abb.2: Projektplan


SVN-Repositorium

Getting started

Lesen Sie zum Einstieg diese Artikel


Understand the existing system framework

Optimize AI for speed and robustness in the lab

Improve the controller (e.g., PD controller)

Use MATLAB to train on Jetson Nano

Drive JetRacer counterclockwise using a gamepad, limiting speed (e.g., 1 m/s)

Record a lap using a MATLAB script

Load and retrain a pretrained NN with a MATLAB GUI

Optionally, automate NN training with classic lane tracking

Develop a PD controller using the NN, coded in MATLAB for JetRacer GPU

Summary

  • Firstly connecting to the Jetracer and MATLAB according to the [1] MATLAB documentation, which help up to setup the full process.
  • For modeling the project it can be make as simple as possible to understand the steps to follow, in this paper [2],it shows some of the ideas and implementation can be done.
  • A outline of the line following algorithm diagram can be:





  • Firstly the camera configuration, Detecting the Jetracer camera then creating a video input object to set all the parameter like frame rate, resolution and others. Then the image acquisition can start its video labeling. [3]
  • For image acquisition after setting up camera, it start capturing image on fixed parameter which has been set. Image Processing for the line following starts as a capture the lane data from track, then convert it to grayscale image. Also applying edge detection(Canny), thresholding to locate the line and process the data. Then it continues the loop for the full process.






  • After getting all the data its time for analyze and make it setup for the Jetracer. While from the frame capture extracting the following line feature is main goal. Line positioning, direction of car, prediction of the path to follow next is also part of the process. All the analysis process the speed and steering control gets calculated to create a PID controller.
  • Controlling the Jetracer with PID controller has various complex steps to follow such as maintaining the speed, line, steering angle. Setting up the PID values to minimum at first then after identifying the error rate of the predicted line. Then tuning the parameters of the PID help to get the control results.
  • The structure of the model is divided in various part:
main.m: Contains the main loop and integrates other modules.
camera.m: Contains code for camera initialization.
processimage.m: Handles image processing & find line to follow.
PID_controller.m: Manages the PID control logic.
adjustSteering.m: Contains the code to adjust the Jetracer's steering.

Mögliche Folgethemen

  • Kreuzungserkennung
  • Vorfahrterkennung
  • Hinderniserkennung und Umfahrung
  • Schildererkennung

Nützliche Artikel

Literatur

Schreiber, C.: KI-gestützte „Follow-Me“-Funktion am Beispiel des JetRacer. Mittweida, Hochschule Mittweida – University of Applied Sciences, Fakultät Ingenieurwissenschaften, Masterarbeit, 2023. URL: [4]


→ zurück zum Hauptartikel: Studentische Arbeiten