最近在做学校的大作业需要用到Robotics Toolbox 在Matlab中建模多自由度机械手臂,遂作此记录。

这里用的Robotics toolbox是由 Peter Corke 研发的,区别于Matlab 自带的Robotics System Toolbox. 相关的文档可以在官方网站找到,用户手册介绍了一些刚工具箱里面的指令。

对机械手臂进行建模之前需要明确DH table, 我这里由于机械手臂原型的限制,只能有Distal (standard) 的方法去分析。我的DH table是我自己先分析出来再填入程序里面的(好像也只有这样,狗头.jpg)。

该机械手臂一共是5个自由度。下面把DH table 里的数据学到程序里面去。

首先介绍几个需要用到的类(class):

Link: A Link object holds all information related to a robot joint and link such as kinematics, parameters, rigid-body inertial parameters, motor and transmission parameters. Link这个类是我们这里用来定义DH table的每一行的,他有很多参数:

L = Link(dh, options)  这个是用来定义每一个DH 参数的,dh的书写是按照[THETA D A ALPHA SIGMA OFFSET ]的顺序。其中SIGMA 是定义joint的类型的,SIGMA=0 是旋转关节(Revolute joint),默认值为0即旋转关节;SIGMA=1定义的是滑动关节(Prismatic joint)。OFFSET定义的是关节参数之间的移动,默认值为零。如果不写入这两个参数的话都是默认值。由于是转动关节,所以转动量THETA是一个变量,所以还需要用qlim 指令去限制转动范围。

SerialLink(Links, options): is a robot object defined by a vector of Links class objects which includes the subclasses Revolute, Prismatic, RevoluteMDH or PrismaticMDH. 这个类是使用我们上面定义的Link 类也就是DH table 的每一行的参数去建模机械手臂。

这里会用到的另一个方法是 SerialLink类的一个方法 teach: Drive the graphical robot. 这个可以让你在画图窗口中随时调整每个角度的大小,然后观看手臂的姿态变化,个人认为这对于理解手臂的范围很有帮助。

下面是我自己的代码:

% Please install Robotics Toolbox in advance
% Define DH table using Old syntax
%           THETA  D   A   ALPHA
L(1) = Link([0   0   0   pi/2]);
L(2) = Link([0   0 12.07  0]);
L(3) = Link([0   0 12.7   0]);
L(4) = Link([0   0  0   -pi/2]);
L(5) = Link([0 8.57 0     0]);  % The limitation of each joint.
L(1).qlim=[0,pi];
L(2).qlim=[0,pi];
L(3).qlim=[0,pi];
L(4).qlim=[0,pi];
L(5).qlim=[0,pi];% Represent the serial-link arm-type robot.
myrobot = SerialLink(L,'name','myrobot'); % Change the angle of each joint.
teach(myrobot);

下面是运行结果:

这里提醒一下大家要想正确的填写DH table,建立对的坐标系很重要,坐标系错了,参数也就错了。如果大家对机器人学感兴趣的话,推荐大家去听一下台湾大学林沛群的课程(机器人学),个人感觉讲得很清楚。B站或者Coursera都有。

再次感叹一下强大的Robotics Toolbox,真的很好用。

第一次记录,欢迎交流!

如何用Robotics Toolbox 建模多自由度的机械手臂相关推荐

  1. 六自由度工业机器人 机械手臂 3D2D结构图纸 工业机器人

    六自由度工业机器人 机械手臂 3D2D结构图纸 工业机器人资料 链接:https://pan.baidu.com/s/1Q3q7n5yGdAqapkTk8lRdbQ 提取码:kihy

  2. 怎么用matlab计算机械手运动,Matlab Robotics ToolBox 实战 -- 斯坦福机械手运动学建模及分析...

    这同样是<机器人技术基础>课程实验中的一个,题目比较开放,只要求对任一坐标形式的机械臂进行研究即可.下面是详细介绍: 一.选定建模对象 选定球坐标机器人--斯坦福机械手臂(参考<机器 ...

  3. 焊接机器人——6自由度焊接机器人solidworks设计、D-H模型参数及matlab robotics toolbox模型仿真与验证

    1 设计思路 焊接机器人在点与点之间移位时速度要快捷,动作要平稳,定位要准确,以减少移位的时间,提高工作效率. 考虑到各种被焊接工件的外型特点,首先我们必须保证机械臂能在达到空间中的所有位置(能够有较 ...

  4. matlab ikine 源码,RTB-9.10 matlab robotics toolbox 工具箱软件 可进行机器人运动学与动力学建模 275万源代码下载- www.pudn.com...

    文件名称: RTB-9.10下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 20442 KB 上传时间: 2016-11-27 下载次数: 16 提 供 者 ...

  5. MATLAB Robotics Toolbox常用函数简介

    这一节,就机器人工具箱中的一些常用的函数做一下简单的介绍.机器人工具箱在机器人建模.轨迹规划.控制.可视化仿真等方面给机器人的研究和学习提供便利条件,大大提高了研究和工作效率. 在机器人工具箱中,类函 ...

  6. 基于Matlab Robotics Toolbox的Dobot机械臂运动规划(1)

    [基于Matlab Robotics Toolbox的Dobot机械臂运动规划] 系列文章是我在学习robotics toolbox中所做工作的记录,方便自己后面复习.改进. 基于Matlab R20 ...

  7. matlab机器人自动分拣_YOLOv3 + Matlab Robotics ToolBox 实战 -- 软包装药品的机器人分拣系统设计与仿真...

    本项目为大三上<机器人技术基础>课程团队研讨课题之一,当时做这个研讨课题还花了挺多的时间,又觉得还比较有意思,因此放在博客中记录一下.不过当时班上很多大佬的成果更牛逼,我们就属于弟弟水平h ...

  8. Robotics Toolbox

    1.机械手臂建模 要建立PUMA560的机器人对象,首先我们要了解PUMA560的D-H参数,之后我们可以利用Robotics Toolbox工具箱中的link和robot函数来建立PUMA560的机 ...

  9. matlab fkine,Matlab Robotics ToolBox 实战 -- 七次多项式取放轨迹规划

    这是<机器人技术基础>个人课程实验之一,按照学号尾数不同分配给每人的取放轨迹规划方式也不同,包括3-4-3.4-3-4等三段轨迹规划方法,而我抽中的是七次多项式实现,不存在优劣之分,特地说 ...

最新文章

  1. Linux 内核测试版与稳定版的版本号有什么不同?
  2. [javascript]JS获取当前时间戳的方法
  3. (一)使用pycharm创建django项目
  4. php文件上传漏洞waf,文件上传绕过WAF
  5. inode mac客户端_淘宝直播PC客户端适合哪些场景使用?
  6. Python IDE: 10个最好用的python集成开发环境(IDE)
  7. bitblt与StretchDIBits
  8. html5脑图_HTML5制作思维导图
  9. 华为eNSP三层架构网络配置
  10. linux 内存容量换算,使用Linux的sar 命令来计算Linux的内存剩余
  11. Web Api Token验证
  12. 用Python画动态圣诞树 学会了送给你女朋友呀~
  13. python获取今日头条搜索信息_python爬虫(十二、爬取今日头条关键词所有文章)
  14. 解读WPF中的Binding
  15. 论文笔记--Self-Supervised Learning of 3D Human Pose using Multi-view Geometry(利用多视角几何学对三维人类姿势进行自我监督学习)
  16. unity游戏开发(1)安装开发环境
  17. 研一学习笔记-小白NLP入门学习笔记
  18. 学习日记——阿里云物联网平台
  19. android q 桌面模式,Android Q带来全新桌面模式
  20. SSM框架专题-MyBatis框架老杜版从零入门笔记(下)

热门文章

  1. 【转】这是一篇很完整的元器件选型指南
  2. 拓嘉启远电商:拼多多直通车烧钱太多的原因
  3. Spark 读 CSV格式文件 ,报错UnicodeDecodeError: 'utf8' codec can't decode byte 0xca in position 17: invalid c
  4. 能够翻译文档的免费软件-免费翻译整个文档的软件
  5. 手机直播系统 服务器,手机直播系统平台搭建部署开发
  6. 热力夏季运动会java,夏季运动会作文(精选8篇)
  7. Xilinx Zynq-7000 PL端Kintex-7架构可编程逻辑资源,PS端主频可高达1GHz晶振、电源接口和拨码开关
  8. 猫哥教你写爬虫 027--模块介绍
  9. 考研复试-传输层-计算机网络面试题
  10. adobe flash player 过期问题