MATALB与VREP联合仿真--UR5机械臂动力学仿真

VREP是一款很不错的机器人仿真软件,可以和多个跨平台通信,于是准备用来和MATLAB进行联合仿真。但是查了很多资料并未找到使用MTALAB/Simulink模块进行联合仿真的,进过一番折腾终于实现基本的联合仿真,记录于此以备后续学习。

话不多说,进入正题:

一、软件环境配置

1、软件版本

VREP: V-REP PRO EDU Version 3.3.2(备注:测试过3.4版本似乎有些问题)
MATLAB:Matlab2016b

(1)打开VREP的安装路径中的shareMemoryCommunicationPlugin文件夹,如下:
C:\ProgramFiles(x86)\V-REP3\V-REP_PRO_EDU\programming\sharedMemoryCommunicationPlugin

(2)拷贝其中的v_repExtShareMemory.dll文件到VREP的主文件夹下
(备注:C:\ProgramFiles(x86)\V-REP3\V-REP_PRO_EDU)

 

(3)回到shareMemoryCommunicationPlugin文件夹拷贝其中的example Simulink压缩包
和BloqueMemoriaCompartida.slx到MATLAB的工作路径下。
2、仿真平台通信测试
解压exampleSimulink压缩包,在MATLAB中打开CameraExample.slx文件,在VREP中打开camara仿真环境。先运行MATLAB,再运行VREP。
如图所示:
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第1张图片
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第2张图片
VREP中的视频信息传到MATLAB中,又通过MATLAB传回来到VREP中。这样VREP和MATLAB的通信就测试成功了。
如果一切顺利,你会看到VREP中两个悬浮窗口都有图像信息。

你以为这就完呢,还没,这只是基本通信测试,接下来需要完成具体的UR5机械臂动力学仿真模块的搭建。

 

二、VREP中UR5机械臂配置
1、配置UR5机械臂通信控制参数。
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第3张图片
点击上图脚本图标(红色箭头指向处)把里面的代码全部删除(不用担心,你只要重新调出一个机械臂模型,代码依然存在)。并粘贴以下代码(点击打开链接)
2、配置UR5机械臂关节参数
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第4张图片
把每个关节的postion is cyclic勾选上表示关节可以360度旋转,把关节动态属性中的control loop enabled取消勾选,表示控制器可以外部接口给出。
至此VREP中的UR5机械臂的配置基本完成了。

三、MATLAB中的仿真环境配置
在MATLAB工作路径下新建一个文件夹ur5_test把刚才建立的UR5仿真场景文件放在里面,再把examp Similink这个文件中
的matlabGenericSHM.mexw32和matlabGenericSHM.mexw64以及BloqueMemoriaCompartida.slx拷贝到ur5_test文件夹下,在matlab中打开这个slx文件,并新建一个simulink模块UR5_control.slx文件,将刚才打开的文件里的模块拷贝至UR5_control.slx里面,打开后配置如下:
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第5张图片
至此,配置文件就结束了,接下来就是搭建UR5机械臂的外围模块了。

 

四、MATLAB与VREP联合仿真-控制器以及外围模块搭建
如下图所示,
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第6张图片


这里采用简单的重力补偿+PD控制实现UR5机械臂的关节控制
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第7张图片



具体的算法原理这里就不多讲了,实验仿真的效果是通过力矩控制的方式,控制机械臂到达目标关节角度。控制精度和重力模型以及控制器相关,这里用了简单的PD控制的精度效果还不错。


完整的仿真示例代码(备注:第二步中的第1步骤不需要执行,这个代码里已经配置好了):点击打开链接

更正:我重新运行了一遍程序,抱歉! 更正代码中的一个问题,就可以解决UR5脚本报错,不运行的问题。把UR5模型列表UR5_connection的名字修改为 UR5_force_sensor,即可正常运行。先运行matlab,后运行vrep。

MATALB与VREP联合仿真--UR5机械臂动力学仿真_第8张图片

修改成如下:
MATALB与VREP联合仿真--UR5机械臂动力学仿真_第9张图片

 

 

 

 

 





你可能感兴趣的:(VREP,MATLAB,UR5机械臂)