六轴机械臂DIY(四)机械模型重建及DH法建模

通过本系列文章的前三篇,一个小型桌面舵机机械臂我们就获得了,但一个控制单关节实现整体运动的机械臂无非就是一个桌面玩具,根本就不能称之为"机器人",因此在接下来的文章中我们会使用机器人学的知识对这个机械臂进行深入分析,使其拥有真正的灵魂,目前粗略定下以下目标

  1. 机械臂运动学分析
  2. 机械臂仿真建模
  3. 机械臂动力学分析
  4. 机械臂路径规划
  5. 实现平面绘图功能

在对文章(二)中的模型进行采购搭建后,我发现了不少建模过程中出现的问题,那之后我对机械模型进行了重新建模。

本文首先对新建的机械模型进行了介绍,之后对机械臂进行运动学分析,使用DH法进行运动学建模,并在matlab中实现简单的仿真。

一. 新建模型介绍

不多bb,先上图

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

在之前的机械臂模型搭建的过程中我发现使用板状亚克力材料虽然方便加工,精度高,但最后的零件数量太多了,而且板状材料装配精度特别不可控。之前建模较为急促,许多连接部分没有充足的考虑,导致链接处出现异响。

因此在新建的模型中采用3d打印件作为基础材料,大大减少了零件的数量,如果财有余力的话也可以使用CNC加工金属,那样的效果更好。连接处也进行了升级,理论上没有问题,由于上海无法买到快递,机械臂的搭建估计需要在之后的文章中才能描述。

1.1 腕部细节

在这里插入图片描述

新建模的腕部由三个3d打印件构成,保证机械臂的末端三个关节的垂线相交于一点

1.2 肘部细节

在这里插入图片描述

新建模的肘部简化为一个整体结构,用于安装舵机和与大臂连接

1.3 腰部细节

在这里插入图片描述

新建模的腰部简化为三个部件,更加清爽

二. 机械臂DH法分析

从这一部分开始就涉及机器人学了,对于从未了解过这部分的朋友希望能进一步的学习

这里列举一些我认为好的参考材料

[1] JOHN J.CRAIG. 机器人学导论: 第3版[M]. 机械工业出版社, 2006.

[2]桑红波. ABB-IRB 2400/10型机器人空间轨迹规划的研究[D]. 吉林大学, 2007.

尤其是《机器人学导论》对我帮助特别大,看了后有豁然开朗的感觉

DH法是机器人建模最多使用的方法,该方法将各个杆件进行分离,分析每个杆件后一关节相对于前一关节的位姿变化,通过建立坐标系得到杆件的连杆偏距d、关节角theta、连杆转角alpha、连杆长度a。

基于得到的这四个连杆参数可以建立每个连杆的关节齐次矩阵,通过链式相乘最终获得机械臂末端相对于基坐标的位姿。

机器人运动学的正逆解和雅可比矩阵都需要通过DH建模得到。

在这里插入图片描述

2.1 机械臂各关节尺寸关系

本项目机械臂是一个关节型六轴机械臂(RRRRRR型),从侧面可以得到机械臂各个关节之间的连杆参数。

在这里插入图片描述

2.2 标准型DH法建模

标准型DH法建模的每根杆由前一关节和杆件本体组成,因此用这种方法建模可以将末端也进行考虑

对于我们的机械臂可以简化为

在这里插入图片描述

分析各个连杆参数可以得到如下DH参数表

itheta(i)d(i)a(i-1)alpha(i-1)
1010010-pi/2
2001000
30030-pi/2
401400pi/2
5000-pi/2
602200

2.3 改进型DH法建模

改进型DH法建模的每根杆由杆件 本体和后一关节组成因此用这种方法可以将机械臂的底座进行考虑。

对于我们的机械臂可以简化为

在这里插入图片描述

分析各个连杆参数可以得到如下DH参数表

itheta(i)d(i)a(i-1)alpha(i-1)
1010000
20010-pi/2
3001000
4014030-pi/2
5000pi/2
60220-pi/2

三. 使用MATLAB机器人工具箱建模

使用matlab机器人工具箱Robotic Toolbox对我们建模的机器人进行仿真

Robotic Toolbox是一款配合matlab用来进行机器人分析的工具箱,通过使用该工具箱可以很快的求解齐次方程等机器人相关矩阵,工具箱的安装方式请参考:

机器人工具箱安装方法

这位up主已经进行了详细的介绍,并且测试完全可行

工具箱的使用方法可以参考:

机器人工具箱使用介绍

工具箱使用Link()函数构建机器人的每一连杆的参数,每根连杆的参数以theta、d、a、alpha进行排列。由上文第二章可知机器人的DH法建模分为标准法与改进法,因此我们分别使用两种方法对其建模,当然我个人更倾向于使用改进型DH法

  • 标准型DH法建模
%% 标准型
% theta d a alpha
L(21)=Link([0, 100,    10,  -pi/2]);
L(22)=Link([0, 0,    100,  0]);
L(23)=Link([0, 0,    30,  -pi/2]);
L(24)=Link([0, 140,    0,  pi/2]);
L(25)=Link([0, 0,    0,  -pi/2]);
L(26)=Link([0, 22,    0,  0]);
Six_Link_b=SerialLink([L(21),L(22),L(23),L(24),L(25),L(26)]);
Six_Link_b.display
Six_Link_b.teach

在这里插入图片描述

  • 改进型DH法建模
%% 改进型
% theta d a alpha
L(1)=Link([0, 100,    0,  0],'modified');
L(2)=Link([0, 0,   10, -pi/2],'modified');
L(3)=Link([0, 0,    100,0],'modified');
L(4)=Link([0, 140,    30, -pi/2],'modified');
L(5)=Link([0, 0,0,  pi/2],'modified');
L(6)=Link([0, 22, 0,  -pi/2],'modified');
Six_Link=SerialLink([L(1),L(2),L(3),L(4),L(5),L(6)]);
Six_Link.display
Six_Link.teach

在这里插入图片描述

本文是对机器人运动学的初步分析,首先介绍了改进过后的机械建模,基于该建模对整个机械臂进行了DH法分析,得到所有连杆的DH参数,这在我们之后的分析中相当重要。最后本文通过在MATLAB机器人工具箱中仿真验证建模的正确性。之后我们会进一步学习该工具箱的使用,并在它的帮助下完成机器人的正逆解,最后得到我们想要的路径。

  • 12
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Simulink中进行机械,可以按照以下步骤进行操作: 1. 在SolidWorks中绘制机械的简单模型,并将其保存为零件文件。确保模型中的零件组成符合机械的结构和运动方式。 2. 在Simulink中创一个新的模型,并使用SimMechanics库来进行机械系统。 3. 导入SolidWorks中保存的零件文件到Simulink中。可以使用SimMechanics的插件来实现零件文件的导入。确保导入的零件文件与实际机械模型相匹配。 4. 设置机械的坐标系变换。根据机械的结构和运动方式,确定各个零件之间的坐标系关系,并在Simulink中进行相应的设置。这样可以确保机械的运动拟符合实际情况。 5. 进行机械的搭。根据机械的结构和运动方式,在Simulink中使用SimMechanics库中的刚体、约束和力元件等来搭机械模型。按照机械实际运动的方式,设置各个刚体之间的约束和连接关系。这样可以实现机械的运动仿真。 6. 进行仿真分析。使用Simulink的仿真功能,根据机械模型和运动规律,进行各种场景下的仿真分析。可以通过添加输入信号或者其他仿真参数来观察机械在不同条件下的运动情况和响应。 7. 分析仿真结果。通过Simulink仿真结果图,包括反解块,可以对机械的运动进行分析。可以观察机械的关节角度、位移、速度等参数,评估机械的性能并进行改进。 综上所述,使用Simulink进行机械可以通过绘制模型、导入零件文件、设置坐标系变换和搭机械模型等步骤来完成。然后可以进行仿真分析并分析仿真结果,以评估机械的性能和改进设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值