待整理
本文从毕设中整理,尚未整理完成。
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)