机器人学之运动学笔记【3】—— 机械臂DH表示法+正向运动学(Forward Kinematics)

1. 手臂几何描述方式

对空间中任意方向的两个转轴,两转轴之间有唯一一段线段a和这两个转轴都互相垂直,还需要一个角度α才能确定两转轴之间的相对位置。
在这里插入图片描述当多个连杆串在一起看的时候,只有这两个参数描述是不够的,还需要两个参数d和θ来描述相邻线段a(i-1)和a(i)之间的相对几何关系。
在这里插入图片描述所以总共需要四个参数描述两两连杆之间的位置关系,当关节是旋转关节时,θ是变量;当关节是移动关节时,d是变量。在这里插入图片描述

2. 改进DH法 描述机械臂

2.1 在连杆上建立Frame

建立连杆坐标系步骤:
1找出各个关节轴,画出轴线的延长线
2找出关节轴i和i+1之间的公垂线或关节轴i和i+1的交点,以关节轴i和i+1的交点或公垂线与关节轴i的交点作为连杆坐标系的{i}原点
3规定z轴沿关节轴i的指向
4规定x轴沿公垂线指向,如果关节轴i和i+1相交,则规定x轴垂直于关节轴i和i+1所在的平面
5按右手定则确定Y轴
6当第一个关节变量为0时,规定坐标系{0}和{1}重合,对于坐标系{N},原点和x方向可以任意选取,选取时,尽量使连杆参数为0.

定义中间连杆的Frame:
在这里插入图片描述

定义地杆(Link0)的Frame:
整个link0 杆件是固定不动的,link1 会动。为了简化,通常使 {0} 和 {1} 一致,并且当第一个关节变量θ1为0时,{0} 和 {1} 会重合。

在这里插入图片描述

定义Last Link(n) 的 Frame:
当最后一个关节变量θn为0时,使{n}的x轴方向和{n-1}的x轴方向一致,此时a(n)=0,α(n)=0,d(n)=0。

在这里插入图片描述

2.2 D-H参数定义

在这里插入图片描述

2.3 找到两 Link Frame 之间的 Transformations(R-D-R-D)

在这里插入图片描述
假设已知P在{i} 下的表达,若再知道 {i} 到 {i-1} 的变换矩阵的话,就可以将P在{i} 下的表达转换成P在 {i-1} 下的表达。
在这里插入图片描述
首先沿着X(i-1)轴旋转α(i-1),使得Z( R )和Z(i)方向相同;
下一步,将坐标系沿着X( R )方向平移a(i-1),使得Z(Q)和i轴重合;
下一步,将坐标系沿着Z( Q )方向旋转θ(i),使得X( P )和X(i)方向相同;
最后一步,将坐标系沿着Z( P )方向向上平移d(i),使得坐标轴与X(i)Y(i)Z(i)重合。

在这里插入图片描述
表达出来就是这样:
在这里插入图片描述

整理出一般表达式:
在这里插入图片描述
到这里就由4个参数找到了 {i} 到 {i-1} 之间的变换矩阵。
那么对于连续的 Link transformations :
在这里插入图片描述

2.4 例题一(RRR)

在这里插入图片描述

可以发现
θ3=0时,X3和X2重合;
θ2=0时,X2和X1重合;
θ1=0时,X1和X0重合;

在这里插入图片描述

备注:t就是θ

2.5 例题二(RPR)

在这里插入图片描述

1、找出各个关节轴,画出轴线的延长线

在这里插入图片描述
2、找出关节轴之间的公垂线或交点,以关节轴i和i+1的交点或公垂线与关节轴i的交点作为连杆坐标系的{i}原点
在这里插入图片描述

3、规定z轴沿关节轴i的指向
4、规定x轴沿公垂线指向,如果关节轴i和i+1相交,则规定x轴垂直于关节轴i和i+1所在的平面
5、按右手定则确定Y轴

在这里插入图片描述
6、确定{0}和{n}
在这里插入图片描述
6、写出DH参数表

在这里插入图片描述

2.6 例题三(晶圆机器人)

在这里插入图片描述

2.7 例题四(SCARA机器人)

在这里插入图片描述

3. 标准DH法 描述机械臂

在这里插入图片描述

  • 与改进DH法的区别:
    1.改进DH法是将坐标系建在连杆的输入端,而标准DH法是将坐标系建在连杆的输出端。
    2.建立坐标系时,改进DH法定义的 Xi 轴沿着公垂线 a(i+1) 由 {i} 指向 {i+1} 的方向,而标准DH法定义的 Xi 轴沿着公垂线 a(i) 由 {i-1} 指向 {i}。

在这里插入图片描述

3.1 例题(RRR)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标准DH与改进DH结果对比

标准DH:
在这里插入图片描述
改进DH:
在这里插入图片描述
因为改进DH是定义到了 {3} 的原点,需要在乘上[L,0,0]才会代表空间中的P点,而标准DH {3}的原点就在P上,所以改进DH乘完之后就和标准DH一样了:
在这里插入图片描述
关于标准DH还有改进DH有一篇博客:

标准DH建模与改进DH建模

4. PUMA 560(改进DH)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
α1是从X1方向看,Z1转向Z2的角度,顺时针90,所以是-90°;
α2是从X2方向看,Z2转向Z3的角度;
α3是从X3方向看,Z3转向Z4的角度,顺时针90,所以是-90°;
α4是从X4方向看,Z4转向Z5的角度,逆时针90,所以是90°;
α5是从X5方向看,Z5转向Z6的角度,顺时针90,所以是-90°;

a1是指轴1和轴2之间的公垂线长度;
a2是指轴2和轴3之间的公垂线长度;
a3是指轴3和轴4之间的公垂线长度;

d3是指沿着Z3方向,X2和X3之间的距离;
d4是指沿着Z4方向,X3和X4之间的距离;

θ1是以Z1方向看,X0和X1之间的夹角;
θ2是以Z2方向看,X1和X2之间的夹角;
θ3是以Z3方向看,X2和X3之间的夹角;
θ4是以Z4方向看,X3和X4之间的夹角;
θ5是以Z5方向看,X4和X5之间的夹角;
θ6是以Z6方向看,X5和X6之间的夹角;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
标准DH转化为改进DH可以将α(i)和a(i)均向下平移一格:
在这里插入图片描述
关于PUMA 的 DH 建模以及 MATLAB 建模,参考下面一位大佬的博客,连接如下,写的非常好:

PUMA560机器人D-H参数和改进DH参数

  • 37
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MATLAB(Matrix Laboratory,矩阵实验室)是一款强大的科学计算软件,它在科学研究、工程设计、数据分析和教学等领域都有广泛的应用。在机器人领域,MATLAB机器人工具箱(Robotics Toolbox for MATLAB)则是一款非常重要的工具箱,它可以实现机器人动力学模拟、控制器设计、路径规划和视觉处理等各种任务。本文将重点介绍MATLAB机器人工具箱中的建模与正逆运动学算法。 建模是机器人控制中非常重要的一步,在机器人工具箱中可以通过类似DH表示法的方式来对机器人进行建模。这里我们以一个三自由度的SCARA机器人为例进行说明。首先需要定义机器人的DH参数,比如对于SCARA机器人,可以采用以下方式定义: ```matlab L1 = Link([0, 0, 0, pi/2, 0]); L2 = Link([0, 0, 0.25, 0, 0]); L3 = Link([0, 0, 0.25, 0, 0]); SCARA = SerialLink([L1 L2 L3], 'name', 'SCARA'); ``` 其中Link表示机械臂链接,SerialLink表示串联链接,name表示机器人的名称。接着可以使用plot和animate方法来绘制机器人的3D模型,如图所示: ```matlab SCARA.plot([0, pi/4, pi/2]); %绘制机器人在三个角度下的姿态图 SCARA.teach(); %绘制机器人可交互的3D模型 ``` ![scara](https://img-blog.csdn.net/20170601140015099?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3VpbGRlbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75) 接着我们再来介绍一下MATLAB机器人工具箱中的正逆运动学算法。 正运动学是指根据机器人各个关节的角度来计算机器人的末端执行器的姿态(位置和姿态角),可以通过以下代码来实现: ```matlab theta = [0, pi/4, pi/2]; %关节角度 T = SCARA.fkine(theta); %末端执行器的姿态 disp(T); ``` 其中fkine表示正运动学求解,返回机器人末端执行器的位姿矩阵T(4x4)。需要注意的是,机器人正运动学求解中必须使用李代数(Lie algebra)和指数映射(Exponential map)的方法,以保证运算的精度和稳定性。 逆运动学是指根据机器人末端执行器的姿态来计算各个关节的角度,可以采用以下方法来实现: ```matlab T = [1, 0, 0, 0.3; 0, 1, 0, 0.3; 0, 0, 1, 0.5; 0, 0, 0, 1]; %给定机器人末端执行器的位姿矩阵 q = SCARA.ikine(T); %计算机器人各个关节的角度 disp(q); ``` 其中ikine表示逆运动学求解,需要注意的是,机器人逆运动学求解中必须考虑机器人的奇异问题、避障问题和轨迹规划问题,以保证机器人的运动轨迹和效率。 总的来说,MATLAB机器人工具箱中的建模与正逆运动学算法为机器人控制和仿真提供了很好的工具和方法,可以大大简化机器人控制的难度和复杂度。未来随着机器人技术的不断发展和普及,MATLAB机器人工具箱的应用也将逐渐扩大。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值