Building a nonlinear spring in Multibody

5 次查看(过去 30 天)
I am attempting to develop a nonlinear spring system in Simscape Multibody, and there does not appear to be a method to implement a nonlinear spring in the Multibody domain.
I am aware of Steve Miller's nonlinear spring (https://www.mathworks.com/matlabcentral/fileexchange/25238-simscape-language-nonlinear-spring) as well as the multiphysics library, but that requires a rather convoluted system in which each joint outputs to their component velocities and then a rather convoluted system to extract forces out, which strikes me as something overly complicated (see below)
Is there a way to a) develop multibody domain custom blocks? All the documentation I have found does not provide any information about the multibody domain. Failing that, is there a way to assign a variable spring constant to a spring and damper multibody block?
Thanks for your help in advance!

回答(1 个)

J Chen
J Chen 2023-7-13
You can use the Trnasform Sensor block to sense motion, convert the output to Simulink signals, calculate corresponding forces using Simulink, convert the outputs to the PS signals and feed it to the External Force and Torque block.
  1 个评论
Philip Mulford
Philip Mulford 2023-7-13
Yeah, I've moved to something similar to that (custom block instead of simulink logic, but the idea holds). The issue becomes that, as I add more masses, the transform sensor approach leads to a failing simulation. Taking the position vector directly out of the joint creates a passing simulation, but doesn't account for the full distance between masses.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Assembly 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by