Clear Filters
Clear Filters

simscape multibodyにおける角度検出方法

24 views (last 30 days)
Okamoto Sakumi
Okamoto Sakumi on 9 Oct 2020
Commented: Toshinobu Shintai on 15 Oct 2020
matlabのsimscape multibody のライブラリにあるtransform sensorに関する質問です。
シミュレーション中の物体のロール角、ピッチ角、ヨー角をそれぞれ個別に調べようと思いました。そこで、transform sensorによって調べようと思ったところtransform sensorのrotationの中のangleが1種類しかありません。
ロール角、ピッチ角、ヨー角の三種類を調べるにはどのようにすればよいのでしょうか?

Answers (3)

Toshinobu Shintai
Toshinobu Shintai on 9 Oct 2020
3次元の回転姿勢の情報を出力させたい場合は、「Quaternion」または「Transform」にチェックを入れてください。それぞれクオータニオン(4要素のベクトル)、回転行列(3x3の行列)が出力されます。
ロール角、ピッチ角、ヨー角というのは、3次元の回転を正確に表す表現ではありません。ただし、クオータニオンまたは回転行列からロール角、ピッチ角、ヨー角を求めることはできます。「Coordinate Transformation Conversion」ブロックを用いて変換できます。

Okamoto Sakumi
Okamoto Sakumi on 9 Oct 2020
丁寧なご返答ありがとうございます。
重ねて質問なのですが、matlabのsimscape multibody内のライブラリにおいて「Coordinate Transformation Conversion」ブロックがありません。
どのブロックを用いて変換すればいいでしょうか。
  1 Comment
Toshinobu Shintai
Toshinobu Shintai on 9 Oct 2020
説明が不足しておりまして申し訳ありません。「Coordinate Transformation Conversion」ブロックを使うには、Robotics System Toolbox, Navigation Toolbox, ROS Toolboxのどれかをインストールする必要があります。
ちなみに、変換するブロックを自作する場合は、添付ファイルをご参照ください。
私が以前に作成した、クオータニオンの回転状態を把握するライブスクリプトです。クオータニオンからロールピッチヨー角へ変換する計算式も記載しています。ライブスクリプトはR2019aで作成しています。

Sign in to comment.


Okamoto Sakumi
Okamoto Sakumi on 9 Oct 2020
度重なる質問失礼いたします。
ライブスクリプトをダウンロードさせていただきました。
ライブスクリプトの中のクオータニオンを入力するというところはどのような変数を入力すればよいのでしょうか。
  8 Comments
Okamoto Sakumi
Okamoto Sakumi on 12 Oct 2020
丁寧なご説明ありがとうございます。
「demux」を用いて信号の分割をすることができました。
別件なのですが、現在走行時の車輪にかかる垂直抗力の分析を行っています。
下図のような障害物のある平板をローバが走行するシチュエーションに関して右前車輪の垂直抗力を測定するために右前車輪と平板をつなぐ「spatial contact force」ブロックのsensing の欄にあるnormal force magnitudeを用いて測定を行いました。
するとグラフのようになり、障害物の付近での垂直抗力は大変大きく出ているのですが、通常走行時の垂直抗力がほぼ0になってしまいます。
僕のイメージですと平板走行時の垂直抗力は0ではなく、ある程度の値があると思っています。また障害物を乗り越えた後に垂直抗力が一瞬大きくなるもののここまで大きくなることは考えにくいです。
車輪やボディなどの重さや重力変えると平板走行時、障害物通過後の垂直抗力は共に大きくなりますが、互いの大きさの比は変わらず、このようなグラフになってしまいます。
障害物が図のように小さいので、ここまで大きさの変化があることを疑問に感じています。
また、速度を変えても結果は同じになります。
垂直抗力を求めるにはブロックが足りない、spatial contact forceブロックでは求められないなど何か思い当たる原因がもしありましたらご連絡いただきたいです。
重ねてのご質問大変申し訳ございません。
Toshinobu Shintai
Toshinobu Shintai on 15 Oct 2020
返事が遅れまして申し訳ないです。
別種の質問であれば、新規に質問を立て直してください。

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!