(window.webpackJsonp=window.webpackJsonp||[]).push([[556],{869:function(t,a,_){"use strict";_.r(a);var c=_(10),s=Object(c.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"方向-旋转表示"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#方向-旋转表示"}},[t._v("#")]),t._v(" 方向/旋转表示")]),t._v(" "),a("h2",{attrs:{id:"正旋转方向"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#正旋转方向"}},[t._v("#")]),t._v(" 正旋转方向")]),t._v(" "),a("p",[t._v("根据“右手法则”,旋转的正方向是轴方向顺时针。")]),t._v(" "),a("fdi-img",{attrs:{alt:"MEMS",src:"/knowledge-base/04/040301.png"}}),t._v(" "),a("h2",{attrs:{id:"欧拉角"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#欧拉角"}},[t._v("#")]),t._v(" 欧拉角")]),t._v(" "),a("p",[t._v("欧拉角是空间方向的常用表示形式。欧拉角实际上是来自局部大地坐标系的旋转组合。此方向由围绕局部帧 X、Y 和 Z 轴的三个旋转序列定义。")]),t._v(" "),a("p",[t._v("欧拉角被广泛使用,因为它们易于理解。三个参数:横滚、俯仰和偏航定义了围绕固定框架轴的旋转:")]),t._v(" "),a("ul",[a("li",[t._v("滚动 (φ):在 [-π 之间定义绕 X 轴旋转 ; π] ;")]),t._v(" "),a("li",[t._v("螺距 (θ):在 [-π/2 ; π/2] 之间定义的绕 Y 轴旋转;")]),t._v(" "),a("li",[t._v("偏航 (ψ):在 [-π 之间定义绕 Z 轴旋转; π]。")])]),t._v(" "),a("cite-panel",{attrs:{title:"万向节锁效应"}},[a("p",[t._v("由于欧拉角受到称为“万向节锁”的奇点的影响,当俯仰接近 ± π/2 时,如果设备必须在广泛的方向上使用,我们不建议使用欧拉角。四元数和旋转矩阵没有任何奇点。")])]),t._v(" "),a("h2",{attrs:{id:"四元数"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#四元数"}},[t._v("#")]),t._v(" 四元数")]),t._v(" "),a("p",[t._v("四元数是复数的扩展,定义如下:\n"),a("fdi-math",{attrs:{content:"Q=q_0+i\\cdot q_1+j\\cdot q_2+k\\cdot q_3"}})],1),t._v(" "),a("p",[t._v("其中 *i, j, k * 是虚数。 我们还可以定义 "),a("strong",[t._v("Q")]),t._v(" 的复共轭:\n"),a("fdi-math",{attrs:{content:"\\overline Q=q_0-i\\cdot q_1-j\\cdot q_2-k\\cdot q_3"}})],1),t._v(" "),a("p",[t._v("还有Q的形式:\n"),a("fdi-math",{attrs:{content:"\\|Q\\|=\\sqrt\\{Q\\cdot\\overline\\{Q\\}\\}"}})],1),t._v(" "),a("fdi-math",{attrs:{content:"\\|Q\\|=\\sqrt\\{Q\\cdot\\overline\\{Q\\}\\}"}}),t._v(" "),a("p",[t._v("特定的四元数,例如|Q|= 1 可以表示 3D 方向的完整定义,没有任何奇点。")]),t._v(" "),a("p",[t._v("四元数代数不需要大量的计算资源,因此它们对于定向表示非常有效。")]),t._v(" "),a("p",[t._v("Q 的逆旋转由其复共轭定义。")]),t._v(" "),a("h2",{attrs:{id:"旋转矩阵"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#旋转矩阵"}},[t._v("#")]),t._v(" 旋转矩阵")]),t._v(" "),a("p",[t._v("方向余弦矩阵 (DCM) 是一个旋转矩阵,可将一个坐标参考系转换为另一个坐标参考系。旋转矩阵是 3D 方向的完整表示,因此该模型中没有奇点。")]),t._v(" "),a("p",[t._v("DCM 定位定义坐标框的三个单位向量。在这里,DCM将主体坐标帧转换为本地NED坐标。DCM 是三个旋转矩阵 RM(φ)、RM(θ) 和 RM(ψ) 分别围绕局部大地测量 (NED) X、Y 和 Z 轴的组合:")]),t._v(" "),a("fdi-math",{attrs:{content:"DCM=RM_\\psi\\cdot RM_\\theta\\cdot RM_\\varphi"}}),t._v(" "),a("br"),t._v(" "),a("fdi-math",{attrs:{content:"DCM=\\begin\\{pmatrix\\}\\cos\\psi&-\\sin\\psi&0\\\\\\sin\\psi&\\cos\\psi&0\\\\0&0&1\\end\\{pmatrix\\}\\cdot\\begin\\{pmatrix\\}\\cos\\theta&0&\\sin\\theta\\\\0&1&0\\\\-\\sin\\theta&1&\\cos\\theta\\end\\{pmatrix\\}\\cdot\\begin\\{pmatrix\\}1&0&0\\\\0&\\cos\\varphi&-\\sin\\varphi\\\\0&\\sin\\varphi&\\cos\\varphi\\end\\{pmatrix\\}"}}),t._v(" "),a("br"),t._v(" "),a("fdi-math",{attrs:{content:"DCM=\\begin\\{pmatrix\\}\\cos\\theta\\cdot\\cos\\psi&\\sin\\varphi\\cdot\\sin\\theta\\cdot\\cos\\psi-\\cos\\varphi\\cdot\\sin\\psi&\\cos\\varphi\\cdot\\sin\\theta\\cdot\\cos\\psi+\\sin\\varphi\\cdot\\sin\\psi\\\\\\cos\\theta\\cdot\\sin\\psi&\\sin\\varphi\\cdot\\sin\\theta\\cdot\\sin\\psi+\\cos\\varphi\\cdot\\cos\\psi&\\cos\\varphi\\cdot\\sin\\theta\\cdot\\sin\\psi-\\sin\\varphi\\cdot\\cos\\psi\\\\-\\sin\\theta&\\sin\\varphi\\cdot\\cos\\theta&\\cos\\varphi\\cdot\\cos\\theta\\end\\{pmatrix\\}"}}),t._v(" "),a("p",[t._v("对于任何旋转矩阵,反向旋转等于转置矩阵:\n"),a("fdi-math",{attrs:{content:"DCM^\\{-1\\}=DCM^T"}})],1),t._v(" "),a("p",[t._v("为了将体坐标系表示的矢量转换为NED帧,用户将使用DCM,如下所示:\n"),a("fdi-math",{attrs:{content:"V_\\{NED\\}=DCM\\cdot V_\\{body\\}"}})],1),t._v(" "),a("p",[t._v("相互:\n"),a("fdi-math",{attrs:{content:"V_\\{body\\}=DCM^\\{T\\}\\cdot V_\\{NED\\}"}})],1),t._v(" "),a("h2",{attrs:{id:"其他有用的转换公式"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#其他有用的转换公式"}},[t._v("#")]),t._v(" 其他有用的转换公式")]),t._v(" "),a("p",[t._v("其他一些转换公式可能对许多用户有用,如下所示:")]),t._v(" "),a("h3",{attrs:{id:"dcm-到-四元数"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dcm-到-四元数"}},[t._v("#")]),t._v(" DCM 到 四元数")]),t._v(" "),a("p",[t._v("根据四元数参数计算 DCM 可能很有用:")]),t._v(" "),a("fdi-math",{attrs:{content:"DCM=\\begin\\{pmatrix\\}2\\cdot q_0^2+2\\cdot q_1^2-1&2\\cdot q_1\\cdot q_2-2\\cdot q_0\\cdot q_3&2\\cdot q_0\\cdot q_2+2\\cdot q_1\\cdot q_3\\\\2\\cdot q_1\\cdot q_2+2\\cdot q_0\\cdot q_3&2\\cdot q_0^2+2\\cdot q_2^2-1&2\\cdot q_2\\cdot q_3-2\\cdot q_0\\cdot q_1\\\\2\\cdot q_1\\cdot q_3-2\\cdot q_0\\cdot q_2&2\\cdot q_2\\cdot q_3+2\\cdot q_0\\cdot q_1&2\\cdot q_0^2+2\\cdot q_3^2-1\\end\\{pmatrix\\}"}}),t._v(" "),a("h3",{attrs:{id:"欧拉到四元数"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#欧拉到四元数"}},[t._v("#")]),t._v(" 欧拉到四元数")]),t._v(" "),a("p",[t._v("这是转换为欧拉角的四元数。")]),t._v(" "),a("fdi-math",{attrs:{content:"\\begin\\{gathered\\} \\varphi=\\tan^\\{-1\\}\\left(\\{\\frac\\{2\\cdot q_\\{2\\}\\cdot q_\\{3\\}+2\\cdot q_\\{0\\}\\cdot q_\\{1\\}\\}\\{2\\cdot q_\\{0\\}^\\{2\\}+2\\cdot q_\\{3\\}^\\{2\\}-1\\}\\}\\right) \\\\ \\theta=-\\sin^\\{-1\\}\\left(2\\cdot q_1\\cdot q_3-2\\cdot q_0\\cdot q_2\\right) \\\\ \\psi=\\tan^\\{-1\\}\\left(\\{\\frac\\{2\\cdot q_\\{1\\}\\cdot q_\\{2\\}+2\\cdot q_\\{0\\}\\cdot q_\\{3\\}\\}\\{2\\cdot q_\\{0\\}^\\{2\\}+2\\cdot q_\\{1\\}^\\{2\\}-1\\}\\}\\right) \\end\\{gathered\\}"}}),t._v(" "),a("h3",{attrs:{id:"dcm-到欧拉角"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dcm-到欧拉角"}},[t._v("#")]),t._v(" DCM 到欧拉角")]),t._v(" "),a("p",[t._v("最后,将DCM矩阵转换为欧拉角。")]),t._v(" "),a("fdi-math",{attrs:{content:"\\begin\\{gathered\\} \\varphi=\\tan^\\{-1\\}\\left(\\{\\frac\\{DCM_\\{32\\}\\}\\{DCM_\\{33\\}\\}\\}\\right) \\\\ \\theta=-\\sin^\\{-1\\}(DCM_\\{31\\}) \\\\ \\psi=\\tan^\\{-1\\}\\left(\\{\\frac\\{DCM_\\{21\\}\\}\\{DCM_\\{11\\}\\}\\}\\right) \\end\\{gathered\\}"}})],1)}),[],!1,null,null,null);a.default=s.exports}}]);