You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dymola机械臂建模中BearingFriction组件触发奇异不一致标量系统错误

机械臂Dymola建模BearingFriction组件奇异系统错误排查

问题背景

刚接触Dymola,正在搭建机械臂力学模型,使用Source - Position模块约束关节位置。计划通过角速度-扭矩表格建模摩擦,因此选用BearingFriction组件,但在特定输入位置值时出现奇异系统错误。

报错信息

Error: Singular inconsistent scalar system for bearingFriction.sa = ((if bearingFriction.locked then 0 else (if bearingFriction.startForward then -1.34 else (if bearingFriction.startBackward then 1.34 else (if pre(bearingFriction.mode) == 1 then -1.34 else 1.34))))-der)/( -(if bearingFriction.locked then 0 else 1.0)) = 19.8524/-0
Fixed point iterating to handle problem.

已尝试方案

  • 更换求解器
  • 调整求解容差
  • 修改表格插值方法
    以上操作均未解决问题。

模型代码

model Test
  Modelica.Mechanics.Rotational.Components.Inertia inertia(J=2)
    annotation (Placement(transformation(extent={{-40,14},{-20,34}})));
  Modelica.Mechanics.Rotational.Components.BearingFriction bearingFriction(tau_pos=[0,1; 10,1.5; 20,
        2.1; 40,2.6; 100,4.8; 150,5.1; 300,5.8; 600,6], peak=1.34)
    annotation (Placement(transformation(extent={{-4,14},{16,34}})));
  Modelica.Mechanics.Rotational.Components.Inertia inertia1(J=3)
    annotation (Placement(transformation(extent={{74,14},{94,34}})));
  Modelica.Mechanics.Rotational.Components.IdealGear idealGear(ratio=20)
    annotation (Placement(transformation(extent={{36,14},{56,34}})));
  Modelica.Mechanics.Rotational.Sources.Position position(exact=true)
    annotation (Placement(transformation(extent={{-82,14},{-62,34}})));
  Modelica.Blocks.Sources.ContinuousClock continuousClock
    annotation (Placement(transformation(extent={{-160,14},{-140,34}})));
  Modelica.Blocks.Tables.CombiTable1Ds combiTable1Ds(
    table=[0.0,70.2029; 0.00482,70.2029; 0.00964,70.2029; 0.01446,70.2014; 0.01928,70.197;
        0.0241,70.1876; 0.02892,70.1663],
    columns={2},
    smoothness=Modelica.Blocks.Types.Smoothness.ModifiedContinuousDerivative)
    annotation (Placement(transformation(extent={{-122,14},{-102,34}})));
equation 
  connect(inertia.flange_b, bearingFriction.flange_a)
    annotation (Line(points={{-20,24},{-4,24}}, color={0,0,0}));
  connect(bearingFriction.flange_b, idealGear.flange_a)
    annotation (Line(points={{16,24},{36,24}}, color={0,0,0}));
  connect(idealGear.flange_b, inertia1.flange_a)
    annotation (Line(points={{56,24},{74,24}}, color={0,0,0}));
  connect(position.flange, inertia.flange_a)
    annotation (Line(points={{-62,24},{-40,24}}, color={0,0,0}));
  connect(continuousClock.y, combiTable1Ds.u)
    annotation (Line(points={{-139,24},{-124,24}}, color={0,0,127}));
  connect(combiTable1Ds.y[1], position.phi_ref)
    annotation (Line(points={{-101,24},{-84,24}}, color={0,0,127}));
  annotation (
    uses(Modelica(version="4.0.0")),
    Diagram(coordinateSystem(extent={{-160,-100},{100,100}})),
    Icon(coordinateSystem(extent={{-160,-100},{100,100}})));
end Test;

系统示意图

机械臂模型系统示意图

内容的提问来源于stack exchange,提问作者Simone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:53:20