Rigid Body Simulation Using PGS

本文介绍了从能量函数推导关节雅可比矩阵的方法,并讨论了使用Erin Catto的迭代方法——投影高斯赛德尔(PGS)及其改进版投影SOR进行关节求解的过程。此外还提到了适用于接触问题的顺序脉冲方法。

Joint's Jacobian Matrix is derived from Energy Function[1], for joint solver I followed Erin Catto’s iterative method called Projected Gauss Seidel (PGS) [2] with some modification, call it Projected SOR with prediction and correction to make it more stable for stiff joint.
Erin Catto’s Sequential Impulse[3], which is more suitable for contact, is mathematically equivalent to PGS, and is not implemented current.
Reference
[1] David Barraf. Physic Based Modeling Course Note
[2] Erin Catto. Iterative Dynamic
[3] Erin Catto. GDC2007 Modeling and Solving Constraints

转载于:https://www.cnblogs.com/AdamGamer/archive/2007/10/07/916042.html

### Simscape MultibodyRigid Body 模块的使用 #### 创建刚体结构 在创建复杂的机械系统时,`Rigid Transform` 块位于 `Frame and Transform` 类目下,而 `Solid` 块则放置于 `Body Elements` 下[^1]。为了构建一个完整的刚体组件,通常会组合多个 Solid 和 Rigid Transform 来定义物体形状及其相对位置。 #### 添加物理属性 通过 `Simscape > Multibody` 库中的资源,能够赋予这些几何实体质量、惯性和其他必要的力学特性。具体操作是在模型浏览器中选中对应的部件并配置其参数,比如密度、材料类型等。对于更复杂的情况,还可以导入 CAD 文件作为基础来简化建模过程。 #### 集成运动源与控制系统 除了静态描述外,动态行为同样重要。为此可以从 Simulink 的库引入信号发生器如 Sine Wave 或者利用 PS-Simulink Converter 将物理量转换为适合处理的形式[^2]。这样做的目的是为了让外部输入(例如力矩、速度设定值)作用到所建立的多体系统上,进而模拟真实世界里的交互情况。 #### 实际应用案例分析 考虑这样一个场景:假设要测试某台设备在其作业环境中避开固定障碍的能力。此时不仅要在工作区内部署虚拟墙壁表示不可逾越之处,而且得预先规划好期望行驶路线供控制器参考。借助现成工具箱内的函数命令 open_system("sm_backhoe_with_environment") 可迅速加载预设实例进行观察学习[^4]。 ```matlab % 打开包含环境设置的工作空间文件 open_system('sm_backhoe_with_environment'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值