01Frenet与Cartesian坐标系(基础知识)

1 简介

Frenet坐标系是一种在几何学和物理学中常用的坐标系,特别是在轨迹规划和机器人控制中。它由法国数学家Jean Frenet于1847年为了解决在求解某些几何问题时遇到的环形坐标系的问题而提出的。它依据曲线的切线和法线来定义坐标轴,主要用于局部地描述曲线或曲面的几何特性。在自动驾驶技术领域,这种坐标系统提供了一种相对于传统的Cartesian坐标系统更为直观的方式来表示车辆在道路上的位置。

1.1 概念介绍和理解

如图1所示,它采用道路中心线作为基准线,并基于该基准线的切线向量 τ ⃗ \vec{\tau} τ 与法线向量 n ⃗ \vec{n} n 构建坐标框架,坐标轴互相垂直,分别定义为 s s s 方向(沿基准线方向,也称为纵向)和 l l l 方向(当前基准线的法向,也称为横向)。其中, s s s 值表示车辆沿道路的行进距离,即纵向位置,而 l l l 值则表示车辆在道路上的水平位置,即横向位置。

Tips:光看定义没什么感觉。我们来理解一下从Cardesian转到Frenet到底做了一件什么事情。

其实,只做了一件事——把Cartesian空间中的曲线“拉直”。首先,我们要理解Cardesian中为什么会有曲线:如图所示,曲线上的点的位姿 ( x , y , θ ) (x, y, \theta) (x,y,θ)都是相对于 ( x 轴 , O 原点 , y 轴 ) (x_轴,O_{原点},y_轴) (xO原点y)来进行讨论的,当坐标轴不变,位姿变化时,就形成了一条曲线。如果我们深入理解了"运动是相对的"和“参考系”的概念,那自然可以想到沿着我们曲线切线和法线方向建立参考系,不就可以“化曲为直”了。代价是,我们的参考系一直在变(好比是坐标轴在沿着曲线滑动),用代码实现时需要耗费一些计算量。

如果大家了解过电机的定子和转子就更容易理解Cartesian和Frenet的关系了——Cartesian就好比是内转子电机;Frenet就好比是外转子电机。

在这里插入图片描述

1.2 符号表示

Cartesian坐标系表示为: [ r ⃗ , v ⃗ , a ⃗ , θ , κ ] [ \vec{r}, \vec{v}, \vec{a}, \theta, \kappa ] [r ,v ,a ,θ,κ]。其中,各个变量的含义如下:

  • r ⃗ \vec{r} r :在笛卡尔坐标系统中的位置向量(位失);

  • v ⃗ \vec{v} v :在笛卡尔坐标系统中的线速度向量,可以分解为 v x , v y v_x,v_y vx,vy两个标量(大家可以理解一下什么是标量——标量就是在单个坐标轴方向上投影后的那个系数;有人可能有疑问,那向量的模也是标量呢?这可以理解为投影到实数轴上的系数);模为 v v v,方向为切线方向 τ \tau τ;

  • w ⃗ \vec{w} w :在笛卡尔坐标系中的角速度向量,模为 w w w,方向为垂直旋转平面向上或向下,计算方法为圆心与切点连线向量与切线方向叉乘的结果方向(可以用右手法则,圆心在切线左侧为上,右侧为下)。 w ⃗ \vec{w} w v ⃗ \vec{v} v 的关系如下:
    v ⃗ = w ⃗ × R ⃗ \vec{v} = \vec{w} \times \vec{R} v =w ×R
    其中, R ⃗ \vec{R} R 为半径矢量,大小为半径长度,方向为圆心指向切点。。

  • a ⃗ \vec{a} a :在笛卡尔坐标系中的加速度向量,可以被分解为切线方向的加速度 a τ ⃗ \vec{a_{\tau}} aτ 和法线方向的加速度 a n ⃗ \vec{a_n} an

  • θ \theta θ:在笛卡尔坐标系统中,切线与X轴正方向之间的夹角,一般用来表示汽车的朝向角heading;

  • κ = d θ d s \kappa = \frac{d\theta}{ds} κ=dsdθ:道路的曲率,注意需要和角速度( w = d θ d t w=\frac{d\theta}{dt} w=dtdθ)进行区分,前者与时间无关是一个静态量,后者是一个动态量(规控中引入 κ \kappa κ主要是用来对 w w w进行约束,不至于翻车,约束的关系参见车辆运动学和动力学分析)。

Frenet坐标系表示为: [ s , s ˙ , s ¨ , l , l ˙ , l ¨ , l ′ , l ′ ′ ] [s, \dot{s}, \ddot{s}, l, \dot{l}, \ddot{l}, l', l'' ] [s,s˙,s¨,l,l˙,l¨,l,l′′]。其中,各个变量的含义如下(注意s和l都是标量):

  • s s s:Frenet坐标系中的纵向坐标;
  • s ˙ = d s d t \dot{s} = \frac{ds}{dt} s˙=dtds:纵向坐标随时间变化的速率,即纵向速度;
  • s ¨ = d s ˙ d t \ddot{s} = \frac{d\dot{s}}{dt} s¨=dtds˙:纵向速度的变化率,即纵向加速度;
  • l l l:Frenet坐标系中的横向坐标,大小为横向偏离中心线的距离,方向为法线方向或负法线方向,取决于参考线匹配点到车辆质点连线向量与参考线匹配点切线向量的叉乘结果,结果为正则为法线方向,为负则为负法线方向(由于法线方向定义为切线方向逆时针旋转90度,因此有“左正右负”的口诀);
  • l ˙ = d l d t \dot{l} = \frac{dl}{dt} l˙=dtdl:横向坐标随时间变化的速率,即横向速度;
  • l ¨ = d l ˙ d t \ddot{l} = \frac{d\dot{l}}{dt} l¨=dtdl˙:横向速度的变化率,即横向加速度;
  • l ′ = d l d s l' = \frac{dl}{ds} l=dsdl:横向坐标相对于纵向坐标的变化率;
  • l ′ ′ = d l ′ d s l'' = \frac{dl'}{ds} l′′=dsdl:横向坐标相对于纵向坐标的二阶变化率。

两者的区别如下:

  • Cartesian中基向量对t不变化( d i d t = 0 \frac{di}{dt}=0 dtdi=0),对x也不变化( d i d x = 0 \frac{di}{dx}=0 dxdi=0);但是Frenet会变化( d τ d t ≠ 0 \frac{d\tau}{dt} \neq 0 dtdτ=0, d τ d s ≠ 0 \frac{d\tau}{ds}\neq 0 dsdτ=0);
  • Cartesian中 d x dx dx能够描述车辆沿x轴方向实际行进的距离;但是在Frenet中, d s ds ds不能描述车辆实际行进的路程,实际行进的路程只能在Cardesian中计算,表示为 d s r ds_r dsr(h为vehicle的缩写), d s ≠ d s h ds \neq ds_h ds=dsh

1.3 优缺点和适用范围

1.3.1 优点

使用Frenet有以下几个优势:

  • 化曲为直;
  • 实现了横纵向解耦。

上述优势带来的好处是将非线性规划问题转换为线性规划问题,不论是施加约束还是随机采样,都变得十分方便。

1.3.2 缺点和注意事项

存在的缺点是:

  • 使用的是质点模型,忽视了车辆形变;对于大型车辆使用的时要十分小心,需要评估形变并添加额外约束。
  • 非常依赖参考线的质量,参考线必须处处可导,否则不能保证轨迹连续;参考线的拼接处一定要做好。
  • Cartesian与Frenet坐标系在 l l l 大小接近 1 κ r \frac{1}{\kappa_r} κr1时转换变得不稳定(后面会详细说明);大曲率的车道不要使用Frenet。
  • 不能描述车辆运动学特性;涉及车辆运动学时不要使用Frenet。
  • 多车协同规划支持不太好;多车协同规划不要用Frenet。

2 Frenet基础公式推导

2.1 问题定义

Tips:有一个重要的点想明白,才能跳出单纯推导公式的怪圈。

这个重要的点就是——坐标变换这件事到底涉及了几方?答案是三方(和毕业签三方似的~),而不是两方。

有人可能会有疑问,明明是两方,怎么会是三方?

我们拿《车体坐标系和全局坐标系转换》举例,涉及到传感器的全局坐标、车辆的全局坐标和传感器相对于车辆的车体坐标——这三者(毕业生是传感器,学校是车辆,社会雇佣单位是大地;毕业生从学校中出来到社会中去,从学生身份转变为员工的身份,就好比是相对于学校的局部坐标转相对于社会的全局坐标,桥梁是学校,因为学校有它自身相对于社会的地位)。

理解这一点很重要。推公式推不明白,符号混用往往都是因为没有很清楚的阐明或者理解这一点。Cardesian和Frenet之间的坐标变换同样需要“签三方”,少一个都不行。所以,我们要先明确这三方都是谁,不然就会出现“哭了半天不知道谁死了”的尴尬。从大范围到小范围分析,其中一方是大地,第二方是车道中心线(参考线),第三方是车辆。

从Cartesian坐标转Frenet坐标是在做一件什么事情呢?就是已知车辆相对于大地的全局Cartesian坐标;也已知车道中心线(严格来说是车辆在参考线上的投影)相对于大地的全局Cardesian坐标;求车辆相对于车道中心线(严格来讲纵向是参考中心线的某个固定起点,横向是参考车辆当前时刻在车道中心线上的投影点)的Frenet坐标。

如果是求相对于参考线(严格来讲是参考线的某个固定起点)的Cartesian,那这个问题就退变成了《全局坐标系和局部坐标系的转换》,使用向量的旋转和平移就可以完成。

当就目前的目标来看,需要借助曲线坐标系,即Frenet坐标系相关的知识来完成。

2.2 基础公式

我们最终的目的是完成Cartesian和Frenet之间的转换:已知车辆后轴中心点在Cartesian下的状态 [ r h ⃗ , v h ⃗ , a h ⃗ , θ h , κ h ] [ \vec{r_h}, \vec{v_h}, \vec{a_h}, \theta_h, \kappa_h ] [rh ,vh ,ah ,θh,κh],求解车辆相对于车道中心线(参考线)的Frenet下的状态 [ s , s ˙ , s ¨ , l , l ˙ , l ¨ , l ′ , l ′ ′ ] [s, \dot{s}, \ddot{s}, l, \dot{l}, \ddot{l}, l', l'' ] [s,s˙,s¨,l,l˙,l¨,l,l′′]

如下图2表示,下标带h(vehicle的缩写)的为车辆状态(vehicle state),下标带r(reference的缩写)的为车辆在参考线上的匹配点的状态。
在这里插入图片描述

2.2.1 核心关系

车辆后轴中心在Cartesian下的状态和匹配点(车辆后轴中心在参考线上的投影点)在Cardesian下的状态之间的关系可以用如图中的向量三角形表示,具体关系如下:
r h ⃗ = r r ⃗ + l n r ⃗ (1) \vec{r_h} = \vec{r_r} + l\vec{n_r}\tag1 rh =rr +lnr (1)
后续所有的转换公式都是以此为桥梁建立的,称之为核心公式一点都不为过。

2.2.2 Frenet最小状态集

Frenet的最小状态集可以为 [ s , s ˙ , s ¨ , l , l ˙ , l ¨ ] [s, \dot{s}, \ddot{s}, l, \dot{l}, \ddot{l} ] [s,s˙,s¨,l,l˙,l¨],因为:
l ′ = d l d s = d l d t d s d t = l ˙ s ˙ (2) l' = \frac{dl}{ds} = \frac{\frac{dl}{dt}}{\frac{ds}{dt}} = \frac{\dot{l}}{\dot{s}}\tag2 l=dsdl=dtdsdtdl=s˙l˙(2)

l ′ ′ = d l ′ d s = d ( l ˙ / s ˙ ) d t s ˙ = l ¨ s ˙ 2 − l ˙ s ¨ s ˙ 3 = l ¨ − l ′ s ¨ s ˙ 2 (3) l'' = \frac{dl'}{ds} = \frac{\frac{d(\dot{l}/\dot{s})}{dt}}{\dot{s}}=\frac{\ddot{l}}{\dot{s}^2} - \frac{\dot{l}\ddot{s}}{\dot{s}^3} = \frac{\ddot{l} - l'\ddot{s}}{\dot{s}^2}\tag3 l′′=dsdl=s˙dtd(l˙/s˙)=s˙2l¨s˙3l˙s¨=s˙2l¨ls¨(3)
也可以为 [ s , s ˙ , s ¨ , l , l ′ , l ′ ′ ] [s, \dot{s}, \ddot{s}, l, l', l'' ] [s,s˙,s¨,l,l,l′′],因为:
l ˙ = d l d t = d l d s d s d t = l ′ s ˙ (2) \dot{l} = \frac{dl}{dt}=\frac{dl}{ds}\frac{ds}{dt}= l'\dot{s}\tag2 l˙=dtdl=dsdldtds=ls˙(2)

l ¨ = d l ˙ d t = d ( l ′ s ˙ ) d t = d l ′ d t s ˙ + l ′ s ¨ = d l ′ d s d s d t s ˙ + l ′ s ¨ = l ′ ′ s ˙ 2 + l ′ s ¨ (3) \ddot{l} = \frac{d\dot{l}}{dt} = \frac{d(l'\dot{s})}{dt}=\frac{dl'}{dt}\dot{s}+l'\ddot{s}=\frac{dl'}{ds}\frac{ds}{dt}\dot{s}+l'\ddot{s}=l''\dot{s}^2+l'\ddot{s}\tag3 l¨=dtdl˙=dtd(ls˙)=dtdls˙+ls¨=dsdldtdss˙+ls¨=l′′s˙2+ls¨(3)

Tips:公式标号一致,代表两个公式等价。第一种推导比第二种复杂一些,因为乘法的求导链式法则比除法形式上稍简单一些。大家使用时也尽量使用乘法的链式法则。

2.2.3 车辆在Cardesian下的向量导数
  1. 求位矢对时间的导数 v h ⃗ \vec{v_h} vh

r h ⃗ ˙ = v h ⃗ = ∣ v h ⃗ ∣ τ h ⃗ = v h τ h ⃗ (4) \dot{\vec{r_h}} = \vec{v_h}= |\vec{v_h}|\vec{\tau_h}=v_h\vec{\tau_h}\tag4 rh ˙=vh =vh τh =vhτh (4)

其中, v h v_h vh为标量,可以从轮速计算获得。

  1. 求切线向量对时间的导数

如图3(注意图中没有加下标h,因为这个图同样适用于2.2.4)所示:
在这里插入图片描述

设时间 d t dt dt内,车辆行驶了 d s h ds_h dsh的距离,向量 τ h ⃗ \vec{\tau_h} τh 改变了 d τ h ⃗ \vec{d\tau_h} dτh ,旋转的角度为 d θ h d\theta_h dθh ∣ d τ h ⃗ ∣ = 2 s i n ( d θ h / 2 ) |\vec{d\tau_h}| = 2sin(d\theta_h/2) dτh =2sin(dθh/2)

则当 d t → 0 , d s h → 0 dt \to 0, ds_h \to 0 dt0,dsh0时, d τ h d\tau_h dτh的方向趋于 n h ⃗ \vec{n_h} nh ,大小趋于 d θ h d\theta_h dθh,有
τ h ⃗ ˙ = lim ⁡ △ t → 0 ( τ h + △ τ h ) − τ h ⃗ ⃗ △ t = d θ h n h ⃗ d t = d θ h n h ⃗ d s h d s h d t = κ h v h n h ⃗ (5) \dot{\vec{\tau_h}} = \lim\limits_{\triangle t \to 0} \frac{\vec{(\tau_h+\triangle\tau_h)-\vec{\tau_h}}}{\triangle t} = \frac{d\theta_h \vec{n_h}}{dt} = \frac{d\theta_h \vec{n_h}}{ds_h} \frac{ds_h}{dt}=\kappa_hv_h\vec{n_h}\tag5 τh ˙=t0limt(τh+τh)τh =dtdθhnh =dshdθhnh dtdsh=κhvhnh (5)

  1. 求法线向量对时间的导数

如图4所示:

在这里插入图片描述

设时间 d t dt dt内,车辆行驶了 d s h ds_h dsh的距离,向量 n h ⃗ \vec{n_h} nh 改变了 d n h ⃗ \vec{dn_h} dnh ,旋转的角度为 d θ h d\theta_h dθh ∣ d n h ⃗ ∣ = 2 s i n ( d θ h / 2 ) |\vec{dn_h}| = 2sin(d\theta_h/2) dnh =2sin(dθh/2)

则当 d t → 0 , d s h → 0 dt \to 0, ds_h \to 0 dt0,dsh0时, d n h dn_h dnh的方向趋于 − τ h ⃗ -\vec{\tau_h} τh ,大小趋于 d θ h d\theta_h dθh,有
n h ⃗ ˙ = lim ⁡ △ t → 0 ( n h + △ n h ) − n h ⃗ ⃗ △ t = − d θ h τ h ⃗ d t = − d θ h τ h ⃗ d s h d s h d t = − κ h v h τ h ⃗ (6) \dot{\vec{n_h}} = \lim\limits_{\triangle t \to 0} \frac{\vec{(n_h+\triangle n_h)-\vec{n_h}}}{\triangle t} = \frac{-d\theta_h \vec{\tau_h}}{dt} = \frac{-d\theta_h \vec{\tau_h}}{ds_h} \frac{ds_h}{dt}=-\kappa_hv_h\vec{\tau_h}\tag6 nh ˙=t0limt(nh+nh)nh =dtdθhτh =dshdθhτh dtdsh=κhvhτh (6)

  1. 求速度矢量对时间的导数 a ⃗ \vec{a} a

v h ⃗ ˙ = a h ⃗ = ( ∣ v h ⃗ ∣ τ h ⃗ ) ˙ = v h ˙ τ h ⃗ + v h τ h ⃗ ˙ = a τ τ h ⃗ + κ h v h 2 n h ⃗ (7) \dot{\vec{v_h}} = \vec{a_h} = \dot{(|\vec{v_h}|\vec{\tau_h})}=\dot{v_h}\vec{\tau_h}+v_h\dot{\vec{\tau_h}}=a_{\tau}\vec{\tau_h} +\kappa_h v_h^2 \vec{n_h}\tag7 vh ˙=ah =(vh τh )˙=vh˙τh +vhτh ˙=aττh +κhvh2nh (7)

其中, a τ = v h ˙ a_{\tau}=\dot{v_h} aτ=vh˙ 为线加速度,可以由纵向加速度计得到,也可以由线速度 v h v_h vh对时间求导得到。

从式(7)中我们还能得到
a n = κ h v h 2 (8) a_n = \kappa_h v_h^2\tag8 an=κhvh2(8)
其中, a n a_n an为向心加速度,这个值我们从角加速度计也可以得到,从而可以估计车辆行驶轨迹的曲率 κ h \kappa_h κh

2.2.4 匹配点在Cardesian下的向量导数
  1. 求位矢对时间的导数 v r ⃗ \vec{v_r} vr

r r ⃗ ˙ = v r ⃗ = ∣ v r ⃗ ∣ τ r ⃗ = v r τ r ⃗ = s ˙ τ r ⃗ (9) \dot{\vec{r_r}} = \vec{v_r}= |\vec{v_r}|\vec{\tau_r}=v_r\vec{\tau_r}=\dot{s}\vec{\tau_r}\tag9 rr ˙=vr =vr τr =vrτr =s˙τr (9)

其中, v r v_r vr为标量,可以从轮速计算获得。

  1. 求切线向量对时间的导数

如图3所示:
在这里插入图片描述

设时间 d t dt dt内,车辆行驶了 d s r ds_r dsr的距离,向量 τ r ⃗ \vec{\tau_r} τr 改变了 d τ r ⃗ \vec{d\tau_r} dτr ,旋转的角度为 d θ r d\theta_r dθr ∣ d τ r ⃗ ∣ = 2 s i n ( d θ r / 2 ) |\vec{d\tau_r}| = 2sin(d\theta_r/2) dτr =2sin(dθr/2)

则当 d t → 0 , d s r → 0 dt \to 0, ds_r \to 0 dt0,dsr0时, d τ r d\tau_r dτr的方向趋于 n r ⃗ \vec{n_r} nr ,大小趋于 d θ r d\theta_r dθr,有
τ r ⃗ ˙ = lim ⁡ △ t → 0 ( τ r + △ τ r ) − τ r ⃗ ⃗ △ t = d θ r n r ⃗ d t = d θ r n r ⃗ d s r d s r d t = κ r s ˙ n r ⃗ (10) \dot{\vec{\tau_r}} = \lim\limits_{\triangle t \to 0} \frac{\vec{(\tau_r+\triangle\tau_r)-\vec{\tau_r}}}{\triangle t} = \frac{d\theta_r \vec{n_r}}{dt} = \frac{d\theta_r \vec{n_r}}{ds_r} \frac{ds_r}{dt}=\kappa_r \dot{s} \vec{n_r}\tag{10} τr ˙=t0limt(τr+τr)τr =dtdθrnr =dsrdθrnr dtdsr=κrs˙nr (10)

  1. 求法线向量对时间的导数

如图4所示:

在这里插入图片描述
设时间 d t dt dt内,车辆行驶了 d s r ds_r dsr的距离,向量 n r ⃗ \vec{n_r} nr 改变了 d n r ⃗ \vec{dn_r} dnr ,旋转的角度为 d θ r d\theta_r dθr ∣ d n r ⃗ ∣ = 2 s i n ( d θ r / 2 ) |\vec{dn_r}| = 2sin(d\theta_r/2) dnr =2sin(dθr/2)

则当 d t → 0 , d s r → 0 dt \to 0, ds_r \to 0 dt0,dsr0时, d n r dn_r dnr的方向趋于 − τ r ⃗ -\vec{\tau_r} τr ,大小趋于 d θ r d\theta_r dθr,有
n r ⃗ ˙ = lim ⁡ △ t → 0 ( n r + △ n r ) − n r ⃗ ⃗ △ t = − d θ r τ r ⃗ d t = − d θ r τ r ⃗ d s r d s r d t = − κ r s ˙ τ r ⃗ (11) \dot{\vec{n_r}} = \lim\limits_{\triangle t \to 0} \frac{\vec{(n_r+\triangle n_r)-\vec{n_r}}}{\triangle t} = \frac{-d\theta_r \vec{\tau_r}}{dt} = \frac{-d\theta_r \vec{\tau_r}}{ds_r} \frac{ds_r}{dt}=-\kappa_r \dot{s}\vec{\tau_r}\tag{11} nr ˙=t0limt(nr+nr)nr =dtdθrτr =dsrdθrτr dtdsr=κrs˙τr (11)


### 回答1: 坐标系 Frenet坐标系Cartesian坐标系都是用于描述物体在空间中的位置和运动状态的坐标系。 Frenet坐标系是一种基于曲线的坐标系,它描述了物体在曲线上的位置和运动状态。它由三个坐标轴组成:切线轴、法线轴和副法线轴。切线轴指向曲线的切线方向,法线轴指向曲线的凸侧,副法线轴与切线轴和法线轴垂直,指向曲线的弯曲方向。 Cartesian坐标系是一种基于直角坐标系坐标系,它描述了物体在三维空间中的位置和运动状态。它由三个坐标轴组成:x轴、y轴和z轴。x轴和y轴在水平面内,z轴垂直于水平面。 两种坐标系都有各自的优缺点,选择使用哪种坐标系取决于具体的应用场景和需求。 ### 回答2: Frenet坐标系Cartesian坐标系都是数学中常见的坐标系。它们都可以用来描述物体在不同的状态下的位置和运动状态。不同之处在于它们的定义和使用方法略有不同。 Frenet坐标系,也称为切向量坐标系,是一种基于曲线的坐标系,用于描述物体在曲线上的位置和运动状态。Frenet坐标系的三个坐标轴分别是曲线的切向量、法向量和副法向量。其中,切向量是曲线在任意一点的切线方向,法向量是垂直于切向量的向量,而副法向量是垂直于切向量和法向量的向量。这种坐标系的优点在于能够有效地描述曲线的弯曲和转向情况,使得计算曲线上任意一点的速度和加速度等物理量更加方便。 相比之下,Cartesian坐标系是一种基于直线的坐标系,用于描述物体在直角坐标系中的位置和运动状态。在这种坐标系中,物体的三个坐标轴分别是x、y、z轴,它们垂直于彼此形成一个直角三角形。这种坐标系的优点在于计算简单,容易理解。但它不能有效地描述曲线的特性,因为在直线上一些物理量的计算需要涉及到微积分和向量的运算,这使得计算比较麻烦并且容易出现误差。 总的来说,Frenet坐标系Cartesian坐标系各有优缺点,具体使用哪种坐标系取决于需要描述物体的特性和应用场景。在实际应用中,这两种坐标系常常相互转换,以便更好地描述物体在运动过程中的位置和状态。 ### 回答3: Frenet坐标系是一种曲线坐标系,用于描述空间中的曲线。与笛卡尔坐标系不同,Frenet坐标系以曲线的切线、法向和副法向为基准,通过参数化曲线的方式来描述曲线的位置。因此,Frenet坐标系可以更好地描述曲线的几何性质,例如曲率和扭率等。 在Frenet坐标系中,曲线的位置可以由三个参数来描述,即曲线的弧长s、曲率k和扭率τ。这三个参数分别对应着曲线的沿切线变化、沿法向变化和沿副法向变化。通过这些参数,可以准确地描述曲线的位置和方向,而且可以轻松地计算曲线上任意点的切线、法向和副法向。 相比之下,笛卡尔坐标系则是以直角坐标系为基准,使用x、y和z三个坐标轴来描述空间的位置。尽管笛卡尔坐标系在描述平面和立体图形时比较简便,但当描述曲线的时候就显得比较复杂。因为曲线的位置和方向不能通过单一的坐标轴来描述,必须使用更复杂的公式和计算方法。 总的来说,Frenet坐标系相对于笛卡尔坐标系来说,在描述曲线几何性质上更加直观和准确。在实际应用中,Frenet坐标系有广泛的应用,例如在计算机图形学、机器视觉等领域中,以及在车辆导航和机器人路径规划中也有广泛的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穿越临界点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值