刚体动力学概述
阅读信息
约 1197 个字 4 分钟 本页总访问量:加载中... 次
刚体运动学概述
e.g.
- 鸟类飞行集群模拟:建模相对位置关系对飞行速度和方向的关系。排斥力、一致性力、吸引力
- 刚体机器人模拟:真实的力反馈
刚体:只有平移和旋转,没有形变;不会相互穿透
前向运动学
在已知所有关节的角度和关节之间的长度等参数的情况下,计算出末端执行器(End-Effector)在空间中的最终位置和方向。
正交矩阵: 如果一个方阵的转置等于它的逆矩阵,则称其为正交矩阵。每个行向量(或列向量)的长度为 1,不改变向量的长度和向量之间的夹角。正交矩阵的行列式为 1 或-1。
旋转矩阵是正交矩阵,是保距变换。(任意两点间距离在变换前后保持不变)
多关节计算末端:
已知所有关节的旋转\(R_i\),求局部坐标系位置\(x_0\)在全局坐标系的位置:
for i from the root to the end effector:
\(\mathbf{x}=\mathbf{p}_E+Q_E\mathbf{x}_0\)
关节运动限制:
- 运动角度:\(\theta_{min}\le\theta\le\theta_{max}\)
- 自由度(DoF)
逆向运动学
给定末端点位置 x,计算每个关节的旋转参数。
计算方法(e.g.):按机械臂长度画圆,交点为关节位置
优化求解:
- 找到更新参数的合理方向
- 沿着该方向更新参数,加入噪声
- 重复上述过程直到末端执行器到达指定位置
循环坐标下降法:
迭代旋转每个关节,使末端执行器与关节连线和目标之间的矢量对齐。
- 优化当前角度:旋转第 i 个关节,使得 i/n 连线尽可能指向目标位置
- 上一个关节优化:旋转第 i-1 个关节,使得 i-1/n 连线尽可能指向目标位置。直到优化第 0 个关节
- 迭代优化:重复迭代上述两步
Pros:
- 易于实现,计算开销小
Cons:
- 可能需要大量迭代才能收敛
- 对初始位置非常敏感
梯度下降法:
根据目标函数的梯度方向更新参数
Jacobian 矩阵:
逆运动学方法可分为两类:
- 解析法
- 特点:闭式解、全局可靠、对奇异性不敏感、计算代价低,适合低自由度或结构规整的机构与规划
- 局限:难以扩展到高度冗余与高自由度的刚体系统,常因非线性与可扩展性不足而不适合大规模逆运动学问题
- 数值法
- Jacobian 系列:以雅可比线性化、步进更新误差,方法体系完备但易受奇异性与线性近似影响,需要阻尼/截断等稳定化策略
进一步学习逆运动学方法:
- 数值法
- Newton /准牛顿:基于二阶泰勒近似与 Hessian 近似,收敛过程平滑、求解过程易纳入约束、避免雅可比奇异性。但每步代价高,工程实现更复杂
- 启发式法(如循环坐标下降):操作简单、收敛快,适合交互控制;但全局时空一致性与控制流畅性较弱
- 数据驱动法
- 核心思想:用预学习的姿态/概率模型保证输出落在可行的解空间
- 混合法
- 将问题分解并结合解析与数值方法,系统不同部分选用不同子求解器,兼顾效率与质量
质点动力学概述
用质点性质研究刚体的运动。
积分难求解:将时间离散化
显式积分(Explicit Euler)和隐式积分(Implicit Euler)
从$ t^{[0]} $ 到 $t^{[1]} $ 对函数$ v(t) $ 积分,显式积分将矩形高度设置为$v(t^{[0]}) $ ,隐式积分将矩形高度设置为$v(t^{[1]}) $。
总结(by chatgpt)
1. 显式积分 (Explicit Integration)
核心思想:下一步状态直接由当前状态计算。
- 公式(前向欧拉法):
-
特点:
-
计算简单,速度快。
- 只依赖当前状态 \(x_n\)。
-
容易发散,稳定性差,需要小时间步长(Δt)。
-
应用:实时性要求高但精度要求不高的场景(如简单动画)。
2. 隐式积分 (Implicit Integration)
核心思想:下一步状态依赖下一步导数,需要解方程。
- 公式(后向欧拉法):
-
特点:
-
需要解隐式方程(通常要求解线性/非线性方程组)。
- 数值稳定性高,可以使用较大时间步长。
-
计算量大。
-
应用:刚性系统(stiff system)、结构力学、有限元分析。
3. 半隐式积分 (Semi-implicit Integration / Symplectic Euler)
介于显式与隐式之间,常用于物理仿真。
- 公式(常见形式): 先更新速度,再更新位置,例如:
-
特点:
-
计算量和复杂度接近显式。
- 稳定性优于显式,但不如隐式。
-
保持一定能量守恒特性(在长时间模拟中不容易发散)。
-
应用:游戏物理、粒子系统、动力学仿真。
欧拉角的死锁问题(略)
四元数(略)