精华内容
下载资源
问答
  • 方向余弦矩阵变换部分文字 pp 概述 原则上, 所有图象处理都是图像变换, 而本章所谓图象变换特指数字图象经过某种数学 工具处理, 把原先二维空间域中数据, 变换到另外一个"变换域"形式描述过程。...

    方向余弦矩阵

    变换部分文字 pp 概述 原则上, 所有图象处理都是图像的变换, 而本章所谓的图象变换特指数字图象经过某种数学 工具的处理, 把原先二维空间域中的数据, 变换到另外一个"变换域"形式描述的过程。 例如, 傅立叶变换将时域或空域信号变换成频域的能量分布描述。 任何图象信号处理都不同程度改变图象信号的频率成分的分布,因此,对信号的频域(变换 域)分析和处理是重要的技术手段,而且,有一些在空间域不容易实现的操作,可以在频域 (变换域)中简单、方便地完成。 Pp 如上所述,图象变换是将 维空间图象数据变换成另外一组基向量空间(通常是正交向量空 间)的坐标参数,我们希望这些离散图象信号坐标参数更集中地代表了图象中的有效信息, 或者是更便于达到某种处理目的。下图描述了数字图象处理中空域处理与变换域处理的关 系。 pp 图象变换的实质就是将图象从一个空间变换到另一个空间, 各种变换的不同之处关键在于变 换的基向量不同。以下给出几种不同变换基向量的变换示例。 例如,由直角坐标系变化到极坐标系,见下图 pp 同样,一幅彩色图象可以按照某种准则,分解成若干个基本色彩分量图象的和。 傅立叶变换可以将一维信号从时间域变换到频率域, 例如下图, 一个正弦信号经过傅立叶变 换后,得到它的频率分布零频(直流分量)和基频。 一维傅立叶变换的定义: 一维傅立叶反变换定义: F(u)包含了正弦和余弦项的无限项的和,u 称为频率变量,它的每一个值确定了所对应的正 弦-余弦对的频率。 根据尤拉公式 傅立叶变换系数可以写成如下式的复数和极坐标形式: 其中: 傅立叶谱(幅值函数)为 相角为 能量谱为 pp 连续二维函数的傅立叶变换对定义 二维函数的傅立叶正变换 二维函数的傅立叶逆变换 二维函数的傅立叶谱 二维函数的傅立叶变换的相角 二维函数的傅立叶变换的能量谱 pp 2 离散傅立叶变换

    由于实际问题的时间或空间函数的区间是有限的, 或者是频谱有截止频率。 至少在横坐标超 过一定范围时,函数值已趋于 而可以略去不计。将 和 的有效宽度同样等分为 个小间隔, 对连续傅立叶变换进行近似的数值计算,得到离散的傅立叶变换定义。 其中,一维离散傅立叶正变换 一维离散傅立叶逆变换

    pp 二维离散傅立叶变换:对于 图象

    对于 图象

    pp 1.3 离散傅立叶变换的性质 性质 1:可分离性 二维傅立叶变换可分解成了两个

    2012-09-28

    8029人浏览

    展开全文
  • 励志语录(7qianxun.com)设:A(x1,y1,z1),B(x2,y2,z2),向量AB的方向余弦={(x2-x1)/d,(y2-y1)/d.(z2-z1)/d},其中,d=|AB|=√[(x2-x1)²+(y2-y1)²+(z2-z1)²],(x2-x1)/d=cosα.(y2-y1)/d=cosβ.(z2-z1)/d=...

    励志语录(7qianxun.com)

    设:A(x1,y1,z1),B(x2,y2,z2),向量AB的方向余弦={(x2-x1)/d,(y2-y1)/d.(z2-z1)/d},其中,d=|AB|=√[(x2-x1)²+(y2-y1)²+(z2-z1)²],(x2-x1)/d=cosα.(y2-y1)/d=cosβ.(z2-z1)/d=cosγ,其中:α,β,γ是向量AB分别与x轴。y轴,z轴所成的夹角[0≤α,β,γ≤π]。

    方向余弦是指在解析几何里,一个向量的三个方向余弦分别是这向量与三个坐标轴之间的角度的余弦。两个向量之间的方向余弦指的是这两个向量之间的角度的余弦。

    “方向余弦矩阵”是由两组不同的标准正交基的基底向量之间的方向余弦所形成的矩阵。方向余弦矩阵可以用来表达一组标准正交基与另一组标准正交基之间的关系,也可以用来表达一个向量对于另一组标准正交基的方向余弦。

    设有空间两点,若以P1为始点,另一点P2为终点的线段称为有向线段。通过原点作一与其平行且同向的有向线段,将与Ox,Oy,Oz三个坐标轴正向夹角分别记作α,β,γ。这三个角α,β,γ称为有向线段的方向角,其中0≤α≤π,0≤β≤π,0≤γ≤π。若有向线段的方向确定了,则其方向角也是唯一确定的。

    方向角的余弦称为有向线段或相应的有向线段的方向余弦。

    ———————————本文(完)————————————

    ——网页顶部有“搜索栏”,输入“关键词”后按“回车键”即可浏览更多文章——

    56a88496c280b3503352d20e0cf121c1.png

    ❤❤《方向余弦怎么求》文章结语:每一篇优秀的文章都凝聚了平时日积月累的知识量储备,花费大量的时间心血才能写出来的。励志文学网始终践行着“授人以鱼,不如授之以渔”的原则。

    ❤❤在此,千寻文化网的主编真心希望收录的某篇文章能给迷茫中的网友们带去无形的力量,即使失败了也要想办法重新站起来,“守得云开见红日,拨开云雾见明月”!

    ❤❤平时多学习些自己感兴趣的知识和技能,说不定今天打下夯实的基础日后学有所用,助力将来的某一天能登上人生巅峰又能迎娶白富美,功成名就之时也千万别忘记多为自己的国家做贡献!

    ❤❤本站微信公众号“千寻文化”,喜欢“七千寻文化_追梦传奇人生网”的朋友们可以搜索添加下,欢迎转载收藏您觉得有用的文章,居然还真有人在文章下方点击“赏”字后打赏支持了本站,谢谢哈。

    展开全文
  • 方向余弦矩阵(DCM)简介——定向运动学简介——1 前言这篇文章是翻译Starlino_DCM...这篇文章主要是介绍无人机方向余弦矩阵相关知识,另外增加了定向运动学主题。文章先通过一些理论介绍,然后结合一些实际例子...

    方向余弦矩阵(DCM)简介

    ——定向运动学简介——

    1   前言

    这篇文章是翻译Starlino_DCM_Tutorial.pdf而来,

    链接为:http://www.starlino.com/dcm_tutorial.html,各位看官可以对照着原文看,翻译不尽人意之处,请各位轻拍!

    这篇文章主要是介绍无人机方向余弦矩阵相关的知识,另外增加了定向运动学的主题。文章先通过一些理论介绍,然后结合一些实际的例子展开讨论。该文章的算法是通过融合陀螺仪和加速度计数据,利用方向余弦矩阵(DCM、Direction Consine Matrix)的方法,以估计设备在空间中的方位。

    符号说明:向量以粗体文本标记 - 例如,“v”是向量,“v”是标量。

    2   DCM矩阵

    通常来说,定向运动学处理的问题为计算本体坐标系相对全局坐标系的相对方位。我们将本体坐标系定义为Oxyz,另外一个全局坐标系定义为OXYZ,两坐标系的具有相同的原点O,如图 1所示。本体坐标系的x、y、z轴对应的单位向量分别为i,j,k;全局坐标系X、Y、Z轴对应的单位向量分别为I,J,K。

    图1坐标系定义

    因此,通过定义,全局坐标系下的单位向量I,J,K表示形式可写为:

    IG = {1,0,0}T,      JG={0,1,0}T ,      KG = {0,0,1}T

    相应的,本体坐标系下的单位向量i,j,k表示形式可写为:

    iB = {1,0,0}T,      jB={0,1,0}T ,      kB = {0,0,1}T

    现在让我们看看是否可以在全局坐标系下表示向量i,j,k。让我们以向量i为例,写出它在全局坐标系下的坐标:

    iG = {ixG , iyG, izG}T

    作为示例,让我们分析X坐标轴的分量ixG,它的值为i向量投影到全局坐标系下X轴上的长度。

    ixG= |i| cos(X,i) = cos(I,i)

    其中,|i|为单位向量i的范数(长度),cos(I,i)为向量I与i形成的夹角余弦,由于I与i均为单位向量,上式又可写成:

    ixG= cos(I,i) = |I||i| cos(I,i) = I.i

    其中,I.i为I与i的标量(点)乘积,为了计算标量积I.i。标量积在哪个坐标系中测量这些矢量并不重要,只要他们在同一个系统中表示,因为旋转不改变矢量的夹角。因此:I.i = IB.iB = IG.iG= cos(IB.iB) = cos(IG.iG) ,为了表示简便,本文一下部分将忽略I.i , J.j , K.k以及cos(I,i), cos(J,j), cos(K,k)的上标。类似地,我们可以得出iyG = J.i, izG=K.i。

    所以现在我们可以将全局坐标系中的向量i写为:iG= {I.i, J.i, K.i}T

    此外,类似的可以得出jG= {I.j, J.j, K.j}T, kG= {I.k, J.k, K.k}T

    现在本体坐标系下的 i, j, k在全局坐标系下有一套完整的表示,我们可以将这些向量组成一个方便的矩阵:

    Eq.1.1

    该矩阵为方向余弦矩阵,很明显,它是由本体坐标系和全局坐标系单位向量所有可能组合的角度的余弦组成。

    类似的,在本体坐标系中表示全局坐标系统的单位向量 IB, JB, KB本质上是对称的,并且可以简单的将I, J, K和 i, j, k交换实现,其结果是:

    IB= {I.i, I.j, I.k}T,        JB= {J.i, J.j, J.k}T,      KB= {K.i, K.j, K.k}T

    组成矩阵的形式为:

    Eq.1.2

    现在很容易注意到DCMB = (DCMG)T或者DCMG = (DCMB)T,换句话说,两个矩阵是可以相互转换,我们将会在后面使用这一重要属性。

    另外,我们可以发现DCMB. DCMG = (DCMG)T .DCMG = DCMB. (DCMB)T = I3 ,其中I3是一个3*3的单位矩阵,换句话说DCM是正交的Eq.1.3

    其中, iGT.iG = |iG||iG|cos(0) = 1    iGT.jG = 0

    DCM矩阵(通常也称为旋转矩阵)在定向运动学中具有很高的重要性,因为它定义了一个坐标系相对于另一个坐标系的旋转。如果我们知道任意向量在本体坐标系中的坐标,那么久可以利用DCM矩阵确定它在全局坐标系中的坐标,反之亦然。

    现在假设在本体坐标系中的向量rB= {rxB, ryB, rzB}T,让我们通过已知的旋转矩阵 DCMG确定其在全局坐标系中的坐标rG = { rxG , ryG , rzG } T。

    先从第一个坐标分量rxG开始,rxG = |rG| cos(IG,rG) ,

    根据定义,旋转是这样的变换,其不改变向量的尺度,并且不改变经过相同旋转的两个向量之间的角度,因此如果我们在不同的旋转坐标系中表示一些向量,则向量之间的范数和角度将不改变:|rG| = |rB| , |IG| = |IB| = 1 并且cos(IG,rG) = cos(IB,rB) 。根据这一属性可得出:

    rxG = |rG| cos(IG,rG) = |IB ||rB| cos(IB,rB) = IB.rB = IB. {rxB, ryB, rzB}T

    上式代入IB= {I.i, I.j, I.k}T

    rxG = IB.rB = {I.i, I.j, I.k}T.{rxB, ryB, rzB}T = rxBI.i+ryBI.j+ rzBI.k

    以相同的方式,可以表示出:

    ryG = rxBJ.i+ryBJ.j+ rzBJ.k

    rzG = rxBK.i+ryBK.j+ rzBK.k

    最后,让我们以一个更紧凑的矩阵形式写:

    Eq.1.4

    因此,DCM矩阵可以用于将在一个坐标系B中表示的任意向量rB转换为旋转的坐标系G。

    相同的逻辑,可以证明逆逻辑可以表示为:

    Eq.1.5

    最后:

    DCMBrG = DCMB DCMGrB = DCMGT DCMGrB = I3rB= rB

    3   角速度

    到目前为止,我们已经有一个方法来定义一个坐标系相对于另一坐标系的方向旋转矩阵,DCM矩阵,它允许我们使用Eq.1.4和Eq.1.5容易地来回转换全局和本体坐标系。在本节中,我们将旋转矩阵作为时间的函数进行分析,这将有助于我们建立更新基于角速率的DCM矩阵的规则。

    假设任意一旋转向量r,并将其关于时间t的关系定义为 r(t)。现在考虑很小的时间间隔dt,并做出如下符号:r = r (t) , r’= r (t+dt) 和dr = r’ – r:

    图2r(t)

    假设非常小的时间间隔内dt→0,矢量r以单位矢量u为旋转轴旋转了角度dθ到r’,u单位矢量垂直于由r和r’形成的平面,由于u为单位矢量,所以|u| = 1并且与 r x r’同向,我们可以通过如下推导得出:

    u =(r x r’) / |r x r’| =(r x r’) / (|r||r’|sin(dθ)) = (r xr’) / (|r|2 sin(dθ))  Eq.2.1

    因为旋转并不会改变一个矢量的长度,所以有|r’| = |r|。

    矢量r的线速度向量可以定义为:

    v =dr/ dt = (r’ – r) / dt       Eq.2.2

    请注意,由于我们的dt→0因此向量r和dr之间的角度(我们称之为α)可以从由r,r’和dr构成的等腰三角形中找到。

    α = (π – dθ) / 2 ,由于 dθ→0,所以α→π/2,同时v⊥r。

    现在我们可以定义角速率矢量,表示角度θ 的变化速率以及旋转轴,定义如下:

    w= (dθ/dt ) uEq.2.3

    将Eq.2.1代入上式可得:

    w= (dθ/dt ) u= (dθ/dt ) (r xr’) / (|r|2 sin(dθ))

    当dθ→0时,代入上式可得:

    w= (r xr’) / (|r|2 dt)  Eq.2.4

    将r’ = r + dr代入上式,又由于dr/dt = v , rx r = 0,我们可推导出:

    w= (r x (r + dr)) / (|r|2 dt)

    = (r x r + rx dr)) / (|r|2 dt)

    = rx (dr/dt) / |r|2

    w =  r x v/ |r|2­                Eq.2.5

    上式建立了由已知线速度 v推导角速度的过程,通过矢量的叉乘特性,很容易推导出:

    v=wxrEq.2.6

    4   陀螺仪及角速度矢量

    三轴MEMS陀螺仪是一个能感应装置轴运动的装置,如果我们将该装置应用于本体坐标系中,然后分析一类全局坐标系(地球坐标系)的矢量,例如指向天的矢量K或者指向北的矢量I,对于设备内的观察者来说,这些向量将围绕着设备中心旋转。假设 wx, wy, wz分别为轴 x, y , z的对应的陀螺仪的角速度速输出,单位为rad/s。如果我们以规则的小时间间隔dt查询陀螺仪,则陀螺仪输出告诉我们的是在该时间间隔期间,地球围绕陀螺仪的x轴旋转角度为dθx = wxdt,围绕y轴旋转角度为dθy = wydt并且关于z轴旋转角度 dθz = wzdt。这些旋转矢量可以用角速率矢量表征:

    wx= wxi= {wx, 0, 0}T, wy= wyj= { 0, wy, 0}T , wz= wzk= { 0, 0, wz}T

    其中, i,j,k分别对应着本地坐标系各轴的方向向量。每个轴的旋转将会产生一定的线性位移,线性位移可表示为:

    dr1 = dt v1= dt (wxxr) ;  dr2 = dt v2= dt (wyxr) ;  dr3 = dt v3= dt (wzxr)

    将三个线性位移相加可得:

    dr= dr1+ dr2+ dr3= dt (wxxr+ wyxr+wzxr) = dt (wx+ wy+wz) xr

    有此产生的线速度可表示为:

    v=dr/dt=(wx+ wy+wz) xr= wxr这里引入w = wx+wy+wz= {wx, wy, wz}

    上式类似于式Eq.2.6, 并且表明由角旋转矢量wx, wy,wz表征的轴x,y,z的三个小旋转的组合等效于由角旋转矢量w = wx+ wy+wz = {wx, wy, wz}。请注意,我们强调这些都是小旋转,因为一般来说,当你结合大旋转,旋转的顺序执行变得重要,你不能简单地得出上述结论。我们的主要假设是,让我们通过使用Eq.2.6从线性位移到旋转的dt非常小,因此旋转dθ和线性位移dr也很小。实际上,这意味着陀螺仪查询间隔dt越大,我们的累积误差越大,我们稍后将处理这个误差。

    5   基于6DOF或9DOF IMU传感器的DCM滤波算法

    在本文的上下文中,6DOF设备是由3轴陀螺仪和3轴加速度计组成的IMU设备。9DOF设备是3轴陀螺仪,3轴加速度计和3轴磁力计的IMU设备。现在将基于右手定则的全局坐标系固定于地球,向量I指向北,向量 K指向天,向量J指向西。

    图3全局坐标系定义

    另外,定义连接到我们的IMU设备的本体坐标系如下:

    图4本体坐标系定义

    我们已经确立了陀螺仪可以测量角速度矢量的事实。让我们看看加速度计和磁力计的测量结果将如何进入我们的模型。

    加速度计是能感应重力的设备,重力矢量指向地心,与KB矢量相反。如果加速度计的三轴输出为A= {Ax, Ay , Az } ,假设无外力引起的加速度,并且误差已得到纠正,我们就可以确定KB= –A。磁强计类似于加速度计,可以感应北向磁场指向,犹如加速度计输出并不完美并且时常需要纠正和初始校准。如果纠正后的3轴磁场输出为M= {Mx, My , Mz },根据我们的假设的模型 IB指向北,因此有 IB = M。确认IB和KB后便可计算出JB = KB x IB。

    因此根据加速度计和磁强计的输出便能给出DCM矩阵,表示为 DCMB或者DCMG。

    DCMG = DCMBT = [IB,JB,KB]T

    到目前为止,你可能会问自己,如果加速度计和磁力计在任何时间点能给出DCM矩阵,为什么我们需要陀螺仪?陀螺仪实际上是一个比加速度计和磁力计更精确的设备,它用于“微调”加速度计和磁力计返回的DCM矩阵。

    单靠陀螺仪并不能得到设备的方向,即不知道北在哪里和天的指向,但这些可以使用加速度计和磁力计确定,而是如果我们知道在时间t的设备的指向,表示为DCM矩阵DCM(t),我们可以使用陀螺仪找到更精确的指向DCM(t + dt)。如果直接从加速度计和磁力计估计读数,其在形式上包含大量的噪声,包括外部(非重力)惯性力(即加速度)或不是由地球磁场引起的磁力。

    基于上述事实,需要寻求一种能够组合三种设备的输出数据的算法,用于最有效地估计设备在全局坐标系下的方位,下面我们将直接介绍该算法。

    将使用到的DCM如下所示:

    如果直接读取DCM的行,我们将得到向量 IB,JB,KB,我们将主要讨论向量KB (可以通过加速度计估计)和向量IB (可以通过磁力计估计),向量JB可由 JB = KB x IB简单计算获得。

    假设 t0时刻我们知道本体坐标系下指向天的矢量,记为 KB0,假设此时陀螺仪的输出我们也确定,记为 w ={wx, wy, wz}。经过一小段时间后,我们想知道指向天定矢量的位置,假设记为KB1G。通过Eq.2.6我们可以得出:

    KB1G ≈ KB0 + dtv= KB0 + dt (wgxKB0) = KB0 + ( dθgxKB0)

    其中, dθg= dt wg

    显然,估计KB的另外一种方法是通过加速度计输出计算,我们这里记为KB1A。现实情况是,通过陀螺仪输出估计与通过加速度输出估计的值将会不一致。

    现在,我们可以用反向的方式,估计角速度 wa或角位移dθa ­=dt wa,通过加速度计的输出KB1A­以及Eq.2.5:

    w­a= KB0 x va/ |KB0|2­其中va= (KB1A­– KB0) / dt

    其中va= (KB1A­– KB0) / dt, 几乎等于为KB0的线速度,并且|KB0|2­­ = 1。

    从而可得出:

    dθa ­=dt wa= KB0 x (KB1A­– KB0)

    估计由KB1A和 KB1G组成的KB1方法的基本想法首先是将 dθ看作为dθa与 dθg的加权平均:dθ= (sa dθa+sg dθg) / (sa + sg­),稍后将讨论权重,它们很快地被实验确定,以便实现期望的响应和噪声抑制。

    然后,对KB1的推导类似于如何计算KB1G:

    KB1 ≈ KB0 + ( dθxKB0)

    同样, dθ可以用来以相同的方式计算DCM矩阵的其他元素:

    IB1 ≈ IB0 + ( dθxIB0)

    JB1 ≈ JB0 + ( dθxJB0)

    三个向量彼此附接,并且均与由相同小的时间间隔 dt产生的角位移dθ叉乘转化而来。简而言之,这就是我们通过先前时刻 t­­0估计的矩阵DCM0,推导出 t1时刻的DCM1 算法。它是以相同的小时间间隔dt的递归应用,并且可以在任何时间递推出DCM矩阵。该DCM矩阵不会随着时间漂移太多,因为它被加速度计固定在指定的绝对位置;同时,不会由于外部加速度计太大噪声儿产生大漂移,因为DCM矩阵又使用了速率脱落的数据进行更新。

    到目前为止,我们并没有提到一个关于磁力计的词,其中一个原因是它并不是在所有的IMU单元中都有,上面的算法我们可以不使用它,但是该方法的结果指向会有一定的漂移,或许可以通过引入一个虚拟的指北磁力计,以保障模型的稳定性。

    下面将会讲如何集成磁力计的输出到我们的算法中,事实证明,过程非常的简单,因为磁力计类似于加速度计,唯一的区别是磁力计估计的不是天的指向 KB,而是估计指北向量 IB。遵循我们对加速度计所做的相同的逻辑,我们可以根据更新的磁力计读数确定角位移为:

    dθm ­=dt wm= IB0 x (IB1M­– IB0)

    将上式并入加权平均公式可得:

    dθ= (sa dθa+sg dθg+sm dθm) / (sa + sg +­sm)

    同样,可通过dθ求得: DCM1­

    IB1 ≈ IB0 + (dθxIB0)

    KB1 ≈ KB0 + (dθxKB0)

    JB1≈ JB0 + (dθxJB0)

    实际上,在将 KB1和IB1再次校正为垂直单位矢量之后,我们将计算JB1= KB1x IB1,注意,我们的所有逻辑都是近似的,并且取决于dt是否足够小,dt越大,误差越大。

    因此,如果向量IB0,JB0,KB0形成了有效的DCM矩阵,换句话说,它们彼此正交并且是单位向量,我们不能对关于 IB1,JB1,KB1的计算公式得出保证向量的正交性或长度,但是如果dt很小,我们不会得到太大的误差,我们需要做的是在每次迭代之后对它们进行校正化。

    首先,让我们看看如何确保两个向量再次正交。让我们考虑“几乎正交”的两个单位矢量a和b,换句话说,这两个矢量之间的角度接近90°,但不是精确的90°。我们要寻找一个与a正交并且在由向量a和b形成的平面中的向量b',这一向量很容易找到,如图 5所示。首先通过叉乘的规则我们找到向量 c = a x b,c肯定垂直于a与b形成的平面。然后通过叉乘c与a得到b’ = c x a,因此,b’是我们正在寻找的与a正交的校正矢量,并且属于由a和b形成的平面。

    图5向量正交化

    通过三角定律的公式,我们可以推导出:

    b’ = c x a = (a x b) x a = –a (a.b) + b(a.a) = b – a (a.b) = b+d

    在上面的场景中,我们认为矢量a是固定的,并且我们推导出了与a正交的校正矢量b'。我们可以考虑相对称的问题——通过固定的矢量b,并找到经校正的向量a'。

    a’= a – b (b.a) = a – b (a.b)

    第三种场景,我们想同时校正两个向量,我们认为它们都有同样的错误,所以直观的讲,上述两种场景的两个向量都应该用半校正。

    a’= a – b (a.b) / 2

    b’= b – a (a.b) / 2

    图6向量半正交化

    我们定义Err= (a.b)/2

    可得出a’= a – Err * b    b’= b – Err * a

    请注意,我们并不能证明a'和b'是正交的,但是我们提出了直观的推理,即如果我们应用上述校正变换,a'和b'之间的角度将接近90°。

    现在回到DCM矩阵的更新,我们在将DCM矩阵重新引入下一个循环之前应用以下纠正措施:

    Err = ( IB1 . JB1) / 2

    IB1’= IB1 – Err * JB1

    JB1’= JB1 – Err * IB1

    IB1’’= Normalize[IB1’]

    JB1’’= Normalize[JB1’]

    KB1’’= IB1’’ x JB1’’

    其中,Normalize[a] = a/ |a|

    因此,最后我们校正的矩阵DCM1 可以从IB1’’, JB1’’, KB1’’的组合得到。

    展开全文
  • 1 前言这篇文章是翻译Starlino_DCM_Tutorial.pdf而来,链接为:http://www.starlino.com/dcm_tutorial.html这篇文章主要是介绍...该文章算法是通过融合陀螺仪和加速度计数据,利用方向余弦矩阵(DCM、Direction Con...

    1   前言

    这篇文章是翻译Starlino_DCM_Tutorial.pdf而来,

    链接为:http://www.starlino.com/dcm_tutorial.html

    这篇文章主要是介绍无人机方向余弦矩阵相关的知识,另外增加了定向运动学的主题。文章先通过一些理论介绍,然后结合一些实际的例子展开讨论。该文章的算法是通过融合陀螺仪和加速度计数据,利用方向余弦矩阵(DCM、Direction Consine Matrix)的方法,以估计设备在空间中的方位。

    符号说明:向量以粗体文本标记 - 例如,“v”是向量,“v”是标量。

    2   DCM矩阵

    通常来说,定向运动学处理的问题为计算本体坐标系相对全局坐标系的相对方位。我们将本体坐标系定义为Oxyz,另外一个全局坐标系定义为OXYZ,两坐标系的具有相同的原点O,如图 1所示。本体坐标系的x、y、z轴对应的单位向量分别为i,j,k;全局坐标系X、Y、Z轴对应的单位向量分别为I,J,K。

    图1坐标系定义

    因此,通过定义,全局坐标系下的单位向量I,J,K表示形式可写为:

    IG = {1,0,0}T,      JG={0,1,0}T ,      KG = {0,0,1}T

    相应的,本体坐标系下的单位向量i,j,k表示形式可写为:

    iB = {1,0,0}T,      jB={0,1,0}T ,      kB = {0,0,1}T

    现在让我们看看是否可以在全局坐标系下表示向量i,j,k。让我们以向量i为例,写出它在全局坐标系下的坐标:

    iG = {ixG , iyG, izG}T

    作为示例,让我们分析X坐标轴的分量ixG,它的值为i向量投影到全局坐标系下X轴上的长度。

    ixG= |i| cos(X,i) = cos(I,i)

    其中,|i|为单位向量i的范数(长度),cos(I,i)为向量I与i形成的夹角余弦,由于I与i均为单位向量,上式又可写成:

    ixG= cos(I,i) = |I||i| cos(I,i) = I.i

    其中,I.i为I与i的标量(点)乘积,为了计算标量积I.i。标量积在哪个坐标系中测量这些矢量并不重要,只要他们在同一个系统中表示,因为旋转不改变矢量的夹角。因此:I.i = IB.iB = IG.iG= cos(IB.iB) = cos(IG.iG) ,为了表示简便,本文一下部分将忽略I.i , J.j , K.k以及cos(I,i), cos(J,j), cos(K,k)的上标。类似地,我们可以得出iyG = J.i, izG=K.i。

    所以现在我们可以将全局坐标系中的向量i写为:iG= {I.i, J.i, K.i}T

    此外,类似的可以得出jG= {I.j, J.j, K.j}T, kG= {I.k, J.k, K.k}T

    现在本体坐标系下的 i, j, k在全局坐标系下有一套完整的表示,我们可以将这些向量组成一个方便的矩阵:

    Eq.1.1

    该矩阵为方向余弦矩阵,很明显,它是由本体坐标系和全局坐标系单位向量所有可能组合的角度的余弦组成。

    类似的,在本体坐标系中表示全局坐标系统的单位向量 IB, JB, KB本质上是对称的,并且可以简单的将I, J, K和 i, j, k交换实现,其结果是:

    IB= {I.i, I.j, I.k}T,        JB= {J.i, J.j, J.k}T,      KB= {K.i, K.j, K.k}T

    组成矩阵的形式为:

    Eq.1.2

    现在很容易注意到DCMB = (DCMG)T或者DCMG = (DCMB)T,换句话说,两个矩阵是可以相互转换,我们将会在后面使用这一重要属性。

    另外,我们可以发现DCMB. DCMG = (DCMG)T .DCMG = DCMB. (DCMB)T = I3 ,其中I3是一个3*3的单位矩阵,换句话说DCM是正交的Eq.1.3

    其中, iGT.iG = |iG||iG|cos(0) = 1    iGT.jG = 0

    DCM矩阵(通常也称为旋转矩阵)在定向运动学中具有很高的重要性,因为它定义了一个坐标系相对于另一个坐标系的旋转。如果我们知道任意向量在本体坐标系中的坐标,那么久可以利用DCM矩阵确定它在全局坐标系中的坐标,反之亦然。

    现在假设在本体坐标系中的向量rB= {rxB, ryB, rzB}T,让我们通过已知的旋转矩阵 DCMG确定其在全局坐标系中的坐标rG = { rxG , ryG , rzG } T。

    先从第一个坐标分量rxG开始,rxG = |rG| cos(IG,rG) ,

    根据定义,旋转是这样的变换,其不改变向量的尺度,并且不改变经过相同旋转的两个向量之间的角度,因此如果我们在不同的旋转坐标系中表示一些向量,则向量之间的范数和角度将不改变:|rG| = |rB| , |IG| = |IB| = 1 并且cos(IG,rG) = cos(IB,rB) 。根据这一属性可得出:

    rxG = |rG| cos(IG,rG) = |IB ||rB| cos(IB,rB) = IB.rB = IB. {rxB, ryB, rzB}T

    上式代入IB= {I.i, I.j, I.k}T

    rxG = IB.rB = {I.i, I.j, I.k}T.{rxB, ryB, rzB}T = rxBI.i+ryBI.j+ rzBI.k

    以相同的方式,可以表示出:

    ryG = rxBJ.i+ryBJ.j+ rzBJ.k

    rzG = rxBK.i+ryBK.j+ rzBK.k

    最后,让我们以一个更紧凑的矩阵形式写:

    Eq.1.4

    因此,DCM矩阵可以用于将在一个坐标系B中表示的任意向量rB转换为旋转的坐标系G。

    相同的逻辑,可以证明逆逻辑可以表示为:

    Eq.1.5

    最后:

    DCMBrG = DCMB DCMGrB = DCMGT DCMGrB = I3rB= rB

    3   角速度

    到目前为止,我们已经有一个方法来定义一个坐标系相对于另一坐标系的方向旋转矩阵,DCM矩阵,它允许我们使用Eq.1.4和Eq.1.5容易地来回转换全局和本体坐标系。在本节中,我们将旋转矩阵作为时间的函数进行分析,这将有助于我们建立更新基于角速率的DCM矩阵的规则。

    假设任意一旋转向量r,并将其关于时间t的关系定义为 r(t)。现在考虑很小的时间间隔dt,并做出如下符号:r = r (t) , r’= r (t+dt) 和dr = r’ – r:

    图2r(t)

    假设非常小的时间间隔内dt→0,矢量r以单位矢量u为旋转轴旋转了角度dθ到r’,u单位矢量垂直于由r和r’形成的平面,由于u为单位矢量,所以|u| = 1并且与 r x r’同向,我们可以通过如下推导得出:

    u =(r x r’) / |r x r’| =(r x r’) / (|r||r’|sin(dθ)) = (r xr’) / (|r|2 sin(dθ))  Eq.2.1

    因为旋转并不会改变一个矢量的长度,所以有|r’| = |r|。

    矢量r的线速度向量可以定义为:

    v =dr/ dt = (r’ – r) / dt       Eq.2.2

    请注意,由于我们的dt→0因此向量r和dr之间的角度(我们称之为α)可以从由r,r’和dr构成的等腰三角形中找到。

    α = (π – dθ) / 2 ,由于 dθ→0,所以α→π/2,同时v⊥r。

    现在我们可以定义角速率矢量,表示角度θ 的变化速率以及旋转轴,定义如下:

    w= (dθ/dt ) uEq.2.3

    将Eq.2.1代入上式可得:

    w= (dθ/dt ) u= (dθ/dt ) (r xr’) / (|r|2 sin(dθ))

    当dθ→0时,代入上式可得:

    w= (r xr’) / (|r|2 dt)  Eq.2.4

    将r’ = r + dr代入上式,又由于dr/dt = v , rx r = 0,我们可推导出:

    w= (r x (r + dr)) / (|r|2 dt)

    = (r x r + rx dr)) / (|r|2 dt)

    = rx (dr/dt) / |r|2

    w =  r x v/ |r|2­                Eq.2.5

    上式建立了由已知线速度 v推导角速度的过程,通过矢量的叉乘特性,很容易推导出:

    v=wxrEq.2.6

    4   陀螺仪及角速度矢量

    三轴MEMS陀螺仪是一个能感应装置轴运动的装置,如果我们将该装置应用于本体坐标系中,然后分析一类全局坐标系(地球坐标系)的矢量,例如指向天的矢量K或者指向北的矢量I,对于设备内的观察者来说,这些向量将围绕着设备中心旋转。假设 wx, wy, wz分别为轴 x, y , z的对应的陀螺仪的角速度速输出,单位为rad/s。如果我们以规则的小时间间隔dt查询陀螺仪,则陀螺仪输出告诉我们的是在该时间间隔期间,地球围绕陀螺仪的x轴旋转角度为dθx = wxdt,围绕y轴旋转角度为dθy = wydt并且关于z轴旋转角度 dθz = wzdt。这些旋转矢量可以用角速率矢量表征:

    wx= wxi= {wx, 0, 0}T, wy= wyj= { 0, wy, 0}T , wz= wzk= { 0, 0, wz}T

    其中, i,j,k分别对应着本地坐标系各轴的方向向量。每个轴的旋转将会产生一定的线性位移,线性位移可表示为:

    dr1 = dt v1= dt (wxxr) ;  dr2 = dt v2= dt (wyxr) ;  dr3 = dt v3= dt (wzxr)

    将三个线性位移相加可得:

    dr= dr1+ dr2+ dr3= dt (wxxr+ wyxr+wzxr) = dt (wx+ wy+wz) xr

    有此产生的线速度可表示为:

    v=dr/dt=(wx+ wy+wz) xr= wxr这里引入w = wx+wy+wz= {wx, wy, wz}

    上式类似于式Eq.2.6, 并且表明由角旋转矢量wx, wy,wz表征的轴x,y,z的三个小旋转的组合等效于由角旋转矢量w = wx+ wy+wz = {wx, wy, wz}。请注意,我们强调这些都是小旋转,因为一般来说,当你结合大旋转,旋转的顺序执行变得重要,你不能简单地得出上述结论。我们的主要假设是,让我们通过使用Eq.2.6从线性位移到旋转的dt非常小,因此旋转dθ和线性位移dr也很小。实际上,这意味着陀螺仪查询间隔dt越大,我们的累积误差越大,我们稍后将处理这个误差。

    5   基于6DOF或9DOF IMU传感器的DCM滤波算法

    在本文的上下文中,6DOF设备是由3轴陀螺仪和3轴加速度计组成的IMU设备。9DOF设备是3轴陀螺仪,3轴加速度计和3轴磁力计的IMU设备。现在将基于右手定则的全局坐标系固定于地球,向量I指向北,向量 K指向天,向量J指向西。

    图3全局坐标系定义

    另外,定义连接到我们的IMU设备的本体坐标系如下:

    图4本体坐标系定义

    我们已经确立了陀螺仪可以测量角速度矢量的事实。让我们看看加速度计和磁力计的测量结果将如何进入我们的模型。

    加速度计是能感应重力的设备,重力矢量指向地心,与KB矢量相反。如果加速度计的三轴输出为A= {Ax, Ay , Az } ,假设无外力引起的加速度,并且误差已得到纠正,我们就可以确定KB= –A。磁强计类似于加速度计,可以感应北向磁场指向,犹如加速度计输出并不完美并且时常需要纠正和初始校准。如果纠正后的3轴磁场输出为M= {Mx, My , Mz },根据我们的假设的模型 IB指向北,因此有 IB = M。确认IB和KB后便可计算出JB = KB x IB。

    因此根据加速度计和磁强计的输出便能给出DCM矩阵,表示为 DCMB或者DCMG。

    DCMG = DCMBT = [IB,JB,KB]T

    到目前为止,你可能会问自己,如果加速度计和磁力计在任何时间点能给出DCM矩阵,为什么我们需要陀螺仪?陀螺仪实际上是一个比加速度计和磁力计更精确的设备,它用于“微调”加速度计和磁力计返回的DCM矩阵。

    单靠陀螺仪并不能得到设备的方向,即不知道北在哪里和天的指向,但这些可以使用加速度计和磁力计确定,而是如果我们知道在时间t的设备的指向,表示为DCM矩阵DCM(t),我们可以使用陀螺仪找到更精确的指向DCM(t + dt)。如果直接从加速度计和磁力计估计读数,其在形式上包含大量的噪声,包括外部(非重力)惯性力(即加速度)或不是由地球磁场引起的磁力。

    基于上述事实,需要寻求一种能够组合三种设备的输出数据的算法,用于最有效地估计设备在全局坐标系下的方位,下面我们将直接介绍该算法。

    将使用到的DCM如下所示:

    如果直接读取DCM的行,我们将得到向量 IB,JB,KB,我们将主要讨论向量KB (可以通过加速度计估计)和向量IB (可以通过磁力计估计),向量JB可由 JB = KB x IB简单计算获得。

    假设 t0时刻我们知道本体坐标系下指向天的矢量,记为 KB0,假设此时陀螺仪的输出我们也确定,记为 w ={wx, wy, wz}。经过一小段时间后,我们想知道指向天定矢量的位置,假设记为KB1G。通过Eq.2.6我们可以得出:

    KB1G ≈ KB0 + dtv= KB0 + dt (wgxKB0) = KB0 + ( dθgxKB0)

    其中, dθg= dt wg

    显然,估计KB的另外一种方法是通过加速度计输出计算,我们这里记为KB1A。现实情况是,通过陀螺仪输出估计与通过加速度输出估计的值将会不一致。

    现在,我们可以用反向的方式,估计角速度 wa或角位移dθa ­=dt wa,通过加速度计的输出KB1A­以及Eq.2.5:

    w­a= KB0 x va/ |KB0|2­其中va= (KB1A­– KB0) / dt

    其中va= (KB1A­– KB0) / dt, 几乎等于为KB0的线速度,并且|KB0|2­­ = 1。

    从而可得出:

    dθa ­=dt wa= KB0 x (KB1A­– KB0)

    估计由KB1A和 KB1G组成的KB1方法的基本想法首先是将 dθ看作为dθa与 dθg的加权平均:dθ= (sa dθa+sg dθg) / (sa + sg­),稍后将讨论权重,它们很快地被实验确定,以便实现期望的响应和噪声抑制。

    然后,对KB1的推导类似于如何计算KB1G:

    KB1 ≈ KB0 + ( dθxKB0)

    同样, dθ可以用来以相同的方式计算DCM矩阵的其他元素:

    IB1 ≈ IB0 + ( dθxIB0)

    JB1 ≈ JB0 + ( dθxJB0)

    三个向量彼此附接,并且均与由相同小的时间间隔 dt产生的角位移dθ叉乘转化而来。简而言之,这就是我们通过先前时刻 t­­0估计的矩阵DCM0,推导出 t1时刻的DCM1 算法。它是以相同的小时间间隔dt的递归应用,并且可以在任何时间递推出DCM矩阵。该DCM矩阵不会随着时间漂移太多,因为它被加速度计固定在指定的绝对位置;同时,不会由于外部加速度计太大噪声儿产生大漂移,因为DCM矩阵又使用了速率脱落的数据进行更新。

    到目前为止,我们并没有提到一个关于磁力计的词,其中一个原因是它并不是在所有的IMU单元中都有,上面的算法我们可以不使用它,但是该方法的结果指向会有一定的漂移,或许可以通过引入一个虚拟的指北磁力计,以保障模型的稳定性。

    下面将会讲如何集成磁力计的输出到我们的算法中,事实证明,过程非常的简单,因为磁力计类似于加速度计,唯一的区别是磁力计估计的不是天的指向 KB,而是估计指北向量 IB。遵循我们对加速度计所做的相同的逻辑,我们可以根据更新的磁力计读数确定角位移为:

    dθm ­=dt wm= IB0 x (IB1M­– IB0)

    将上式并入加权平均公式可得:

    dθ= (sa dθa+sg dθg+sm dθm) / (sa + sg +­sm)

    同样,可通过dθ求得: DCM1­

    IB1 ≈ IB0 + (dθxIB0)

    KB1 ≈ KB0 + (dθxKB0)

    JB1≈ JB0 + (dθxJB0)

    实际上,在将 KB1和IB1再次校正为垂直单位矢量之后,我们将计算JB1= KB1x IB1,注意,我们的所有逻辑都是近似的,并且取决于dt是否足够小,dt越大,误差越大。

    因此,如果向量IB0,JB0,KB0形成了有效的DCM矩阵,换句话说,它们彼此正交并且是单位向量,我们不能对关于 IB1,JB1,KB1的计算公式得出保证向量的正交性或长度,但是如果dt很小,我们不会得到太大的误差,我们需要做的是在每次迭代之后对它们进行校正化。

    首先,让我们看看如何确保两个向量再次正交。让我们考虑“几乎正交”的两个单位矢量a和b,换句话说,这两个矢量之间的角度接近90°,但不是精确的90°。我们要寻找一个与a正交并且在由向量a和b形成的平面中的向量b',这一向量很容易找到,如图 5所示。首先通过叉乘的规则我们找到向量 c = a x b,c肯定垂直于a与b形成的平面。然后通过叉乘c与a得到b’ = c x a,因此,b’是我们正在寻找的与a正交的校正矢量,并且属于由a和b形成的平面。

    图5向量正交化

    通过三角定律的公式,我们可以推导出:

    b’ = c x a = (a x b) x a = –a (a.b) + b(a.a) = b – a (a.b) = b+d

    在上面的场景中,我们认为矢量a是固定的,并且我们推导出了与a正交的校正矢量b'。我们可以考虑相对称的问题——通过固定的矢量b,并找到经校正的向量a'。

    a’= a – b (b.a) = a – b (a.b)

    第三种场景,我们想同时校正两个向量,我们认为它们都有同样的错误,所以直观的讲,上述两种场景的两个向量都应该用半校正。

    a’= a – b (a.b) / 2

    b’= b – a (a.b) / 2

    图6向量半正交化

    我们定义Err= (a.b)/2

    可得出a’= a – Err * b    b’= b – Err * a

    请注意,我们并不能证明a'和b'是正交的,但是我们提出了直观的推理,即如果我们应用上述校正变换,a'和b'之间的角度将接近90°。

    现在回到DCM矩阵的更新,我们在将DCM矩阵重新引入下一个循环之前应用以下纠正措施:

    Err = ( IB1 . JB1) / 2

    IB1’= IB1 – Err * JB1

    JB1’= JB1 – Err * IB1

    IB1’’= Normalize[IB1’]

    JB1’’= Normalize[JB1’]

    KB1’’= IB1’’ x JB1’’

    其中,Normalize[a] = a/ |a|

    因此,最后我们校正的矩阵DCM1 可以从IB1’’, JB1’’, KB1’’的组合得到。

    展开全文
  • 按道理是应该根据求的切线的向量再做个向量的乘法然后才是法线的方向 18:00:45 为啥三个都是求切线呢 18:00:52 ? 18:01:26 求切向不是切线吗 18:01:44 咋会是法线? 18:02:20 但是以圆为例确实是对的 ...
  • 定义余弦相似度通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同...
  • 余弦相似度通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。...
  • 坐标转换有很多种方法,不同领域有不同...欧拉角(Euler angles)与旋转矩阵(Rotation Matrix)假设坐标系1欧拉角yaw(Azimuth)、pitch、roll角度为α,β,γ\alpha, \beta,\gamma,可以由公式:R(α,β,γ)=Rz
  • 对于如何计算两个向量的相似程度问题,可以把这它们想象成空间中的两条线段,都是从原点([0, 0, …])出发,指向不同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合;如果夹角为90度...
  • 余弦相似度_公式及推导_案例

    千次阅读 2019-04-25 20:16:36
    给出的相似性范围从-1到1:-1意味着两个向量指向的方向正好截然相反,1表示它们的指向是完全相同的,0通常表示它们之间是独立的,而在这之间的值则表示中间的相似性或相异性。 公式推导 如果对于上述的公式不是很...
  • 记住:这个公式是把向量沿着单位向量按左手定则转动了角度形成了新的向量。 在这儿,为了便于理解,我们定义上述向量都是在二维平面坐标系中,. 下面我们来解释这段话:In component form, the new array can be ...
  • 余弦相似度

    千次阅读 2018-12-14 19:19:04
    相比距离度量,余弦相似度更加注重两个向量方向差异,而非距离或长度上。公式如下: Python实现如下: import numpy as np from scipy.spatial.distance import pdist x = np.random.random(10) y = np.....
  • 方向导数 = 梯度*该方向向量的方向余弦 = 梯度的模*梯度的方向余弦*方向向量的方向余弦 梯度的模是常量,方向余弦是为单位向量,两个单位向量点乘的结果最大为1(两个向量相同),最小为-1(两个向量相反),故负梯度...
  • 一、余弦距离 形式化描述: 余弦夹角也可以叫余弦相似度。几何中夹角余弦可用来衡量两个向量方向的差异,机器学习中借用这一概念来衡量样本向量...当两个向量的方向完全相反时,夹角余弦取最小值-1。当余弦值为...
  • 点与向量问题引入空间直角坐标系空间直角坐标系空间中点的坐标空间两点的距离空间两点的距离公式例1向量及其线性运算向量的基本概念空间向量的坐标表示平面向量的方向角和方向余弦空间向量的方向角和方向余弦空间...
  • 四、向量的点乘

    2016-12-20 16:07:59
    3D数学之向量点乘 点乘 叉乘 向量点乘公式1: 公式2:结果是一个标量 ...两个向量的方向判断: a · b θ Angle is a and b are > 0 0° ≤ θ ° acute pointing mostly in the same direc
  • 夹角余弦(Cosine) ...(1)在二维空间中向量A(x1,y1)与向量B(x2,y2)夹角余弦公式: (2) 两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n)夹角余弦 类似,对于两个n维样本点a(x11,x12,…,x1n)和b...
  • 使用Tensorflow计算余弦距离

    千次阅读 2019-04-03 18:42:49
    余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的...当两个特征向量的方向在特征空间中相同,其夹角为0,余弦值为1,此时两个特征向量完全相似。故,余弦距离越大,两特征向量越相似,...
  • 如果一个向量不是单位向量,可以通过单位化将其转化为单位向量,即 非零向量除以向量的模,如下图所示 向量点乘 点乘只能发生在两个向量之间,且点乘时,两向量必须是单位向量,如果不是,需要将向量进行单位化后...
  • 2.二维空间中向量A(x1,y1)与向量B(x2,y2)的夹角余弦公式: 3.两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n)的夹角余弦为: 即: 夹角余弦取值范围为[-1,1]。余弦越大表示两个向量的夹角越小...
  • (1)在二维空间中向量A(x1,y1)与向量B(x2,y2)夹角余弦公式: (2) 两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n)夹角余弦 类似,对于两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n),可以使用类似于...
  • 同过两个向量的夹角的余弦值来判断两个向量的相似度。 余弦值取值[-1,1],越接近1,两向量夹角越小,越相似。 二维公式: n维公式: 存在的问题[1]: 余弦相似度更多的是从方向上区分差异,而对绝对的数值不敏感。...
  • 我用VB.NET制作了一个小程序,程序的功能是根据源图比较2...鉴于两个向量的属性, A 和B的余弦相似性θ用一个点积形式来表示其大小,如下所示: 产生的相似性范围从-1到1:-1意味着两个向量指向的方向正好截然
  • 余弦相似度需要对两个向量的长度做归一化,然后度量两个向量的方向,与向量的长度无关。也就是说,两个向量只要方向一致,无论长度、程度如何,都视作“相似”。即“余弦相似度对具体数值的绝对值大小不敏感” 这会...
  • Python 余弦相似性应用

    千次阅读 2017-11-11 21:29:36
    本文旨在对两个未知类型的文本进行余弦相似度分析,判断哪个文本属于军事类理论知识 对于二维空间,根据空间向量点积公式:假设...余弦值的范围在[-1,1]之间,值越趋近于1,代表两个向量的方向越接近(文档越相似);接
  • 4. 向量的方向角与方向余弦 5. 向量的坐标表示 6. 向量的线性运算 7. 向量的数量积 8. 向量的向量积 9. 向量及其坐标的有关公式 二、空间中的曲面与曲线 1. 曲面与曲面方程 2. 空间曲线的方程 3. 旋转面方程 4. 柱面...
  • 常用距离公式

    千次阅读 2018-08-21 11:36:54
    余弦相似度用向量空间中两个向量的夹角的余弦值来衡量两个文本间的相似度,相比距离度量,余弦相似度更加注重两个向量在方向上的差异,一般情况下,用Embedding得到两个文本的向量表示之后,可以使用余弦相似度计算...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

向量的方向余弦公式