建站行业前景,wordpress 纯净版下载地址,东莞网站建设工作室,长沙手机网站建设公司排名一、机器人工具箱介绍 机器人工具箱是由来自昆士兰科技大学的教授Peter Corke开发的#xff0c;被广泛用于机器人进行仿真#xff08;主要是串联机器人#xff09;。该工具箱支持机器人一些基本算法的功能#xff0c;例如三维坐标中的方向表示#xff0c;运动学、动力学模…一、机器人工具箱介绍 机器人工具箱是由来自昆士兰科技大学的教授Peter Corke开发的被广泛用于机器人进行仿真主要是串联机器人。该工具箱支持机器人一些基本算法的功能例如三维坐标中的方向表示运动学、动力学模型和轨迹生成。 学习该工具箱较为经典的书籍有以下两本其中第一本是Peter Corke教授自己编写的为英文版第二本是国内学者翻译的。
二、机器人工具箱的下载和安装
2.1 机器人工具箱下载 可以在官方网站下载安装文件点这个超链接即可跳转机器人工具箱下载官网如下所示 下载的文件名为 RTB10.4.mltbx如下所示
2.2 机器人工具箱安装 在matlab中打开刚刚存放RTB10.4.mltbx文件的目录然后双击RTB10.4.mltbx文件 下载完毕之后输入指令ver便可以查看我们所下载的机器人工具箱版本同时也进一步确认该工具箱是否安装成功
三、机器人学中的一些数学基础
3.1 三维空间中的位置和姿态
3.1.1 位置描述 我个人简单的认为所谓的位置描述就是点在某一个坐标系中的坐标。
上图中空间中任意一点在坐标系 { A } \left\{ A \right\} {A}中的表示为 其中 p x 、 p y 、 p z p _ { x }、p _ { y }、p _ { z } px、py、pz分别表示该点在坐标系 { A } \left\{ A \right\} {A}中的三个坐标。MATLAB中利用plot3( )函数可以绘制三维空间中的一个点。例如绘制空间中点(1,2,3)plot3(1,2,3,*);
3.1.2 姿态描述 我个人认为所谓的姿态描述就是表示空间中某一个物体的方位。
如上图所示空间中存在一个刚体与该刚体固连的坐标系 { B } \left\{ B \right\} {B}。该刚体相对于坐标系 { A } \left\{ A \right\} {A}的姿态用姿态变换矩阵也叫旋转矩阵 B A R _{B}^{A}\mathbf{\mathit{R}} BAR
式中 x A {\mathbf{\mathit{x}}}_{A} xA、 y A {\mathbf{\mathit{y}}}_{A} yA、 z A {\mathbf{\mathit{z}}}_{A} zA分别表示坐标系 { A } \left\{ A \right\} {A}三个坐标轴在某一个坐标系下的表示 x B {\mathbf{\mathit{x}}}_{B} xB、 y B {\mathbf{\mathit{y}}}_{B} yB、 z B {\mathbf{\mathit{z}}}_{B} zB分别表示坐标系 { B } \left\{ B \right\} {B}三个坐标轴在某一个坐标系下的表示 A x B ^ { A }x_{ B } AxB、 A y B ^ { A } y _ { B } AyB、 A z B ^ { A } z _ { B } AzB表示坐标系 { B } \left\{ B \right\} {B}三个坐标轴在坐标系 { A } \left\{ A \right\} {A}上的表达。 当分别绕坐标轴 x 、 y 、 z x、y、z x、y、z旋转角度 θ \theta θ时姿态变换矩阵 R R R可以分别表示为 机器人工具箱中提供rotx( )、roty( )、rotz( )函数来计算绕单个坐标轴旋转的姿态矩阵注意这些个函数默认角度制但好像有的版本时默认弧度制度注意辨别一下 使用trplot( )函数可以图形化显示相应的坐标系例如显示一个绕基坐标系的 x x x轴旋转60°的坐标系如下图所示 使用tranimate( )函数可以显示坐标系旋转的动画如下图所示
3.1.3 函数总结
1绕单个坐标轴旋转的旋转矩阵rotx( )、roty( )、rotz( )函数 ● rotx( )Rrotx( θ \theta θ表示围绕 x x x轴旋转角度 θ \theta θ所得到的旋转矩阵函数返回一个3x3的矩阵 ● roty( )Rroty( θ \theta θ表示围绕 y y y轴旋转角度 θ \theta θ所得到的旋转矩阵函数返回一个3x3的矩阵 ● rotz( )Rrotz( θ \theta θ表示围绕 z z z轴旋转角度 θ \theta θ所得到的旋转矩阵函数返回一个3x3的矩阵
2绘制坐标系trplot( )函数 trplot( )函数的语法trplot(R, options) ● trplot®绘制由旋转矩阵 R R R得到的坐标系 ● trplot(T)绘制由齐次变换矩阵 T T T表示的坐标系; trplot( )函数的options项有其他的用法
3动画展示函数tranimate( )函数 ● tranimate(x1, x2, options)展示3D坐标系从姿态x1变换到姿态x2的动画效果其中姿态 x1和 x2有三种表示方法:一个4X4 的齐次矩阵,或一个3x3的旋转矩阵,或一个四元数 ● tranimate(xoptions)展示了坐标系由上一个姿态变换到姿态x的动画效果。同样地姿势x也有三种表示方法一个4X4 的齐次矩阵或一个 3x3 的旋转矩阵或一个四元数 ● tranimate(xseqoptions)展示了移动一段轨迹的动画效果。xseq可以是一组4x4xN的齐次矩阵,或一组 3x3xN 的旋转矩阵,或是一组四元数向量(Nx1)。 tranimate( )函数中options的其他用法
3.2 坐标变换 同一个物体可以在不同的坐标系下进行描述这之间就涉及到坐标变换
3.2.1 平移坐标变换 如上图所示坐标系 { A } \left\{ A \right\} {A}没有经过旋转直接平移得到坐标系 { B } \left\{ B \right\} {B}。 P P P是坐标系 { B } \left\{ B \right\} {B}中的一点用矢量 B P ^ { B } P BP表示它在坐标系 { B } \left\{ B \right\} {B}中的位置用矢量 A P ^ { A } P AP表示它在坐标系 { A } \left\{ A \right\} {A}中的位置则有 式中 A P B O R G ^ { A } P _ { B O R G } APBORG是坐标系 { A } \left\{ A \right\} {A}平移的矢量。 用4x4的齐次矩阵表示由坐标系 { A } \left\{ A \right\} {A}到坐标系 { B } \left\{ B \right\} {B}的平移变换矩阵
其中 B x B_{x} Bx、 B y B_{y} By、 B z B_{z} Bz分别表示矢量 A P B O R G ^ { A } P _ { B O R G } APBORG的三个分量。 机器人工具箱中用transl( )函数来计算平移变换矩阵例如坐标系 { A } \left\{ A \right\} {A}的坐标这里的坐标指代位置和姿态表示为
坐标系 { A } \left\{ A \right\} {A}沿着 x x x轴移动10沿着 y y y轴移动5沿着 z z z轴移动1得到坐标系 { B } \left\{ B \right\} {B}可以用transl(10, 5, 1)来得到平移变换矩阵。
3.2.2 旋转坐标变换 如上图所示坐标系 { A } \left\{ A \right\} {A}没有经过平移直接旋转旋转矩阵为 B A R _{B}^{A}\mathbf{\mathit{R}} BAR得到坐标系 { B } \left\{ B \right\} {B}。同一个点 P P P在坐标系 { A } \left\{ A \right\} {A}和坐标系 { B } \left\{ B \right\} {B}中的表达分别为 A P ^ { A } P AP和 B P ^ { B } P BP两者的转换关系为 机器人工具箱中用trotx( )、troty( )和trotz( )函数分别表示绕 x x x轴、 y y y轴和 z z z轴旋转一定角度的4x4的齐次变换矩阵
3.2.3 齐次坐标变换 如上图所示坐标系 { A } \left\{ A \right\} {A}经过平移平移矢量为 A P B O R G ^ { A } P _ { B O R G } APBORG和旋转旋转矩阵为 B A R _{B}^{A}\mathbf{\mathit{R}} BAR得到坐标系 { B } \left\{ B \right\} {B}则有 将上式写成齐次坐标变换的形式 例如坐标系 { A } \left\{ A \right\} {A}先绕 y y y轴旋转120°然后再沿着 x x x轴移动4沿着 y y y轴移动5沿着 z z z轴移动6得到坐标系 { B } \left\{ B \right\} {B} 坐标系 { B } \left\{ B \right\} {B}中的矢量 B P ^ { B} P BP在坐标系 { A } \left\{ A \right\} {A}中进行描述 A P ^ { A } P AP 已知 A P ^ { A } P AP求 B P ^ { B } P BP 在三维坐标中画出经过齐次变换的两个坐标系 transl( )函数可以获取齐次变换矩阵 T T T中的平移矢量t2r( )函数可以获取齐次变换矩阵 T T T中的旋转矩阵r2t( )函数可以根据旋转矩阵 R R R得到齐次变换矩阵 T T T只有旋转没有移动
3.2.4 函数总结
1平移坐标变换transl( )函数 ● 使用transl( )函数创建齐次的平移变换矩阵 1T transl(xyz)表示能够获取一个分别沿着x轴、y轴和z轴平移一段距离得到的4X4齐次变换矩阵 2T transl§表示由经过矩阵(或向量) p [ x , y , z ] p \left[ x , y , z \right] p[x,y,z]的平移得到的齐次变换矩阵如果 p p p为(Mx3)的矩 阵,则 T T T为一组齐次变换矩阵(4x4xM)其中 T ( : , : , i ) T ( : , : , i ) T(:,:,i)对应于 p p p的第 i i i行。 ● 使用transl( )函数提取齐次矩阵 T T T中的平移变换分量。 2旋转坐标变换trotx( )函数、troty( )函数和trotz( )函数 ● Ttrotx( θ \theta θ):表示围绕 x x x轴旋转 θ \theta θ角度得到的齐次变换矩阵(4x4) ● Ttroty( θ \theta θ):表示围绕 y y y轴旋转 θ \theta θ角度得到的齐次变换矩阵(4x4) ● Ttrotz( θ \theta θ):表示围绕 z z z轴旋转 θ \theta θ角度得到的齐次变换矩阵(4x4) 3t2r( )与r2t( )函数 ● Rt2r(T)用来获取齐次变换矩阵 T T T中的旋转矩阵分量 ● Tr2t(R )用来获取一个与旋转矩阵 R R R等价的具有零平移分量的齐次变换矩阵。