JetRacer: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(36 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Robotik]]
[[Kategorie:Autonome Systeme]]
[[Kategorie:Autonome Systeme]]
[[Kategorie:JetRacer]]
[[Datei:JetRacer Waveshare.jpg|thumb|rigth|500px|Abb. 1: JetRacer AI Pro von Waveshare]]
[[Datei:JetRacer Waveshare.jpg|thumb|rigth|500px|Abb. 1: JetRacer AI Pro von Waveshare]]


Zeile 9: Zeile 8:




'''Autoren:''' [[Benutzer:Marc_Ebmeyer|Marc Ebmeyer]]; [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. U. Schneider]]
'''Autor:''' [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. U. Schneider]]<br>
'''Ort''': Campus Lippstadt<br>
'''Art''': Praxissemester, Projektarbeit, Bachelorarbeit, Masterarbeit (die Schwierigkeitsstufe ist skalierbar)<br>


== Einleitung ==
== Einleitung ==
Zeile 20: Zeile 21:
Themengebiete sind:
Themengebiete sind:
* Entwicklung auf einem Linux PC
* Entwicklung auf einem Linux PC
* Modellbasierte Entwicklung in einer Simulationsumgebung
* Künstliche Intelligenz/Deep Learning
* Künstliche Intelligenz/Deep Learning
* Modellbau
* Modellbau
* Robot Operatong System 2 (ROS2)
* 3D-Druck
* [https://developer.nvidia.com/embedded/jetson-nano-developer-kit NVIDIA], [https://www.tensorflow.org/ TensorFlow], [https://opencv.org/ OpenCV], [https://www.python.org/ Python], [https://developer.nvidia.com/tensorrt TensorRT], [https://keras.io/ Keras], [https://pytorch.org/ PyTorch]
 
Aufgabe des JetRacers könnten sein:
* Autonome Spurführung
* Autonomes Einparken
* Schildererkennung
* Objekterkennung und Klassifikation
* Berücksichtigung von Verkehrsregeln
* Sensorerweiterung (Odometrie, IMU,..)
* Adaptive Cruise Control (ACC)
* Gehäusenetwurf
 
{| class="wikitable"
|-
| [[Datei:NVIDIA.png]]  || [https://developer.nvidia.com/embedded/jetson-nano-developer-kit NVIDIA] Hersteller der NVIDIA® Jetson Nano™ Hardware
|-
| [[Datei:TensorFlow.png]]  || [https://www.tensorflow.org/ TensorFlow] ist ein Open-Source-Framework für maschinelles Lernen und künstliche Intelligenz von Google. Einsatz findet TensorFlow insbesondere bei Deep Learning Anwendungen wie Bilderkennung und Textverarbeitung wie Natural Language Processing oder Spracherkennung.
|-
| [[Datei:OpenCV.png]] || [https://opencv.org/ OpenCV] (englische Abk. für Open Computer Vision) ist eine freie Programmbibliothek mit Algorithmen für die Bildverarbeitung und Computer Vision. Sie ist für die Programmiersprachen C, C++, Python und Java geschrieben und steht als freie Software unter den Bedingungen der Apache 2 License.
|-
| [[Datei:Python_Logo.png]] || Im Gegensatz zu HTML, CSS und Javascript ist [https://www.python.org/ Python] eine Allzwecksprache, so dass es für verschiedene Arten der Programmierung verwendet werden kann, nicht nur für die Webentwicklung. Dies kann die Backend-Entwicklung, das Erstellen von Software und das Schreiben von Skripts umfassen.
|-
| [[Datei:TensorRT_Logo.png]] || [https://developer.nvidia.com/tensorrt TensorRT] ist ein Framework für maschinelles Lernen. Es wurde von NVIDIA herausgegeben, um auf deren Hardware KI Algorithmen zu verwenden. TensorRT wurde optimiert um auf NVIDIA GPUs ausgeführt zu werden. Dies ist vermutlich der schnellste Weg Algorithmen auszuführen.
|-
| [[Datei:Keras_Logo.png]] || [https://keras.io/ Keras] ermöglicht die schnelle Implementierung neuronaler Netzwerke für Anwendungen des Deep Learnings. Es handelt sich um eine Open-Source-Bibliothek, die in Python geschrieben ist und zusammen mit Frameworks wie TensorFlow oder Theano verwendet werden kann.
|-
| [[Datei:PyTorch_Logo.png]] || [https://pytorch.org/ PyTorch] ist zur Zeit eines der populärsten Frameworks zur Entwicklung und zum Trainieren von neuronalen Netzwerken. Es zeichnet sich vor allem durch seine hohe Flexibilität und die Möglichkeit aus, Standard-Python-Debugger einzusetzen. Dabei müssen keinerlei Abstriche bezüglich der Trainingsperformance gemacht werden.
|-
| [[Datei:ROS2.png|80px]]||Das Robot Operatong System 2 (ROS2) ist der Nachfolger von ROS1, einem Open-Source-Software-Framework, das sich in den letzten Jahren zu einem der beliebtesten Prototyping-Plattformen für die Entwicklung von Robotern entwickelt hat.
|}


== Spezifikation ==
== Spezifikation ==
Zeile 36: Zeile 66:
| Servo || MG996R, 9&thinsp;kg/cm Drehmoment bei 4,8&thinsp;V
| Servo || MG996R, 9&thinsp;kg/cm Drehmoment bei 4,8&thinsp;V
|-
|-
| Akkus || 4 Akkus vom Typ 18650, 3,7&thinsp;V, 2 parallel und 2 in Serie
| Akkus || 4 Akkus vom Typ 18650, 3,7&thinsp;V, 2 parallel und 2 in Serie, (maximal 67mm Bauhöhe), Strom (Impulsstrombelastbarkeit) = xx A (xx A)
|-
|-
| Display || 0,91&thinsp;inch ILED, 128x32&thinsp;pixel
| Display || 0,91&thinsp;inch ILED, 128x32&thinsp;pixel
Zeile 53: Zeile 83:
=== Hardware ===
=== Hardware ===
*[https://www.waveshare.com/w/upload/f/fa/Jetracer_pro_Assembly_EN.pdf Bauanleitung]
*[https://www.waveshare.com/w/upload/f/fa/Jetracer_pro_Assembly_EN.pdf Bauanleitung]
*[[Der_sichere_Umgang_und_das_Laden_von_Akkumulatoren | Der sichere Umgang und das Laden von Akkumulatoren]]


=== Software ===
=== Software ===
Zeile 64: Zeile 95:
*[https://eckstein-shop.de/WaveShare-JetRacer-Pro-AI-Kit-18433  Vertrieb: Eckstein]
*[https://eckstein-shop.de/WaveShare-JetRacer-Pro-AI-Kit-18433  Vertrieb: Eckstein]
*[https://tutorial.cytron.io/2021/04/16/getting-started-with-robotic-operating-system-ros-and-jetracer-ai-kit/ Getting Started with Robotic Operating System (ROS) and JetRacer AI Kit]
*[https://tutorial.cytron.io/2021/04/16/getting-started-with-robotic-operating-system-ros-and-jetracer-ai-kit/ Getting Started with Robotic Operating System (ROS) and JetRacer AI Kit]
*[[JetRacer: Teach-In Tutorial| Teach-In Tutorial für Autonome Systeme]]


{{#ev:youtube|https://youtu.be/Jul0s3qsRn8 | 500 | right | YouTube: Time Trials for Waveshare Jetracer Pro kit V.S. Traxxas Jetracer "DIY" build |frame}}
{{#ev:youtube|https://youtu.be/Jul0s3qsRn8 | 500 | right | YouTube: Time Trials for Waveshare Jetracer Pro kit V.S. Traxxas Jetracer "DIY" build |frame}}
{{#ev:youtube|https://youtu.be/bwDbZgUgWmc | 500 | right | YouTube: Time Trials for Waveshare Jetracer Pro kit V.S. Traxxas Jetracer "DIY" build |frame}}
{{#ev:youtube|https://youtu.be/bwDbZgUgWmc | 500 | right | YouTube: Time Trials for Waveshare Jetracer Pro kit V.S. Traxxas Jetracer "DIY" build |frame}}
{{#ev:youtube|https://youtu.be/Azv2DRt0eoE | 500 | right | YouTube: Carolo Cup 2022 Team KITcar (mit Jetson Xavier NX) |frame}}
== Literatur ==
* Chollet, F.: ''Deep Learning mit Python und Keras : Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek.'' Frechen: mitp-Verlag, 1. Auflage 2018. ISBN: 9-7839-5845-8406. URL: [https://hshl.bsz-bw.de/cgi-bin/koha/opac-detail.pl?biblionumber=127029&query_desc=kw%2Cwrdl%3A%20deep%20learning HSHL Bib.]
* Gedigk, S.: ''Spurerkennung aus Kameradaten mittels maschinellem Lernen.'' Hamburg: Hochschule für angewandte Wissenschaften Hamburg 2021. URL: [https://autosys.informatik.haw-hamburg.de/papers/2021GedigkSebastian.pdf 2021GedigkSebastian.pdf ]
* Kim, P.: ''MATLAB deep learning : with machine learning, neural networks and artificial intelligence.'' Apress, 2017. URL: [https://hshl.bsz-bw.de/cgi-bin/koha/opac-detail.pl?biblionumber=133078&query_desc=kw%2Cwrdl%3A%20deep%20learning%20kim HSHL Bib.], [https://learning.oreilly.com/library/view/matlab-deep-learning/9781484228456/?ar= O'Reilley]
* Wick, C.: ''Deep Learning''. Informatik-Spektrum volume 40, pages 103–107 (2017). URL: [https://link.springer.com/content/pdf/10.1007/s00287-016-1013-2.pdf https://doi.org/10.1007/s00287-016-1013-2]
== Studentische Arbeiten ==
*[[Automated_lane_following_of_a_Waveshare_JetRacer_with_artificial_intelligence|Automated lane following of a Waveshare JetRacer with artificial intelligence]]
*[[Simulationsumgebung für einen JetRacer]]




----
----
→ zurück zum Hauptartikel: [[Robotik_und_autonome_Systeme|Robotik und autonome Systeme]]
→ zurück zum Hauptartikel: [[Robotik_und_autonome_Systeme|Robotik und autonome Systeme]]

Aktuelle Version vom 24. Juli 2024, 10:46 Uhr

Abb. 1: JetRacer AI Pro von Waveshare
Abb. 2: JetRacer AI Pro GitHub Projekt
YouTube: Waveshare JetRacer Pro AI Kit


Autor: Prof. Dr.-Ing. U. Schneider
Ort: Campus Lippstadt
Art: Praxissemester, Projektarbeit, Bachelorarbeit, Masterarbeit (die Schwierigkeitsstufe ist skalierbar)

Einleitung

Der JetRacer der Firma Waveshare wird gesteuert von einem NVIDIA® Jetson Nano™. Dieser Mini-Computer ermöglicht es, Millionen von kleinen, energieeffizienten KI-Systemen mit unglaublichen neuen Funktionen auszustatten. So entstehen neue Möglichkeiten für eingebettete IoT-Anwendungen, wie zum Beispiel einfache Netzwerkvideorekorder (NVRs), Haushaltsroboter oder intelligente Gateways mit vollen Analysefähigkeiten.

Jetson Nano ist außerdem das perfekte Werkzeug, um die Grundlagen von KI und Robotik zu erlernen – anhand von vorgefertigten Projekten und mit der Unterstützung einer aktiven und leidenschaftlichen Entwicklergemeinde. In unserem Fall steuert die KI einen JetRacer der Firma Waveshare.

Melden Sie sich bei Prof. Schneider wenn Sie an diesem Projekt mit einer studentischen Arbeit teilnehmen möchten.

Themengebiete sind:

  • Entwicklung auf einem Linux PC
  • Modellbasierte Entwicklung in einer Simulationsumgebung
  • Künstliche Intelligenz/Deep Learning
  • Modellbau
  • 3D-Druck

Aufgabe des JetRacers könnten sein:

  • Autonome Spurführung
  • Autonomes Einparken
  • Schildererkennung
  • Objekterkennung und Klassifikation
  • Berücksichtigung von Verkehrsregeln
  • Sensorerweiterung (Odometrie, IMU,..)
  • Adaptive Cruise Control (ACC)
  • Gehäusenetwurf
NVIDIA Hersteller der NVIDIA® Jetson Nano™ Hardware
TensorFlow ist ein Open-Source-Framework für maschinelles Lernen und künstliche Intelligenz von Google. Einsatz findet TensorFlow insbesondere bei Deep Learning Anwendungen wie Bilderkennung und Textverarbeitung wie Natural Language Processing oder Spracherkennung.
OpenCV (englische Abk. für Open Computer Vision) ist eine freie Programmbibliothek mit Algorithmen für die Bildverarbeitung und Computer Vision. Sie ist für die Programmiersprachen C, C++, Python und Java geschrieben und steht als freie Software unter den Bedingungen der Apache 2 License.
Im Gegensatz zu HTML, CSS und Javascript ist Python eine Allzwecksprache, so dass es für verschiedene Arten der Programmierung verwendet werden kann, nicht nur für die Webentwicklung. Dies kann die Backend-Entwicklung, das Erstellen von Software und das Schreiben von Skripts umfassen.
TensorRT ist ein Framework für maschinelles Lernen. Es wurde von NVIDIA herausgegeben, um auf deren Hardware KI Algorithmen zu verwenden. TensorRT wurde optimiert um auf NVIDIA GPUs ausgeführt zu werden. Dies ist vermutlich der schnellste Weg Algorithmen auszuführen.
Keras ermöglicht die schnelle Implementierung neuronaler Netzwerke für Anwendungen des Deep Learnings. Es handelt sich um eine Open-Source-Bibliothek, die in Python geschrieben ist und zusammen mit Frameworks wie TensorFlow oder Theano verwendet werden kann.
PyTorch ist zur Zeit eines der populärsten Frameworks zur Entwicklung und zum Trainieren von neuronalen Netzwerken. Es zeichnet sich vor allem durch seine hohe Flexibilität und die Möglichkeit aus, Standard-Python-Debugger einzusetzen. Dabei müssen keinerlei Abstriche bezüglich der Trainingsperformance gemacht werden.
Das Robot Operatong System 2 (ROS2) ist der Nachfolger von ROS1, einem Open-Source-Software-Framework, das sich in den letzten Jahren zu einem der beliebtesten Prototyping-Plattformen für die Entwicklung von Robotern entwickelt hat.

Spezifikation

PC NVIDIA® Jetson Nano™, PN: 3450 B01, 4 GB 64-bit LPDDR4 @ 25.6 GB, 64-bit Quad-Core ARM A57, 472 GFLOPS @5 W, 128 NVIDIA CUDA® GPU
Kamera Sony IMX219, 8 MP, 160° Sichtfeld, Auflösung 3280x2464 pixel
Motor 37-520 UPM, 1:10 Übersetzung, 12 V, 740 UPM Leerlaufdrehzahl
Servo MG996R, 9 kg/cm Drehmoment bei 4,8 V
Akkus 4 Akkus vom Typ 18650, 3,7 V, 2 parallel und 2 in Serie, (maximal 67mm Bauhöhe), Strom (Impulsstrombelastbarkeit) = xx A (xx A)
Display 0,91 inch ILED, 128x32 pixel
Chassis Aluminiumlegierung
Wireless NIC AC8265, 2,4 GHz/5 GHz, Bluetooth 4.2
AI Frameworks TensorFlow, PyTorch, Caffe/Caffe2, Kera und MXNet

Übersicht

Dokumentation

Hardware

Software

Demos

Weiterführende Links

YouTube: Time Trials for Waveshare Jetracer Pro kit V.S. Traxxas Jetracer "DIY" build
YouTube: Time Trials for Waveshare Jetracer Pro kit V.S. Traxxas Jetracer "DIY" build
YouTube: Carolo Cup 2022 Team KITcar (mit Jetson Xavier NX)

Literatur

  • Chollet, F.: Deep Learning mit Python und Keras : Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek. Frechen: mitp-Verlag, 1. Auflage 2018. ISBN: 9-7839-5845-8406. URL: HSHL Bib.
  • Gedigk, S.: Spurerkennung aus Kameradaten mittels maschinellem Lernen. Hamburg: Hochschule für angewandte Wissenschaften Hamburg 2021. URL: 2021GedigkSebastian.pdf
  • Kim, P.: MATLAB deep learning : with machine learning, neural networks and artificial intelligence. Apress, 2017. URL: HSHL Bib., O'Reilley
  • Wick, C.: Deep Learning. Informatik-Spektrum volume 40, pages 103–107 (2017). URL: https://doi.org/10.1007/s00287-016-1013-2

Studentische Arbeiten



→ zurück zum Hauptartikel: Robotik und autonome Systeme