SDE WS25: messeMittellinie.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)
Zeile 9: Zeile 9:
== Anforderungen ==
== Anforderungen ==
Die Anforderungen werden aus [[SDE WS25: AP 1.6 Messung der Mittellinie]] entnommen.
Die Anforderungen werden aus [[SDE WS25: AP 1.6 Messung der Mittellinie]] entnommen.
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 2: Nicht funktionale Anforderungen an <code>berechneEntfernungPunktGerade.m</code>
|-
! Req. !! Beschreibung !! Priorität
|-
| 1 || Die Umsetzung muss mit MATLAB<sup>®</sup> erfolgen.|| 1
|-
| 2 || Header und Hilfe müssen den Funktionskopf bilden. || 1
|-
| 3 || Kommentare müssen den Quelltext lesbar machen. || 1
|-
| 4 || Die [[Medium:Programmierrichtlinien_für_Matlab.pdf|Programmierrichtlinien für MATLAB]] müssen eingehalten werden. || 1
|}


= Softwareentwurf =
= Softwareentwurf =

Version vom 23. Oktober 2025, 16:11 Uhr

Autor: Benutzer: Lukas Berkemeier

Einleitung/Funktion

Abb. 1: Skizze der Mittellinienerfassung

Die Funktion messeMittellinie() aus dem Modul messeMittellinie.ino soll die Distanz der Mitte der Mittellinie zum zentralen Sensor des Alphabot (Abbildung 1, x-Achse) in mm berechnen. Als Eingangswerte werden die Werte des Arrays aus den fünf Tracking-Sensoren genutzt. Die Werte aus dem Array werden dann in einen Wert von 0 bis 4000 umgerechnet und aus diesem Wertebereich wiederum die Distanz von der Mittellinie zum Alphabot berechnet.

Funktionaler Systementwurf

Anforderungen

Die Anforderungen werden aus SDE WS25: AP 1.6 Messung der Mittellinie entnommen.

Tabelle 2: Nicht funktionale Anforderungen an berechneEntfernungPunktGerade.m
Req. Beschreibung Priorität
1 Die Umsetzung muss mit MATLAB® erfolgen. 1
2 Header und Hilfe müssen den Funktionskopf bilden. 1
3 Kommentare müssen den Quelltext lesbar machen. 1
4 Die Programmierrichtlinien für MATLAB müssen eingehalten werden. 1

Softwareentwurf

Der Systementwurf entspricht dem Modulentwurf aus Abbildung 2.

Umsetzung

Modultest

Da es sich bei dieser Entwicklung um die eines einzelnen Moduls handelt, schließt der Modultest mit dem Testbericht die Entwicklung ab (vgl. Tabelle 2). Zum Testen des Moduls wird das Modul aus der Umsetzung genutzt, indem sich die Werte zur Messung der Mittellinie im seriellen Monitor ausgegeben werden.

ID Testfallbeschreibung Eingang Erwartetes Ergebnis Testergebnis Testperson Datum
Tabelle 1: Testbericht für den Modultest
1 Messung: Alphabot zentral auf der weißen Linie (0 mm)


Abb. 2: messeMittellinie.ino Testfall 1
Messwertarray der TR-Sensoren

[58 85 952 61 60]

0 mm 1 mm Lukas Berkemeier 13.10.2025
2 Messung: Alphabot rechts von der weißen Linie (24 mm) am festgelegten Ende


Abb. 3: messeMittellinie.ino Testfall 2
Messwertarray der TR-Sensoren

[215 861 39 36 20]

24 mm 24 mm Lukas Berkemeier 13.10.2025
3 Messung: Alphabot links von der weißen Linie (-24 mm) am festgelegten Ende


Abb. 4: messeMittellinie.ino Testfall 3
Messwertarray der TR-Sensoren

[99 73 73 473 787]

-24 mm -23 mm Lukas Berkemeier 13.10.2025

Fehlerbehebung

Nach der ersten Modulplanung sollte die Spannweite wie in Abbildung 5 von beiden äußeren Sensoren zentral über der Mitte der Mittellinie, mit 65 mm Spannweite genutzt werden. Mit der Funktion map() wurden den Werten 350-3650 die Entfernungen 33 bis -33 mm zugewiesen. Bei dieser Spannweite kam es im Bereich der äußeren Sensoren immer zu Messungenauigkeiten. Zur Fehlerbehebung wurde die Spannweiter auf 48 mm (+-24 mm) verringert und den Werten 800-3200 die Entfernungen 24 bis -24 mm zugewiesen. Im Modultest wurden die Änderungen als passend bewiesen.

Abb. 5: messeMittellinie.ino mit gesamter Sensorspannweite


Eine weitere Fehlerursache ist die Kalibrierung bzw. die Beleuchtung der Sensoren. Je nach Beleuchtung können verschiedene Werte gemessen werden. Ein möglicher Schritt zur Fehlerbehebung wäre das Anbringen einer Beleuchtung für die Sensoren um die Beleuchtung möglichst konstant zu halten.
















→ zurück zum Hauptartikel: SDE WS25: AP 1.6 Messung der Mittellinie