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博客
旋转描述
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
r1 =-0.5000 -0.8660 00.4330 -0.2500 0.8660-0.7500 0.4330 0.5000r2 =-0.5000 -0.8660 00.4330 -0.2500 0.8660-0.7500 0.4330 0.5000r3 =0.4330 0.7500 0.50000.2500 0.4330 -0.8660-0.8660 0.5000 0r4 =0.4330 0.7500 0.50000.2500 0.4330 -0.8660-0.8660 0.5000 0
旋转与变换矩阵
变换矩阵下的运算必须都用trotx/troty/trotz
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
>> T1T1 =-0.5000 -0.8660 0 00.4330 -0.2500 0.8660 0-0.7500 0.4330 0.5000 00 0 0 1.0000>> T2T2 =-0.5000 -0.8660 0 00.4330 -0.2500 0.8660 0-0.7500 0.4330 0.5000 00 0 0 1.0000>> T3T3 =0.4330 0.7500 0.5000 00.2500 0.4330 -0.8660 0-0.8660 0.5000 0 00 0 0 1.0000>> T4T4 =0.4330 0.7500 0.5000 00.2500 0.4330 -0.8660 0-0.8660 0.5000 0 00 0 0 1.0000
位移与变换矩阵 旋转矩阵与变换矩阵
T=transl(1.5,1,0.5)*trotx(30)*trotz(60);
P=transl(T);
R=t2r(T);
>> TT =0.5000 -0.8660 0 1.50000.7500 0.4330 -0.5000 1.00000.4330 0.2500 0.8660 0.50000 0 0 1.0000>> PP =1.50001.00000.5000>> RR =0.5000 -0.8660 00.7500 0.4330 -0.50000.4330 0.2500 0.8660
总结
带rot都是旋转 带tr都是变换矩阵 带transl都是位移矩阵 eul和rpy是旋转描述。
记不住没关系,后面用多了自然熟悉,你可以先开着这一页,之后不记得了回来看看。