Berechnung des Spurpolynoms: Unterschied zwischen den Versionen
(Programmierung hinzugefügt) |
(Berechnung von Koeffizient a hinzugefügt) |
||
Zeile 20: | Zeile 20: | ||
Durch diese vorbereitenden Rechenoperationen können jetzt die Koeffizienten a, b und c des Spurpolynoms berechnet werden:<br/> | Durch diese vorbereitenden Rechenoperationen können jetzt die Koeffizienten a, b und c des Spurpolynoms berechnet werden:<br/> | ||
* Berechnung von a: <math>xy | * Berechnung von a: <math>a = \displaystyle\frac{(\overline{yx^{2}} - \overline{y} \cdot \overline{x2}) \cdot (\overline{x2} - (\overline{x})^{2}) - (\overline{xy} - \overline{y} \cdot \overline{x}) \cdot (\overline{x3} - \overline{x} \cdot \overline{x2})}{(\overline{x4} - (\overline{x2})^{2}) \cdot (\overline{x2} - (\overline{x})^{2}) - (\overline{x3} - \overline{x} \cdot \overline{x2})^{2}}</math> | ||
== Generierung von C/C++ Code == | == Generierung von C/C++ Code == |
Version vom 7. Februar 2020, 16:04 Uhr
Autor: Luca Di Lillo
Betreuer: Prof. Schneider
Einleitung
Damit das Fahrzeug geregelt entlang der ermittelten Fahrbahn fahren kann, muss ein Spurpolynom aus den erkannten Punkten auf der Fahrbahn ermittelt werden. Daher befasst sich dieser Artikel mit der Berechnung des Spurpolynoms. Das ermittelte Polynom ist ein Polynom zweiten Grades mit den Koeffizienten a, b und c, die zusammen das Polynom bilden. Die Programmierung erfolgt in Matlab anhand mit Hilfe eines Beispielprogramms von Prof. Schneider. Mit den Erkenntnissen des Beispielprogramms soll dann eine Funktion erstellt werden, die aus beliebig vielen Werten ein Polynom berechnet. Im Anschluss soll aus dem Matlab Code C/C++ Code generiert werden, um die Funktion in das Kameraprojekt einzubinden.
Softwareentwurf
Die Funktion zur Berechnung des Spurpolynoms wurde vor der Programmierung in Form eines PAP erstellt.
Programmierung
Die Programmierung der Funktion erfolgte in Matlab, da das Rechnen mit Matrizen und Vektoren dort einfach als in C/C++ ist. Im Folgenden wird die Umsetzung der Funktion genauer erläutert.
Die Funktion arbeitet nach der Quadratischen polynomischen Regression. Die Funktion erhält als Eingabeparamter einen Vektor mit n x-Messwerten und einen mit n y-Messwerten. In der Späteren OSE Software werden die Messwerte die ermittelten Schnittpunkte der Fahrbahn sein, die Werte können jedoch auch allgemeine Werte sein aus denen ein quadratisches Polynom gebildet werden soll. Die weitere Berechnung wird hier schrittweise aufgeführt:
- Multiplikation aller x und y Werte zu dem Wert xy
- Quadrieren der x Werte
- Kubieren der x Werte
- Vierte Potenz der x Werte
- Quadrieren der x-Werte und Multiplikation mit den y-Werten
Durch diese vorbereitenden Rechenoperationen können jetzt die Koeffizienten a, b und c des Spurpolynoms berechnet werden:
- Berechnung von a:
Generierung von C/C++ Code
Aufruf des generierten Codes
Komponententest
Da es sich bei dieser Entwicklung um die einer einzelnen Komponente handelt, schließt der Komponententest mit dem Testbericht die Entwicklung ab.
Testfall | Testfallbeschreibung | Eingänge a,b und c | Erwartetes Ergebnis beim Empfänger | Testergebnis | Testperson | Datum |
---|---|---|---|---|---|---|
1 | OK | Marius Koehler | ||||
2 | OK | Marius Koehler | ||||
3 | OK | Marius Koehler | ||||
4 | OK | Marius Koehler | ||||
5 | OK | Marius Koehler |