メインコンテンツ

xyzquat

変換または回転をコンパクトな 3 次元姿勢表現に変換する

R2023a 以降

    説明

    pose = xyzquat(transformation) は、変換 transformation をコンパクトな 3 次元姿勢表現 pose に変換します。

    pose = xyzquat(rotation) は、回転 rotation を、並進なしのコンパクトな 3 次元姿勢表現 pose に変換します。

    すべて折りたたむ

    "xyz" 位置を [2 3 1] とし、四元数で定義された回転を使用して SE(3) 変換を作成します。関数 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 オブジェクトの N 要素配列として指定します。N は変換の合計数です。

    回転。so3 オブジェクトとして、あるいは so3 オブジェクトの N 要素配列として指定します。N は回転の合計数です。

    出力引数

    すべて折りたたむ

    3 次元のコンパクトな姿勢。M 行 3 列の行列として返されます。各行の形式は [x y z qw qx qy qz] です。M は、指定された変換の総数です。xyz は xyz 位置を構成し、qwqxqy、および qz は四元数回転を構成します。

    バージョン履歴

    R2023a で導入

    参考

    |