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”开头的才是机器人学中学的欧拉角。。。

你可能感兴趣的:(项目踩坑,矩阵,tfs,python)