目前来说,V-REP是一个比较小众的仿真工具,尽管它功能非常强大。目前唯一的技术支持就是V-REP官方论坛。V-REP提供的技术手册可以解决大部分问题,功能细节介绍也非常详细。
Matlab环境准备
Step1:在matlab工作目录新建matlab项目文件夹VrepApi
Step 2:对应于Windows系统,你只需要准备三个文件。使用python、c++的配置大同小异,可参考官方文档。
- remoteApiProto.m
- remApi.m
- remoteApi.dll
在V-REP安装文件夹下找到C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\matlab\matlab文件夹,将该文件夹下remApi.m 和 rempteApiProto.m 拷贝到VreApi文件夹;
在V-REP安装文件夹下找到C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\lib\lib\Windows 文件夹,将该文件夹下的remoteApi.dll拷贝到项目文件夹 VreApi下。
至此Matlab环境准备完成,很简单对吧?
Vrep创建测试项目
Step 1:打开V-REP,将UR5拖拽到工作空间。
Step 2:打开Matlab,在VrepApi文件中创建matlab端的测试文件(实践项目把simple.m换成项目文件),这里直接用C:\Program Files\CoppeliaRobotics\CoppeliaSimEdu\programming\remoteApiBindings\matlab\matlab\simpleTest.m进行测试。关键插入三行代码
sim=remApi('remoteApi');
sim.simxFinish(-1);
clientID=sim.simxStart('127.0.0.1',19999,true,true,5000,5);
Step 3:打开V-REP中UR5的脚本文件,在最顶端插入
simRemoteApi.start(19999)
UR5的脚本文件中已经自带了一个例子,可以删了,或者留着也行。
Step4:运行V-REP仿真,再运行Matlab仿真,观测Matlab如下输出结果,说明通信连接成功。
V-REP 与 Matlab 通信的关键脚本代码如下:
Vrep端:simRemoteApi.start(19999)
Matlab端: sim=remApi('remoteApi');
sim.simxFinish(-1);
clientID=sim.simxStart('127.0.0.1',19999,true,true,5000,5);
官方手册列出了所有支持的Matlab远程API。