[连载 5]Vrep--Matlab Robitic Toolbox--PUMA560机械臂控制

大家如果完成了连载4的内容,接下来面临的就是如何驱动机械臂了,那么这一节的主要目标就是全面介绍在Vrep、Matlab和Simulink中,如何使用Vrep自带的Lua脚本和Matlab结合Peter Corke的Robitic Toolbox以及Simulink的VrepLib库,来控制机械臂,完成一些有趣的运动。

前言

这篇文章距离上一篇文章时隔太久了,一方面是最近几个月事情太多,没有抽出太多时间;另一方面是准备一篇手把手的文字教程实在是很耗时间。所以这次我想稍微改变一下,文档的内容我只列出提纲和大概的内容,完成的过程和讲解通过录制视频来完成,这样更加生动一些,这次先尝试一下,看看大家的反馈吧^_^
本节教程需要大家熟悉 连载 2连载 3这一节的内容,并要有基本的机械臂基础知识,我这里主要是参考的这两本书——《机器人学导论(原书第4版)》《机器人学、机器视觉与控制――MATLAB算法基础》。推荐大家入手这两本书,是非常好用的工具书。
此教程是基于vrep 3.5.0版本制作的,初学可以先安装此版本进行学习,后面再使用更新的版本。(旧版下载链接:链接:https://pan.baidu.com/s/1PIl5t-Pwx2dawOIHfzDelA 提取码:qirx)

本节介绍

本节主要分为三个部分:

  1. 使用Vrep的RML库控制机械臂各个关节,实现关节空间的控制
  2. 使用Vrep自带的IK模块(逆运动学求解器)进行机械臂工作笛卡尔空间的运动控制
  3. 使用Matlab驱动机械臂各个关节,实现关节空间的控制
  4. 使用Matlab Robitic Toolbox对机械臂进行建模,建立机械臂DH矩阵,并使用工具箱的逆运动学求解工具(ikine6s、ikine)实现matlab控制机械臂
  5. 使用VrepLib,通过Simulink快速搭建vrep控制模型(推荐阅读!!!)。
    本节的知识容量比较大,但是可以归为三个部分且互相独立,大家可以根据自己的需求进行选择学习。第一部分:内容1和2是基于vrep自身的编程工具实现的;第二部分:内容2和3是基于Vrep与Matlab的接口以及Matlab Robitic Toolbox实现的;第三部分:内容4是基于我自己的写的Vrep的Simulink工具箱——VrepLib实现的,给大家介绍一下基于Simulink非常简便的Vrep控制流程的开发。
    完整的例程模型请点击购买

基础知识

对于机械臂的操作来说,大家必须具备一些基本知识,下面列出的这些内容并不是让大家立即翻书弄明白了再来看教程,而是先有一个初步概念,我会在视频讲解中介绍一下,大家看完整个教程之后再补充相关的知识就可以了。
基础知识:理解 坐标变换->正运动学、机械臂求解->逆运动学 是非常重要的。坐标变换的基础需要大家要熟知齐次变换矩阵、欧拉角、四元数,明确它们表达的含义和优缺点;机械臂描述需要大家知道DH矩阵或者其变种的计算方式;正运动学的意义和逆运动学的解析解和数值解的大概计算方式。

1.Vrep驱动PUMA560机械臂

这一部分采用Lua 与 Reflexxes Motion Library的方式,去驱动各个关节的位置进行变化,也可以采用程序直接控制关节位置,这一部分内容比较常规,大家可以浏览[连载 2]Vrep小车建模——内嵌脚本熟悉Lua的基本编程,听结合本节视频和源码实现下图的功能,详细介绍请看视频教程。

Lua脚本关节驱动示例

2.Vrep逆运动学求解工具IK驱动机械臂

上一节采用直接驱动机械臂关节,控制的是机械臂的关节空间上的变化,但是实际控制过程中,我们更关心机械臂末端的笛卡尔空间的状态,因此需要求解机械臂逆解去计算不同状态下对应的关节角度。本节视频中会详细介绍Vrep中IK的搭建方式和注意事项。本节的最终效果如下:

机械臂末端达到空间指定位置
机械臂末端形成复杂轨迹

3.Matlab驱动机械臂

这一部分采用Matlab驱动机械臂,与内容1类似,大家要熟悉[连载 3]Vrep小车建模——matlab控制的内容,掌握Matlab与Vrep通信的基本知识(为了结果更加真实,因此要开启Vrep与Matlab的同步机制)。同时在本节会介绍Matlab Robitic Toolbox的函数(jtraj)使用方法,从而用于关节空间的驱动。本节的最终效果如下

Matlab驱动机械臂

4.Matlab Robitic Toolbox控制机械臂

本节内容较多,涉及到的知识点也比较多,大家要具有耐心。首先讲一下标准DH矩阵的建立方式,这里请注意由于三维模型的差异和关节坐标系的设置导致本节给出的puma560机械臂与《机器人学、机器视觉与控制――MATLAB算法基础》书中给出的DH矩阵略有不同。(注:大家都很疑惑一个puma560机械臂的DH矩阵为什么不是唯一的,甚至不同的教科书上给出来的不一样,这是和DH矩阵本身的的特点密切相关的,对于DH矩阵大家不要生搬硬套,直接根据计算方式求一个自己可以用的就可以了。)
建立DH矩阵后,给大家介绍一下如何采用Matlab Robitic Toolbox计算运动学逆解,以及不同的求解方式的注意事项。
最后用matlab实现机械臂末端位置和姿态的跟随控制。

5 使用VrepLib,通过simulink快速搭建vrep控制模型(推荐阅读!!!)

很多同学和我反馈控制算法都是使用simulink搭建的,而vrep并没有很好的simulink接口,很难将自己的控制算法与vrep结合起来,我也是深受苦恼,因此花了很长时间开发了vrep与simulink接口库——VrepLib,VrepLib主要功能是建立simulink与vrep的连接,并利用封装好的模块搭建仿真程序,减轻工作量,加快算法验证速度。目前这个库我已经发布出来了,感兴趣的同学可以点击购买。下面展示一下如何用这个库实现内容3和内容4的功能。

只需要少数几个模块即可完成内容3的功能.png

完成内容4的程序框图

结语

本节介绍基于Vrep开发环境的机械臂三种控制方法,分别介绍了采用Lua控制、matlab控制和simulink控制,并给出详细的示例;同时也介绍了机械臂关节空间运动和笛卡尔空间运动的差别,结合Vrep自带的IK计算模块和Matlab Robitic Toolbox的工具箱函数讲述逆运动学求解、轨迹生成等。总的来说是Vrep——机械臂这一内容的引路石,机械臂控制仍然有很多内容需要大家去研究,希望本教程可以给大家一定的帮助。本节更多内容请点击视频教程、源代码,谢谢大家的支持。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容