Arduino: Self Balancing Bot: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
{| class="wikitable"
{| class="wikitable"
|-
|-
| '''Autor:'''  || offen
| '''Autor:'''  || Jan Rottländer
|-
|-
| '''Art:''' || offen (PS, PA, BA, MA )
| '''Art:''' || Praxissemester
|-
|-
|  '''Starttermin''': || offen
|  '''Starttermin''': || 16.03.2026
|-
|-
|  '''Abgabetermin''': || offen
|  '''Abgabetermin''': || 31.07.2026, Prüfung in der 1. Augustwoche (Notenmeldung vor Semesterende 31.08.2026)
|-
|-
|  '''Betreuer''': || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]
|  '''Betreuer''': || [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing. Schneider]]
Zeile 15: Zeile 15:
= Einführung=
= Einführung=
Ein selbstfahrender Roboter auf zwei Rädern ist ein instabiles System. Die Physik dahinter wurde bereits vielfältig dokumentiert. In diesem Projekt wird für ein Laborversuch ein Prototyp entwickelt, getestet und 10-fach gefertigt.
Ein selbstfahrender Roboter auf zwei Rädern ist ein instabiles System. Die Physik dahinter wurde bereits vielfältig dokumentiert. In diesem Projekt wird für ein Laborversuch ein Prototyp entwickelt, getestet und 10-fach gefertigt.
 
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
'''Quellen:'''<br>
| <strong>Tabelle 1: Systemanforderung &thinsp;</strong>
* [[Segway]]
|-
* [[Arduino_Mini-Segway]]
|
* [[Projekt_57:_Arduino_Segway]]
{| class="wikitable"
|-
! SR !! Beschreibung !! Priorität
|-
| 1 || Der Roboter muss in der Lage sein, sich auf zwei Rädern selbstständig im Gleichgewicht zu halten.|| 1
|-
| 2 || Der Roboter muss sich vorwärts, rückwärts und durch Drehung um die eigene Achse bewegen können. || 1
|-
| 3 || Die Messdaten müssen zu Diagnosezwecken via Bluetooth an einen PC versendet werden. || 1
|-
| 4 || Der Roboter muss mindestens einen Abstandssensor besitzen, um Objekte vor sich zu erkennen. || 1
|-
| 5 || Der Roboter muss seine Lage über eine IMU ermitteln. || 1
|-
| 6 || Der Roboter muss über eine Entwicklungsumgebung programmierbar sein. || 1
|-
| 8 || Der Roboter muss über eine integrierte wiederaufladbare Batterie betrieben werden.  || 1
|-
| 9 || Betriebs- und Sensor-Modi müssen nach dem Systemstart ausgewählt werden.|| 1
|-
| 10 || Das System muss in einer definierten Startlage seine Sensoren automatisch kalibrieren.|| 1
|}
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tabelle 2: Funktionale Anforderung &thinsp;</strong>
|-
|
{| class="wikitable"
|-
! FR !! Beschreibung !! Priorität
|-
| 1 || Das System muss kontinuierlich die Neigung des Roboters messen und die Motoren so ansteuern, dass der Roboter aufrecht bleibt (Modus <code>Balancieren</code>). || 1
|-
| 2 || Der Roboter muss zwei unabhängig steuerbare Gleichstrommotoren besitzen. || 1
|-
| 3 || Der SBR muss im Modus <code>Erkundung</code> vorwärts fahren, Hindernisse erkennen und diesen ausweichen.|| 2
|-
| 4 || Der Roboter soll Betriebszustände über LEDs anzeigen. || 2
|-
| 5 || Ein Display muss die Ausgabe von >10 Sensorwerten ermöglichen. || 1
|}
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tabelle 3: Nicht-Funktionale Anforderung &thinsp;</strong>
|-
|
{| class="wikitable"
|-
! NFR !! Beschreibung !! Priorität
|-
| 1 || Das Design muss so robust sein, dass ein Robotersturz auf dem Tisch keinen Schaden verursacht.|| 1
|-
| 2 || Der Roboter darf bei kleinen Störungen (z.&thinsp;B. leichter Stoß) nicht sofort umfallen. || 1
|-
| 3 || Das Regelungssystem muss Sensordaten mit einer Frequenz von mindestens 10&thinsp;Hz verarbeiten. || 1
|-
| 4 || Der Roboter darf keine scharfen Kanten besitzen und muss bei niedriger Spannung automatisch abschalten. || 1
|-
| 5 || Alle Komponenten müssen ohne Spezialwerkzeug austauschbar sein. || 1
|-
| 6 || Der Roboter soll für Lernzwecke geeignet sein und eine verständliche Dokumentation im Wiki besitzen. || 1
|}
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tabelle 4: Hardware Anforderungen &thinsp;</strong>
|-
|
{| class="wikitable"
|-
! HWR !! Beschreibung !! Priorität
|-
| 1 || Als Mikrocontroller muss ein Arduino R3 zum Einsatz kommen. || 1
|-
| 2 || Als IMU muss ein [[IMU_MPU-9250/6500|MPU-9250/6500]] zum Einsatz kommen. || 1
|-
| 3 || Als Abstandssensor muss Infrarot oder Ultraschall zum Einsatz kommen. || 1
|-
| 4 || Die Akkus müssen austauschbar sein (z.&thinsp;B. AAA). || 1
|-
| 5 || Als Bluetooth-Modul kann ein [[Bluetooth_Module_HC-05|HC-05]] eingesetzt werden. || 1
|}
|}
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tabelle 5: Software Anforderung &thinsp;</strong>
|-
|
{| class="wikitable"
|-
! SWR !! Beschreibung !! Priorität
|-
| 1 || Die Regelung muss modellbasiert über MATLAB<sup>®</sup>/Simulink programmiert werden.  || 1
|-
| 2 || Die Sensordaten müssen erfasst und gefiltert werden.|| 1
|-
| 3 || Die Software muss mindestens folgende Modi unterstützen:
* <code>Balancieren</code>
* <code>Erkundung</code>
|| 1
|-
| 4 || Die Software muss folgende Sensor-Modi unterstützen:
* Winkel aus Gierrate
* Winkel aus Beschleunigung
* Sensordatenfusion 1: Komplementärfilter
* Sensordatenfusion 2: Kalman-Filter
|| 1
|}
|}


= Aufgabenstellung =
= Aufgabenstellung =
# Einarbeitung in die Themen Arduino, [[Kamerasensor Arducam Mini 2MP|Arducam Mini 2MP]]
# Einarbeitung in das Themen (Arduino, Gyroskop, Ultraschall, Regelung,..)
# CAD und 3D-Druck der Kamerahalterung
# Planung des Aufbaus
# Inbetriebnahme der Kamwera
# Beschaffung der Bauteile
# Bildverarbeitung zur Spurerkennung
# CAD und 3D-Druck des Aufbaus
# Autonome Spurführung (Regelung)
# Hardwareaufbau
# Optional: Modellbasierte Entwicklung mit MATLAB<sup>®</sup>/Simulink
# Inbetriebnahme des Self Balancing Bot
# Regelung des instabilen Systems
# Modellbasierte Entwicklung mit MATLAB<sup>®</sup>/Simulink
# Test und wiss. Dokumentation
# Test und wiss. Dokumentation
# Funktionsnachweis als Wiki-Artikel mit Animated-Gif
# Funktionsnachweis als Wiki-Artikel mit Animated-Gif


= Anforderungen =
== Optional ==
* Leiterplattenlayout und Fertigung
 
= Getting started =
* Recherchieren Sie das Thema. Diese Aufgabe wurde schon mehrfach gelöst.
* Stellen Sie die Ergebnisse Prof. Schneider vor und entscheiden Sie sich für ein Design.
* Dokumentieren Sie die Anforderungen an Ihr System.
* Stellen Sie Kontakt zu [[Benutzer:Marc Ebmeyer| Marc Ebmeyer]] her. Lassen Sie sich die vorhandenen Teile aus dem Magazin geben und bestellen Sie frühzeitig fehlende Teile.
* Erstellen Sie ein CAD-Design, diskutieren Sie dies mit [[Benutzer:Marc Ebmeyer| Marc Ebmeyer]] und lassen Sie dies fertigen.
* Bauen Sie einen Prototyp auf.
* Implementieren Sie die Regelung mit Simulink. Diskutieren Sie das Ergebnis mit Prof. Schneider.
 
= Anforderungen an Ihre Kenntnisse =
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.
* Arduino, Gyroskop, Ultraschall
* CAD Design mit Solid Works
* CAD Design mit Solid Works
* 3D-Druck
* 3D-Druck
* Bildverarbeitung
* Optional: Leiterplattenlayout und Fertigung
* Regelungstechnik
* Optional: Modellbasierte Entwicklung mit MATLAB<sup>®</sup>/Simulink
* Optional: Modellbasierte Entwicklung mit MATLAB<sup>®</sup>/Simulink
* Dokumentenversionierung mit SVN
* Dokumentenversionierung mit SVN
Zeile 48: Zeile 170:
*[[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]]
 
= Quellen=
 
* [[Segway]]
* [[Arduino_Mini-Segway]]
* [[Projekt_57:_Arduino_Segway]]
* [https://www.youtube.com/watch?v=iRP-yjXm6VQ ELEGOO Tumbller]


----
----
→ zurück zum Hauptartikel: [[Offene_Themen_von_Prof._Schneider| Studentische Arbeiten]]
→ zurück zum Hauptartikel: [[Offene_Themen_von_Prof._Schneider| Studentische Arbeiten]]

Aktuelle Version vom 16. März 2026, 14:28 Uhr

Abb. 1: Arduino Self Balancing Bot
Autor: Jan Rottländer
Art: Praxissemester
Starttermin: 16.03.2026
Abgabetermin: 31.07.2026, Prüfung in der 1. Augustwoche (Notenmeldung vor Semesterende 31.08.2026)
Betreuer: Prof. Dr.-Ing. Schneider

Einführung

Ein selbstfahrender Roboter auf zwei Rädern ist ein instabiles System. Die Physik dahinter wurde bereits vielfältig dokumentiert. In diesem Projekt wird für ein Laborversuch ein Prototyp entwickelt, getestet und 10-fach gefertigt.

Aufgabenstellung

  1. Einarbeitung in das Themen (Arduino, Gyroskop, Ultraschall, Regelung,..)
  2. Planung des Aufbaus
  3. Beschaffung der Bauteile
  4. CAD und 3D-Druck des Aufbaus
  5. Hardwareaufbau
  6. Inbetriebnahme des Self Balancing Bot
  7. Regelung des instabilen Systems
  8. Modellbasierte Entwicklung mit MATLAB®/Simulink
  9. Test und wiss. Dokumentation
  10. Funktionsnachweis als Wiki-Artikel mit Animated-Gif

Optional

  • Leiterplattenlayout und Fertigung

Getting started

  • Recherchieren Sie das Thema. Diese Aufgabe wurde schon mehrfach gelöst.
  • Stellen Sie die Ergebnisse Prof. Schneider vor und entscheiden Sie sich für ein Design.
  • Dokumentieren Sie die Anforderungen an Ihr System.
  • Stellen Sie Kontakt zu Marc Ebmeyer her. Lassen Sie sich die vorhandenen Teile aus dem Magazin geben und bestellen Sie frühzeitig fehlende Teile.
  • Erstellen Sie ein CAD-Design, diskutieren Sie dies mit Marc Ebmeyer und lassen Sie dies fertigen.
  • Bauen Sie einen Prototyp auf.
  • Implementieren Sie die Regelung mit Simulink. Diskutieren Sie das Ergebnis mit Prof. Schneider.

Anforderungen an Ihre Kenntnisse

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.

  • Arduino, Gyroskop, Ultraschall
  • CAD Design mit Solid Works
  • 3D-Druck
  • Optional: Leiterplattenlayout und Fertigung
  • Regelungstechnik
  • Optional: Modellbasierte Entwicklung mit MATLAB®/Simulink
  • Dokumentenversionierung mit SVN
  • Dokumentation mit Word und im HSHL-Wiki.

Anforderungen an die wissenschaftliche Arbeit

Quellen


→ zurück zum Hauptartikel: Studentische Arbeiten