一.旋转矩阵:
(1)基本
R = rotx(pi/2)
R = roty(pi/2)
R = rotz(pi/2)
分别对X Y Z轴生成3*3的旋转矩阵
R = rotx(30, 'deg')
R = roty(30, 'deg')
R = rotz(30, 'deg')
可以改变输入的方式
(2)姿态的叙述方法:
1.Y-Z-Y欧拉角
R = rotz(a)*roty(b)*rotz(c)
eul2r(a,b,c)
旋转矩阵反解出y-z-y欧拉角度的函数为
tr2eul(R)
2.x-y-z欧拉角
R = rotx(r)*roty(p)*rotz(y)
rpy2r(r,p,y)
旋转矩阵反解出x-y-z欧拉角度的函数为
tr2rpy(R)
3.等效轴角坐标表示法
把坐标系b看做原坐标a按向量V方向按右手方向旋转theta度
旋转矩阵反解出等效轴角坐标表示的函数为
[theta,V] = tr2angvec(R)
由等效轴角坐标表示转换为旋转矩阵的函数
R = angvec2r(theta, V)(记得把v做单位化的处理v = v / norm(v))
4.欧拉参数法表示(4元数)
在等效轴角坐标表示法的基础上更进一步
E1=Kx*sin(θ/2);E2=Ky*sin(θ/2);E3=Kz*sin(θ/2);E4=cos(θ/2);
求解4元数的函数为
Quaternion(R)
二.齐次变换矩阵
4*4矩阵用于描述坐标系的位置和姿态
1.平移算子
transl(x, y, z)
2.旋转算子
trotx(pi/2);troty(pi/2);trotz(pi/2)
3.各种表示下齐次矩阵的求解
rpy2tr(roll, pitch, yaw, options) 求解x-y-z欧拉角变化对应的齐次矩阵 options:’deg’或不填
angvec2tr(theta, V)求解等效轴角坐标表示的齐次矩阵
eul2tr(phi, theta, psi, options)反解出Y-Z-Y欧拉角 options:’deg’或不填
同样可以用
tr2eul(t)反解出Y-Z-Y欧拉角
tr2rpy(t)反解出x-y-z欧拉角
[thet