首页 > 其他分享 >转动惯量矩阵推导

转动惯量矩阵推导

时间:2024-10-10 15:49:29浏览次数:1  
标签:dm 推导 int 转动惯量 矩阵 yz vec bmatrix omega

质点的角动量

角动量是矢量,可用位矢和动量的矢积表示:

\[\vec{L} = \vec{r} \times \vec{p} \tag{1} \]

惯性张量

对于通过质心,绕任意轴以角速度\(\omega\)旋转的刚体,对于质心的角动量定义为:

\[H_{cg} = \int(\vec{r} \times (\vec{\omega} \times \vec{r})) dm \]

r和w可以写成向量:

\[\vec{r} = x\vec{i} + y\vec{j} + z\vec{z} \]

\[\vec{\omega} = \omega_x\vec{i} + \omega_y\vec{j} + \omega_z\vec{z} \]

向量叉乘可以写成矩阵和向量相乘的形式:

\[\vec{r} \times \vec{q} = \begin{bmatrix} r_y q_z - r_z q_y \\ r_z q_x - r_x q_z \\ r_x q_y -r_y q_x \end{bmatrix} = \begin{bmatrix} 0 & -r_z & r_y \\ r_z & 0 & -r_x \\ -r_y & r_x & 0 \end{bmatrix} \begin{bmatrix} q_x \\ q_y \\ q_z \end{bmatrix} \]

因此展开角动量公式里的叉乘:

\[H_{cg} = \int(\vec{r} \times (\vec{\omega} \times \vec{r})) dm = \int( \begin{bmatrix} 0 & -z & y \\ z & 0 & -x \\ -y & x & 0 \end{bmatrix} \begin{bmatrix} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} ) dm \\ = \int( \begin{bmatrix} -z\omega_z-y\omega_y & y\omega_x & z\omega_x \\ x\omega_y & -z\omega_z-x\omega_x & z\omega_y \\ x\omega_z & y\omega_z & -y\omega_y-x\omega_x \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} ) dm \\ = \int( \begin{bmatrix} (y^2+z^2)\omega_x-xz\omega_z - xy\omega_y \\ (x^2+z^2)\omega_y -yz\omega_z-xy\omega_x \\ (x^2+y^2)\omega_z - yz\omega_y - xz\omega_x \end{bmatrix} ) dm \\ \]

令:

\[I_{xx} = \int(y^2+z^2)dm \]

\[I_{yy} = \int(x^2+z^2)dm \]

\[I_{zz} = \int(y^2+x^2)dm \]

\[I_{xy} = I_{yx} = \int(xy)dm \]

\[I_{xz} = I_{zx} = \int(xz)dm \]

\[I_{yz} = I_{zy} = \int(yz)dm \]

上式可改写为:

\[H_{cg} = \begin{bmatrix} I_{xx}\omega_x-I_{xz}\omega_z - I_{xy}\omega_y \\ I_{yy}\omega_y -I_{yz}\omega_z-I_{xy}\omega_x \\ I_{zz}\omega_z -I_{yz}\omega_y - I_{xz}\omega_x \end{bmatrix} \\ = \begin{bmatrix} I_{xx} & -I_{xy} & -I_{xz} \\ -I_{xy} & I_{yy} & -I_{yz} \\ -I_{xz} & -I_{yz} & I_{zz} \\ \end{bmatrix} \begin{bmatrix} \omega_x \\ \omega_y \\ \omega_z \end{bmatrix} \]

令矩阵I:

\[I = \begin{bmatrix} I_{xx} & -I_{xy} & -I_{xz} \\ -I_{xy} & I_{yy} & -I_{yz} \\ -I_{xz} & -I_{yz} & I_{zz} \\ \end{bmatrix} \]

最终得到:

\[H_{cg} = I\vec{\omega} \]

I就是转动惯量。

上式两边对于时间求导,在极短的时间内可以认为惯性矩阵I是常量:

\[\frac{d H_{cg}}{dt} = I \frac{d \vec{\omega}}{dt} = I \vec{\alpha} \]

根据角动量定理(总外力矩等于刚体角动量的时间变化率),左侧就是外力矩,因此:

\[\vec{M} = I \vec{\alpha} \Rightarrow I^{-1} \vec{M} = \vec{\alpha} \tag{6} \]

这是旋转的运动学公式,总外力矩克服转动惯量,给予物体于角加速度。
和平移运动公式\(\vec{F}=m\vec{a}\)具有一样结构和地位。

计算转动惯量

\[I_{xx} = \int(y^2+z^2)dm \]

\[I_{yy} = \int(x^2+z^2)dm \]

\[I_{zz} = \int(y^2+x^2)dm \]

\[I_{xy} = I_{yx} = \int(xy)dm \]

\[I_{xz} = I_{zx} = \int(xz)dm \]

\[I_{yz} = I_{zy} = \int(yz)dm \]

\[I = \begin{bmatrix} I_{xx} & -I_{xy} & -I_{xz} \\ -I_{xy} & I_{yy} & -I_{yz} \\ -I_{xz} & -I_{yz} & I_{zz} \\ \end{bmatrix} \]

根据它的定义,坐标系恒定情况下,当物体姿态发生变化后,各个质量微原的位置发生了变化,因此每个量都需要重新计算,这带来了很大计算量。

然而实际不需要那么麻烦。

将I写成另一种形式:

\[I=\sum m_i(r_i^T r_i 1 - r_i r_i^T) \]

其中 1代表单位矩阵。

如图在参考姿态下:

\[I_{ref}=\sum m_i(r_i^T r_i 1 - r_i r_i^T) \]

当物体旋转后,原来的微原位于\(Rr_i\)处,因此

\[I=\sum m_i((Rr_i)^T (Rr_i) 1 - (Rr_i) (Rr_i)^T) \\ =\sum m_i(r_i^T R^T Rr_i 1 - Rr_i r_i^T R^T) \\ =\sum m_i(r_i^T r_i 1 - Rr_i r_i^T R^T) \\ =\sum m_i(R r_i^T r_i 1 R^T - Rr_i r_i^T R^T) \\ =\sum m_i R(r_i^T r_i 1 - r_i r_i^T) R^T \\ =R I_{ref} R^T \]

最后:

\[I = R I_{ref} R^T \]

标签:dm,推导,int,转动惯量,矩阵,yz,vec,bmatrix,omega
From: https://www.cnblogs.com/bluebean/p/18456489

相关文章

  • Diffusion系列 - DDIM 公式推导 + 代码 -(三)
    DENOISINGDIFFUSIONIMPLICITMODELS(DDIM)从DDPM中我们知道,其扩散过程(前向过程、或加噪过程)被定义为一个马尔可夫过程,其去噪过程(也有叫逆向过程)也是一个马尔可夫过程。对马尔可夫假设的依赖,导致重建每一步都需要依赖上一步的状态,所以推理需要较多的步长。\[q(x_t|x_{t-1}......
  • 记录一道面试题(哈希表 稀疏矩阵)
    题目:有一个游戏中的三维地图,是由i,j,k三个轴组成的三维网络。每个立方体由不同的种类代表,比如空气,水,沙子,泥土。地图上方的空气方块,不会经常变动且数量占大多数,下方是各种类型的方块,会经常相互转换(水变沙子,沙子变泥土等)。问题:请你实现一个存储该地图的方案(地图方块和对应类型)。要......
  • 短视频矩阵SaaS系统源代码开发部署步及技术解析
    短视频矩阵源码开发部署一般包括以下步骤:安装开发环境:根据具体的短视频矩阵源码开发语言和框架,需要安装相应的开发环境,例如Python、Node.js、Django、React等。下载短视频矩阵源码:从源码存储库或官方网站下载最新的短视频矩阵源码。配置数据库:根据短视频矩阵源码的需求,选......
  • AI美女矩阵号12种变现方式+操作方法+工具推荐!(大全套安排)
    什么是AI美女矩阵号?这就不用解释了,用AI生成美女,发到小红书、抖音等平台,实现涨粉、引流、变现的目的。说说这个鬼东西的行情,现在这个东西国内外都在搞,毕竟lsp多。国外的号评论区全是lsp狂舔,有夸身材好的,有想请跳舞的,有约见面的,有叫宝贝的,没什么喷子,还是洋人好忽悠,大概下面......
  • 用函数创建DataFrame:使用字典推导式
    importpandasaspddefmake_df(cols,ind):"""一个简单的DataFrame"""#字典推导式,为每列生成数据data={c:[str(c)+str(i)foriinind]forcincols}#创建并返回DataFramereturnpd.DataFrame(data,ind)#DataFrame示例d......
  • 数据结构课程设计大项目————迷宫问题(邻接矩阵,prim生成算法,DFS寻路,BFS寻路,路径回溯
    一.前言迷宫问题是数据结构中最值得实践的大项目之一,本文主要讲解思路,提供的代码大部分都有注释(没有的就是太多了懒得写了QAQ)。为了更好的表现效果,该程序使用了easyx可视化,easyx简单易学(大概一天到两天就可以学会),上手简单。该程序由c语言实现,本人水平有限程序可优化空间很大。......
  • 张量矩阵乘法分块乘法概述
    张量矩阵乘法分块乘法概述介绍一下矩阵计算相关的内容,从最基本的算法,到Cutlass这些线性代数模版库,特别是Layout代数相关的内容,再逐渐细化到一些硬件实现访存优化和一些算子融合。6.3.1GEMM概述1.GEMM定义对于一个矩阵乘法,定义如下: (6-1)一个矩阵乘法定义,如图6-26......
  • 矩阵分块乘法
    矩阵分块乘法通常可以把一个矩阵分成多个块,例如, (6-4)可以将其划分为4个块:   (6-5)   (6-6)分块后的矩阵记为:(6-7)分块矩阵乘法如下所示:(6-7)划分不一定需要完全等间隔,只需要满足子矩阵乘法规则即可,如图6-27所示。图6-27子矩阵划分不一定需要完全......
  • 扩散模型中的后验分布方差推导
    扩散模型(DiffusionModels)中的后验分布通常涉及对潜在变量的条件分布进行推导。以下是推导扩散模型中后验分布方差的详细步骤。我们假设扩散过程是逐步添加噪声的过程,每一步根据高斯分布进行采样。扩散模型基于概率扩散过程,它将数据从原始分布逐步转换为噪声分布,然后再通过逆向过......
  • 矩阵写法
    template<intN,intM,classT=longlong>structmatrix{ intm[N][M]; matrix(){memset(m,0,sizeof(m));} voidinit(){for(inti=0;i<N;i++)m[i][i]=1;} friendbooloperator!=(matrix<N,M>x,matrix<N,M>y){ for(inti=0;i&l......