您的位置:首页 > 其它

机器人——齐次坐标变换

2018-03-17 08:37 323 查看
机器人齐次坐标变换yangming2466变换定义为在空间中产生运动,目标坐标系的状态发生变化。
坐标变换一般有:

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

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 点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息