本文根据B站up:忠厚老实的老王 的视频《自动驾驶决策规划算法第一章第三节(上) 直角坐标与自然坐标转换》整理,连接:https://www.bilibili.com/video/BV1tQ4y1r7fh?spm_id_from=333.1007.top_right_bar_window_history.content.click
Planning-Frenet坐标和Cartesian坐标转换上
Planning-Frenet坐标和Cartesian坐标转换中
2.4 F r e n e t Frenet Frenet坐标系转换到 C a r t e s i a n Cartesian Cartesian坐标系
已知 r r ⃗ , v r ⃗ , κ r , s , s ˙ , s ¨ , l , l ′ , l ′ ′ \vec{r_r}, \vec{v_r}, \kappa_r,s, \dot{s}, \ddot{s}, l, l^{\prime}, l^{\prime \prime} rr,vr,κr,s,s˙,s¨,l,l′,l′′。
2.4.1 计算 ( x h , y h ) (x_h, y_h) (xh,yh)
{ x h = x r − l s i n ( θ r ) y h = y r + l c o s ( θ r ) (2-25) \begin{cases} x_h = x_r - lsin(\theta_r) \\ y_h = y_r + lcos(\theta_r) \end{cases} \tag{2-25} {xh=xr−lsin(θr)yh=yr+lcos(θr)(2-25)
2.4.2 计算 θ h \theta_h θh
由公式
(
2
−
14
)
(2-14)
(2−14)得:
θ
h
=
a
r
c
t
a
n
(
l
′
1
−
κ
r
l
)
+
θ
r
(2-26)
\theta_h = arctan(\frac{l^{\prime}}{1-\kappa_r l}) + \theta_r \tag{2-26}
θh=arctan(1−κrll′)+θr(2-26)
2.4.3 计算 ∣ v h ∣ |v_h| ∣vh∣
由
(
2
−
11
)
(2-11)
(2−11)得
∣
v
h
⃗
∣
c
o
s
(
θ
h
−
θ
r
)
=
s
r
˙
(
1
−
κ
r
l
)
(2-27)
|\vec{v_h}| cos(\theta_h - \theta_r) = \dot{s_r} (1-\kappa_r l) \tag{2-27}
∣vh∣cos(θh−θr)=sr˙(1−κrl)(2-27)
由
(
2
−
11
)
,
(
2
−
14
)
(2-11),(2-14)
(2−11),(2−14)等号两边同时相乘得
s
r
˙
l
′
=
∣
v
h
⃗
∣
s
i
n
(
θ
h
−
θ
r
)
(2-28)
\dot{s_r} l^{\prime} = |\vec{v_h}| sin(\theta_h - \theta_r) \tag{2-28}
sr˙l′=∣vh∣sin(θh−θr)(2-28)
所以
(
∣
v
h
⃗
∣
)
2
(
c
o
s
2
(
θ
h
−
θ
r
)
+
s
i
n
2
(
θ
h
−
θ
r
)
)
=
(
s
r
˙
(
1
−
κ
r
l
)
)
2
+
(
s
r
˙
l
′
)
2
(2-29)
(|\vec{v_h}|)^2 (cos^2(\theta_h - \theta_r) + sin^2(\theta_h - \theta_r)) = (\dot{s_r} (1-\kappa_r l))^2 + (\dot{s_r} l^{\prime})^2 \tag{2-29}
(∣vh∣)2(cos2(θh−θr)+sin2(θh−θr))=(sr˙(1−κrl))2+(sr˙l′)2(2-29)
∣ v h ⃗ ∣ = ( s r ˙ ( 1 − κ r l ) ) 2 + ( s r ˙ l ′ ) 2 (2-30) |\vec{v_h}|= \sqrt{(\dot{s_r} (1-\kappa_r l))^2 + (\dot{s_r} l^{\prime})^2} \tag{2-30} ∣vh∣=(sr˙(1−κrl))2+(sr˙l′)2(2-30)
2.4.4 计算 κ h \kappa_h κh
由
(
2
−
24
)
(2-24)
(2−24)得:
κ
h
=
(
(
l
′
′
+
(
κ
r
′
l
+
κ
r
l
′
)
t
a
n
(
θ
h
−
θ
r
)
)
c
o
s
2
(
θ
h
−
θ
r
)
1
−
κ
r
l
+
κ
r
)
c
o
s
(
θ
h
−
θ
r
)
1
−
κ
r
l
(2-31)
\kappa_h = ((l^{\prime \prime} + ({\kappa_r}^{\prime}l + \kappa_r l^{\prime}) tan(\theta_h - \theta_r)) \frac{cos^2(\theta_h - \theta_r)}{1-\kappa_r l} + \kappa_r) \frac{cos(\theta_h - \theta_r)}{1-\kappa_r l} \tag{2-31}
κh=((l′′+(κr′l+κrl′)tan(θh−θr))1−κrlcos2(θh−θr)+κr)1−κrlcos(θh−θr)(2-31)
2.4.5 计算 ∣ a h ∣ |a_h| ∣ah∣
有
(
2
−
18
)
,
(
2
−
31
)
(2-18),(2-31)
(2−18),(2−31)得:
∣
a
h
∣
=
s
r
¨
c
o
s
(
θ
h
−
θ
r
)
1
−
κ
r
l
+
s
r
˙
2
c
o
s
(
θ
h
−
θ
r
)
[
l
′
(
1
−
κ
r
l
c
o
s
(
θ
h
−
θ
r
)
κ
h
−
κ
r
)
−
(
κ
r
′
l
+
κ
r
l
′
)
]
(2-32)
|a_h| = \ddot{s_r} \frac{cos(\theta_h - \theta_r)}{1-\kappa_r l} + \frac{{\dot{s_r}}^2}{cos(\theta_h - \theta_r)} [l ^{\prime}(\frac{1-\kappa_r l}{cos(\theta_h - \theta_r)} \kappa_h - \kappa_r) - ({\kappa_r}^{\prime}l + \kappa_r l^{\prime})] \tag{2-32}
∣ah∣=sr¨1−κrlcos(θh−θr)+cos(θh−θr)sr˙2[l′(cos(θh−θr)1−κrlκh−κr)−(κr′l+κrl′)](2-32)
2.5 总结
2.5.1 C a r t e s i a n Cartesian Cartesian坐标系转换到 F r e n e t Frenet Frenet坐标系
2.5.1.1 向量形式
{ l = ( r h ⃗ − r r ⃗ ) ⋅ n r ⃗ s r ˙ = v h ⃗ ⋅ τ r ⃗ 1 − κ r l l ˙ = v h ⃗ ⋅ n r ⃗ l ′ = ( 1 − κ r l ) v h ⃗ ⋅ n r ⃗ v h ⃗ ⋅ τ r ⃗ s r ¨ = a ⃗ ⋅ τ r ⃗ 1 − κ r l + κ r s r ˙ 2 l ′ 1 − κ r l + s r ˙ 2 1 − κ r l ( κ r ′ l + κ r l ′ ) l ¨ = a ⃗ ⋅ n r ⃗ − κ r ( 1 − κ r l ) ( s r ˙ ) 2 l ′ ′ = l ¨ − l ′ s r ¨ s r ˙ 2 (3-33) \begin{cases} l = (\vec{r_h} - \vec{r_r}) \cdot \vec{n_r} \\ \dot{s_r} = \frac{\vec{v_h} \cdot \vec{\tau_r}}{1-\kappa_r l} \\ \dot{l} = \vec{v_h} \cdot \vec{n_r} \\ l^{\prime} = (1-\kappa_r l) \frac{\vec{v_h} \cdot \vec{n_r}}{\vec{v_h} \cdot \vec{\tau_r}} \\ \ddot{s_r} = \frac{\vec{a} \cdot \vec{\tau_r}}{1-\kappa_r l} + \frac{\kappa_r \dot{s_r}^2 l^{\prime}}{1-\kappa_r l} + \frac{\dot{s_r}^2}{1-\kappa_r l}({\kappa_r}^{\prime}l + \kappa_r l^{\prime}) \\ \ddot{l} = \vec{a} \cdot \vec{n_r} - \kappa_r (1-\kappa_r l) (\dot{s_r})^2 \\ l^{\prime \prime} = \frac{\ddot{l} - l^{\prime} \ddot{s_r}}{{\dot{s_r}}^2} \end{cases} \tag{3-33} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧l=(rh−rr)⋅nrsr˙=1−κrlvh⋅τrl˙=vh⋅nrl′=(1−κrl)vh⋅τrvh⋅nrsr¨=1−κrla⋅τr+1−κrlκrsr˙2l′+1−κrlsr˙2(κr′l+κrl′)l¨=a⋅nr−κr(1−κrl)(sr˙)2l′′=sr˙2l¨−l′sr¨(3-33)
2.5.1.2 三角函数形式
{ l = s i g n ( ( y h − y r ) c o s ( θ r ) − ( x h − x r ) s i n ( θ r ) ) ( y h − y r ) 2 − ( x h − x r ) 2 s r ˙ = ∣ v h ⃗ ∣ c o s ( θ h − θ r ) 1 − κ r l l ˙ = ∣ v h ⃗ ∣ s i n ( θ h − θ r ) l ′ = ( 1 − κ r l ) t a n ( θ h − θ r ) s r ¨ = ∣ a h ⃗ ∣ c o s ( θ h − θ r ) − s r ˙ 2 ( l ′ ( κ h 1 − κ r l c o s ( θ h − θ r ) − κ r ) − ( κ r ′ l + κ r l ′ ) ) 1 − κ r l l ¨ = ∣ a ⃗ ∣ s i n ( θ h − θ r ) − κ r ( 1 − κ r l ) ( s r ˙ ) 2 l ′ ′ = − ( κ r ′ l + κ r l ′ ) t a n ( θ h − θ r ) + 1 − κ r l c o s 2 ( θ h − θ r ) ( 1 − κ r l c o s ( θ h − θ r ) κ h − κ r ) (3-34) \begin{cases} l = sign((y_h - y_r) cos(\theta_r) - (x_h - x_r)sin(\theta_r)) \sqrt{(y_h - y_r)^2 - (x_h - x_r)^2} \\ \dot{s_r} = \frac{|\vec{v_h}| cos(\theta_h - \theta_r)}{1-\kappa_r l} \\ \dot{l} = |\vec{v_h}| sin(\theta_h - \theta_r) \\ l^{\prime} = (1-\kappa_r l) tan(\theta_h - \theta_r) \\ \ddot{s_r} = \frac{|\vec{a_h}| cos(\theta_h - \theta_r) - {\dot{s_r}}^2(l^{\prime} (\kappa_h \frac{1-\kappa_r l}{cos(\theta_h - \theta_r)} - \kappa_r) - ({\kappa_r}^{\prime}l + \kappa_r l^{\prime}))} {1-\kappa_r l} \\ \ddot{l} = |\vec{a}| sin(\theta_h - \theta_r) - \kappa_r (1-\kappa_r l) (\dot{s_r})^2 \\ l^{\prime \prime} = -({\kappa_r}^{\prime}l + \kappa_r l^{\prime}) tan(\theta_h - \theta_r) + \frac{1-\kappa_r l}{cos^2(\theta_h - \theta_r)} (\frac{1-\kappa_r l}{cos(\theta_h - \theta_r)} \kappa_h - \kappa_r) \end{cases} \tag{3-34} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧l=sign((yh−yr)cos(θr)−(xh−xr)sin(θr))(yh−yr)2−(xh−xr)2sr˙=1−κrl∣vh∣cos(θh−θr)l˙=∣vh∣sin(θh−θr)l′=(1−κrl)tan(θh−θr)sr¨=1−κrl∣ah∣cos(θh−θr)−sr˙2(l′(κhcos(θh−θr)1−κrl−κr)−(κr′l+κrl′))l¨=∣a∣sin(θh−θr)−κr(1−κrl)(sr˙)2l′′=−(κr′l+κrl′)tan(θh−θr)+cos2(θh−θr)1−κrl(cos(θh−θr)1−κrlκh−κr)(3-34)
2.5.2 F r e n e t Frenet Frenet坐标系转换到 C a r t e s i a n Cartesian Cartesian坐标系
{ x h = x r − l s i n ( θ r ) y h = y r + l c o s ( θ r ) ∣ v h ⃗ ∣ = ( s r ˙ ( 1 − κ r l ) ) 2 + ( s r ˙ l ′ ) 2 κ h = ( ( l ′ ′ + ( κ r ′ l + κ r l ′ ) t a n ( θ h − θ r ) ) c o s 2 ( θ h − θ r ) 1 − κ r l + κ r ) c o s ( θ h − θ r ) 1 − κ r l ∣ a h ∣ = s r ¨ c o s ( θ h − θ r ) 1 − κ r l + s r ˙ 2 c o s ( θ h − θ r ) [ l ′ ( 1 − κ r l c o s ( θ h − θ r ) κ h − κ r ) − ( κ r ′ l + κ r l ′ ) ] (3-35) \begin{cases} x_h = x_r - lsin(\theta_r) \\ y_h = y_r + lcos(\theta_r) \\ |\vec{v_h}|= \sqrt{(\dot{s_r} (1-\kappa_r l))^2 + (\dot{s_r} l^{\prime})^2} \\ \kappa_h = ((l^{\prime \prime} + ({\kappa_r}^{\prime}l + \kappa_r l^{\prime}) tan(\theta_h - \theta_r)) \frac{cos^2(\theta_h - \theta_r)}{1-\kappa_r l} + \kappa_r) \frac{cos(\theta_h - \theta_r)}{1-\kappa_r l} \\ |a_h| = \ddot{s_r} \frac{cos(\theta_h - \theta_r)}{1-\kappa_r l} + \frac{{\dot{s_r}}^2}{cos(\theta_h - \theta_r)} [l ^{\prime}(\frac{1-\kappa_r l}{cos(\theta_h - \theta_r)} \kappa_h - \kappa_r) - ({\kappa_r}^{\prime}l + \kappa_r l^{\prime})] \end{cases} \tag{3-35} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧xh=xr−lsin(θr)yh=yr+lcos(θr)∣vh∣=(sr˙(1−κrl))2+(sr˙l′)2κh=((l′′+(κr′l+κrl′)tan(θh−θr))1−κrlcos2(θh−θr)+κr)1−κrlcos(θh−θr)∣ah∣=sr¨1−κrlcos(θh−θr)+cos(θh−θr)sr˙2[l′(cos(θh−θr)1−κrlκh−κr)−(κr′l+κrl′)](3-35)