Effacer les filtres
Effacer les filtres

Building a nonlinear spring in Multibody

10 vues (au cours des 30 derniers jours)
Philip Mulford
Philip Mulford le 5 Juil 2023
Commenté : Philip Mulford le 13 Juil 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!

Réponses (1)

J Chen
J Chen le 13 Juil 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 commentaire
Philip Mulford
Philip Mulford le 13 Juil 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.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by