MATLAB ヘルプ センター
変換または回転をコンパクトな 3 次元姿勢表現に変換する
R2023a 以降
pose = xyzquat(transformation)
pose = xyzquat(rotation)
pose = xyzquat(transformation) は、変換 transformation をコンパクトな 3 次元姿勢表現 pose に変換します。
pose
transformation
例
pose = xyzquat(rotation) は、回転 rotation を、並進なしのコンパクトな 3 次元姿勢表現 pose に変換します。
rotation
すべて折りたたむ
"xyz" 位置を [2 3 1] とし、四元数で定義された回転を使用して SE(3) 変換を作成します。関数 eul2quat を使用して四元数を作成します。
[2 3 1]
eul2quat
trvec = [2 3 1]; quat1 = eul2quat([0 0 deg2rad(30)]); pose1 = [trvec quat1]
pose1 = 1×7 2.0000 3.0000 1.0000 0.9659 0.2588 0 0
T = se3(pose1,"xyzquat")
T = se3 1.0000 0 0 2.0000 0 0.8660 -0.5000 3.0000 0 0.5000 0.8660 1.0000 0 0 0 1.0000
変換をコンパクトな姿勢に戻します。
pose2 = xyzquat(T)
pose2 = 1×7 2.0000 3.0000 1.0000 0.9659 0.2588 0 0
四元数で定義された SO(3) 回転を作成します。関数 eul2quat を使用して四元数を作成します。
quat1 = eul2quat([0 0 deg2rad(30)])
quat1 = 1×4 0.9659 0.2588 0 0
R = so3(quat1,"quat")
R = so3 1.0000 0 0 0 0.8660 -0.5000 0 0.5000 0.8660
回転を 3 次元のコンパクトな姿勢に変換します。
pose1 = xyzquat(R)
pose1 = 1×7 0 0 0 0.9659 0.2588 0 0
se3
変換。se3 オブジェクトとして、あるいは se3 オブジェクトの N 要素配列として指定します。N は変換の合計数です。
so3
回転。so3 オブジェクトとして、あるいは so3 オブジェクトの N 要素配列として指定します。N は回転の合計数です。
3 次元のコンパクトな姿勢。M 行 3 列の行列として返されます。各行の形式は [x y z qw qx qy qz] です。M は、指定された変換の総数です。x、y、z は xyz 位置を構成し、qw、qx、qy、および qz は四元数回転を構成します。
R2023a で導入
se3 | so3
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ