本案例展示了如何使用 Simit 对具有离散事件(碰撞)的混合系统进行建模。一个小球从一定高度自由下落,受重力加速,并以一定的恢复系数从地面反弹。
系统动力学
小球的垂直位置 由重力 支配:
当小球撞击地面 () 时,其速度 会反向并发生衰减:
其中 是恢复系数(介于 0 和 1 之间)。
框图实现
在 Simit 中建模:
- Integrator (积分器):使用两个积分器,分别将加速度 积分为速度 ,将速度 积分为位置 。
- Constant (常数):提供重力加速度 。
- Zero Crossing 或 Hit Crossing:检测逻辑(在此基础示例中通过条件逻辑模拟)用于处理反弹。
注意:在 Simit 的当前版本中,我们可以利用逻辑模块在检测到碰撞时重置积分器状态或施加脉冲力。
分步实现
- 添加两个 Integrator 模块。
- 积分器 1 (速度):初始条件 = 。
- 积分器 2 (位置):初始条件 = (下落高度)。
- 添加一个 Gain 模块,设置为
-9.81(重力),连接到积分器 1 的输入。 - 添加一个 Scope 以可视化位置 。
(完整的混合建模功能将在后续更新中推出)
仿真结果
运行仿真 10 秒。你将看到小球的高度呈现抛物线轨迹,随着每次反弹能量损耗,反弹高度逐渐降低。