BluetoothRegelung.ino: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Lukas.berkemeier@stud.hshl.de (Diskussion | Beiträge)
Lukas.berkemeier@stud.hshl.de (Diskussion | Beiträge)
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:


[[Datei:BluetoothRegelungino.png |rechts|mini|350px|Abb. 1: Softwareentwurf]]
'''Autor:''' [[Benutzer:Lukas Berkemeier| Lukas Berkemeier]]
'''Autor:''' [[Benutzer:Lukas Berkemeier| Lukas Berkemeier]]


* Bild
* Bild
= Einleitung/Funktion =
= Einleitung/Funktion =
Mit dem Modul '''BluetoothRegelung.ino''' werden Daten über eine serielle Schnittstelle Empfangen und als Regelabweichung genutzt. Aus dieser Regelabweichung werden dann der P- und D-Anteil berechnet, aus denen widerrum die Stellgröße für die Ansteuerung der Mototren eines Alphabot berechnet wird. Bei den empfangenen Daten handelt es sich um den Abstand zu einer Solllinie in mm.
= Anforderungen =
= Anforderungen =
{| class="wikitable"
{| class="wikitable"
Zeile 13: Zeile 14:
| 1  || Blutoothdaten müssen in der gleichen Einheit empfangen werden || 1 || Lukas Berkemeier || 09.10.2025 ||  ||  
| 1  || Blutoothdaten müssen in der gleichen Einheit empfangen werden || 1 || Lukas Berkemeier || 09.10.2025 ||  ||  
|-
|-
| 2 || Die Regelung muss auf 0 Regeln || 1 || Lukas Berkemeier || 09.10.2025 || ||
|-
| 3 || Regelverhalten schwingt innerhalb von 5 s ein || 2 || Lukas Berkemeier || 09.10.2025 || ||
|}
|}


= Softwareentwurf =
= Softwareentwurf =
s. Abb. 1
<gallery widths="400px" heights="600px" >
Datei:BluetoothRegelungino.png|Abb. 1: Softwareentwurf Hauptprogramm
Datei:BluetoothRegelungSetup.png|Abb. 02: Softwareentwurf Setup
Datei:BluetoothRegelungLoop.png|Abb. 03: Softwareentwurf Loop
</gallery>


= Umsetzung =
= Umsetzung =
SVN-Link
'''URL:''' https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/c-files/BluetoothRegelung.ino
 
= Modultest =
= Modultest =
Da es sich bei dieser Entwicklung um die einer einzelnen Komponente handelt, schließt der Komponententest mit dem Testbericht die Entwicklung ab (vgl. Tabelle 4).
Da es sich bei dieser Entwicklung um die einer einzelnen Komponente handelt, schließt der Komponententest mit dem Testbericht die Entwicklung ab (vgl. Tabelle 4).
Zeile 25: Zeile 34:
'''URL:''' https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/Test/trackeSendeReglerTest.m
'''URL:''' https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/Test/trackeSendeReglerTest.m


== Vorbereitung ==
[[Datei:GeregelteFahrtTest.jpg|thumb|rigth|200px|Abb. 4: Test zur geregelten Fahrt]]
# Bluetooth Dongle im PC einstecken
# Topcon Station aufbauen
# Topcon Station so ausrichten, dass die Y-Achse als Solllinie genutzt werden kann (siehe Abbildung 4): [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station]] Station gemäß Artikel in Betrieb nehmen.
# Matlab R2024b starten
# Alphabot mit Prismahalterung und Topcon Prisma aufbauen
# Arduino des Alphabot mit dem Computer verbinden
# Script [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/c-files/BluetoothRegelung.ino BluetoothRegelung.ino] öffnen und auf den Arduino eines AlphaBot hochladen
# Script [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/m-files/trackeSendeReglerTest.m trackeSendeReglerTest.m] öffnen
# AlphaBot mit Topcon Prisma auf zwei Referenzpunkten der Y-Achse als Sollinie platzieren und in der Funktion sucheGerade als Referenzpunkte einfügen
# Script [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/m-files/trackeSendeReglerTest.m trackeSendeReglerTest.m] seriellen Monitor öffnen
# Script [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/m-files/trackeSendeReglerTest.m trackeSendeReglerTest.m] starten
== Test ==


{| class="wikitable"
{| class="wikitable"
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | Testfallbeschreibung
! style="font-weight: bold;" | Testfallbeschreibung
! style="font-weight: bold;" | Eingänge x,y,PosAlt,Ausrichtung,Karte,Bumper,Ultraschall,Perimeterschleife
! style="font-weight: bold;" | Eingang
! style="font-weight: bold;" | Erwartetes Ergebnis
! style="font-weight: bold;" | Erwartetes Ergebnis
! style="font-weight: bold;" | Testergebnis
! style="font-weight: bold;" | Testergebnis
! style="font-weight: bold;" | Testperson
! style="font-weight: bold;" | Testperson
! style="font-weight: bold;" | Datum
! style="font-weight: bold;" | Datum
|+ style = "text-align: left"|Tabelle 4: Testbericht für den Komponententest von <code>KosTrafoTzuWelt.m</code>
|+ style = "text-align: left"|Tabelle 1: Testbericht für den Komponententest
|-
|-
| 1
| 1
| Ref A wir korrekt transformiert.
| Daten korrekt empfangen
| [-2.89;4.04;-0.03], [-2.89;4.04;-0.03], [2.49;2.31;-0.03];
| Regelabweichung als Distanz zur Solllinie in mm
| [1.83;0;0]
| AlphaBotwerte = Matlabwerte
| OK
|  
| Prof. Schneider
|  
| 09.10.2025
|  
|-
|-
| 2
| 2
| Der Mäher fährt auf der Perimeterschleife.
| Stellgroesse korrekt berechnet
| []
| Je nach position zur Solllinie wird die Stellgroesse passend berechnet
| Neues Feld wird blau markiert, altes Feld wird rot markiert.
| Stellgröße so, dass die Regelung gegen 0 erfolgt
| OK
|  
| Prof. Schneider
|  
| 21.01.2018
|  
|-
|-
| 3
| 3
| Der Mäher fährt ein Feld weiter.
| Regelverhalten
| 0.3, 0.0, [0;0], 0, Karte, 0, 0, 1000
| Der AlphaBot soll der Solllinie mit einem angemessenen Regelverhalten folgen
| Neues Feld wird blau markiert.
|  
| OK
|  
| Prof. Schneider
|  
| 21.01.2018
|  
|-
| 4
| Der Mäher trifft auf ein Hindernis.
| 34.0, 4.0, [33.7;4.0], 0, Karte, 1, 0, 1000
| Neues Feld wird magenta markiert, altes Feld wird hellgrün markiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 5
| Das überschreitet die Perimeterschleife in unbekanntes Gebiet.
| 0.0, 3.0, [0.3;3.0], 0, Karte, 0, 0, 1000
| Neues Feld wird weiß markiert, altes Feld wird rot markiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 6
| Das Fährt auf ungemähtem Rasen.
| 0.6, 0.6, [0.3;0.3], 0, Karte, 0, 0, 1000
| Neues Feld wird blau markiert, altes Feld wird hellgrün markiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 6b
| Das Fährt auf gemähtem Rasen.
| 0.6, 0.6, [0.3;0.3], 0, Karte, 0, 0, 1000
| Neues Feld wird blau markiert, altes Feld wird hellgrün markiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 7
| Der Mäher fährt mit fester Zykluszeit eine simulierte Mäanderfahrt.
| Mäander simuliert, *,*,*, 0, Karte, 0, 0, 1000
| Die Karte wird zyklisch aktualisiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 8
| Einbindung des Matlab-Skriptes in Simulink.
| Mäander simuliert in Simulink
| Die Karte wird zyklisch aktualisiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 9
| Test der Eingangsparameter
| Variation der Eingangsparameter
| Die Karte wird zyklisch gemäß Anforderungen aktualisiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 10
| Test der Ausgangsparameter
| Variation der Eingangsparameter
| Die Karte wird zyklisch gemäß Anforderungen aktualisiert.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 11
| Laufzeitmessung
| 0.3, 0.0, [0;0], 0, Karte, 0, 0, 1000
| Die Initialisierung muss 1s und die zyklische Darstellung muss 1ms unterschreiten.
| OK
| Prof. Schneider
| 21.01.2018
|-
| 12
| Kommentierung und Dokumentation entsprechen den Projektrichtlinien
| -
| Code Review, Artikel-Review
| OK
| Prof. Göbel
| 21.01.2018
|-
|-
|}
|}


----
----
→ zurück zum Hauptartikel: [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station|TopCon Referenzstation]]
→ zurück zum Hauptartikel: [[Referenzmessung_mit_der_Topcon_Robotic_Total_Station|TopCon Referenzstation]]

Aktuelle Version vom 9. Oktober 2025, 10:29 Uhr

Autor: Lukas Berkemeier

  • Bild

Einleitung/Funktion

Mit dem Modul BluetoothRegelung.ino werden Daten über eine serielle Schnittstelle Empfangen und als Regelabweichung genutzt. Aus dieser Regelabweichung werden dann der P- und D-Anteil berechnet, aus denen widerrum die Stellgröße für die Ansteuerung der Mototren eines Alphabot berechnet wird. Bei den empfangenen Daten handelt es sich um den Abstand zu einer Solllinie in mm.

Anforderungen

Tabelle 1: Anforderungen and das Modul
ID Inhalt Prio Ersteller Datum Geprüft von Datum
1 Blutoothdaten müssen in der gleichen Einheit empfangen werden 1 Lukas Berkemeier 09.10.2025
2 Die Regelung muss auf 0 Regeln 1 Lukas Berkemeier 09.10.2025
3 Regelverhalten schwingt innerhalb von 5 s ein 2 Lukas Berkemeier 09.10.2025

Softwareentwurf

Umsetzung

URL: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/c-files/BluetoothRegelung.ino

Modultest

Da es sich bei dieser Entwicklung um die einer einzelnen Komponente handelt, schließt der Komponententest mit dem Testbericht die Entwicklung ab (vgl. Tabelle 4).

URL: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/_Semesterordner/WS2025/Sprint_1/Test/trackeSendeReglerTest.m

Vorbereitung

Abb. 4: Test zur geregelten Fahrt
  1. Bluetooth Dongle im PC einstecken
  2. Topcon Station aufbauen
  3. Topcon Station so ausrichten, dass die Y-Achse als Solllinie genutzt werden kann (siehe Abbildung 4): Referenzmessung_mit_der_Topcon_Robotic_Total_Station Station gemäß Artikel in Betrieb nehmen.
  4. Matlab R2024b starten
  5. Alphabot mit Prismahalterung und Topcon Prisma aufbauen
  6. Arduino des Alphabot mit dem Computer verbinden
  7. Script BluetoothRegelung.ino öffnen und auf den Arduino eines AlphaBot hochladen
  8. Script trackeSendeReglerTest.m öffnen
  9. AlphaBot mit Topcon Prisma auf zwei Referenzpunkten der Y-Achse als Sollinie platzieren und in der Funktion sucheGerade als Referenzpunkte einfügen
  10. Script trackeSendeReglerTest.m seriellen Monitor öffnen
  11. Script trackeSendeReglerTest.m starten

Test

ID Testfallbeschreibung Eingang Erwartetes Ergebnis Testergebnis Testperson Datum
Tabelle 1: Testbericht für den Komponententest
1 Daten korrekt empfangen Regelabweichung als Distanz zur Solllinie in mm AlphaBotwerte = Matlabwerte
2 Stellgroesse korrekt berechnet Je nach position zur Solllinie wird die Stellgroesse passend berechnet Stellgröße so, dass die Regelung gegen 0 erfolgt
3 Regelverhalten Der AlphaBot soll der Solllinie mit einem angemessenen Regelverhalten folgen

→ zurück zum Hauptartikel: TopCon Referenzstation