1、二维空间位姿描述
- T = SE2( x , y , θ) %代表二维平面内坐标轴的(x , y)的平移和θ角(默认为弧度)的转动,输出未一个3x3的矩阵。若想旋转输入为角度,则可在括号内最后加上‘deg’。
- trplot2(T) % 画出相对于世界坐标的坐标变换T
- R = rot2(θ) %二维坐标旋转θ角的旋转矩阵(2x2)
- T = transl2(x ,y) %二维空间中,纯平移的齐次变换
eg:
T = SE2(3,4,pi/3)
T1 = SE2(3,4,60,'deg')
R = rot2(pi/3)
T = transl2(3,4)
2、三维空间位姿描述
- T = rotx( θ );roty( ),rotz( ) %得到绕x、y、z轴旋转θ角的旋转矩阵(3x3)
- trplot() %在三维空间内绘制出相应的旋转矩阵
- tranimate() %实现坐标变换的动画
- transl() %实现坐标平移变化的齐次变换矩阵
- trotx( ),troty ( ),trotz ( ) %获得绕x、y、z轴旋转一定角度的齐次变化矩阵(4x4)
- T = SE3(R,[x , y , z]) %旋转加平移生成的齐次变换矩阵
eg:
syms theta %定义符号变量θ
R_x = rotx(theta);R_y = roty(theta);R_z = rotz(theta); %分别绕不同轴旋转θ的旋转矩阵
Tl = transl(3,4,5) %平移[3,4,5]'后的齐次变换矩阵
T_x = trotx(theta)
3、补充
- eul2r(a,b,c) %Z-Y-Z欧拉角,相当于R = rotz(a)*roty(b)*rotz(c)
- tr2eul(R) %旋转矩阵反解出Z-Y-Z欧拉角度
- rpy2r(a,b,c,options) %求解各种表示下的齐次矩阵,默认为X-Y-Z固定角,相当于R = rotz(c)*roty(b)*rotx(a)。也可以通过options设置其他旋转轴
- tr2rpy(R) %旋转矩阵反解出X-Y-Z旋转角度
- R = angver(theta,V)%绕一般轴旋转的旋转矩阵,单位化处理 V = V/norm(V)
- [theta,V] = tr2angvec(R) %反解出等效矩阵的函数)
- T = transl(x,y,z) %平移算子,获得平移后的齐次矩阵4x4
- T = r2t(r) %把旋转矩阵增广为齐次矩阵
- R = t2r(t) %可以把齐次矩阵降维为旋转矩阵