• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

人工智能 二进制人工智能 2761次浏览 0个评论

文章目录

  • 1 三维空间中的位置与姿态
    • 1.1 位置描述
    • 1.2 姿态描述
  • 2 相关函数详细用法
    • 2.1 获取旋转矩阵 rot
    • 2.2 绘制坐标系 trplot
    • 2.3 动画演示 tranimate
关注微信公众号`二进制人工智能`,回复`robot`获取机器人工具箱

1 三维空间中的位置与姿态

通常来说,机器人指的是至少包含有一个固定刚体和一个活动刚体的机器装置。其中,固定的刚体称为基座,而活动的刚体称为末端执行器。在两个部件之间会有若干连杆和关节来支撑末端执行器﹐并使其移动到一定的位置。

控制一个机器人的运动,可以通过控制机器人(机械臂)上各关节的位置,设定关节运动的轨迹。而首先需要做的就是获取机器人本身的位姿所谓位姿,就是指机器人上每个关节在每一时刻的位置和姿态。这就需要确定描述空间物体位姿的方法,本书中使用空间坐
标系来描述相关位姿。当得到位姿的描述以后﹐就可以利用各关节位姿之间的关系来描述机器人的整个运动链,进而得到机器人的基座坐标系和末端执行器坐标系之间的关系。

机器人的运动学模型包括机器人各连杆、关节的位置姿态以及在各关节上的坐标系,其任务之一就是确立机器人末端执行器的位姿。机器人的机械臂通常是由一组关节连接的连杆结合体:第一个连杆固定﹐连接该机械臂的基座,而最后一个连杆连接的是它的末端执行器。操作机器人是为了控制与机器人相关的零件、工具在三维空间中运动,因此需要描述相应的位置和姿态。任务之一就是确立机器人末端执行器的位姿。机器人的机械臂通常是由一组关节连接的连杆结合体:第一个连杆固定﹐连接该机械臂的基座,而最后一个连杆连接的是它的末端执行器。操作机器人是为了控制与机器人相关的零件、工具在三维空间中运动,因此需要描述相应的位置和姿态。

1.1 位置描述

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

如图1-4所示,在三维空间中建立某一坐标系,于是空间中的任何一个点就可以通过一个3×1的位置矢量来确定。建立一个直角坐标系A,空间中的任一点AP 可以表示为:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

px、py、pz分别是AP在坐标系A中的三个坐标分量,AP称为位置矢量。

1.2 姿态描述

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

空间中的物体还需要描述它的姿态(也称为方位),这用固定在物体上的坐标系B来描述。如图1-5所示,为了规定空间某刚体B的方位,设一坐标系B与此刚体固连﹔用三个单位矢量 xB , yB , zB来表示坐标系{B}的主轴方向﹐因此物体相对于参考坐标系{A}的姿态可以用矢量 xB , yB , xB 相对于参考坐标系A的方向余弦组成的3×3矩阵来表示,这个矩阵【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate称为旋转矩阵。

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

用矢量两两之间的余弦则表示为:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

对应于轴X,YZ作转角为θ的旋转变换,其旋转矩阵分别为:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

旋转矩阵【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate具有这样的特点:
(1)3个主矢量两两垂直
(2)9个元素中,只有3个是独立的
(3)3个单位主矢量满足6个约束条件:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

(4)旋转矩阵为正交矩阵,且满足条件:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

机器人工具箱中,可分别用函数【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate计算旋转θ的旋转矩阵,并且在默认情况下,θ用弧度表示。

例如围绕X轴做转角为180°的旋转变换:

R=rotx(pi)

运行结果:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

如果直接用角度θ表示,可以分别用 【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate计算旋转矩阵:

R=rotx(180,'deg')

运行结果:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

以上两种方式,都可以得到相对应的旋转矩阵。

在机器人工具中,可以使用两种函数实现坐标的旋转可视化。函数trplot()可以用图形表示相应的体坐标系,函数tranimate用动画展示世界坐标系旋转为体坐标系的过程。

trplot(R)

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

tranimate(R)

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

2 相关函数详细用法

2.1 获取旋转矩阵 rot

(1) rotx():R=rotx(θ)是表示围绕X轴旋转弧度为θ得到的旋转矩阵,返回一个3×3的矩阵R。

(2) roty():R=roty(θ)是表示围绕Y轴旋转弧度为θ得到的旋转矩阵,返回一个3×3的矩阵R。
(3) rotz():R=rotz(θ)是表示围绕Z轴旋转弧度为θ得到的旋转矩阵,返回一个3×3的矩阵R。

2.2 绘制坐标系 trplot

函数为:trplot()

对于三维坐标系的绘制,机器人工具箱提供了强大的可视化函数trplot()。

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

(2) trplot(T):绘制由齐次变换矩阵T表示的三维坐标系,其中T为4×4的矩阵。

此外,它包含了许多可选参数,这里列举主要的几种:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

2.3 动画演示 tranimate

函数为:tranimate()。

(1)tranimate( xl, x2,options)展示3D坐标系从姿态xl变换到姿态x2的动画效果。

其中,姿态xl和x2有三种表示方法:一个4×4的齐次矩阵,或一个3×3的旋转矩阵,或一个四元数。

(2) tranimate(x,options)展示了坐标系由上一个姿态变换到姿态x的动画效果。同样地,姿势x也有三种表示方法:一个4×4的齐次矩阵,或一个3×3的旋转矩阵,或一个四元数。

(3) tranimate(xseq,options)展示了移动一段轨迹的动画效果。xseq可以是一组4×4×N的齐次矩阵,或一组3×3×N的旋转矩阵,或是一组四元数向量(N×1)。

它包含的可选参数如下:

【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate

《机器人仿真与编程技术》 杨辰光 李智军 许扬


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明【Robotics toolbox】(一)获取旋转矩阵 rot|绘制坐标系 trplot|动画演示 tranimate
喜欢 (0)

您必须 登录 才能发表评论!

加载中……