垂直多関節ロボットの慣性シミュレータの作成について
Show older comments
お世話になります。
垂直多関節ロボットの慣性シミュレータの作成について質問させていただきます。
現在垂直多関節ロボットの3D CADデータをSimscape 内にインポートする方向でシミュレータの作成を行っているのですが、SimbodyとSimlinkではもともと別製品であるため、なんらかの制約を受けますでしょうか?また、作成したシミュレータをRoboticsSytemToolでも利用可能でしょうか?
また、上記以外で3DCADデータを用いた慣性シミュレータ(動特性は考慮しない)をつくるのに適した方法はありますか?
長くなってしまいましたが、ご回答、アドバイスなどよろしくお願いします。
Answers (2)
Norihiro Kobayashi
on 4 Sep 2023
0 votes
こんにちは、Simlink と Simscapeでは多少接続部で注意する必要がある点があります。
接続の基本的な方法については、次のページが参考になると思います。
動力学モデルは上記のようなトルクor力入力を基本としますが、
逆動力学モデルでは、Position入力を同様に与えます。
この場合以下の点に注意が必要です:
Simulink - PSコンバータ内のフィルタ処理と微分にて、入力のフィルター処理、
フィルタ次数を2次フィルタに、設定し利用いただくと発散せずに利用することができます。
動特性を考慮しない?慣性の算出には、Simscape MultibodyのInertia Sensorブロックも活用いただける可能性があります。
以上参考になりましたら幸いです。
7 Comments
豪斗 中馬
on 4 Sep 2023
Norihiro Kobayashi
on 4 Oct 2023
ひとまず、モデル化までできたということで良かったです。
慣性モーメントを計測するブロックはInertia Sensorブロックで問題ないと思います。
慣性モーメントを計測するにあたって、”各軸に発生する”という部分の意図をもう少し整理する必要があると思います。
慣性モーメントは、計測軸を決めると、形状によって決まる固有の値です。
姿勢で変化することを考えると、複数のリンクをまとめた状態の慣性モーメントを計測されたいように理解しましたが、”各軸に発生する”という意図と照らし合わせて必要な計測をして頂く必要がありそうです。
Inertia Sensorブロックには、Body Groupの設定と、Mechanismの設定がありますが、この回転軸より先、という設定はないため、もし特定の回転軸より先のBody Groupをまとめて慣性モーメントを計測したい場合は、いくつか方法がありそうですが、Jointブロックの代わりにRigid Transformなどで角度を作る必要があるかもしれません。
豪斗 中馬
on 4 Oct 2023
Norihiro Kobayashi
on 4 Oct 2023
display ブロックを使って頂いた方がイメージがわきやすいかと思います。
Scopeの表示は、MATLABの行列をベクトルとして表示するのと同じように、1列目を上から順に1,2,3
2列目を上から4,5,6、3列目を7,8,9の順で表示していると思います。
Constantブロックに[1 2 3; 4 5 6; 7 8 9;]などと定義し、出力を比較確認してみてください。
豪斗 中馬
on 4 Oct 2023
豪斗 中馬
on 10 Oct 2023
0 votes
4 Comments
Norihiro Kobayashi
on 10 Oct 2023
Rigid Transformに設定している角度の値を変数にして、シミュレーションを複数回実行するのが比較的簡単かなと思います。
Simulinkをモデルの出力の取り扱いについては少しなれて頂く必要がありますが、Displayブロックで出力を見ている部分にto workspaceブロックを配置し、最後の値だけプロットするなどがよいかと思います。
Norihiro Kobayashi
on 10 Oct 2023
可能性はいくつか考えられますが、ご想像の通り、Frameの位置がまずは気になりますので、まずは変えてみて検証することをお勧めします。
また、File Solidだけでなく、Brick Solidでも同様に密度などを設定しイナーシャを計測すると比較がしやすいかもしれません。
※こちらは、状況次第ですがコメントが長くなってきましたので、質問を分けて頂いた方が良いかもしれません。
豪斗 中馬
on 10 Oct 2023
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!



