simscapeでブロックを用いずに落下や接触を表現する方法
18 ビュー (過去 30 日間)
古いコメントを表示
添付したモデルに対して,Variable Cylindrical SolidブロックとSolidブロックに接触を再現したいです.今まではSpatial Contact ForceブロックやPoint Cloudブロックを用いて接触を表現していましたが,これらのブロックを使用しないで接触を表現する方法はありますか?
また,jointブロックを使用してVariable Cylindrical SolidブロックをSolidブロックに落下させていたのですが,jointブロックを使用しないで落下させることは可能なのでしょうか?例えば,Variable Cylindrical Solidブロックに任意の加速度や速度を入力することで,落下を再現することはできるのでしょうか?
お忙しいところ恐縮ですが,解答のほど宜しくお願い致します.
0 件のコメント
採用された回答
Norihiro Kobayashi
2024 年 11 月 25 日
こんにちは、2つの質問があると思いましたが、いずれも、実施したいことや背景によっては回答が変わるかもしれません。
ひとまず以下回答です。
Spatial Contact ForceブロックやPoint Cloudブロックを用いずに接触を表現する方法について
→ 基本的には上記の方法をお勧めしますが、上記ブロックには柔軟性がかける部分もあり組み合わせて使うや、
Jointに直接力を入れて接触相当の計算をさせるなどの工夫が必要なケースがあります。
※こちらのブロックではvariable solidに対応していないことを気にされたのかなと思いましたが、背景がわかれば
対応方法もありそうです。
Jointブロックを私用せずに落下させることは可能ですか?
→ こちらはできないと思って頂くのが良いです。基本Jointブロックは物体がどの方向に動けるかを指定するブロックですので、
動ける向き(自由度)に応じたJointブロックを配置するのが基本となります。
※Jointブロックを利用したくない背景はすぐには想像がつきませんでしたので、こちらも理由次第での対処が必要そうです。
3 件のコメント
Norihiro Kobayashi
2024 年 11 月 25 日
すでにTransofrom Sensorを配置頂いていますが、こちらから相対距離に相当するものが出力可能ですので、この値を使って力を計算して、物体に衝突力を与える流れでモデリングできるはずです。
衝突力の与え方は、
External Force and Torque ブロックを使うか、
JointのActuationの部分の設定を、Force(Torque) : "Provided by input" , Motion: "Automatically Computed"
でJointから力を与えるかのいずれかの方法が使えます。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で 用途 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!