机器人学与matlab—Robotics Toolbox—01空间位姿描述

  • 1、二维空间位姿描述
  • 2、三维空间位姿描述
    • 2.1 正交旋转矩阵
    • 2.2 三角度表示法(欧拉角、RPY角)
    • 2.3 等效轴角坐标系法
    • 2.4 四元数表示法

1、二维空间位姿描述

(1)T=SE2(x,y,theta);

%代表(x,y)的平移和theta角度的旋转。

(2)trplot2(T);

%代表画出相对于世界坐标系的变换T。

(3)T=transl2(x,y);

%二维空间中,纯平移的齐次变换。

例子:

T1=SE2(1,3,30,'deg');%代表平移了(1,3)和旋转了30°,'deg'表示度数。
%%或者这样表示:T1=SE2(1,2,30*pi/180)
trplot2(T1,'frame','1','color','b');%代表画出相对于世界坐标系的变换T1,新的坐标系命名为坐标系1,并且颜色定义为'b',蓝色。
axis([0 5 0 5]);%设置世界坐标系坐标轴的范围:x轴为(0,5),y轴为(0,5)。
T2=transl2(3,4);%只做(3,4)平移的变换
%%或者这样表示:T2=SE2(3,4,0)
hold on;%让多图共存
trplot2(T2,'frame','2','color','r');%代表画出相对于世界坐标系的变换T2,新的坐标系命名为坐标系2,并且颜色定义为'r',红色。

运行结果:

2、三维空间位姿描述

2.1 正交旋转矩阵

(1)R=rotx(theta);

%绕x轴旋转theta角,得到的旋转矩阵。

(2)R=roty(theta);

%绕y轴旋转theta角,得到的旋转矩阵。

(3)R=rotz(theta);

%绕z轴旋转theta角,得到的旋转矩阵。

(4)trplot( R );

%绘制相应的旋转矩阵。

(5)tranimate( R );

%做一个旋转的动画。

(6)T=transl(x,y,z);

%坐标系到的平移。

(7)Tx=trotx(theta); Ty=troty(theta); Tz=trotz(theta);

%绕x、y、z轴旋转theta角,得到的齐次变换矩阵

例子:

R1=rotx(30,'deg')*roty(50,'deg');
trplot(R1,'frame','A','color','b');
tranimate(R1,'frame','A','color','b');
R2=roty(50,'deg')*rotx(30,'deg');
hold on;
trplot(R2,'frame','B','color','r');
tranimate(R2,'frame','B','color','r');

T=transl(1,2,3);
Tx=trotx(60,'deg');

2.2 三角度表示法(欧拉角、RPY角)

2.2.1 欧拉角
相对于运动坐标系,先绕Zb轴转,再绕Yb轴转,最后绕Xb轴转。
欧拉角:R=rotz(alpha ) * roty(beta) * rotz(gamma);

(1)eul=tr2eul( R );

%旋转矩阵用欧拉角表示。

(2)R=eul2r(eul);

%eul=[alpha beta gamma] . 欧拉角转换为旋转矩阵。

例子:

R3=rotz(0.1)*roty(0.2)*rotz(0.3);
eul=tr2eul(R3);%将旋转矩阵R3,转变为欧拉角。
R4=eul2r(0.1,0.2,0.3);%将欧拉角转变为旋转矩阵。

运行结果:

2.2.2 RPY角
相对于固定坐标系,先绕Xa轴,Ya轴再绕Za轴旋转。
RPPY角:R=rotz(alpha ) * roty(beta) * rotx(gamma);

(1)rpy=tr2rpy( R );

%旋转矩阵用roll-pitch-yaw角表示。

(2)R=rpy2r(alpha,beta,gamma);

%将roll-pitch-yaw角用旋转矩阵表示。

示例:

R5=rotz(0.3)*roty(0.2)*rotx(0.1)
R6=rpy2r(0.1,0.2,0.3)
rpy=tr2rpy(R5)

运行结果:

2.3 等效轴角坐标系法

(1)[theta,vec]=tr2angvec( R );

%求出用等效轴角坐标系法表示旋转时,旋转矩阵R对应的旋转矢量vec和转角theta。

(2)R=angvec2r(theta,vec);

%从角度和向量,计算出相应的旋转矩阵。

示例:

[theta,vec]=tr2angvec(R7)
R8=angvec2r(theta,vec)

运行结果:

2.4 四元数表示法

(1)Q=Quaternion([s,v]);

%建立s四元数。

(2)Q=UnitQuaternion([s,v]);

%监理单位四元数。

(3)Qi=Q.inv();

%四元数的共轭。

(4)Q.display();

%打印出可读形式。

(5)Q.plot();

%绘制四元数所指方向。

(6)Q.animate(options);

%四元数代表坐标变换的动画。

(7)R=Q.R;

%转换成3*3的旋转矩阵。

(8)T=Q.T;

%转换成4*4齐次变换矩阵。

(9)rpy=Q.torpy();

%转换成导航角。

(10)eul=Q.toeul();

%转换成欧拉角。

例子:

s=0.98335
v=[0.034271,0.10602,0.14357]
Q=UnitQuaternion(s,v)
q=Q.inv()
Q.display()
Q.plot()
Q.animate()
TT=Q.T
RR=Q.R
rpy=Q.torpy()
eul=Q.toeul()

运行结果:


机器人与matlab—Robotics Toolbox—01空间位姿描述相关推荐

  1. matlab机器人自动分拣_YOLOv3 + Matlab Robotics ToolBox 实战 -- 软包装药品的机器人分拣系统设计与仿真...

    本项目为大三上<机器人技术基础>课程团队研讨课题之一,当时做这个研讨课题还花了挺多的时间,又觉得还比较有意思,因此放在博客中记录一下.不过当时班上很多大佬的成果更牛逼,我们就属于弟弟水平h ...

  2. 焊接机器人——6自由度焊接机器人solidworks设计、D-H模型参数及matlab robotics toolbox模型仿真与验证

    1 设计思路 焊接机器人在点与点之间移位时速度要快捷,动作要平稳,定位要准确,以减少移位的时间,提高工作效率. 考虑到各种被焊接工件的外型特点,首先我们必须保证机械臂能在达到空间中的所有位置(能够有较 ...

  3. matlab ikine 源码,RTB-9.10 matlab robotics toolbox 工具箱软件 可进行机器人运动学与动力学建模 275万源代码下载- www.pudn.com...

    文件名称: RTB-9.10下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 20442 KB 上传时间: 2016-11-27 下载次数: 16 提 供 者 ...

  4. 怎么用matlab计算机械手运动,Matlab Robotics ToolBox 实战 -- 斯坦福机械手运动学建模及分析...

    这同样是<机器人技术基础>课程实验中的一个,题目比较开放,只要求对任一坐标形式的机械臂进行研究即可.下面是详细介绍: 一.选定建模对象 选定球坐标机器人--斯坦福机械手臂(参考<机器 ...

  5. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(2)

    [基于Matlab Robotics Toolbox的Dobot机械臂运动规划]系列文章是我在学习robotics toolbox中所做工作的记录,方便自己后面复习.改进. 基于Matlab R201 ...

  6. 解决高版本MATLAB robotics toolbox在plot/teach时报错问题

    在MATLAB 2019 或者 2020 等高版本里,使用机器人工具箱(robotics toolbox/RTB)对机器人进行可视化时(比如robot.teach,robot.plot)会报错: In ...

  7. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(3)

    [基于Matlab Robotics Toolbox的Dobot机械臂运动规划]系列文章是我在学习robotics toolbox中所做工作的记录,方便自己后面复习.改进 软件环境 : Matlab ...

  8. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(4)

    [基于Matlab Robotics Toolbox的Dobot机械臂运动规划]系列文章是我在学习robotics toolbox中所做工作的记录,方便自己后面复习.改进 软件环境 : Matlab ...

  9. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(1)

    [基于Matlab Robotics Toolbox的Dobot机械臂运动规划] 系列文章是我在学习robotics toolbox中所做工作的记录,方便自己后面复习.改进. 基于Matlab R20 ...

最新文章

  1. php 去除首位字符_php中如何去除字符串首尾字符?
  2. 根据传入url请求,返回json字符串
  3. 【数字智能三篇】之二: 一页纸说清楚“什么是推荐系统?”
  4. boost::phoenix::switch_相关的测试程序
  5. python 论坛模板_python模板 - PH的个人空间 - OSCHINA - 中文开源技术交流社区
  6. hdu 1408(高精度)坑人嫩
  7. java 拆箱_Java自动装箱拆箱
  8. 2018.7.28 二叉树的遍历规则(前序遍历、后序遍历、中序遍历)
  9. 数组取值_Python基础(五)--numpy包(数组与矩阵)
  10. tkinter中text插入_tkinter做一个体重档案
  11. 用html打开dbf文件怎么打开,dbf格式文件是什么 dbf文件用什么软件打开
  12. HBase优化案例分析:Facebook Messages系统问题与解决方案
  13. 节后荐书:Python、PyQt5、Kotlin(评论送书)
  14. Zookeeper使用案例
  15. 干货流出|腾讯内部几近满分的项目管理课程PPT
  16. 车牌自动识别在智能交通系统中的应用及前景分析
  17. 让你的桌面井井有条,4款桌面整理工具推荐
  18. 码农分为两类:看过《数学之美》的与没看过的
  19. 格拉苏蒂 Glashütte Original
  20. 再探C++中类继承问题:

热门文章

  1. 核实c#语言教程,C#教程方法用法 _C#语言-w3school教程
  2. 一加3t android 7.1,一加3T 7.1 ROM刷机包 7.1.2 Xposed框架主题号码归属地杜比全息来电闪光网...
  3. 三次进入ESI全球前1%,东大计算机实力如何?
  4. python使用docx模块读写docx文件的方法与docx模块常用方法
  5. 计算机教学word,计算机教学中word软件教学方法探究
  6. 爱剪辑的入门使用体验
  7. matlab 幂法,数值分析试验幂法与反幂法matlab.doc
  8. 联想笔记本老是出现仅计算机,联想电脑开机只显示节能模式怎么办
  9. GLAD应用:体全息光栅模拟
  10. 小米电视屏蔽广告规则