simscapeでブロックを用いずに落下や接触を表現する方法
11 views (last 30 days)
Show older comments
松
on 18 Nov 2024 at 7:17
Commented: Norihiro Kobayashi
about 2 hours ago
添付したモデルに対して,Variable Cylindrical SolidブロックとSolidブロックに接触を再現したいです.今まではSpatial Contact ForceブロックやPoint Cloudブロックを用いて接触を表現していましたが,これらのブロックを使用しないで接触を表現する方法はありますか?
また,jointブロックを使用してVariable Cylindrical SolidブロックをSolidブロックに落下させていたのですが,jointブロックを使用しないで落下させることは可能なのでしょうか?例えば,Variable Cylindrical Solidブロックに任意の加速度や速度を入力することで,落下を再現することはできるのでしょうか?
お忙しいところ恐縮ですが,解答のほど宜しくお願い致します.
0 Comments
Accepted Answer
Norihiro Kobayashi
about 7 hours ago
こんにちは、2つの質問があると思いましたが、いずれも、実施したいことや背景によっては回答が変わるかもしれません。
ひとまず以下回答です。
Spatial Contact ForceブロックやPoint Cloudブロックを用いずに接触を表現する方法について
→ 基本的には上記の方法をお勧めしますが、上記ブロックには柔軟性がかける部分もあり組み合わせて使うや、
Jointに直接力を入れて接触相当の計算をさせるなどの工夫が必要なケースがあります。
※こちらのブロックではvariable solidに対応していないことを気にされたのかなと思いましたが、背景がわかれば
対応方法もありそうです。
Jointブロックを私用せずに落下させることは可能ですか?
→ こちらはできないと思って頂くのが良いです。基本Jointブロックは物体がどの方向に動けるかを指定するブロックですので、
動ける向き(自由度)に応じたJointブロックを配置するのが基本となります。
※Jointブロックを利用したくない背景はすぐには想像がつきませんでしたので、こちらも理由次第での対処が必要そうです。
2 Comments
Norihiro Kobayashi
32 minutes ago
すでにTransofrom Sensorを配置頂いていますが、こちらから相対距離に相当するものが出力可能ですので、この値を使って力を計算して、物体に衝突力を与える流れでモデリングできるはずです。
衝突力の与え方は、
External Force and Torque ブロックを使うか、
JointのActuationの部分の設定を、Force(Torque) : "Provided by input" , Motion: "Automatically Computed"
でJointから力を与えるかのいずれかの方法が使えます。
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!