simscapeで衝突を表現する方法

17 views (last 30 days)
松
on 2 Dec 2024
Commented: on 3 Dec 2024
simscape上で物体と地面が衝突する様子をSpatial Contact Forceを使用せずに表現したいです.
以前相対距離を用いて衝突を表現できると教えていただいたので,相対距離,相対速度を用いて衝突力をMATLAB functionを用いて計算し,その値をjointブロックに入力することで衝突を表現しようと考えました.実際に組んだものが添付したモデルになります.
解析を実行してみたところ,物体と地面は接触せずそのまま貫通してしまい,想定していた動きになりませんでした.
どこを修正すればよいのかが分からず止まってしまったため,改善案を教えていただきたいです.
よろしくお願いします.

Accepted Answer

Norihiro Kobayashi
Norihiro Kobayashi on 3 Dec 2024
モデル拝見させて頂きましたが、モデル化の方針自体は問題ないようです。
バネ定数を2000程度にしてみて頂くとともに、バネ力の働く向き(正負)を改めてご確認ください。
その他数点工夫が必要そうですが、反力が働くところまでは上記対策と以下※部の修正で動作するかと思います。
※f=zとなっている個所は記載ミスかと思われますので、始めのifのelse 処理で f=0を入れると良いかと思います。
  1 Comment
松
on 3 Dec 2024
回答ありがとうございます.
コメントをもとに修正をしてみたところ,自分の想定と近いような動きとなりました.
1つだけ質問したいのですが,2物体の相対距離や相対速度が小さくなった場合に,if文で質量×重力加速度で垂直抗力を与えているのですが,わずかに落下を続けてしまいます.これは解析誤差なのでしょうか?

Sign in to comment.

More Answers (0)

Categories

Find more on ビッグ データの処理 in Help Center and File Exchange

Tags

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!