毕设(1)——机械臂DH建模
毕设中用到了很多代码,其中一部分我通过看书和看论文学习并实现的代码,会通过Gitee仓库分享出来,这些代码仅用于学习使用,祝各位毕业生顺利完成毕设!
毕设系列内容:毕业设计——四自由度机械臂轨迹规划
毕设(1)——机械臂DH建模
毕设中使用到的机械臂是越疆出品的DObot魔术师机械臂,它的机械结构类似于IRB 660的码垛机械臂,用两个步进电机控制大臂和小臂的关节转动,并通过平行连杆机构保证末端的水平状态。
Dobot魔术师机械臂:官方网站
改进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;%展示机器人模型
运行效果如下图
本文到此结束,后续会继续更新的~😃
作者:Dragonet-Z
出处:https://www.cnblogs.com/dragonet-Z/p/16304191.html
版权声明:本博客所有文章除特殊声明外,均遵循BY-NC-ND许可协议,转载请注明出处!