Additional Range of Motion Constraint for GenericJoint #17
-
Hello, I was wondering if it would be possible, to set a further constraint to a joint in Exudyn. Once again, thank you in advance for your help! 🙏 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
This is an interesting question, and it is in general possible. In a recent test, which did not yet make it into the examples section of Exudyn, we did the following for a TorsionalSpringDamper (which could be also adapted for a regular SpringDamper): def UFtsd(mbs, t, itemNumber, rotation, angularVelocity, stiffness, damping, offset): This limits our joint with a quadratically increasing stiffness. In future, we may add such functionality to torsional and translational spring dampers, which will increase the performance as compared to user functions. |
Beta Was this translation helpful? Give feedback.
This is an interesting question, and it is in general possible. In a recent test, which did not yet make it into the examples section of Exudyn, we did the following for a TorsionalSpringDamper (which could be also adapted for a regular SpringDamper):
def UFtsd(mbs, t, itemNumber, rotation, angularVelocity, stiffness, damping, offset):
f = 0.
limPos=pi
limNeg=-pi
if rotation > limPos:
f = 50stiffness(rotation-limPos)*2 + stiffness(rotation-offset) + dampingangularVelocity
elif rotation < limNeg:
f = -50stiffness*(rotation-limNeg)*2 + stiffness(rotation-offset) + dampingangularVelocity
else:
f = stiffness(rotation-offset) + damping*angularVelocity
return f
This limits our joint with a quad…