待整理
本文從畢設中整理,尚未整理完成。
Frenet座標系介紹
Frenet–Serret公式用於描述粒子在三維歐氏空間內沿一條連續可微曲線的運動學特徵
T稱爲切向量(Tangent),表示沿曲線運動方向的單位向量;N稱爲法向量(Normal),表示當前曲線運動平面內垂直於的單位向量;B稱爲當前運動平面的副法向量(Binormal),表示同時垂直於和的單位向量。令r(t)爲這個歐式空間中隨着時間t改變的非退化曲線,可令s(t)爲這條非退化曲線在時間t的弧長。
退化曲線即:兩條相交直線,當一個平面過圓錐的頂點截圓錐面得到曲線,其方程爲(A1x+B1y+C1) *(A2x+B2y+C2) = 0
形似二次曲線,實際爲兩條直線
s(t)=∫0t∣∣γ′(σ)∣∣dσ
t還可以表示爲s的函數,也即是存在t(s),從而有r(s)=r(t(s)),對於這條將利用弧長表達的曲線函數,可以定義其切向量T、法向量N、副法向量B如下:
假設存在:y(x)、z(x)兩個函數
那麼存在:用z表示y的函數y(z)=y(x(z))=y(z)
注:y=3∗x、x(y)=1/3∗y z=2∗x、x(z)=1/2∗z
y(z)=y(x(z))=3∗x(z)=3∗1/2∗z
T∣∣dsdr∣∣dsdrdsdr 除以自己的範數(長度),得到一個歸一化的向量
N∣∣dsdT∣∣dsdT
B=T×N
根據公式可知:
dsdT=κN
dsdN=−κT+τB
dsdB=−τN
其中,κ、τ爲r(t(s))曲線的曲率和撓率。其矩陣表達式如下所示:
⎣⎡T′N′B′⎦⎤=⎣⎡0−κ0κ0τ0τ0⎦⎤⎣⎡TNB⎦⎤
frenet座標在無人駕駛中的用途
對於當前的無人駕駛研究而言,通常不會單獨將高度作爲規劃因素,因此可以將車輛運動曲線投影到同一平面內,即令τ=0,這樣上式就可以簡化爲:
[T′N′]=[0−κκ0][TN]
假定r(t(s))是參考線在弧長s處的位置,x是當前車輛軌跡點,該向量一般採用UTM座標表示,x=[x,y]T,在Frenet座標系下,一般採用弧長s和橫向偏移l描述車輛當前位置對其描述,即x=x(s,l)。
θr、Tr、Nr分別爲規劃軌跡的方位角、單位切向角和單位法向角,θr、Tr、Nr分別爲當前軌跡的方位角、單位切向角和單位法向角。由正交定義可得:
Tr=[cosθrsinθr]
Nr=[−sinθrcosθr]
Tx=[cosθxsinθx]
Nx=[−sinθxcosθx]
因爲正交,所以可知:Tr×Nr=0、Tx×Nx=0
通過對平面向量的加減可得:
x(s,l)=r(s)+l(s)Nr(s)
根據公式得:
lNTN=NT(x−r)
根據外積的反稱性可知:
l=[xr]Nr
假設有任意∀a:
a˙=dtd(a)
a¨=dtd(a˙)
a′=dsd(a)
a′′=dsd(a′)
在上式中,俺們規定,a˙表示a對時間t的一階求導,a¨表示a對時間t的一階求導,a′表示a對弧長s的一階求導,a′′表示a對弧長s的二階求導。
則有:
l˙=[x˙−r˙]TNr−[x−r]TNr˙
由單位切向量和單位法向量的定義可得:
x˙=dtd∣∣x∣∣Tx=vxTx
r˙=dtd∣∣r∣∣Tr=s˙T
將公式互相帶入,結合平面幾何知識可知:
l˙=vxsinΔθ
其中Δθ爲θx−θr。
同樣地可知:
x˙=dtd(r+lNr)=r˙+l˙Nr+lNr˙
即是:
vx=∣∣x˙∣∣=[s˙(1−κt)l]2+l˙2
最終可以將l′和l′′表示如下:
l′=s˙vxsinΔθ(1−κrl)tanΔθ
l′′=−(κr′l+κrl′)tanΔθ+cos2Δθ(1−κrl)(κxcosΔθ1−κrl−κr)