Building a nonlinear spring in Multibody

4 visualizaciones (últimos 30 días)
Philip Mulford
Philip Mulford el 5 de Jul. de 2023
Comentada: Philip Mulford el 13 de Jul. de 2023
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!

Respuestas (1)

J Chen
J Chen el 13 de Jul. de 2023
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 comentario
Philip Mulford
Philip Mulford el 13 de Jul. de 2023
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Assembly en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by