シミュレーション中にSimscape Multibodyのジョイントブロックの設定値を変更したい。
2 views (last 30 days)
Show older comments
お世話になっております。
現在、Simscape Multibodyを使ったモデル化に取り組んでいます。
具体的には、楽器の弦が張力により固有値が変わるように、ばね乗数が一定に定まらず、なんらかの式で表現される様なばね乗数を実装できないかと考えています。
(ジョイントで提議するパラメータをシミュレーション中に変更したい)
Matlab Functionブロックを用いて、ワークスペース変数やモデル変数を変更すればなんとかなるかとも思ったのですが、思ったように計算できていないのが実状です。
他になにか良い方法がありましたらご教示下さい。
よろしくお願いいたします。
0 Comments
Accepted Answer
Toshinobu Shintai
on 3 Jan 2024
「Translational Multibody Interface」「Rotational Multibody Interface」などを使ってみてはいかがでしょうか。以下リンク先の例題にありますように、併進、回転運動ドメインと繋ぐことができ、そちらでばね定数などを可変にすることができます。
可変ばねブロックは、Simscape Drivelineになりますが、以下にあります。
5 Comments
Toshinobu Shintai
on 4 Jan 2024
「Simscape」の基本機能として、カスタムブロックを作成することができます。そちらを用いれば、少なくとも「Simscape Driveline」を用いなくてもよくなりますが、いかがでしょうか。
以下の投稿画像にて、その手順が紹介されています。
通常の「Translational Spring」のソースコードをコピーして改変し、ばね定数を可変にしたカスタムブロックを作成することができます。
More Answers (0)
See Also
Categories
Find more on ボディ in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!