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) %可以把齐次矩阵降维为旋转矩阵