当前位置: 代码迷 >> 综合 >> Matlab Robotics Toolbox--旋转矩阵
  详细解决方案

Matlab Robotics Toolbox--旋转矩阵

热度:31   发布时间:2024-02-09 23:04:44.0

摘要

在机器人工具箱中,可以用rotx( θ \theta )、roty( θ \theta )、rotz( θ \theta )计算旋转 θ \theta 的旋转矩阵,默认单位为度(版本10.2.0)。可以用trplot()和tranimate()实现坐标旋转可视化。

##获取旋转矩阵

  • rotx(): R=rotx( θ \theta )是表示围绕X轴旋转角度为 θ \theta 得到的旋转矩阵,返回一个3x3的矩阵。
  • roty(): R=roty( θ \theta )是表示围绕Y轴旋转角度为 θ \theta 得到的旋转矩阵,返回一个3x3的矩阵。
  • rotz(): R=rotz( θ \theta )是表示围绕Z轴旋转角度为 θ \theta 得到的旋转矩阵,返回一个3x3的矩阵。

例如

>> R=rotx(30)R =1.0000         0         00    0.8660   -0.50000    0.5000    0.8660

绘制坐标系

  • 函数trplot()

    trplot?:绘制由旋转矩阵R得到的坐标系,其中坐标系根据正交旋转矩阵围绕原点旋转得到,R为3x3的矩阵。

    trplot(T):trplot?:绘制由齐次矩阵T表示的三维坐标系,T为4x4的矩阵。另外函数trplot()还包含了以下主要可选参数

    参数 意义 参数 意义
    ‘noaxes’ 在绘图上不显示坐标轴 ‘axis’, A 将图形显示的轴尺寸设置为A,其中 A=[xmin xmax ymin ymax zmin zmax]
    ‘color’,C 设置轴的颜色,C代表MATLAB图形内置的颜色类型 ‘frame’,F 将绘制出来的坐标系命名为F,并且X,Y,Z轴的下标含有F
    ‘text_opts’,opt 调整显示文本的字体等属性;例如{‘FontSize’,10,‘FontWeight’,‘bold’} ‘view’,V 把绘图视图参数设置为V=[az,el]角度,或者对于坐标系的原点查看‘atuo’
    ‘length’,s 坐标轴的长度(默认值1) ‘arrow’ 设置坐标轴的末端为箭头,而不是线段
    ‘with’,w 箭头宽度(默认值1) ’thick‘,t 线条粗细,默认0.5
    ’3d‘ 在三维空间中使用浮雕图形绘制 ’anaglyph‘,A 将“3d”的浮雕颜色指定为左右两个字符(默认为rc):选自红,绿,蓝,青,品红
    ’dispar‘,D 3d显示差异(默认0.1) ’text‘ 启用在框架上显示X,Y,Z标签
    ’labels‘,L 使用字符串L的第1个,第2个,第3个字符标记X,Y,Z轴 ’rbg‘ 以红色,绿色,蓝色分别显示X,Y,Z轴

    动画展示

    函数为:tranimate()

    • tranimate(x1,x2,options)展示3D坐标系从姿态x1变换到姿态x2的动画效果。其中姿态x1和x2有三种表示方法:一个4x4的其次矩阵,或一个3x3的旋转矩阵,或一个四元素。

    • tranimate(x,options)展示坐标系由上一个姿态变换到姿态x的动画效果。其中姿态x有三种表示方法:一个4x4的其次矩阵,或一个3x3的旋转矩阵,或一个四元素。

    • tranimate(xseq,options)展示了移动一段轨迹的动画效果。xseq可以是一组4x4xN的其次矩阵,或一组3x3xN的旋转矩阵,或是一组四元素向量(Nx1).

      options可以是以下可选参数

      参数 意义 参数 意义
      ‘fps’,fps 每秒显示的帧数(默认为10) ‘nstep’,n 沿路径的步数(默认50)
      ‘axis’,A 设置三个轴的边界,A=[xmin xmax ymin ymax zmin zmax] ‘movie’,M 将帧保存为文件夹M中的文件,M为文件的路径

    例子

    R=rotx(0);
    R2=rotx(90);
    tranimate(R,R2);
    

    结果如下图所示
    在这里插入图片描述

    参考文献

    [1]机器人仿真与编程技术[M].杨辰光,李智军,许杨.北京:清华大学出版社,2018

  相关解决方案