机械臂DH参数建模方法有哪些?

2026-05-22 13:301阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计939个文字,预计阅读时间需要4分钟。

机械臂DH参数建模方法有哪些?

目录+设计(1)——机械振动DH建模+改进DH参数表+Matlab代码验证+设计中应用了众多代码,其中一部分我通过阅读书籍和论文学习并实现的,将通过Gitee仓库分享出来,这些代码仅用于学习。

目录
  • 毕设(1)——机械臂DH建模
    • 改进DH参数表
    • Matlab代码验证

毕设中用到了很多代码,其中一部分我通过看书和看论文学习并实现的代码,会通过Gitee仓库分享出来,这些代码仅用于学习使用,祝各位毕业生顺利完成毕设!

机械臂DH参数建模方法有哪些?

毕设系列内容:毕业设计——四自由度机械臂轨迹规划


毕设(1)——机械臂DH建模

毕设中使用到的机械臂是越疆出品的DObot魔术师机械臂,它的机械结构类似于IRB 660的码垛机械臂,用两个步进电机控制大臂和小臂的关节转动,并通过平行连杆机构保证末端的水平状态。

Dobot魔术师机械臂:官方网站

Dobot 机械臂
IRB660 机械臂
改进DH参数表

在官方论坛中下载模型后,根据模型尺寸和角度范围根据改进版DH法获得DH参数

改进DH法的参数定义如下图(摘自B站上的 机器人运动学—林沛群 课程PPT)

根据定义得到DH参数表如下

i \(\alpha_{i-1}\) \(a_{i-1}\) \(d_i\) \(\theta_i\) \(\theta\)范围 1 0° 0 0 \(\theta_1\) (-90°~90°) 2 -90° 0 0 \(\theta_2\) (-85°~0°) 3 0° 135 0 \(\theta_3\) (-10°~95°) 4 0° 147 0 \(\theta_4\) \(-(\theta_2+\theta_3)\) 5 -90° 61 131 \(\theta_5\) (-90°~90°)
Matlab代码验证

在Matlab中仿真机械臂可以用到机器人工具箱,它的官方网址为Robotics Toolbox,可以在上面下载到最新版,但是经常连接不上。
我自己使用的工具箱版本为10.3.1,有需要的可以在我分享的链接中下载

RTB10.3.1下载地址:传送门(蓝奏云)
下载后的安装教程网上一大堆,找一找就行了

构建运动学模型用到的函数有Link和SerialLink两个函数,你可以在matlab中Link函数与SeriaLink函数学习笔记中看到两个函数的介绍和调用函数格式

调用格式如下

% 关节角 关节偏距 连杆长度 连杆转角 旋转关节 偏差 % theta d a alpha sigma offset L = Link([0 0 0 0 0 0], 'modified');

其中,sigma代表关节类型,0代表旋转关节,1代表移动关节

定义关节的关节角度范围用到的是qlim参数

L.qlim = [-90, 90] * pi / 180;

连接连杆得到运动学模型用的是SerialLink函数

robot = SerialLink(L, 'name', 'Dobot');

有了这三个就可以在Matlab上构建运动学模型啦

test1.m

% Modified DH 建模dobot clear, clc, close all; %建立机器人模型 % 关节角 关节偏距 连杆长度 连杆转角 旋转关节 偏差 % theta d a alpha sigma offset L(1) = Link([0 0 0 0 0 0], 'modified'); L(2) = Link([0 0 0 -pi / 2 0 0], 'modified'); L(3) = Link([0 0 135 0 0 0], 'modified'); L(4) = Link([0 0 147 0 0 0], 'modified'); L(5) = Link([0 131 61 -pi / 2 0 0], 'modified'); %定义关节限制角度 L(1).qlim = [-90, 90] * pi / 180; L(2).qlim = [-85, 0] * pi / 180; L(3).qlim = [-10, 95] * pi / 180; L(4).qlim = [-95, 95] * pi / 180; L(5).qlim = [-90, 90] * pi / 180; %连接连杆 robot = SerialLink(L, 'name', 'Dobot'); robot.plot([0,-pi/4,pi/2,-pi/4,0]);%输出机器人模型,后面的参数为输出时的theta姿态 %robot.display;%打印出DH表 %robot.teach;%展示机器人模型

运行效果如下图

本文到此结束,后续会继续更新的~

本文共计939个文字,预计阅读时间需要4分钟。

机械臂DH参数建模方法有哪些?

目录+设计(1)——机械振动DH建模+改进DH参数表+Matlab代码验证+设计中应用了众多代码,其中一部分我通过阅读书籍和论文学习并实现的,将通过Gitee仓库分享出来,这些代码仅用于学习。

目录
  • 毕设(1)——机械臂DH建模
    • 改进DH参数表
    • Matlab代码验证

毕设中用到了很多代码,其中一部分我通过看书和看论文学习并实现的代码,会通过Gitee仓库分享出来,这些代码仅用于学习使用,祝各位毕业生顺利完成毕设!

机械臂DH参数建模方法有哪些?

毕设系列内容:毕业设计——四自由度机械臂轨迹规划


毕设(1)——机械臂DH建模

毕设中使用到的机械臂是越疆出品的DObot魔术师机械臂,它的机械结构类似于IRB 660的码垛机械臂,用两个步进电机控制大臂和小臂的关节转动,并通过平行连杆机构保证末端的水平状态。

Dobot魔术师机械臂:官方网站

Dobot 机械臂
IRB660 机械臂
改进DH参数表

在官方论坛中下载模型后,根据模型尺寸和角度范围根据改进版DH法获得DH参数

改进DH法的参数定义如下图(摘自B站上的 机器人运动学—林沛群 课程PPT)

根据定义得到DH参数表如下

i \(\alpha_{i-1}\) \(a_{i-1}\) \(d_i\) \(\theta_i\) \(\theta\)范围 1 0° 0 0 \(\theta_1\) (-90°~90°) 2 -90° 0 0 \(\theta_2\) (-85°~0°) 3 0° 135 0 \(\theta_3\) (-10°~95°) 4 0° 147 0 \(\theta_4\) \(-(\theta_2+\theta_3)\) 5 -90° 61 131 \(\theta_5\) (-90°~90°)
Matlab代码验证

在Matlab中仿真机械臂可以用到机器人工具箱,它的官方网址为Robotics Toolbox,可以在上面下载到最新版,但是经常连接不上。
我自己使用的工具箱版本为10.3.1,有需要的可以在我分享的链接中下载

RTB10.3.1下载地址:传送门(蓝奏云)
下载后的安装教程网上一大堆,找一找就行了

构建运动学模型用到的函数有Link和SerialLink两个函数,你可以在matlab中Link函数与SeriaLink函数学习笔记中看到两个函数的介绍和调用函数格式

调用格式如下

% 关节角 关节偏距 连杆长度 连杆转角 旋转关节 偏差 % theta d a alpha sigma offset L = Link([0 0 0 0 0 0], 'modified');

其中,sigma代表关节类型,0代表旋转关节,1代表移动关节

定义关节的关节角度范围用到的是qlim参数

L.qlim = [-90, 90] * pi / 180;

连接连杆得到运动学模型用的是SerialLink函数

robot = SerialLink(L, 'name', 'Dobot');

有了这三个就可以在Matlab上构建运动学模型啦

test1.m

% Modified DH 建模dobot clear, clc, close all; %建立机器人模型 % 关节角 关节偏距 连杆长度 连杆转角 旋转关节 偏差 % theta d a alpha sigma offset L(1) = Link([0 0 0 0 0 0], 'modified'); L(2) = Link([0 0 0 -pi / 2 0 0], 'modified'); L(3) = Link([0 0 135 0 0 0], 'modified'); L(4) = Link([0 0 147 0 0 0], 'modified'); L(5) = Link([0 131 61 -pi / 2 0 0], 'modified'); %定义关节限制角度 L(1).qlim = [-90, 90] * pi / 180; L(2).qlim = [-85, 0] * pi / 180; L(3).qlim = [-10, 95] * pi / 180; L(4).qlim = [-95, 95] * pi / 180; L(5).qlim = [-90, 90] * pi / 180; %连接连杆 robot = SerialLink(L, 'name', 'Dobot'); robot.plot([0,-pi/4,pi/2,-pi/4,0]);%输出机器人模型,后面的参数为输出时的theta姿态 %robot.display;%打印出DH表 %robot.teach;%展示机器人模型

运行效果如下图

本文到此结束,后续会继续更新的~