在 Modelica 中限制球面关节角度

问题描述

我想模拟一个连接到球形关节的物体,该关节只能在特定角度范围内自由移动,例如,每个自由度在 +/- 45 度之间。

我想尝试模拟一个物体的撞击(比如说像块站在它的边缘或角落)然后它掉到地板上。身体不应该滑动,但我希望它在球形关节的受限弧上“反弹”,

box

block bld

我在系统建模师教育示例中找到了这个弹跳球示例

equation
  impact = h <= 0.0;
  der(v) = if flying then -g else 0;
  der(h) = v;
  when {h <= 0.0 and v <= 0.0,impact} then
    v_new = if edge(impact) then -e * pre(v) else 0;
    flying = v_new > 0;
    reinit(v,v_new);
    n_bounce = pre(n_bounce) + 1;
  end when;

但是我不太适合将其修改代码,或者我可以找出为此创建块的最佳方法。最后,我想要一个地平面,因为事实证明 systemmodeler 中的地只是为了外观。

那么问题是如何用地平面模拟这个盒体的坠落和撞击?如果这太复杂了,如何将球关节在所有自由度上的角度限制为任意 +/- 角度?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...