运动和运动学

运动轴通过将驱动器(Drive)连接到游戏对象(GameObject)来建模。驱动器(Drive)将沿着定义的旋转或线性轴移动游戏对象及其子组件。驱动器(Drive)是一个基础组件,具有一些通用的驱动器行为,但它不向 PLC 暴露信号接口。为此,除了游戏对象的驱动器(Drive)脚本之外,还需要添加一个驱动器行为(Drive Behavior)脚本。驱动器行为(Drive Behavior)包括特殊行为(如气动缸或位置控制驱动器),包括支持该特殊行为的任何信号。

ℹ️

所有 realvirtual.io 组件中驱动器位置的标准单位是:线性驱动器为毫米,旋转驱动器为度。速度的标准单位是毫米/秒和度/秒。在 Unity 中,每毫米表示为一个 Unity 单位(这意味着 Unity 变换组件中显示的是以米为单位的值)。您可以在 realvirtualController 中调整比例,但通常不建议这样做。

选择运动方法

realvirtual 提供了几种互补的方式来移动几何体。选择与您的机构构建方式相匹配的方式:

  • 驱动器(Drive) + 层级 — 标准方式,也是绝大多数轴的正确选择。驱动器沿一个线性或旋转轴移动游戏对象及其所有子对象。通过变换层级将驱动器串联起来构建串联运动学(堆叠的 XYZ 龙门架、输送机、简单的机器人手腕)。通过添加驱动器行为(Drive Behavior)来获取 PLC 信号和特殊行为(气动缸、位置控制)。
  • 运动学关节(Kinematic Joints) (Professional) — 一种基于位置的约束求解器,用于封闭运动链,这类链无法通过父子层级表达,因为一个链接必须同时满足多个约束。适用于 Delta 机器人、四杆机构、剪叉式升降机和平行夹具。驱动器仍然驱动主动关节;求解器在每个 FixedUpdate 中定位每个被动链接,无物理、无抖动、无漂移。其 KinematicTarget 伴侣为同一机构添加了逆向(笛卡尔目标)控制。运行在原生、多线程求解器中,可扩展到数百个机构。
  • 关节(Joint) — 基于 PhysX 的关节。物理关节是力驱动的且是迭代的,因此往往会抖动、下坠和漂移:闭合环永远无法完美定位,弹簧和阻尼器必须进行调整,相同的输入可能在不同运行时产生略有不同的结果。仅在真正需要动力学行为(下落部件、碰撞、柔顺性)时才使用 PhysX 关节——而不是在需要精确、可重复的机构姿态时。
  • 运动学(Kinematic) — 一个 CAD 导入辅助工具,用于分组部件并修正枢轴点;尽管名称相似,但与运动学关节无关。
  • 机器人 IK(Robot IK)(Professional) — 用于标准串联六轴和协作机器人的专用逆向运动学,具有路径规划和混合功能(参见机器人逆向运动学(Robot Inverse Kinematics))。

机构的精度优于物理。 对于任何需要姿态正确的机构——Delta 机器人精确拾取、连杆机构索引到固定停止点、夹具闭合到精确宽度——优先选择运动学关节(Kinematic Joints)而不是 PhysX 关节。约束求解器在每个 FixedUpdate 中精确满足几何约束,无抖动、无漂移,结果完全确定且可重复,而物理关节只能近似约束,需要调试才能保持稳定。

在 realvirtual 中,物理主要用于部件(MU)本身——部件在传输表面(Transport Surface)、滑槽和料箱中下落、碰撞、分离和堆积——这些正是需要的动态、力驱动行为。物理用于物料流;驱动器和运动学关节用于机器自身的运动结构。

本页面的其余部分重点介绍标准驱动器(Drive)

此哔哩哔哩教程展示了如何定义驱动器(Drive)

Tutorial Adding Drives

我们提供了几种标准行为模型,但由于自动化设备和功能的多样性,您很可能需要添加自己的行为模型。

下图很好地概述了移动游戏对象的驱动器(Drive)驱动器(Drive)由连接到 PLC 的特殊驱动器行为控制,该行为又连接到一个或多个信号(使用自动化接口(Automation Interface)):

© 2025 realvirtual GmbH https://realvirtual.io - 保留所有权利。未经出版商事先书面许可,不得以任何形式或任何方式(包括打印、保存、影印、录制或其他电子或机械方法)复制、分发或传播本出版物的任何部分。