四面体構造の作成
3 views (last 30 days)
Show older comments
Simscape Multibodyで,6本の円柱から四面体を構築しようとしております.
部材の数値が煩雑になり,上手く座標が合致しません.
そこでSpring and Damper Forceのブロックで長さ0の仮想ばねを用いて,
片側の部材を引き寄せ,仮想ばねが振動しなくなった定常状態のところの座標を読み取り
四面体を構築しようと考えたのですがここから先が上手くできません.
これ以外にも,他に閉ループ構造を簡単に組む方法があれば,
どなたかご教授して頂けると助かります.
実際に取り組んでいるモデルを添付しておきます.
何卒よろしくお願い致します.
0 Comments
Answers (3)
Norihiro Kobayashi
on 8 Oct 2019
こんにちは。添付頂いたモデルを確認させて頂きましたが、Gimbal Jointをもう一つ追加し、自由度を増やすと構造自体は構築が可能です。モデルを添付させて頂きます。
また内部でご利用頂いているWeld Jointは拘束力を計測するためにお使い頂けるブロックで自由度は持たない点ご注意下さい。
こちらどのような動きをするべきものなのか把握しておりませんので、当初の意図と異なるようでしたら追加でご連絡ください。
Norihiro Kobayashi
on 10 Oct 2019
Edited: Norihiro Kobayashi
on 10 Oct 2019
追加でのコメントありがとうございます。
まず閉リンクの構築に際して、長さや角度をあらかじめ計算するのが難しく、現在バネを使って収束する状態を計算させていると理解致しました。
また長さ部分はすでにわかっており、角度だけ算出させたい状況と考えてよろしかったでしょうか?
もしそうであれば、回転系のJointであるGimbal Jointをバネの代わりにはさんで頂くだけで、
閉リンク構造の角度は自動的に算出されます。
Simscape MultibodyのJointは初期値を与えない状態でシミュレーションを開始しますと、
すべての拘束を満たす、初期値を最適化のアルゴリズムを用いて自動的に算出するためです。
もし長さを角度から自動的に計算をさせたい場合は、並進系のJointを混ぜて、
初期値の優先順位などをうまく組み合わせて頂くとこちらも実現が可能です。
閉リンク機構構築時の初期値が自動的に計算される点や、優先順位の設定に関しては、以下ドキュメントで解説がありますので、
以下の例題をご参照ください。
https://jp.mathworks.com/help/physmod/sm/examples/how-to-build-a-model.html
https://jp.mathworks.com/help/physmod/sm/ug/model-four-bar.html
以上質問の回答になりますでしょうか?
一点補足させて頂きますと、まず初期値の算出までを以上で検討できるとして、変形については別途検討が必要です。
Norihiro Kobayashi
on 15 Oct 2019
Watanabe様
返信遅くなりました。
>重ねて質問で恐縮なのですが,Gimbal joint等で自動で算出された角度などが意図するものでなかった場合は,手動で
>Rigid Transform(座標変換)用いて行ったりするのでしょうか.
三角形の3辺の長さをあらかじめ何かで決めてしまっていたとすると角度の微調整はできませんので、
長さをどこで微調整するかという意図でしょうか?たしかに長さや接点の微調整はRigid Transformでできますが、
Solid Blockでも長さ自体は調節ができますので、目的次第という印象です。
補足についてはご理解の通りで、基本的にJointを使って再現する方針で検討頂いております。
Jointの弾性を非線形にしたりする場合はこちらの例題もご参照ください。
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!