Matlab机器人工具箱使用1 简单的描述类函数

写在前面

本栏目参考教程:

【MATLAB机器人工具箱10.4 机械臂仿真教学】 https://www.bilibili.com/video/BV1q44y1x7WC/?share_source=copy_web\&vd_source=2c56c6a2645587b49d62e5b12b253dca

在使用本教程前,请务必保证已经理解完这本书的相应章节了。

星马的机器人学导论也在实时更新,不过本专栏的轨迹规划之后的内容可能还没来得及发出,

不过不用担心,在每一部分我都会带你速通复习一遍!

我的建议是这本书,不是那本紫色书,只能说不好评价:

以下内容可以作为笔记,也可以在不懂的时候回来看看,兴许有你想要的答案,尤其是在轨迹规划这部分,up讲得不是很明了。如果你是星马的同学,有任何不懂的地方都可以找我。

星马做仿真主要是mujoco、issacsim+pinocchio计算了,并不常用matlab,如果有误,请直接指出!

希望你学有所成!


这一节就是简单讲解基本的描述性函数,比如旋转、平移的表示、变换矩阵的表示,以及他们之间如何转化。

旋转与平移矩阵的描述函数

欧拉角(zyz)是相对旋转,绕自身旋转,倒着记录,倒着计算(自身右乘)

rpy角(xyz)是绝对旋转,绕基坐标系旋转,顺着记录,倒着计算(固定左乘)

至于为什么,可以参考我在这里写的解释,不强求理解,会用就行。机器人学导论(三)------其他姿态描述 转角组合描述与轴角法-CSDN博客

旋转描述

Matlab 复制代码
r1=eul2r(90,60,30)
r2=rotz(90)*roty(60)*rotz(30)

r3=rpy2r(90,60,30)
r4=rotz(30)*roty(60)*rotx(90)

看下输出:

显然r1=r2 r3=r4

Matlab 复制代码
r1 =

   -0.5000   -0.8660         0
    0.4330   -0.2500    0.8660
   -0.7500    0.4330    0.5000


r2 =

   -0.5000   -0.8660         0
    0.4330   -0.2500    0.8660
   -0.7500    0.4330    0.5000


r3 =

    0.4330    0.7500    0.5000
    0.2500    0.4330   -0.8660
   -0.8660    0.5000         0


r4 =

    0.4330    0.7500    0.5000
    0.2500    0.4330   -0.8660
   -0.8660    0.5000         0

旋转与变换矩阵

变换矩阵下的运算必须都用trotx/troty/trotz

Matlab 复制代码
T1=eul2tr(90, 60,30);
T2=trotz(90)*troty(60)*trotz(30);
T3=rpy2tr(90,60,30);
T4=trotz(30)*troty(60)*trotx(90);

看下输出:

显然T1=T2 T3=T4

Matlab 复制代码
>> T1

T1 =

   -0.5000   -0.8660         0         0
    0.4330   -0.2500    0.8660         0
   -0.7500    0.4330    0.5000         0
         0         0         0    1.0000

>> T2

T2 =

   -0.5000   -0.8660         0         0
    0.4330   -0.2500    0.8660         0
   -0.7500    0.4330    0.5000         0
         0         0         0    1.0000

>> T3

T3 =

    0.4330    0.7500    0.5000         0
    0.2500    0.4330   -0.8660         0
   -0.8660    0.5000         0         0
         0         0         0    1.0000

>> T4

T4 =

    0.4330    0.7500    0.5000         0
    0.2500    0.4330   -0.8660         0
   -0.8660    0.5000         0         0
         0         0         0    1.0000

位移与变换矩阵 旋转矩阵与变换矩阵

Matlab 复制代码
T=transl(1.5,1,0.5)*trotx(30)*trotz(60);
P=transl(T);
R=t2r(T);
Matlab 复制代码
>> T

T =

    0.5000   -0.8660         0    1.5000
    0.7500    0.4330   -0.5000    1.0000
    0.4330    0.2500    0.8660    0.5000
         0         0         0    1.0000

>> P

P =

    1.5000
    1.0000
    0.5000

>> R

R =

    0.5000   -0.8660         0
    0.7500    0.4330   -0.5000
    0.4330    0.2500    0.8660

总结

带rot都是旋转 带tr都是变换矩阵 带transl都是位移矩阵 eul和rpy是旋转描述。

记不住没关系,后面用多了自然熟悉,你可以先开着这一页,之后不记得了回来看看。

相关推荐
Evand J15 小时前
【MATLAB例程】到达角度定位(AOA),平面环境多锚点定位(自适应基站数量),动态轨迹使用EKF滤波优化。附代码下载链接
开发语言·matlab·平面·滤波·aoa·到达角度
酌量21 小时前
基于3D激光点云的障碍物检测与跟踪---(3)基于匈牙利算法的障碍物跟踪
学习·算法·机器人·匈牙利算法·障碍物跟踪
极客数模1 天前
2025年MathorCup 大数据竞赛明日开赛,注意事项!论文提交规范、模板、承诺书正确使用!2025年第六届MathorCup数学应用挑战赛——大数据竞赛
大数据·python·算法·matlab·图论·比赛推荐
浊酒与说心事1 天前
AGV机器人
机器人
福客AI1 天前
电商智能客服机器人:客服的服务革新之路
人工智能·机器人
机器学习之心1 天前
MATLAB基于灰色聚类-正态云的地铁牵引系统健康状态综合评估
matlab·灰色聚类·正态云
Matlab程序猿小助手1 天前
【MATLAB源码-第303期】基于matlab的蒲公英优化算法(DO)机器人栅格路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab·机器人·kmeans
郝学胜-神的一滴1 天前
Cesium绘制线:从基础到高级技巧
前端·javascript·程序人生·线性代数·算法·矩阵·图形渲染
悟空码字1 天前
宇树科技:决定更名
机器人·宇树科技·更名
前端小L1 天前
动态规划的“升维”之技:二维前缀和,让矩阵查询“降维打击”
线性代数·矩阵