机器人——齐次坐标变换

版权声明:all right was reserved https://blog.csdn.net/yangming2466/article/details/79588796

机器人齐次坐标变换

变换定义为在空间中产生运动,目标坐标系的状态发生变化。

坐标变换一般有:

  • 平移
  • 绕轴旋转
  • 平移旋转的复合运动

1平移

平移过程中,目标坐标系的空间状态没有发生改变,即目标坐标轴的单位方向向量没有发生改变,

但是目标坐标的相对于参考坐标系原点的向量OP会发生变换,新的目标坐标系会通过坐标系左乘

变换矩阵得到。

F为目标坐标系4X4齐次矩阵:

F=[nx    ox    ax    px]

    [ny    oy    ay    py]

    [nz    oz    az    pz]

    [ 0      0     0      1 ]

T为4X4变换矩阵:

T = [1 0 0 0  dx]

       [0 1 0 0 dx]

       [0 0 1 0 dx]

       [0 0 0 0 1  ]

目标坐标系更新(左乘):

Fnew = F X T

符号描述为:

Fnew  = Trans (dx,dy,dz) X Fold;

2绕轴旋转

OP向量坐标为:

P = [px py p]'

rx为绕X轴旋转3X3旋转矩阵

rx=[1      0         0  ]

      [0   Cosθ  -Sinθ]

      [0   Sinθ   Cosθ]


ry为绕Y轴旋转3X3旋转矩阵

ry=[Cosθ   0   Sinθ ]

      [0         1     0    ]

      [-Sinθ    0   Cosθ]

rz为绕Z轴旋转3X3旋转矩阵

rz=[Cosθ   -Sinθ   0 ]

      [Sinθ     Cosθ   0 ]

      [   0          0      1 ]

绕X轴旋转θ

Pnew = P x rx

符号表示为:

Pnew = Rot(x,θ)

绕Y轴旋转θ

Pnew = P x ry

符号表示为:

Pnew = Rot(x,θ)

绕Z轴旋转θ

Pnew = P x rx

符号表示为:

Pnew = Rot(x,θ)

3.平移旋转的复合运动

依次左乘相应的平移和旋转量

Pnew = Rot(x,θ) X Trans (dx,dy,dz) X Fold

MATLAB中直观表示:

需要的基础知识:


1线性代数


2matlab绘图操作


绘图代码:

https://download.csdn.net/download/yangming2466/10291956

点击打开链接

猜你喜欢

转载自blog.csdn.net/yangming2466/article/details/79588796