転がり運動のモデル化について

조회 수: 5 (최근 30일)
yuki watanabe
yuki watanabe 2019년 12월 3일
편집: yuki watanabe 2020년 1월 15일
Simscape Multibody を使って物体の転がり運動をモデル化しようとしております.
現在,添付したモデルのように,転がらせたい物体の重心にRevolute Joint を取り付け,Revolute Jointの角度の情報をPrismatic Joint の位置へ反映させて,モデル化しています.
しかしこの場合,以下のような代数ループが発生して,複雑な構造物を扱うモデルの場合に,シミュレーション時間が大変長くなります.
添付したブロック線図上で信号がどうのような仕組みで代数ループしているのか,よくわかりません.
代数ループを避けて,物体の転がり運動を表現できる方法がありましたら,ご教授ください.
何卒よろしくお願いします.

채택된 답변

Hiroumi Mita
Hiroumi Mita 2019년 12월 23일
この場合の代数ループとは
Revolute Jointの出力qが、Prismatic jointの入力pになっているからです。
Revolute JointとPrismatic jointの間には遅れがありません。
Revolute Jointの計算をするのに、Prismatic jointの情報が必要ですが、Prismatic jointの情報は
Revolute Jointの情報から計算されます。
このように、自分自身の現在の情報を計算をするのに自分自身の現在の情報を
遅れなく使う場合が代数ループとなります。
簡単な対処法は、添付のように、Memory blockなどを置き、過去の情報から計算するようにモデルを変えます。
このとき、Memory Blockは、入力の1ステップ前の値を出すの代数ループエラーは回避されます。desc.png
  댓글 수: 1
yuki watanabe
yuki watanabe 2020년 1월 15일
편집: yuki watanabe 2020년 1월 15일
Hiroumi Mita 様へ
返信が遅くなり大変申し訳ありません.
ご指摘頂いた通り,Memory Blockを組み込みましたらエラーが出ずに済みました…
返信して頂き,ありがとうございます.
watanabe
追伸
不躾で大変恐縮なのですが,物体の転がりを表現するのに上の書き込みで添付した方法ではなく,ラック&ピニオン ブロックなどを用いて表現するのとでは差異はあったりするのでしょうか.
watanabe

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 アセンブリ에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!