赞
踩
这篇文章距离上一篇文章时隔太久了,一方面是最近几个月事情太多,没有抽出太多时间;另一方面是准备一篇手把手的文字教程实在是很耗时间。所以这次我想稍微改变一下,文档的内容我只列出提纲和大概的内容,完成的过程和讲解通过录制视频来完成,这样更加生动一些,这次先尝试一下,看看大家的反馈吧^_^
本节教程需要大家熟悉 连载 2、连载 3这一节的内容,并要有基本的机械臂基础知识,我这里主要是参考的这两本书——《机器人学导论(原书第4版)》和《机器人学、机器视觉与控制――MATLAB算法基础》。推荐大家入手这两本书,是非常好用的工具书。
此教程是基于vrep 3.5.0版本制作的,初学可以先安装此版本进行学习,后面再使用更新的版本。(旧版下载链接:链接:https://pan.baidu.com/s/1PIl5t-Pwx2dawOIHfzDelA提取码:qirx)
本节主要分为三个部分:
对于机械臂的操作来说,大家必须具备一些基本知识,下面列出的这些内容并不是让大家立即翻书弄明白了再来看教程,而是先有一个初步概念,我会在视频讲解中介绍一下,大家看完整个教程之后再补充相关的知识就可以了。
基础知识:理解 坐标变换->正运动学、机械臂求解->逆运动学 是非常重要的。坐标变换的基础需要大家要熟知齐次变换矩阵、欧拉角、四元数,明确它们表达的含义和优缺点;机械臂描述需要大家知道DH矩阵或者其变种的计算方式;正运动学的意义和逆运动学的解析解和数值解的大概计算方式。
这一部分采用Lua 与 Reflexxes Motion Library的方式,去驱动各个关节的位置进行变化,也可以采用程序直接控制关节位置,这一部分内容比较常规,大家可以浏览[连载 2]Vrep小车建模——内嵌脚本熟悉Lua的基本编程,听结合本节视频和源码实现下图的功能,详细介绍请看视频教程。
知乎上所有的动图全部挂掉了!!!!大家请去简书上看更方便
Lua脚本关节驱动示例
上一节采用直接驱动机械臂关节,控制的是机械臂的关节空间上的变化,但是实际控制过程中,我们更关心机械臂末端的笛卡尔空间的状态,因此需要求解机械臂逆解去计算不同状态下对应的关节角度。本节视频中会详细介绍Vrep中IK的搭建方式和注意事项。本节的最终效果如下:
机械臂末端达到空间指定位置
机械臂末端形成复杂轨迹
这一部分采用Matlab驱动机械臂,与内容1类似,大家要熟悉[连载 3]Vrep小车建模——matlab控制的内容,掌握Matlab与Vrep通信的基本知识(为了结果更加真实,因此要开启Vrep与Matlab的同步机制)。同时在本节会介绍Matlab Robitic Toolbox的函数(jtraj)使用方法,从而用于关节空间的驱动。本节的最终效果如下
Matlab驱动机械臂
本节内容较多,涉及到的知识点也比较多,大家要具有耐心。首先讲一下标准DH矩阵的建立方式,这里请注意由于三维模型的差异和关节坐标系的设置导致本节给出的puma560机械臂与《机器人学、机器视觉与控制――MATLAB算法基础》书中给出的DH矩阵略有不同。(注:大家都很疑惑一个puma560机械臂的DH矩阵为什么不是唯一的,甚至不同的教科书上给出来的不一样,这是和DH矩阵本身的的特点密切相关的,对于DH矩阵大家不要生搬硬套,直接根据计算方式求一个自己可以用的就可以了。)
建立DH矩阵后,给大家介绍一下如何采用Matlab Robitic Toolbox计算运动学逆解,以及不同的求解方式的注意事项。
最后用matlab实现机械臂末端位置和姿态的跟随控制。
很多同学和我反馈控制算法都是使用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——机械臂这一内容的引路石,机械臂控制仍然有很多内容需要大家去研究,希望本教程可以给大家一定的帮助。本节更多内容请点击视频教程、源代码,谢谢大家的支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。