转动惯量矩阵推导

质点的角动量

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

(1)L=r×p

惯性张量

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

Hcg=(r×(ω×r))dm

r和w可以写成向量:

r=xi+yj+zz

ω=ωxi+ωyj+ωzz

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

r×q=[ryqzrzqyrzqxrxqzrxqyryqx]=[0rzryrz0rxryrx0][qxqyqz]

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

Hcg=(r×(ω×r))dm=([0zyz0xyx0][0ωzωyωz0ωxωyωx0][xyz])dm=([zωzyωyyωxzωxxωyzωzxωxzωyxωzyωzyωyxωx][xyz])dm=([(y2+z2)ωxxzωzxyωy(x2+z2)ωyyzωzxyωx(x2+y2)ωzyzωyxzωx])dm

令:

Ixx=(y2+z2)dm

Iyy=(x2+z2)dm

Izz=(y2+x2)dm

Ixy=Iyx=(xy)dm

Ixz=Izx=(xz)dm

Iyz=Izy=(yz)dm

上式可改写为:

Hcg=[IxxωxIxzωzIxyωyIyyωyIyzωzIxyωxIzzωzIyzωyIxzωx]=[IxxIxyIxzIxyIyyIyzIxzIyzIzz][ωxωyωz]

令矩阵I:

I=[IxxIxyIxzIxyIyyIyzIxzIyzIzz]

最终得到:

Hcg=Iω

I就是转动惯量。

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

dHcgdt=Idωdt=Iα

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

(6)M=IαI1M=α

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

计算转动惯量

Ixx=(y2+z2)dm

Iyy=(x2+z2)dm

Izz=(y2+x2)dm

Ixy=Iyx=(xy)dm

Ixz=Izx=(xz)dm

Iyz=Izy=(yz)dm

I=[IxxIxyIxzIxyIyyIyzIxzIyzIzz]

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

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

将I写成另一种形式:

I=mi(riTri1ririT)

其中 1代表单位矩阵。

如图在参考姿态下:

Iref=mi(riTri1ririT)

当物体旋转后,原来的微原位于Rri处,因此

I=mi((Rri)T(Rri)1(Rri)(Rri)T)=mi(riTRTRri1RririTRT)=mi(riTri1RririTRT)=mi(RriTri1RTRririTRT)=miR(riTri1ririT)RT=RIrefRT

最后:

I=RIrefRT

posted @   bluebean  阅读(486)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示