机器人齐次坐标变换
变换定义为在空间中产生运动,目标坐标系的状态发生变化。
坐标变换一般有:
- 平移
- 绕轴旋转
- 平移旋转的复合运动
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