[Phase 4 – Interpretation der Begriffe und Konzepte der intelligent fahrenden Fahrzeugserie] Abschnitt 2: Krümmungsberechnungsmethode basierend auf drei Punkten zur Ermittlung des umschriebenen Kreises

Inhaltsverzeichnis

1. Mängel bei der Verwendung kubischer Polynomkurven zur Ermittlung der Krümmung

2. Krümmungsberechnungsmethode basierend auf drei Punkten, um umschriebenen Kreis zu finden

3. Beispieleinführung

1. MATLAB-Code

2. Ergebnisanzeige

Zusammenfassen



1. Mängel bei der Verwendung kubischer Polynomkurven zur Ermittlung der Krümmung

        Im ersten Abschnitt der vierten Ausgabe haben wir den quadratischen Termkoeffizienten der kubischen Polynomkurve verwendet, um die Krümmung der Referenzlinie im Ursprung des Fahrzeugkoordinatensystems auszudrücken, wie in Abbildung 1 unten dargestellt.

Abb. 1 Kurvenspurlinienanpassung basierend auf einer kubischen Polynomkurve

        Obwohl die Koeffizienten kubischer Polynome klare physikalische Bedeutungen und viele Vorteile haben, gibt es dennoch folgende Mängel:

(1) Die Formel zur Berechnung der Krümmung ignoriert die Ableitung erster Ordnung, was zu Berechnungsfehlern in der erhaltenen Krümmung führt. Wenn die Berechnungsgenauigkeit der Krümmung hoch ist, erfüllt sie offensichtlich nicht die Anforderungen;

(2) Wenn das Front-End die diskreten Punkte der Fahrspurlinie verarbeitet, muss es zuerst die Kurvenanpassung durchlaufen, und dieser Schritt erhöht immer noch die Berechnungskosten;

(3) Beim Fahren auf einer Straße mit unklaren Fahrspurlinien kann die Krümmung nicht indirekt mithilfe der kubischen Funktionskurve berechnet werden und die diskreten Punkte der lokalen Pfadplanung müssen zur Berechnung verwendet werden.

        Angesichts der obigen Situation benötigen wir eine allgemeinere Methode zur Krümmungsberechnung.

2. Krümmungsberechnungsmethode basierend auf drei Punkten, um umschriebenen Kreis zu finden

        Wenn die Referenzlinie durch eine parametrische Gleichung gegeben ist, kann die Krümmung durch Bezugnahme auf die kubische Polynomkurve der Fahrspurlinie ermittelt werden. Wenn die Referenzlinie durch eine Anzahl dichter diskreter Punkte gegeben ist, muss der Radius berechnet werden Krümmung der Referenzlinie, um sie zu erhalten. Countdown, um sie zu erhalten.

        Wie in Abbildung 2 unten dargestellt, sind A, B und C drei kontinuierliche diskrete Punkte der Referenzlinie und a, b und c sind ihre gegenüberliegenden Seiten. Gemäß den relativen Eigenschaften des umschriebenen Kreises eines Dreiecks kann der Mittelpunkt O des umschriebenen Kreises eines Dreiecks durch Schnittpunkt der Senkrechten der drei Seiten ermittelt werden.

Abb.2 Schematische Darstellung der Krümmungsberechnung mit der Dreipunkt-Umschreibungskreismethode

         In △ABC lässt sich aus dem Kosinusgesetz Folgendes ermitteln:

         Verbinden Sie CO und erweitern Sie den Schnittkreis zum Punkt D. Da der Kreis O der Umkreis des Vierecks ABCD ist, können wir gemäß der Eigenschaft, dass die gegenüberliegenden Ecken des Umkreises des Vierecks komplementär sind, Folgendes erhalten:

         Nach Umstellen der obigen Formel kann die Krümmung wie folgt ausgedrückt werden:

         Daher können durch Kombination der obigen Formeln die Krümmungen von drei kontinuierlichen diskreten Punkten A, B und C erhalten werden.

3. Beispieleinführung

1. MATLAB-Code

In diesem Beispiel wird ein kreisförmiger Referenzpfadstreuungssatz mit einem Radius von 20 angegeben, und dann wird die Krümmung mit der Methode des umschriebenen Kreises gelöst.

Geben Sie zunächst den MATLAB-Code wie folgt ein:

clc
clear
close all
load  refPath.mat
refPath = refPath_circle;

%% 基于三点求外接圆的曲率计算方法
for i = 1:size(refPath,1)-2
    A = refPath(i,:);
    B = refPath(i+1,:);
    C = refPath(i+2,:);
    a = norm(C-B);
    b = norm(C-A);
    c = norm(A-B);
    theta_B = acos((a^2 + c^2 - b^2) / (2*a*c));
    cur(i) = 2*sin(theta_B) / b;
end

%% 计算路径长度
diff_x = diff(refPath(:,1)) ;
diff_y = diff(refPath(:,2)) ;
cumLength = cumsum(sqrt(diff_x.^2 + diff_y.^2));

%% 画图
% 图1:参考曲线
figure
grid on
plot(refPath(:,1), refPath(:,2),'LineWidth', 3,  'Color', 'b');

% 图2:参考曲线的曲率
figure
hold on
grid on
plot(cumLength(1:end-1), cur,'LineWidth', 3,  'Color', 'b');

2. Ergebnisanzeige

Die Ergebnisse sind in Abbildung 3 unten dargestellt und es ist ersichtlich, dass die berechnete Krümmung im Wesentlichen nahe bei 0,05 liegt.

Abb. 3 Berechnung der Krümmungsergebnisse kreisförmiger Streupunkte mithilfe der Methode zur Ermittlung des umschriebenen Kreises mit drei Punkten

Zusammenfassen

Die Methode, drei Punkte zum Ermitteln des umschriebenen Kreises zu verwenden, verfügt über klare Ideen und eine einfache mathematische Ableitung und eignet sich sehr gut für den Einsatz in Fällen mit mehreren diskreten Punktmengen.

Ich denke du magst

Origin blog.csdn.net/LWH995158080/article/details/128772040
Empfohlen
Rangfolge