什么是仿真

在 FlexGym 中,场景描述的是“初始状态”,仿真计算的是“这个状态接下来如何运动、受力和变形”。

例如:

  • 一个方块受重力下落。
  • 机械臂的关节按目标值运动。
  • 多个物体之间发生碰撞。
  • 地形或高度场与物体发生接触。
  • 用户在运行中对某个刚体施加力或扭矩。

编辑状态、运行状态和回放状态

FlexGym 中常见三种状态:

  • 编辑状态:用户搭建场景、导入模型、修改节点属性和全局物理参数。
  • 运行状态:系统根据当前场景进行仿真计算,并把结果更新到视图区。
  • 回放状态:仿真结束后播放已经收到的结果帧,用于观察和分析。

仿真会计算什么

一次仿真通常会读取当前场景中的以下信息:

  • 对象的类型、位置、旋转、缩放和层级关系。
  • 刚体、碰撞体、物理材质和质量属性。
  • 关节、关节轴、关节限位、关节驱动和连接关系。
  • 固定支座、约束、外力、扭矩和其他边界条件。
  • 全局物理参数,例如重力、时间步、子步数、碰撞和几何体来源。

如果场景中只有纯显示模型,没有刚体、碰撞或其他物理属性,运行仿真时可能不会看到变化。