使用modelica进行简单的四link机制模拟时出错

Error on simple four link mechanism simulation with modelica

我正在尝试实施 4 link 机制,我放在一起的模型如下所示:

                        

Revolute1 的速度为 5 rad/s。所有钢筋的直径均为 0.05 m。世界设置是默认设置,您可以在图片上看到条形矢量。其他都没有改变。

当我尝试 运行 模拟时,我在 OpenModelica 上遇到了这些错误:

[1] 10:29:43 Symbolic Error [Modelica.Mechanics.MultiBody.Parts: 238:5-238:62]: Model is structurally singular, error found sorting equations

[2] 10:33:25 Translation Error Internal error Transformation Module PFPlusExt index Reduction Method Pantelides failed!

我做错了什么?这看起来很简单。谢谢

您需要用 RevolutePlanarLoopConstraint 替换其中一个 Revolute 关节。为什么?引用 documentation:

If a planar loop is present, e.g., consisting of 4 revolute joints where the joint axes are all parallel to each other, then there is no unique mathematical solution if all revolute joints are modelled with Joints.Revolute and the symbolic algorithms will fail. The reason is that, e.g., the cut-forces in the revolute joints perpendicular to the planar loop are not uniquely defined when 3-dim. descriptions of revolute joints are used

除了平面四连杆需要使用 Modelica.Mechanics.MultiBody.Joints.RevolutePlanarLoopConstraint 之外,还需要调整模型拓扑,假设 bar2 固定为 world。请参阅示例模型 Planar4Bar