Arduino: Self Balancing Bot: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(15 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 &thinsp;</strong>
|-
|
{| class="wikitable"
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 1: Systemanforderung
|-
|-
! SR !! Beschreibung !! Priorität
! SR !! Beschreibung !! Priorität
Zeile 24: Zeile 25:
| 1 || Der Roboter muss in der Lage sein, sich auf zwei Rädern selbstständig im Gleichgewicht zu halten.|| 1
| 1 || Der Roboter muss in der Lage sein, sich auf zwei Rädern selbstständig im Gleichgewicht zu halten.|| 1
|-
|-
| 2 || || 2
| 2 || Der Roboter muss sich vorwärts, rückwärts und durch Drehung um die eigene Achse bewegen können. || 1
|-
|-
| 3 || Die Programmierung muss modellbasiert über MATLAB<sup>®</sup>/Simulink erfolgen. || 1
| 3 || Die Messdaten müssen zu Diagnosezwecken via Bluetooth an einen PC versendet werden. || 1
|-
|-
| 4 || || 1
| 4 || Der Roboter muss mindestens einen Abstandssensor besitzen, um Objekte vor sich zu erkennen. || 1
|-
|-
| 5 || Das Design muss so robust sein, dass ein Robotersturz auf dem Tisch keinen Schaden verursacht.|| 1
| 5 || Der Roboter muss seine Lage über eine IMU ermitteln. || 1
|-
|-
| 6 || Der Roboter muss sich vorwärts, rückwärts und durch Drehung um die eigene Achse bewegen können. || 1
| 6 || Der Roboter muss über eine Entwicklungsumgebung programmierbar sein. || 1
|-
|-
| 7 || Der Roboter muss mindestens einen Abstandssensor besitzen, um Objekte vor sich zu erkennen.  || 1
| 8 || Der Roboter muss über eine integrierte wiederaufladbare Batterie betrieben werden.  || 1
|-
|-
| 8 || Lösungsweg und Lösung muss in diesem Wiki-Artikel dokumentiert werden. || 1
| 9 || Betriebs- und Sensor-Modi müssen nach dem Systemstart ausgewählt werden.|| 1
|-
|-
| 9 || Der Roboter muss über eine integrierte wiederaufladbare Batterie betrieben 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"
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 2: Funktionale Anforderung
|-
|-
! FR !! Beschreibung !! Priorität
! 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>Balacieren</code>). || 1
| 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
| 2 || Der Roboter muss zwei unabhängig steuerbare Gleichstrommotoren besitzen. || 1
|-
|-
| 3 || Der SBR muss im Modus <code>Erkundung</code> vorwärts fahren, Hinernisse erkennen und diesen ausweichen.|| 2
| 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. || 1
| 4 || Der Roboter soll Betriebszustände über LEDs anzeigen. || 2
|-
|-
| 5 || Das Design muss so robust sein, dass ein Robotersturz auf dem Tisch keinen Schaden verursacht.|| 1
| 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>
|-
|-
| 6 || Der Roboter muss sich vorwärts, rückwärts und durch Drehung um die eigene Achse bewegen können. || 1
|
|-
| 7 || Der Roboter muss mindestens einen Abstandssensor besitzen, um Objekte vor sich zu erkennen.  || 1
|-
| 8 || Ein Display muss die Ausgabe von >10 Sensorwerten ermöglichen.Lösungsweg und Lösung muss in diesem Wiki-Artikel dokumentiert werden.  || 1
|-
| 9 || Der Roboter muss über eine integrierte wiederaufladbare Batterie betrieben werden.  || 1
|-
| 10 || Als Software für die Regelung muss MATLAB<sup>®</sup>/Simulink eingesetzt werden.  || 1
|-
| 10 || Die Messdaten müssen zu Diagnosezwecken via Bluetooth an einen PC versendet werden. || 1
|}
 
{| class="wikitable"
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 3: Nicht-Funktionale Anforderung
|-
|-
! NFR !! Beschreibung !! Priorität
! NFR !! Beschreibung !! Priorität
Zeile 86: Zeile 81:
| 6 || Der Roboter soll für Lernzwecke geeignet sein und eine verständliche Dokumentation im Wiki besitzen. || 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"
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 4: Hardware Anforderungen
|-
|-
! Req. !! Beschreibung !! Priorität
! HWR !! Beschreibung !! Priorität
|-
|-
| 1 || Als Mikrocontroller muss ein Arduino R3 zum Einsatz kommen. || 1
| 1 || Als Mikrocontroller muss ein Arduino R3 zum Einsatz kommen. || 1
Zeile 101: Zeile 99:
|-
|-
| 5 || Als Bluetooth-Modul kann ein [[Bluetooth_Module_HC-05|HC-05]] eingesetzt werden. || 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
|}
|}
|}


Zeile 146: 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=
'''Quellen:'''<br>
* [[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

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