Arduino: Self Balancing Bot: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| 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" | |||
| <strong>Tabelle 1: Systemanforderung  </strong> | |||
|- | |||
| | |||
{| 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  </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  </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. B. leichter Stoß) nicht sofort umfallen. || 1 | |||
|- | |||
| 3 || Das Regelungssystem muss Sensordaten mit einer Frequenz von mindestens 10 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  </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. 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  </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 = | ||
| Zeile 36: | Zeile 145: | ||
* Recherchieren Sie das Thema. Diese Aufgabe wurde schon mehrfach gelöst. | * 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. | * 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. | * 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. | * Erstellen Sie ein CAD-Design, diskutieren Sie dies mit [[Benutzer:Marc Ebmeyer| Marc Ebmeyer]] und lassen Sie dies fertigen. | ||
| Zeile 60: | 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]] | * [[Segway]] | ||
* [[Arduino_Mini-Segway]] | * [[Arduino_Mini-Segway]] | ||
* [[Projekt_57:_Arduino_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

| 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.
| Tabelle 1: Systemanforderung | ||||||||||||||||||||||||||||||
|
| Tabelle 2: Funktionale Anforderung | ||||||||||||||||||
|
| Tabelle 3: Nicht-Funktionale Anforderung | |||||||||||||||||||||
|
| Tabelle 4: Hardware Anforderungen | ||||||||||||||||||
|
| Tabelle 5: Software Anforderung | |||||||||||||||
|
Aufgabenstellung
- Einarbeitung in das Themen (Arduino, Gyroskop, Ultraschall, Regelung,..)
- Planung des Aufbaus
- Beschaffung der Bauteile
- CAD und 3D-Druck des Aufbaus
- Hardwareaufbau
- Inbetriebnahme des Self Balancing Bot
- Regelung des instabilen Systems
- Modellbasierte Entwicklung mit MATLAB®/Simulink
- Test und wiss. Dokumentation
- 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
- 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
Quellen
→ zurück zum Hauptartikel: Studentische Arbeiten