数字孪生在DevOps中作为通用知识库的应用
1. 示例系统
在这个示例中,我们研究一个执行重复运动的电动机,具体来说是一个执行拾取和放置动作的旋转机械臂。该机械臂部署在世界各地不同的位置,这些地方的温度和湿度水平各不相同。在示例中,我们对控制器进行更新,使其执行类似但更快速的运动。
需要注意的是,实际的物理系统并不存在,我们是在模拟环境中进行工作。针对温暖、寒冷和“实验室”环境,分别设置了不同的参数集,从而得到3个模型,即一个开发模型和两个“现实生活”模型。在这个案例中,这些“现实生活”模型被方便地用作数字孪生。而在实际设置中,“现实生活”模型将是物理系统,而非模型。
系统在Simulink中进行建模。拾取和放置控制器由一系列PI(D)控制器组成,用于控制机械臂的位置、电机的角速度和电流。控制器生成控制信号,驱动与电机相连的逆变器。旋转运动使用SimScape库建模为无刷直流电机,由逆变器驱动。在无刷直流电机模型的旋转部分,将寒冷或温暖环境的影响作为粘性摩擦组件纳入考虑。例如,在寒冷环境中,由于公差更紧或润滑剂的粘性更大,该摩擦组件比温暖环境中的更高,在模型中通过库仑摩擦来表征。系统的唯一要求是拾取和放置动作以2 Hz的速度进行,且稳态误差小于0.75°。具体信息如下表所示:
| 描述 | 值 |
| ---- | ---- |
| 拾取和放置动作 | -90° 到 90° |
| 频率 | 2 Hz |
| 误差 | < 0.75° |
在开发过程中,摩擦组件对建模者来说仍是一个问题,但我们可以假设实验室条件(即常规室温)足以对控制器进行调优。在对控制器进行调优并“部署”到实际系统(即在应用了正确环境