SDE Systementwurf SoSe2025: Testbericht berechneEntfernungPunktGerade.m: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
{| class="wikitable"
{| class="wikitable"
|-
|-
| '''Modul:''' || code>berechneEntfernungPunktGerade.m</code>
| '''Modul:''' || <code>berechneEntfernungPunktGerade.m</code>
|-
|-
| '''Revision:''' || 10780
| '''Revision:''' || 10780
Zeile 46: Zeile 46:
|-
|-
| 1 || Die Funktion muss die mathematisch kürzeste Strecke <math>d_{Min}</math> des Punktes <math>P_W</math> zur gegebenen Sollinie in m berechnen und als Rückgabe liefern.|| 1
| 1 || Die Funktion muss die mathematisch kürzeste Strecke <math>d_{Min}</math> des Punktes <math>P_W</math> zur gegebenen Sollinie in m berechnen und als Rückgabe liefern.|| 1
|-
| 2 || Alle Koordinaten müssen im Welt-Koordinatensystem (Karten-KOS) behandelt werden.|| 1
|-
| 3 || Die nächstgelegenen Punkte <math>G_1</math> und <math>G_2</math> der Solllinie sollen zusätzlich als kartesische Koordinaten (x, y, z) zurückgegeben werden. || 2
|-
| 4 || Fahrtrichtung ist GUZ. Für Punkte links der Sollinie ist der Wert <math>d_{Min}</math> negativ und rechts positiv. || 1
|}
{| class="wikitable"
|+ style="text-align:left;"| Tabelle 3: Nicht funktionale Anforderungen an <code>berechneEntfernungPunktGerade.m</code>
|-
! Req. !! Beschreibung !! Priorität
|-
| 1 || Die Umsetzung muss mit MATLAB<sup>®</sup> erfolgen.|| 1
|-
|-
| 2 || Alle Koordinaten müssen im Welt-Koordinatensystem (Karten-KOS) behandelt werden.|| 1
| 2 || Alle Koordinaten müssen im Welt-Koordinatensystem (Karten-KOS) behandelt werden.|| 1

Version vom 23. Oktober 2025, 06:37 Uhr

Abb. 1: Berechnung des Abstandes Punkt zu Strecke
Modul: berechneEntfernungPunktGerade.m
Revision: 10780
Autor: Prof. Dr.-Ing. Schneider
Datum: 25.09.2025
System: MATLAB®-Funktion
SVN-URL: https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Daten/Rundkurs_L33_E01_210/berechneEntfernungPunktGerade.m

Einleitung

Ziel des Projektes ist eine geregelte Fahrt eines AlphaBot entlang einer definierten Fahrspur (s. SDE_Systementwicklung_WS25/26:_Geregelte_autonome_Fahrt). Die Sollspur liegt als digitale Karte vor und die Istposition wird mit der Robotic Total Station gemessen.

Das zu testende Modul berechneEntfernungPunktGerade.m berechnet die Entfernung des eingehenden Punktes zur Fahrspur.

Tabelle 1: Funktionsübersicht/Zugehörigkeit
# Datei Beschreibung
1 berechneEntfernungPunktGerade.m zu testendes Modul
2 testBerechneRegelabweichungSpur.m Testfunktion für einen Punkt PW mit Darstellung (vgl. Abb. 1)
3 testBerechneRegelabweichungSpurfcn.m Testfunktion für die gesamte Fahrspur mit Ergebnisdarstellung (vgl. Abb. 2, 3)
4 RechteFahrspur_W.mat Eingangsdatum für die rechte Fahrspur
5 LinkeFahrspur_W.mat Eingangsdatum für die linke Fahrspur
5 MittelLinie_W.mat Eingangsdatum für die Mittellinie

Funktionaler Systementwurf

Tabelle 2: Funktionale Anforderungen an berechneEntfernungPunktGerade.m
Req. Beschreibung Priorität
1 Die Funktion muss die mathematisch kürzeste Strecke dMin des Punktes PW zur gegebenen Sollinie in m berechnen und als Rückgabe liefern. 1
2 Alle Koordinaten müssen im Welt-Koordinatensystem (Karten-KOS) behandelt werden. 1
3 Die nächstgelegenen Punkte G1 und G2 der Solllinie sollen zusätzlich als kartesische Koordinaten (x, y, z) zurückgegeben werden. 2
4 Fahrtrichtung ist GUZ. Für Punkte links der Sollinie ist der Wert dMin negativ und rechts positiv. 1

Technische Systementwurf

Abb. 2: PAP zur Bestimmung des min. Abstandes

Der technische Systementwurf wird in Abb. 2 als PAP dargestellt.

Komponentenspezifikation

Die Entfernung des Punktes P von der Strecke A zu B wird mittels Vektorrechnung ermittelt (vgl. Abb. 5).

  1. Berechnung der Ortsvektore: AP=PA, AB=BA
  2. Berechne die Projektion von P auf AB (Projektionsfaktor a): a=APAB|AB|2
  3. Berechne die Projektion P' von P auf AB: P=aAB
  4. Berechne den Normalenvektor, der senkrecht von P auf AB zeigt (P'P): n=APP
  5. Berechne den Abstand d aus der Länge des Vektors n: d=|n|
  6. Vorzeichen gemäß Req. 4 anpassen.

Programmierung

Modultest

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

Abb. 3: Ergebnis von Testfall 1
Abb. 4: Ergebnis von Testfall 2
Abb. 5: Abstand Punkt P zur Geraden AB
ID Testfallbeschreibung Eingänge PW, Referenz Erwartetes Ergebnis Testergebnis Testperson Datum
Tabelle 2: Testbericht für den Modultest von berechneEntfernungPunktGerade.m
1 Punkte links der Sollinie sind negativ. [1.83;0.61;0], LinkeFahrspur_W.mat -0.2 m (vgl. Abb. 3) OK Prof. Schneider 19.06.2026
2 Punkte rechts der Sollinie sind positiv. [1.83;0.2;0], RechteFahrspur_W.mat 0.21 m (vgl. Abb. 4) OK Prof. Schneider 19.06.2026

Zusammenfassung

Das Modul berechneEntfernungPunktGerade.m wurde systematisch entworfen, getestet und dokumentiert. Sämtliche Anforderungen in Tabelle 2 wurden erfüllt. Die Funktion kann eingesetzt werden, um für eine gemessene Position die Abweichung zur Sollspur zu berechnen. Der AlphaBot kann auf diese Abweichung zur Regelung verwenden.



→ zurück zum Hauptartikel: SDE Praktikum Systementwurf SoSe2025
→ zurück zum Hauptartikel: Reliability Engineering WS 25/26