Math 利用动能进行刚体动力学仿真时如何定位

Math 利用动能进行刚体动力学仿真时如何定位,math,simulation,physics,discrete-mathematics,rigid-bodies,Math,Simulation,Physics,Discrete Mathematics,Rigid Bodies,我正在尝试为我的模拟实现刚体动力学。我试图模拟张拉整体,如所附文件所示 我的文件如下: 根据这篇论文和我目前所读到的内容,一般过程是: 对于每个条: A) 定义杆的姿势(q):为此,我需要一个位置向量和一个 方向向量。我有这个,因为这是我最初的立场 B) 应用初始速度:它是0 C) 求动能 D) 寻找势能 E) 找到扭矩 对于整个系统: A) 求动能 B) 寻找势能 C) 找到扭矩 我的问题是如何根据动能、势能和扭矩找到每个杆的新姿势(位置和方向) 据我所知,我需要线加速度和角加速度,然

我正在尝试为我的模拟实现刚体动力学。我试图模拟张拉整体,如所附文件所示

我的文件如下:

根据这篇论文和我目前所读到的内容,一般过程是:

对于每个条:

  • A) 定义杆的姿势(q):为此,我需要一个位置向量和一个 方向向量。我有这个,因为这是我最初的立场
  • B) 应用初始速度:它是0
  • C) 求动能
  • D) 寻找势能
  • E) 找到扭矩
对于整个系统:

  • A) 求动能
  • B) 寻找势能
  • C) 找到扭矩
我的问题是如何根据动能势能扭矩找到每个杆的新姿势(位置和方向

据我所知,我需要线加速度和角加速度,然后是线速度和角速度,最后更新姿势(位置和方向)。我不明白我怎么能这样做

我看了那些书,读了一些笔记,但实际上我不知道怎么做

  • 刚体动力学算法,由Roy Featherstone编写
  • 游戏开发者物理学,David M.Bourg
  • 基于物理的建模,David Baraff
  • 如有可能,额外澄清:

    1) 基本上,
    W
    矩阵需要角度
    φ,θ,
    这些角度是整个结构的基本参考框架的角度吗?不是每个杆的角度,因为这不是,我想是整个系统的角度

    2) 关于移动参考框架的惯性矩阵,我理解这必须指每个杆?但既然是针对整个系统,那么矩阵应该是什么呢

    3) 如何分解
    M(q)

    4) 本文从电缆的角度对其进行了描述。我想试试其他的东西,在中心连接在一起的杆,每个杆只能轴向移动。所以我想我必须为每根杆加一个力,然后影响这个


    如果你有任何信息,请告诉我好吗?

    你的问题的答案是你论文中的方程式12,它给出了时间t的加速度

    计算加速度 如果仔细看等式12,每个项都是预先定义的(除了重力,重力沿每个节点的z轴
    -g*mi
    ,因此
    f gi=[0,0,-g*mi]
    )。我建议您开始构建/计算这些术语中的每一个(考虑到关于
    I
    的更改基础的备注)

    要区分
    M(q)
    ,请记住所有
    mi
    li
    r1i
    r2i
    都是常数,因此只有
    W
    具有非零导数:

    然后只需区分

    只剩下未知的东西,那就是加速度,写在纸上

    现在,您需要将计算出的所有元素放在方程的右侧,计算得到的向量,并对
    M(q)
    进行因式分解,这是所有
    Mi(q)
    的块对角矩阵,因此这相当于对每个
    Mi(q)
    进行因式分解。然后你会得到加速度,从中你可以积分速度,反过来,积分位置

    整合 这是从纸上漏掉的,但不太难。由于需要速度来计算加速度,因此必须使用一阶积分器,例如

    因此,速度和位置应更新如下:


    谢谢您的回复,这真的很有帮助!我已经实现并编码了大部分流程,我正在尝试更详细地理解一些部分。我在这个问题上添加了这些。为了进一步澄清我在上面解释的我感兴趣的事情。基本上,我希望有酒吧,他们的重心是在同一位置与其他人,但有不同的方向。整个系统的参考框架设置为与中心相同的位置。杆的动力学应该是,在对任何杆施加力后,杆将在其轴上线性移动。但是,它们在杆的参考框架中的方向不会改变。任何杆件中的任何移动以及外力(即重力)都会影响系统的参考框架(旋转或改变其位置)。如果您有任何关于此的参考资料或关于如何告知我的代码的任何建议,请让我知道。再次感谢你的回答,真的很有帮助!很抱歉,我现在没有太多时间,稍后我会详细说明。快速澄清:3)由于可以单独分解每个对角线块,因此可以使用直接方法,尝试LU或QR分解。1) 和2),每个W代表一个不同的杆,一般形式用2个角度φ,θ表示,你应该用
    si
    中的角度来表示(我想一张图纸会有帮助)<代码>ψi可能无效,因为这是杆的纵向旋转。IMB由关系式(4)给出,如果b=WTIMBWI不确定您在4)中提出的问题,那么让我们先解决最初的问题,然后只更改它。