Malender Roboter mit Arduino: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 91: Zeile 91:
==== Parametrierung ====
==== Parametrierung ====
In der folgenden Tabelle 2 sind die wichtigsten Parameter für die Ausführung des Modells erklärt.
In der folgenden Tabelle 2 sind die wichtigsten Parameter für die Ausführung des Modells erklärt.
Einige Parameter gehen aus den Aufgaben der [https://aek.arduino.cc/ AEK-Seite] hervor und wurden nicht unbenannt.
Einige Parameter gehen aus den Aufgaben der [https://aek.arduino.cc/ AEK-Seite] hervor und werden mithilfe dieser berechnet. Die Bennung wurde in dem Fall zum größten Teil beibehalten.
{| class="mw-datatable"
{| class="mw-datatable"
! style="font-weight: bold;" | Parameter
! style="font-weight: bold;" | Parameter
! style="font-weight: bold;" | Beschreibung
! style="font-weight: bold;" | Beschreibung
! style="font-weight: bold;" | Einheit
! style="font-weight: bold;" | Wert
! style="font-weight: bold;" | Wert
|+ style = "text-align: left"|Tabelle 1: Bewertung verschiedener Regleransätze
|+ style = "text-align: left"|Tabelle 1: Bewertung verschiedener Regleransätze
|-
|-
| Ts
| Ts
| Zeitschritt des Modells in Sekunden. Sollte kleiner sein als die Hälfte der kleinsten Zeitkonstante des Systems.
| Zeitschritt des Modells. Sollte kleiner sein als die Hälfte der kleinsten Zeitkonstante des Systems.
| Sekunden
| 0,05
| 0,05
|-
|-
| L_i
| L_i
| Seillänge vom Motor bis zur starren Rolle in Meter. Als Vektor in Meter: [Länge_links Länge_rechts]
| Aus Aufgabe. Seillänge von der Motorspule bis zur starren Rolle. Als Vektor: [Länge_links Länge_rechts]
| [Meter Meter]
| -
| -
|-
|-
| Rot
| par_L_arm
| Der Roboter malt mit dem roten Stift.
| Aus Aufgabe. Abstand von der Motorspule bis zum Malpunkt.
| par_MarkerRight
| Meter
| 0.075
|-
|-
| Hellblau
| par_Kp
| Der Stiftzustand wurde nicht gesetzt (uninitialisiert).
| Parameter für das P-Glied
| None
| -
| 8
|-
| par_Ki
| Parameter für das I-Glied
| -
| 16
|-
| par_thresh_stable
| Das Ist-Inkrement wird mit einer Abweichung von par_thresh_stable als erfüllt/stabil betrachtet.
| Inkrement
| 5
|-
| par_spule_sign
| Muss angepasst werden je nach Wicklungsart der Spule (im Uhrzeigersinn oder gegen)
| 1, -1
| -1
|-
| UI_hRobot_stayOnTop
| Soll die Oberfläche der Simulationsanzeige dauert im Fokus sein?
| Bool
| false
|-
|-
|}
|}

Version vom 27. August 2021, 01:48 Uhr

Autoren: Stefan Arndt
Betreuer: Prof. Schneider
Art: PA
Projektlaufzeit:

Abb. 1: Arduino Engineering Kit - Malender Roboter


Thema

Aufbau eines selbsmalenden Roboters.

Ziel

Das Arduino Engineering Kit ermöglicht den Aufbau dreier regelungstechnischer Herausforderungen. In diesem Projekt soll ein malender Roboter gebaut und programmiert werden. Das Projekt wurde zudem durch eine Simulation erweitert.

Verwendete Software

MATLAB R2021a (exportierte Modelle für R2019a liegen dem Projekt bei)

Aufgabenstellung

  1. Einarbeitung in das Thema, auch aus regelungstechnischer Sicht
  2. Identifikation der Regelstrecke
  3. Sichtung und Test des bestehenden Bausatzes
  4. Aufbau des Systems (ggf. Platinenfertigung, etc.)
  5. Vergleichen und bewerten Sie verschiedene Regleransätze (P, PI, PID und andere).
  6. Modellbasierte Programmierung der Hardware via Matlab und Simulink
  7. Test des Malroboters
  8. Dokumentation nach wissenschaftlichem Stand
  9. Funktionsnachweis als YouTube-Video

Bewertung des Bausatzes

Identifikation der Regelstrecke

Bild 1: Regelstrecke des Gleichstrommotors

Aufbau des Systems

Bild 2: Darstellung des Malroboters
Bild 3: Aufbau der Hardware am Whiteboard

Bewertung verschiedener Regleransätze

Eine Bewertung erfolgt qualitativ auf Grundlage der Eigenschaften der drei Regler in Tabelle 1.

Regler Bewertung
Tabelle 1: Bewertung verschiedener Regleransätze
P Ein P-Regler erreicht in unserem Fall keine Regeldifferenz von 0. Die bleibende Regelabweichung kann durch Erhöhung des Parameters verringert werden. Dies begünstigt jedoch ein aggressives Verhalten der Regelung.
PI In dem Projekt wurde ein PI-Regler verwendet. Dieser kompensiert durch sein Integrator die bleibende Regelabweichung. Als Paremater wurden und verwendet. Dar unsere Stellgröße begrenzt ist, tritt der Wind-Up-Effekt auf. Dieser wird durch die Clamping-Methode verhindert.
PID Der PID-Regler erweitert den PI-Regler durch ein Differenzierer, der auf die Änderungsrate der Reglerabweichung reagiert. Der Roboter hat keine komplexe Kinematik, wodurch die Änderungsrate meist konstant bleibt. Deshalb wird auf ein I-Glied verzichtet.

Modellbasierte Programmierung

Die Programmierung wurde mithilfe einer simulierten Umgebung realisiert. Der Projektordner lautet "aek_plotter". Inerhalb des Projekordners sind die Dateien für die Übungsaufgaben der Seite https://aek.arduino.cc/ Der Unterordner "simulink" enthält die entwickelte Simulationsumgebung.

Simulations- oder Hardwareumgebung starten

  1. Im Simulink-Ordner ./aek_plotter/simulink die Datei start.m ausführen
  2. potter_sim.slx öffnen für die Simulationsumgebung oder plotter_hardware.slx zur Ausführung auf der Hardware

Simulationsanzeige

Bild 4: Anzeige der Simulation

Die Simulationsanzeige in Abbildung 3 zeigt den Malroboter nach seiner Ausführung der Zeichnung des HSHL-Logos. Das blaue Rechteck definiert unseren zulässigen Malbereich. Das Quadrat in der unteren-linken Ecke, zeigt den Status der gewählten Stiftfarbe an. Hier sind vier Farben möglich:

Farbe Bedeutung servoPos-Variable im Stateflow
Tabelle 1: Bewertung verschiedener Regleransätze
Weiß Kein Stift wurde ausgewählt. par_MarkerIdle
Schwarz Der Roboter malt mit dem schwarzen Stift. par_MarkerLeft
Rot Der Roboter malt mit dem roten Stift. par_MarkerRight
Hellblau Der Stiftzustand wurde nicht gesetzt (uninitialisiert). None

Parametrierung

In der folgenden Tabelle 2 sind die wichtigsten Parameter für die Ausführung des Modells erklärt. Einige Parameter gehen aus den Aufgaben der AEK-Seite hervor und werden mithilfe dieser berechnet. Die Bennung wurde in dem Fall zum größten Teil beibehalten.

Parameter Beschreibung Einheit Wert
Tabelle 1: Bewertung verschiedener Regleransätze
Ts Zeitschritt des Modells. Sollte kleiner sein als die Hälfte der kleinsten Zeitkonstante des Systems. Sekunden 0,05
L_i Aus Aufgabe. Seillänge von der Motorspule bis zur starren Rolle. Als Vektor: [Länge_links Länge_rechts] [Meter Meter] -
par_L_arm Aus Aufgabe. Abstand von der Motorspule bis zum Malpunkt. Meter 0.075
par_Kp Parameter für das P-Glied - 8
par_Ki Parameter für das I-Glied - 16
par_thresh_stable Das Ist-Inkrement wird mit einer Abweichung von par_thresh_stable als erfüllt/stabil betrachtet. Inkrement 5
par_spule_sign Muss angepasst werden je nach Wicklungsart der Spule (im Uhrzeigersinn oder gegen) 1, -1 -1
UI_hRobot_stayOnTop Soll die Oberfläche der Simulationsanzeige dauert im Fokus sein? Bool false

Anforderung

  • Wissenschaftliche Vorgehensweise (Projektplan, etc.)
  • Wöchentliche Fortschrittsberichte (informativ)
  • Projektvorstellung im Wiki
  • Machen Sie ein tolles Videos, welches die Funktion visualisiert.

Weblinks

  1. Arduino Engineering Kit
  2. YouTube: Unboxing the Arduino Engineering Kit
  3. Deer Drawing
  4. Arduino Store

Software

  1. Arduino Engineering Kit Hardware Suppo​rt
  2. Arduino Engineering Kit Hardware Suppo​rt für R2018b
  3. Arduino Engineering​ Kit Project Files
  4. Reinforcement learning with Self-balancing motorcycle

Siehe auch

  1. Studentische Arbeiten bei Prof. Schneider
  2. Anforderungen an eine wissenschaftlich Arbeit



→ zurück zum Hauptartikel: Studentische Arbeiten