天天看點

python transforms3d,不同旋轉方式與對應的旋轉矩陣

網上常看到的用法:

R1 = tfs.euler.euler2mat(alpha,beta,gamma)    # alpha,beta,gamma是旋轉角度
           

這種調用預設的是繞着物體上與基坐标系平行的坐标系旋轉的,順序是“x-y-z”,完整的寫法是:

R1 = tfs.euler.euler2mat(alpha,beta,gamma, 'sxyz')
           

這裡第四個參數的可選項為:

'sxyz', 'sxyx', 'sxzy',
    'sxzx', 'syzx', 'syzy',
    'syxz', 'syxy', 'szxy',
    'szxz', 'szyx', 'szyz',
    'rzyx', 'rxyx', 'ryzx',
    'rxzx', 'rxzy', 'ryzy',
    'rzxy', 'ryxy', 'ryxz',
    'rzxz', 'rxyz', 'rzyz'.
           

個人了解,這裡的“s”表示的是“static”,即繞靜坐标系(基坐标系)旋轉;“r”表示“relative”,即相對坐标系(物體的連體坐标系)。是以“r”開頭的才是機器人學中學的歐拉角。。。