首页 > 其他分享 >变换矩阵的理解

变换矩阵的理解

时间:2024-04-20 21:34:12浏览次数:21  
标签:begin 变换 global 矩阵 理解 imu bmatrix 坐标系

用于表示同一世界在不同坐标系下的坐标值

为了方便理解, 建议先看 线性代数的本质--基变换

旋转矩阵

这里变换矩阵, 为了方便, 我们先只考虑旋转

\(R^{imu}_{global}\) 的列向量是imu坐标系的基向量在global坐标系下的坐标表示, 将imu坐标系下的坐标与R相乘, 得到同一个点在global坐标系下的坐标表示, 记住这是同一个点, 只是在不同坐标系下的表示不同而已

\[\bf{Coord}_{global} = R^{imu}_{global} X_{imu} \]

那么, 将global坐标系下的坐标表示转化为imu坐标系下的坐标表示, 只需要对变换矩阵求逆

\[\bf{Coord}_{imu} = {R^{imu}_{global}}^{-1} X_{global} \]

\({R^{imu}_{global}}^{-1}\) 的含义就是 \(R_{imu}^{global}\), 即global坐标系到imu坐标系的转化

平移向量

\[P = R^{imu}_{global}Q + t \Rightarrow Q = {R^{imu}_{global}}^{-1}P + {R^{imu}_{global}}^{-1} (-t) \]

平移向量t 表示的是在global坐标系下, 从global坐标系原点指向imu坐标系原点的向量
平移向量\({R^{imu}_{global}}^{-1} (-t)\) 表示的是在imu坐标系下, 从imu坐标系原点指向global坐标系原点的向量(注意是-t)

齐次变换矩阵

如果imu1的位姿是T1, imu2的位姿是T2

\[T^{imu1}_{imu2} = {T^{imu2}_{global}}^{-1}T^{imu1}_{global} \]

\[T^{imu1}_{imu2} = T_2^{-1}T_1 = \begin{bmatrix} R_2^{-1} & -R_2^{-1}t_2 \\ 0&1 \end{bmatrix} \begin{bmatrix} R_1 & t_1 \\ 0&1 \end{bmatrix} = \begin{bmatrix} R_2^{-1}R_1 & -R_2^{-1}(t_1 - t_2) \\ 0&1 \end{bmatrix} \]

可以看出来直接只使用齐次矩阵就好, 不用分别考虑旋转和平移

用于表示同一坐标系下的的运动

\(P_0, P_1, P_2\) 是同一坐标系下三个不同的点

\[P_1 = R_1P_0 + t_1 \]

\[P_2 = R_2P_0 + t_2 \]

\[P_2 = \Delta{R}P_1 + \Delta{t} \]

\[\Delta{R} = R_2R_1^{-1}, \quad \Delta{t}=t_2 - R_2R_1^{-1}t_1 \]

齐次变换矩阵

\[P_1 = T_1P_0 \]

\[P_2 = T_2P_0 \]

\[P_2 = \Delta{T}P_1 \]

\[\Delta{T}=T_2T_1^{-1} = \begin{bmatrix} R_2 & t_2 \\ 0&1 \end{bmatrix} \begin{bmatrix} R_1^{-1} & -R_1^{-1}t_1 \\ 0&1 \end{bmatrix} = \begin{bmatrix} R_2R_1^{-1} & t_2 - R_2R_1^{-1}t_1 \\ 0&1 \end{bmatrix} \]

可以看出来直接只使用齐次矩阵就好, 不用分别考虑旋转和平移

标签:begin,变换,global,矩阵,理解,imu,bmatrix,坐标系
From: https://www.cnblogs.com/nowgood/p/18148203

相关文章

  • 【爆款推荐】初中中考阅读理解难题一网打尽!句子结构深度解析+答案揭秘,助你轻松冲刺高
    PDF格式公众号回复关键字:ZKYDT007原文1WhereareMarkTwain’squotationsalwaysused?解析1Where哪里,are,MarkTwain’squotationsMarkTwain’s语录,alwaysused?总是被使用,被引用马克·吐温的名言总是被用在哪些地方?2MarkTwainisoneofthemostquote......
  • 说说你对图的理解?相关操作有哪些?
    一、是什么在计算机科学中,图是一种抽象的数据类型,在图中的数据元素通常称为结点,V是所有顶点的集合,E是所有边的集合如果两个顶点v,w,只能由v向w,而不能由w向v,那么我们就把这种情况叫做一个从 v 到 w 的有向边。v也被称做初始点,w也被称为终点。这种图就被称做有向图如果v和w是......
  • 导数微分积分的粗浅理解
     我对这几个概念粗浅的理解:导数:对于一个方程:y=f(x),在某点的导数就是该点的切线的斜率,也即:f'(x)=dy/dx。对于P0点的导数,就是角度∂的tan值,但是一般也不容易计算,所以可以用lim求极限的方式,也即计算PP0线无限接近P0的tan角度的值。微分的定义可以粗略的人为是:dy=f'(x)dx......
  • lc54 螺旋矩阵
      publicList<Integer>spiralOrder(int[][]matrix){intl=0;intr=matrix[0].length-1;intu=0;intd=matrix.length-1;List<Integer>list=newArrayList<>();while(l<=r&am......
  • 记录在JavaScript中对事件循环的理解
    JavaScript事件循环通俗解释好的,用更通俗的话来说,事件循环就像是在一个大剧院里,有一个演员(JavaScript引擎)和两个重要的角色:一个是前台的表演者(调用栈),另一个是后台的候场区(事件队列)。前台表演者:这个演员在前台表演,一次只能表演一个节目(单线程执行)。当一个节目(函数)开始时,演员就上......
  • 矩阵求导(一)
    前言在大学的微积分课程中,我们学习过关于标量函数的导数。但是当我们求解一个多元函数的极值时,单独一个自变量的偏导数往往不能告诉我们太多信息,于是我们有一种天然的想法是要把每个自变量的偏导数放在一起,看看他们的联合效果如何。这个过程其实是一个向量求导的过程。也就是说,我......
  • 关于西门子间接寻址的一些理解
    间接寻址。它很基础,基础到我们无时无刻都在用,但是同时它也很难理解,因为其实寄存器的概念已经被渐渐隐藏了。地址的概念我们通常提到的物理输入输出印象区P,印象输入区I,印象输出区Q,位存储区M,定时器T,计数器C,数据区DB,背景数据区DI,本地数据区L。每个区域(除T/C)都可以用BIT,BYTE,WORD......
  • 面试题:如何理解闭包
    之前看的闭包讲解,都是一些示例,不太好作为面试题作答内部函数如果引用了外部函数的变量,会形成闭包。如果这个内部函数作为外部函数的返回值,就会形成词法环境的引用闭环(循环应用),对应的变量就会常驻在内存中,形成大家所说的“闭包内存泄漏”。虽然闭包有内存上的问题,但是却突破了......
  • 【爆款推荐】初中中考阅读理解难题一网打尽!句子结构深度解析+答案揭秘,助你轻松冲刺高
    PDF格式公众号回复关键字:ZKYDT006原文1Whatdidmanypeopledowhentheyvisitedthemuseum?解析1What什么manypeople很多人do做whentheyvisitedthemuseum当他们参观博物馆时当人们参考博物馆时,他们做什么?2Manypeoplefromallovertheworldvi......
  • C# Lock锁对象的理解
    我们lock的一般是对象,不是值类型和字符串。1、为什么不能lock值类型比如lock(1)呢?lock本质上Monitor.Enter,Monitor.Enter会使值类型装箱,每次lock的是装箱后的对象。lock其实是类似编译器的语法糖,因此编译器直接限制住不能lock值类型。退一万步说,就算能编译器允许你lock(1),......