【自动驾驶坐标系基础】Frenet坐标系和Cartesian坐标系的相互转换

Frenet坐标系和Cartesian坐标系的相互转换

2023.12.12

1 变量含义

在这里插入图片描述

  • Frenet和Cartesian相互转换即 [ s , s ˙ , s ¨ , d , d ˙ , d ¨ ] ↔ [ X , θ x , κ x , v x , a x ] [s,\dot{s},\ddot{s},d,\dot{d},\ddot{d}] \leftrightarrow[\boldsymbol{X},\theta_x,\kappa_x,v_x,a_x] [s,s˙,s¨,d,d˙,d¨]↔[X,θx​,κx​,vx​,ax​]

  • 还要用到的中间变量有 n x , t x , n r , t r , r , d ′ , d ′ ′ , θ r , Δ θ , κ r , κ x ′ , κ r ′ \boldsymbol{n_x},\boldsymbol{t_x},\boldsymbol{n_r},\boldsymbol{t_r},\boldsymbol{r},d',d'',\theta_r,\Delta\theta,\kappa_r,\kappa_x',\kappa_r' nx​,tx​,nr​,tr​,r,d′,d′′,θr​,Δθ,κr​,κx′​,κr′​

  • 各变量含义:

    变量含义
    X \boldsymbol{X} XCartesian坐标系下的坐标( X = [ x , y ] \boldsymbol{X}=[x,y] X=[x,y])
    r \boldsymbol{r} rtrajectory上的点 X \boldsymbol{X} X对应center line上最近点的Cartesian坐标
    v x , a x v_x,a_x vx​,ax​Cartesian坐标系下的速度和加速度
    s , s ˙ , s ¨ s,\dot{s},\ddot{s} s,s˙,s¨Frenet坐标系下的纵向坐标及其对时间的高阶导( d d t \frac{d}{dt} dtd​)
    s x s_x sx​trajectory的弧长(注:centerline弧长 s r s_r sr​默认写成 s s s)
    d , d ˙ , d ¨ d,\dot{d},\ddot{d} d,d˙,d¨Frenet坐标系下的横向坐标及其对时间的高阶导( d d t \frac{d}{dt} dtd​)
    d ′ , d ′ ′ d',d'' d′,d′′Frenet坐标系下的横向坐标对纵向坐标的高阶导( d d s \frac{d}{ds} dsd​)
    θ x , θ r \theta_x,\theta_r θx​,θr​Cartesian坐标系下trajectory/center line的切线与x轴的夹角
    θ r ′ \theta_r' θr′​ θ r ′ = d θ r d s r = κ r \theta_r'=\frac{d\theta_r}{ds_r}=\kappa_r θr′​=dsr​dθr​​=κr​
    Δ θ \Delta\theta Δθ Δ θ = θ x − θ r \Delta\theta = \theta_x - \theta_r Δθ=θx​−θr​
    n x , t x \boldsymbol{n_x},\boldsymbol{t_x} nx​,tx​Cartesian坐标系下trajectory的法线和切线
    n x = [ − s i n θ x , c o s θ x ] T \boldsymbol{n_x}=[-sin{\theta_x},cos{\theta_x}]^T nx​=[−sinθx​,cosθx​]T
    t x = [ c o s θ x , s i n θ x ] T \boldsymbol{t_x}=[cos{\theta_x},sin{\theta_x}]^T tx​=[cosθx​,sinθx​]T
    n r , t r \boldsymbol{n_r},\boldsymbol{t_r} nr​,tr​Cartesian坐标系下center line的法线和切线
    n r = [ − s i n θ r , c o s θ r ] T \boldsymbol{n_r}=[-sin{\theta_r},cos{\theta_r}]^T nr​=[−sinθr​,cosθr​]T
    t r = [ c o s θ r , s i n θ r ] T \boldsymbol{t_r}=[cos{\theta_r},sin{\theta_r}]^T tr​=[cosθr​,sinθr​]T
    κ x , κ r \kappa_x,\kappa_r κx​,κr​Cartesian坐标系下trajectory/center line的曲率
    κ x ′ , κ r ′ \kappa_x',\kappa_r' κx′​,κr′​Cartesian坐标系下trajectory/center line的曲率对纵向坐标的导数( d d s \frac{d}{ds} dsd​)
2 推导

先来推导 d ˙ \dot{d} d˙,由图像容易看出, d = ( x − r ) T n r d=(\boldsymbol{x}-\boldsymbol{r})^T\boldsymbol{n_r} d=(x−r)Tnr​,两边对t求导得:
d ˙ = [ x ˙ − r ˙ ] T n r + [ x − r ] T n ˙ r \dot{d}=[\dot{x}-\dot{r}]^T\boldsymbol{n}_r+[x-r]^T\dot{\boldsymbol{n}}_r d˙=[x˙−r˙]Tnr​+[x−r]Tn˙r​
x ˙ \dot{x} x˙很直观, x ˙ = v x t x \dot{x}=v_x\boldsymbol{t_x} x˙=vx​tx​,由[变化量很小时,弧长=割线=切线]的思想, r ˙ = s ˙ t r \dot{r}=\dot{s}\boldsymbol{t_r} r˙=s˙tr​,最难求的是 n ˙ r \dot{\boldsymbol{n}}_r n˙r​,由于 n r = [ − s i n θ r , c o s θ r ] T \boldsymbol{n_r}=[-sin{\theta_r},cos{\theta_r}]^T nr​=[−sinθr​,cosθr​]T,两边对时间求导,得到 n ˙ r = [ − cos ⁡ θ r , − s i n θ r ] T θ r ˙ = − t r θ r ′ s ˙ = − t r κ r s ˙ \dot{\boldsymbol{n}}_r=[-\cos{\theta_r},-sin{\theta_r}]^T\dot{\theta_r}=-\boldsymbol{t_r}\theta_r'\dot{s}=-\boldsymbol{t_r}\kappa_r\dot{s} n˙r​=[−cosθr​,−sinθr​]Tθr​˙​=−tr​θr′​s˙=−tr​κr​s˙,从而:
d ˙ = v x t x T n r − s ˙ t r T n r − [ x − r ] T t r κ r s ˙ = v x t x T n r ( t r , n r 正交 ; [ x − r ] , t r 正交) = v x [ c o s θ x , s i n θ x ] [ − s i n θ r , c o s θ r ] T = v x sin ⁡ Δ θ \dot{d}=v_x\boldsymbol{t_x}^T\boldsymbol{n}_r-\dot{s}\boldsymbol{t_r}^T\boldsymbol{n}_r-[x-r]^T\boldsymbol{t_r}\kappa_r\dot{s} \\=v_x\boldsymbol{t_x}^T\boldsymbol{n}_r(\boldsymbol{t_r},\boldsymbol{n}_r正交;[x-r],\boldsymbol{t_r}正交) \\=v_x[cos{\theta_x},sin{\theta_x}][-sin{\theta_r},cos{\theta_r}]^T \\=v_x\sin{\Delta\theta} d˙=vx​tx​Tnr​−s˙tr​Tnr​−[x−r]Ttr​κr​s˙=vx​tx​Tnr​(tr​,nr​正交;[x−r],tr​正交)=vx​[cosθx​,sinθx​][−sinθr​,cosθr​]T=vx​sinΔθ
下面推导 d ′ d' d′:
d ′ = d d d s = d d d t d t d s = d ˙ s ˙ = 1 s ˙ v x sin ⁡ Δ θ d'=\frac{dd}{ds}=\frac{dd}{dt}\frac{dt}{ds}=\frac{\dot{d}}{\dot{s}}=\frac{1}{\dot{s}}v_x\sin{\Delta\theta} d′=dsdd​=dtdd​dsdt​=s˙d˙​=s˙1​vx​sinΔθ
要把未知量 s ˙ \dot{s} s˙消掉,通过 v x v_x vx​来消:
v x = ∣ ∣ x ˙ ∣ ∣ 2 = ∣ ∣ d ( r + d n r ) d t ∣ ∣ 2 = s ˙ t r + d ˙ n r − d t r κ r s ˙ = ∣ ∣ [ t r , n r ] [ 1 − κ r d 0 0 1 ] [ s ˙ d ˙ ] ∣ ∣ 2 = ( 1 − κ r d ) 2 s ˙ 2 + d ˙ 2 = ( 1 − κ r d ) 2 s ˙ 2 + d ′ 2 s ˙ 2 v_x = ||\dot{x}||_2=||\frac{d(\boldsymbol{r}+d\boldsymbol{n}_r)}{dt}||_2 \\=\dot{s}\boldsymbol{t}_r+\dot{d}\boldsymbol{n}_r-d\boldsymbol{t_r}\kappa_r\dot{s} \\=||[\boldsymbol{t_r},\boldsymbol{n_r}] \begin{bmatrix} 1-\kappa_rd & 0 \\ 0 & 1 \\ \end{bmatrix} \begin{bmatrix} \dot{s} \\ \dot{d} \\ \end{bmatrix}||_2 \\=\sqrt{(1-\kappa_rd)^2\dot{s}^2+\dot{d}^2} \\=\sqrt{(1-\kappa_rd)^2\dot{s}^2+d'^2\dot{s}^2} vx​=∣∣x˙∣∣2​=∣∣dtd(r+dnr​)​∣∣2​=s˙tr​+d˙nr​−dtr​κr​s˙=∣∣[tr​,nr​][1−κr​d0​01​][s˙d˙​]∣∣2​=(1−κr​d)2s˙2+d˙2 ​=(1−κr​d)2s˙2+d′2s˙2 ​
代入可得:
d ′ 2 = ( 1 s ˙ v x sin ⁡ Δ θ ) 2 = [ ( 1 − κ r d ) 2 + d ′ 2 ] sin ⁡ 2 Δ θ ↓ d ′ ( 1 − sin ⁡ 2 Δ θ ) = ( 1 − κ r d ) 2 sin ⁡ 2 Δ θ ↓ d ′ = ( 1 − κ r d ) tan ⁡ Δ θ d'^2=(\frac{1}{\dot{s}}v_x\sin{\Delta\theta})^2=[(1-\kappa_rd)^2+d'^2]\sin^2{\Delta\theta} \\\downarrow \\ d'(1-\sin^2{\Delta\theta})= (1-\kappa_rd)^2\sin^2{\Delta\theta} \\\downarrow \\ d'=(1-\kappa_rd)\tan{\Delta\theta} d′2=(s˙1​vx​sinΔθ)2=[(1−κr​d)2+d′2]sin2Δθ↓d′(1−sin2Δθ)=(1−κr​d)2sin2Δθ↓d′=(1−κr​d)tanΔθ
下面推导 d ′ ′ d'' d′′,
d ′ ′ = d d d d s d s = d d ′ d s = ( − κ r ′ d − κ r d ′ ) tan ⁡ Δ θ + ( 1 − κ r d ) 1 cos ⁡ 2 Δ θ d Δ θ d s = − ( κ r ′ d + κ r d ′ ) tan ⁡ Δ θ + ( 1 − κ r d ) 1 cos ⁡ 2 Δ θ ( d θ x d s − d θ r d s ) = − ( κ r ′ d + κ r d ′ ) tan ⁡ Δ θ + ( 1 − κ r d ) 1 cos ⁡ 2 Δ θ ( d θ x d s x d s x d s − κ r ) = − ( κ r ′ d + κ r d ′ ) tan ⁡ Δ θ + ( 1 − κ r d ) 1 cos ⁡ 2 Δ θ ( d θ x d s x d s x / d t d s / d t − κ r ) = − ( κ r ′ d + κ r d ′ ) tan ⁡ Δ θ + ( 1 − κ r d ) 1 cos ⁡ 2 Δ θ ( κ x v x s ˙ − κ r ) d''=\frac{d\frac{dd}{ds}}{ds}=\frac{dd'}{ds}=(-\kappa_r'd-\kappa_rd')\tan{\Delta\theta}+(1-\kappa_rd)\frac{1}{\cos^2{\Delta\theta}}\frac{d\Delta\theta}{ds} \\=-(\kappa_r'd+\kappa_rd')\tan{\Delta\theta}+(1-\kappa_rd)\frac{1}{\cos^2{\Delta\theta}}(\frac{d\theta_x}{ds}-\frac{d\theta_r}{ds}) \\=-(\kappa_r'd+\kappa_rd')\tan{\Delta\theta}+(1-\kappa_rd)\frac{1}{\cos^2{\Delta\theta}}(\frac{d\theta_x}{ds_x}\frac{ds_x}{ds}-\kappa_r) \\=-(\kappa_r'd+\kappa_rd')\tan{\Delta\theta}+(1-\kappa_rd)\frac{1}{\cos^2{\Delta\theta}}(\frac{d\theta_x}{ds_x}\frac{ds_x/dt}{ds/dt}-\kappa_r) \\=-(\kappa_r'd+\kappa_rd')\tan{\Delta\theta}+(1-\kappa_rd)\frac{1}{\cos^2{\Delta\theta}}(\kappa_x\frac{v_x}{\dot{s}}-\kappa_r) d′′=dsddsdd​​=dsdd′​=(−κr′​d−κr​d′)tanΔθ+(1−κr​d)cos2Δθ1​dsdΔθ​=−(κr′​d+κr​d′)tanΔθ+(1−κr​d)cos2Δθ1​(dsdθx​​−dsdθr​​)=−(κr′​d+κr​d′)tanΔθ+(1−κr​d)cos2Δθ1​(dsx​dθx​​dsdsx​​−κr​)=−(κr′​d+κr​d′)tanΔθ+(1−κr​d)cos2Δθ1​(dsx​dθx​​ds/dtdsx​/dt​−κr​)=−(κr′​d+κr​d′)tanΔθ+(1−κr​d)cos2Δθ1​(κx​s˙vx​​−κr​)

需要把未知量 s ˙ \dot{s} s˙消掉,由 0 = ( x − r ) T t r 0=(x-r)^T\boldsymbol{t}_r 0=(x−r)Ttr​两边对时间求导:
0 = ( x ˙ − r ˙ ) T t r + ( x − r ) T t ˙ r 0 = v x t x T t r − s ˙ t r T t r + ( x − r ) T n r κ r s ˙ 0 = v x cos ⁡ Δ θ − s ˙ ( 1 − κ r d ) ↓ v x = s ˙ 1 − κ r d cos ⁡ Δ θ 0=(\dot{x}-\dot{r})^T\boldsymbol{t}_r+(x-r)^T\dot{\boldsymbol{t}}_r \\0=v_x\boldsymbol{t}_x^T\boldsymbol{t}_r-\dot{s}\boldsymbol{t}_r^T\boldsymbol{t}_r+(x-r)^T\boldsymbol{n}_r\kappa_r\dot{s} \\0=v_x\cos{\Delta\theta}-\dot{s}(1-\kappa_rd) \\\downarrow \\v_x=\dot{s}\frac{1-\kappa_rd}{\cos{\Delta\theta}} 0=(x˙−r˙)Ttr​+(x−r)Tt˙r​0=vx​txT​tr​−s˙trT​tr​+(x−r)Tnr​κr​s˙0=vx​cosΔθ−s˙(1−κr​d)↓vx​=s˙cosΔθ1−κr​d​
代入,得到:
d ′ ′ = − ( κ r ′ d + κ r d ′ ) tan ⁡ Δ θ + ( 1 − κ r d ) 1 cos ⁡ 2 Δ θ ( κ x 1 − κ r d cos ⁡ Δ θ − κ r ) d''=-(\kappa_r'd+\kappa_rd')\tan{\Delta\theta}+(1-\kappa_rd)\frac{1}{\cos^2{\Delta\theta}}(\kappa_x\frac{1-\kappa_rd}{\cos{\Delta\theta}}-\kappa_r) d′′=−(κr′​d+κr​d′)tanΔθ+(1−κr​d)cos2Δθ1​(κx​cosΔθ1−κr​d​−κr​)
由上上式也可以求得 s ˙ \dot{s} s˙:
s ˙ = v x cos ⁡ Δ θ 1 − κ r d \dot{s}=v_x\frac{\cos{\Delta\theta}}{1-\kappa_rd} s˙=vx​1−κr​dcosΔθ​
最后来求 s ¨ \ddot{s} s¨,由 a x = v ˙ x a_x=\dot{v}_x ax​=v˙x​:
a x = v ˙ x = s ¨ 1 − κ r d cos ⁡ Δ θ + s ˙ d s d t d d s 1 − κ r d cos ⁡ Δ θ = s ¨ 1 − κ r d cos ⁡ Δ θ + s ˙ 2 [ ( − κ r ′ d − κ r d ′ ) 1 cos ⁡ Δ θ + ( 1 − κ r d ) 1 cos ⁡ 2 Δ θ sin ⁡ ( Δ θ ) Δ θ ′ ] = s ¨ 1 − κ r d cos ⁡ Δ θ + s ˙ 2 1 cos ⁡ ( Δ θ ) [ ( − κ r ′ d − κ r d ′ ) + ( 1 − κ r d ) tan ⁡ ( Δ θ ) Δ θ ′ ] a_x=\dot{v}_x=\ddot{s}\frac{1-\kappa_rd}{\cos{\Delta\theta}}+\dot{s}\frac{ds}{dt}\frac{d}{ds}\frac{1-\kappa_rd}{\cos{\Delta\theta}} \\=\ddot{s}\frac{1-\kappa_rd}{\cos{\Delta\theta}}+\dot{s}^2[(-\kappa_r'd-\kappa_rd')\frac{1}{\cos{\Delta\theta}}+(1-\kappa_rd)\frac{1}{\cos^2{\Delta\theta}}\sin(\Delta\theta)\Delta\theta'] \\=\ddot{s}\frac{1-\kappa_rd}{\cos{\Delta\theta}}+\dot{s}^2\frac{1}{\cos(\Delta\theta)}[(-\kappa_r'd-\kappa_rd')+(1-\kappa_rd)\tan(\Delta\theta)\Delta\theta'] ax​=v˙x​=s¨cosΔθ1−κr​d​+s˙dtds​dsd​cosΔθ1−κr​d​=s¨cosΔθ1−κr​d​+s˙2[(−κr′​d−κr​d′)cosΔθ1​+(1−κr​d)cos2Δθ1​sin(Δθ)Δθ′]=s¨cosΔθ1−κr​d​+s˙2cos(Δθ)1​[(−κr′​d−κr​d′)+(1−κr​d)tan(Δθ)Δθ′]
其中:
Δ θ ′ = d ( θ x − θ r ) d s = d θ x d s x d s x d s − κ r = κ x v x s ˙ − κ r = κ x 1 − κ r d c o s Δ θ − κ r \Delta\theta'=\frac{d(\theta_x-\theta_r)}{ds}=\frac{d\theta_x}{ds_x}\frac{ds_x}{ds}-\kappa_r=\kappa_x\frac{v_x}{\dot{s}}-\kappa_r=\kappa_x\frac{1-\kappa_rd}{cos\Delta\theta}-\kappa_r Δθ′=dsd(θx​−θr​)​=dsx​dθx​​dsdsx​​−κr​=κx​s˙vx​​−κr​=κx​cosΔθ1−κr​d​−κr​

3 Cartesian转Frenet
  • [ X , θ x , κ x , v x , a x ] , θ r , κ r → [ s , s ˙ , s ¨ , d , d ˙ , d ¨ ] [\boldsymbol{X},\theta_x,\kappa_x,v_x,a_x],\theta_r,\kappa_r \rightarrow [s,\dot{s},\ddot{s},d,\dot{d},\ddot{d}] [X,θx​,κx​,vx​,ax​],θr​,κr​→[s,s˙,s¨,d,d˙,d¨]

  • s,d通过找最近点求得

  • s ˙ = v x cos ⁡ ( Δ θ ) 1 − κ r d , Δ θ = θ x − θ r \dot{s}=v_x\frac{\cos(\Delta\theta)}{1-\kappa_rd},\Delta\theta=\theta_x-\theta_r s˙=vx​1−κr​dcos(Δθ)​,Δθ=θx​−θr​

    s ¨ = cos ⁡ ( Δ θ ) 1 − κ r d [ a x − s ˙ 2 cos ⁡ ( Δ θ ) [ ( − κ r ′ d − κ r d ′ ) + ( 1 − κ r d ) tan ⁡ ( Δ θ ) Δ θ ′ ] ] \ddot{s}=\frac{\cos(\Delta\theta)}{1-\kappa_rd}[a_x-\frac{\dot{s}^2}{\cos(\Delta\theta)}[(-\kappa_r'd-\kappa_rd')+(1-\kappa_rd)\tan(\Delta\theta)\Delta\theta']] s¨=1−κr​dcos(Δθ)​[ax​−cos(Δθ)s˙2​[(−κr′​d−κr​d′)+(1−κr​d)tan(Δθ)Δθ′]]

    κ r ′ = d 2 θ r d s 2 \kappa_r'=\frac{d^2\theta_r}{ds^2} κr′​=ds2d2θr​​

    d ′ = ( 1 − κ r d ) tan ⁡ Δ θ d'=(1-\kappa_rd)\tan{\Delta\theta} d′=(1−κr​d)tanΔθ

    Δ θ ′ = κ x 1 − κ r d c o s Δ θ − κ r , κ x = d θ x d t 1 v x \Delta\theta'=\kappa_x\frac{1-\kappa_rd}{cos\Delta\theta}-\kappa_r,\kappa_x=\frac{d\theta_x}{dt}\frac{1}{v_x} Δθ′=κx​cosΔθ1−κr​d​−κr​,κx​=dtdθx​​vx​1​

  • d ˙ = v x sin ⁡ ( Δ θ ) \dot{d}=v_x\sin(\Delta\theta) d˙=vx​sin(Δθ)

    d ¨ = a x sin ⁡ ( Δ θ ) + v x cos ⁡ ( Δ θ ) s ˙ Δ θ ′ \ddot{d}=a_x\sin(\Delta\theta)+v_x\cos(\Delta\theta)\dot{s}\Delta\theta' d¨=ax​sin(Δθ)+vx​cos(Δθ)s˙Δθ′

4 Frenet转Cartesian
  • [ s , s ˙ , s ¨ , d , d ˙ , d ¨ ] → [ X , θ x , κ x , v x , a x ] [s,\dot{s},\ddot{s},d,\dot{d},\ddot{d}] \rightarrow [\boldsymbol{X},\theta_x,\kappa_x,v_x,a_x] [s,s˙,s¨,d,d˙,d¨]→[X,θx​,κx​,vx​,ax​]

  • X = r + n r d , n r = [ − sin ⁡ ( θ r ) , cos ⁡ ( θ r ) ] T \boldsymbol{X}=\boldsymbol{r}+\boldsymbol{n}_rd,\boldsymbol{n}_r=[-\sin(\theta_r),\cos(\theta_r)]^T X=r+nr​d,nr​=[−sin(θr​),cos(θr​)]T

  • θ x = θ r + arctan ⁡ d ′ 1 − κ r d , d ′ = d ˙ s ˙ \theta_x=\theta_r+\arctan\frac{d'}{1-\kappa_rd},d'=\frac{\dot{d}}{\dot{s}} θx​=θr​+arctan1−κr​dd′​,d′=s˙d˙​

  • κ x = cos ⁡ 3 Δ θ [ d ′ ′ + ( κ r ′ d + κ r d ′ ) tan ⁡ ( Δ θ ) ] 1 − κ r d + κ r c o s Δ θ 1 − κ r d , d ′ ′ = d d d d s d s = d d ˙ s ˙ d s = d ¨ s ˙ − d ˙ s ¨ s ˙ 3 \kappa_x=\frac{\cos^3\Delta\theta[d''+(\kappa_r'd+\kappa_rd')\tan(\Delta\theta)]}{1-\kappa_rd}+\frac{\kappa_rcos\Delta\theta}{1-\kappa_rd},d''=\frac{d\frac{dd}{ds}}{ds}=\frac{d\frac{\dot{d}}{\dot{s}}}{ds}=\frac{\ddot{d}\dot{s}-\dot{d}\ddot{s}}{\dot{s}^3} κx​=1−κr​dcos3Δθ[d′′+(κr′​d+κr​d′)tan(Δθ)]​+1−κr​dκr​cosΔθ​,d′′=dsddsdd​​=dsds˙d˙​​=s˙3d¨s˙−d˙s¨​(由 d ′ ′ d'' d′′的式子得到)

  • v x = s ˙ 1 − κ r d cos ⁡ ( Δ θ ) , Δ θ = θ x − θ r v_x=\dot{s}\frac{1-\kappa_rd}{\cos(\Delta\theta)},\Delta\theta=\theta_x-\theta_r vx​=s˙cos(Δθ)1−κr​d​,Δθ=θx​−θr​

  • a x = s ¨ 1 − κ r d cos ⁡ Δ θ + s ˙ 2 1 cos ⁡ ( Δ θ ) [ ( − κ r ′ d − κ r d ′ ) + ( 1 − κ r d ) tan ⁡ ( Δ θ ) Δ θ ′ ] a_x=\ddot{s}\frac{1-\kappa_rd}{\cos{\Delta\theta}}+\dot{s}^2\frac{1}{\cos(\Delta\theta)}[(-\kappa_r'd-\kappa_rd')+(1-\kappa_rd)\tan(\Delta\theta)\Delta\theta'] ax​=s¨cosΔθ1−κr​d​+s˙2cos(Δθ)1​[(−κr′​d−κr​d′)+(1−κr​d)tan(Δθ)Δθ′]

    κ r ′ = d 2 θ r d s 2 \kappa_r'=\frac{d^2\theta_r}{ds^2} κr′​=ds2d2θr​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.tpcf.cn/news/722684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity开发】【VR】PICO项目在运行编辑器时无法正常显示游戏场景

【背景】 做了一个PICO项目,真机在手边时开发后用PC的Preview模式直接调试,真机不在手边时希望用VRTK的Simulation Rig,用键鼠模拟控制器输入进行快速调试。但是发现Simulation Rig状态下运行后,游戏场景变得很怪,很多…

机器学习之DeepSequence软件使用学习3-预测突变效应

import theano import numpy as np import sys import pandas as pd import scipy from scipy.stats import spearmanr%matplotlib inline import matplotlib.pyplot as plt我们将介绍加载模型和预测突变影响的基本函数。 下载预训练参数。 请首先使用 download_pretrained.s…

计算机软件分类、编程知识体系、编程工作岗位

计算机软件分类、编程知识体系、编程工作岗位 一、计算机软件分类二、计算机语言编程知识体系三、人工智能/机器学习工程师知识体系四、工作岗位 计算机软件分类、计算机编程知识体系、人工智能/机器学习工程师需要掌握的知识体系、计算机语言编程相关工作岗位。存此备查。 一、…

RLT8762D---添加service

0 Preface/Foreword 1 系统初始化LE profile过程 正常开机流程中,gap初始化完成之后,才能进行LE profile初始化。 1.1 添加服务 1.1.1 注册支持服务个数(GATT Server) 函数: server_init 目的:set the number of services th…

MySql缓冲池命中率

缓冲池 大小查看 show variables like innodb_buffer_pool_size; 太小的innodb_buffer_pool_size是不利于性能的提升 命中率查看 一 、 通过以下命令查看相关数据: show global status like Innodb_buffer_pool_read%;结果如下: 命中率公式&#xff1…

已解决com.netflix.client.ClientException Eureka客户端异常的正确解决方法,亲测有效!!!

已解决com.netflix.client.ClientException Eureka客户端异常的正确解决方法,亲测有效!!! 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 总结 在微服务架构中,Eureka作为服务发现组件,…

SpringBoot集成mail

发送邮件:SMPT、MIME,是一种基于"推"的协议,通过SMPT协议将邮件发送至邮件服务器,MIME协议是对SMPT协议的一种补充,如发送图片附件等 接收邮件:POP、IMAP,是一种基于"拉"的…

Zabbix监控容器MongoDB,报错:Unknown metric mongodb.server.status

在Zabbix中配置监控MongoDB容器时,如果遇到Unknown metric mongodb.server.status这样的错误,通常意味着Zabbix Agent尝试从MongoDB获取某个预定义的性能指标(例如mongodb.server.status),但是未能成功识别或解析该指标…

GPT4+Python近红外光谱数据分析及机器学习与深度学习建模教程

原文链接:GPT4Python近红外光谱数据分析及机器学习与深度学习建模教程 第一:GPT4 1、ChatGPT(GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变) 2、ChatGPT对话初体验 3、GPT-4与GPT-3.5的区别,以及与国内大语言模…

简易版axios实现-基于promise+XMLHttpRequest

/*** 目标:封装_简易axios函数_获取省份列表* 1. 定义myAxios函数,接收配置对象,返回Promise对象* 2. 发起XHR请求,默认请求方法为GET* 3. 调用成功/失败的处理程序* 4. 使用myAxios函数,获取省份列表展示*/functi…

[数据集][目标检测]芒果叶病害数据集VOC+YOLO格式4000张5类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4000 标注数量(xml文件个数):4000 标注数量(txt文件个数):4000 标注…

微信小程序开发系列(十六)·事件传参·data-*自定义数据

事件传参:在触发事件时,将一些数据作为参数传递给事件处理函数的过程,就是事件传参。 在微信小程序中,我们经常会在组件上添加一些自定义数据,然后在事件处理函数中获取这些自定义数据,从而完成业务逻辑的开发。 在组件上通过data-"的方式定义需要传递的数据,其…

Android14之解决编译报错:bazel: no such file or directory(一百八十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

赢在起跑线:商品企划系统为鞋服品牌带来的竞争优势解析

在鞋服行业的激烈竞争中,每个品牌都渴望在市场中脱颖而出,而成功的起点往往在于商品企划的策略制定。商品企划系统作为一种先进的商业策略工具,能够帮助鞋服品牌赢在起跑线,获得竞争优势。本文将深入探讨商品企划系统如何为鞋服品…

计算机丢失msvcp140_1.dll怎样修复,分享五种有效的解决方法

当计算机系统中msvcp140_1.dll文件发生丢失时,可能会引发一系列运行问题,具体表现形式多种多样。首先,由于msvcp140_1.dll是Microsoft Visual C Redistributable Package的重要组成部分,它的缺失将直接影响到依赖这一库的各类应用…

Vue.js+SpringBoot开发计算机机房作业管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登录注册模块2.2 课程管理模块2.3 课时管理模块2.4 学生作业模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程表3.2.2 课时表3.2.3 学生作业表 四、系统展示五、核心代码5.1 查询课程数据5.2 新增课时5.3 提交作…

01. Nginx入门-Nginx简介

Web基础知识 Web协议通信原理 Web协议通信过程 浏览器本身是一个客户端,当输入URL后,首先浏览器会请求DNS服务器,通过DNS获取相应的域名对应的IP。通过IP地址找到对应的服务器后,监理TCP连接。等浏览器发送完HTTP Request&…

UD效果广告

1.定义 全称Unidesk,是由阿里旗下大数据运营平台“阿里妈妈”推出的数字营销引流平台。UD投放将其他媒体的流量通过相关的广告创意导入到天猫店铺。 2.UD投放优化技巧 (1)不起量排查: 可以从账户问题、计划数量不足、计划设置…

OpenAI 3年前的AI音乐生成项目:Jukebox,效果比SunoAI v3还好

原来OpenAI 3年前就开始搞AI音乐生成了 效果甚至比最近发布的sunoAI v3还要好,难道OpenAI 想把这个隐藏大招练成无人能敌的状态才放出来再一次轰动全球? OpenAI在2019年8月份就推出了他们的一音乐生成模型:Jukebox Jukebox能够根据提供的歌…

基础小白快速入门计算机原理----->计算机的分类

计算机的分类可以从不同的角度进行划分,以下是几种常见的分类方式: 1. **按照性能和规模分类** - **超级计算机**:拥有极强的计算能力,通常用于处理大规模、复杂的计算任务,如气候模拟、核武器设计等。它们的运算速度…