Matlab Robotics Toolbox--旋转矩阵

摘要

在机器人工具箱中,可以用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         0
         0    0.8660   -0.5000
         0    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‘,D3d显示差异(默认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

  • 9
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Galaxy_Robot

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值