一、描述机械臂(DH参数)

DH参数存在三种不同的描述。笔者在这个方面犯了一些错,所以特此记录一下。我采用的标准DH参数,不同类型的DH参数,建立的坐标系就不一样,所以需要注意一下。

标准DH参数建模的连杆坐标系是在连杆的传动轴,即连杆i的关节i+1上。由上右图可知,连杆1的驱动关节是Joint1,传动关节是Joint2,所以其坐标系要建立在Joint2上;同理Link2的连杆坐标系要建立在Jonit3上,以此类推,其他连杆的坐标系,如图所示。

如果需要得到DH参数,我们需要对自己的机械臂图进行测量。首先就是建立坐标系,六个轴要建立七个坐标系,因为底座也需要坐标系。总共就是link0到link6。这一步很重要,坐标轴的方向得按照运动的结构来确定,我的机械臂如图所示,所以建立坐标系如图所示。

接下来来最主要是理解杆长a,关节距离d。搞定这两个,其他的就是看图自行调整。其中要注意这里的单位是mm.我们之后matlab中输入的是m.

%机械臂为六自由度机械臂
%DH参数
%          theta     d       a      alpha
L(1)=Link([0      0.193     0      pi/2   ],'standard');
L(2)=Link([0        0      0.615    0     ],'standard');L(2).offset=pi/2;
L(3)=Link([0        0      0.571    0     ],'standard');
L(4)=Link([0     0.1775     0     -pi/2   ],'standard');L(4).offset=-pi/2;
L(5)=Link([0     0.118      0      pi/2   ],'standard');
L(6)=Link([0     0.1103     0       0     ],'standard');
angle=2*pi/180;  %度
Robot=SerialLink(L,'name','UR10');

二、solidworks机械结构的导入

我们上一节得到了机械臂的DH参数,然后进行了建模。我们用到了机器人工具箱,其中的知识希望读者自行搜索一下。接下来我们就要进行solidworks图的导入,最重要的是坐标系建立准确。建立准确后,会得到很好看的图片。如图所示。

%%  3D显示参数设置
q0 = [0 0 0 0 0 0];
v = [35 20];
w = [-2 2 -2 2 -1 2];
d = 'D:\matlab_code\matlab_arm_link\stl1\stl_5';
% Robot.plot3d(q0,'tilesize',1,'workspace',w,'path',d,'nowrist','view',v);
M = 'first.mp4';
Robot.plot3d(Qtraj,'tilesize',1,'workspace',w,'trail',{'r', 'LineWidth', 2},...
'path',d,'nowrist','view',v,'movie',M);
light('Position',[1 1 1],'color','w');

其中的stl文件需要自己进行导入。

基于MATLAB与SOIDWORKS的关节型六轴机械臂仿真相关推荐

  1. 基于MATLAB的关节型六轴机械臂轨迹规划仿真(2021实测完整代码)

    我是一个目录 基于MATLAB的关节型六轴机械臂轨迹规划仿真 1 实验目的 2 实验内容 2.1标准D-H参数法 2.2实验中使用的Matlab函数 3实验结果 4 全部代码 基于MATLAB的关节型 ...

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

    通过本系列文章的前三篇,一个小型桌面舵机机械臂我们就获得了,但一个控制单关节实现整体运动的机械臂无非就是一个桌面玩具,根本就不能称之为"机器人",因此在接下来的文章中我们会使用机器 ...

  3. 【机械】基于简化几何解法的六轴机械臂位置规划附matlab代码

    1 内容介绍 基于简化几何解法的六轴机械臂位置规划附matlab代码 2 部分代码 clc; clear; %载入数据 importfile('shuiping.mat'); theta_shuipi ...

  4. 【机械仿真】基于matlab简化几何解法六轴机械臂位置规划【含Matlab源码 2128期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[机械仿真]基于matlab简化几何解法六轴机械臂位置规划[含Matlab源码 2128期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

  5. 基于模型设计(MBD)工程方法开发六轴机械臂系统实战

    本课程采用基于模型设计(MBD)的工程开发方法,实现对六轴机械臂系统的开发,包括六轴机械臂的知识和控制器的软硬件实现,有助于设计串联.并联的机械臂.康复医疗机器人等其它机电设备的电控系统.目前,这种世 ...

  6. 四轴六轴机械臂基础运动仿真实验(Matlab)

    博主最近在学一本叫做<A Mathematical Introduction to Robotic Manipulation>的机器人学教材,并且在学习之余根据了老师的要求完成了一个仿真项 ...

  7. 将CAD模型通过SolidWorks导出机器人URDF文件(基于innfos六轴机械臂)

    将CAD模型通过SolidWorks导出机器人URDF文件(基于innfos六轴机械臂) 前言 也是初次接触这方面的学习,看了许多的资料,其中古月老师的有个课程挺好的,有机械臂和小车的,我们实验室有机 ...

  8. 六轴机械臂算法-引导篇

    最近一直在研究 6轴机械臂算法,整理出了如下几个计算六轴机械臂正解和逆解的关键点: 01_机器人坐标系和关节的说明 02_算法坐标系的建立 03_D-H参数表的建立 04_FK(正解)算法 05_Ma ...

  9. 【机器人原理与实践(三)】六轴机械臂正逆解控制

    文章目录 3.1 空间转换矩阵的理解 3.1.1平移变换 3.1.2旋转变换 3.2 D-H参数法 3.3 建立机械臂模型 3.3.1 机械臂模型介绍 3.3.2 使用Matlab进行示教仿真 3.4 ...

最新文章

  1. linux 执行程序 注销,Linux登录登出的过程 | Soo Smart!
  2. navicat for mysql收藏夹
  3. webpack is not defined
  4. 记录一下ECS修改实例密码以及安装可视化桌面
  5. Mac下编译Android源码,并导入IntelliJ IDEA进行源码阅读
  6. SpringBoot 发送邮件功能实现
  7. Win2003下Asp配置技巧 http 500内部服务器错误
  8. C++学习笔记:(三)静态与名字空间
  9. linux nginx 安装_艾编程基础教程:Linux 环境下 Nginx 安装
  10. 精讲Java NIO
  11. QCwindows server 2003部署
  12. 以 library 方式启动的 SAP Spartacus Storefront,如何手动实现 User 模块的延迟加载
  13. Java中的Memento设计模式-示例教程
  14. 面向对象之反射、包装、(定制)
  15. Modelsim-Altera仿真设置
  16. PostgreSQL 11 preview - Faster partition pruning
  17. Python核心编程总结(一、基础概念与语法)
  18. latex中插入eps图片方法与遇到xdvipdfmx:fatal: Image inclusion failed for XXX的错误
  19. 完美数简介及算法分析
  20. Python接口自动化测试实战系列02

热门文章

  1. 虚拟机安装CentOS 7以及解决图形化界面问题
  2. Oracle Hints,Oracle并行模式(Parallel) /*+parallel(t,4)*/ 在SQL调优中的重要作用
  3. 微信小程序分享带参数
  4. C语言第三章Functions, Arrays Pointers
  5. 大数据运维存档(9)HBase常识整理
  6. mysql如何开启慢查询_MySQL如何开启慢查询 MySQL开启慢查询方法
  7. [原创] Win7全自动精简批处理_绝对原创,绝对给力_感谢无忧给了我一年的潜水...
  8. svg转png python(winodws环境)
  9. overleaf段落注释
  10. fluentd Fliter plugin应用