simscape multibodyにおける角度検出方法
Mostra commenti meno recenti
matlabのsimscape multibody のライブラリにあるtransform sensorに関する質問です。
シミュレーション中の物体のロール角、ピッチ角、ヨー角をそれぞれ個別に調べようと思いました。そこで、transform sensorによって調べようと思ったところtransform sensorのrotationの中のangleが1種類しかありません。
ロール角、ピッチ角、ヨー角の三種類を調べるにはどのようにすればよいのでしょうか?
Risposte (3)
Toshinobu Shintai
il 9 Ott 2020
0 voti
3次元の回転姿勢の情報を出力させたい場合は、「Quaternion」または「Transform」にチェックを入れてください。それぞれクオータニオン(4要素のベクトル)、回転行列(3x3の行列)が出力されます。
ロール角、ピッチ角、ヨー角というのは、3次元の回転を正確に表す表現ではありません。ただし、クオータニオンまたは回転行列からロール角、ピッチ角、ヨー角を求めることはできます。「Coordinate Transformation Conversion」ブロックを用いて変換できます。
Okamoto Sakumi
il 9 Ott 2020
0 voti
1 Commento
Toshinobu Shintai
il 9 Ott 2020
説明が不足しておりまして申し訳ありません。「Coordinate Transformation Conversion」ブロックを使うには、Robotics System Toolbox, Navigation Toolbox, ROS Toolboxのどれかをインストールする必要があります。
ちなみに、変換するブロックを自作する場合は、添付ファイルをご参照ください。
私が以前に作成した、クオータニオンの回転状態を把握するライブスクリプトです。クオータニオンからロールピッチヨー角へ変換する計算式も記載しています。ライブスクリプトはR2019aで作成しています。
Okamoto Sakumi
il 9 Ott 2020
0 voti
8 Commenti
Toshinobu Shintai
il 9 Ott 2020
クオータニオン値を入れます。クオータニオンが何か、ご存じないようですので、以下のリンク先を確認していただけますでしょうか。
リンク先に書かれている、a+bi+cj+dk のa, b, c, dの四つを入力します。ライブスクリプト中では、aがq0, bがq1, cがq2, dがq3です。
好きな数字を入れてよいですが、3次元の姿勢を表すクオータニオンは、必ず大きさ1のクオータニオンになります。
Okamoto Sakumi
il 10 Ott 2020
Okamoto Sakumi
il 10 Ott 2020
Toshinobu Shintai
il 10 Ott 2020
Modificato: Toshinobu Shintai
il 10 Ott 2020
まずはドキュメント(Help)を読んでいただけましたでしょうか。確かに、ドキュメントもかなり分かりにくいので、説明させていただきます。
以下のようにブロックパラメータを設定すると、ロール角、ピッチ角、ヨー角の順番でベクトル化された数値が出力されます。XYZがそれぞれロールピッチヨーに相当することになります。

軸角度の設定をした場合、x, y, z ,thetaの4変数が出力されますが、このときの[x, y, z]は回転軸ベクトルを表し、thetaはその軸の周りに回転させた回転角を表します。
Okamoto Sakumi
il 10 Ott 2020
Toshinobu Shintai
il 12 Ott 2020
信号線は三つの要素を含むベクトルでであるため、要素ごとに線を分離したい場合は「demux」ブロックを使うことができます。
信号を分離しなくても、ベクトルをログして要素ごとにグラフ化することはできます。その場合、シミュレーションデータインスペクターを使うのをお勧めします。
Okamoto Sakumi
il 12 Ott 2020
Toshinobu Shintai
il 15 Ott 2020
返事が遅れまして申し訳ないです。
別種の質問であれば、新規に質問を立て直してください。
Categorie
Scopri di più su ダイナミクス in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



