MATLAB与VERP/Coppeliasim联合仿真:配置ZeroMQremote API

        网上查找MATALB与VREP联合仿真的配置和例程都是基于传统API的连接,传统API的连接方式,配置简单,但是此连接方式可使用的vrep中API函数的是有限的,有很多函数在MATLAb中无法调用。

        阅读VREP/Coppeliasim的API相关文档,发现可以通过ZeroMQ远程API进行与MATLAB联合仿真。ZeroMQ远程API的连接方式,配置稍微麻烦,但是运用灵活,其连接方式是在MATLAB中可以用VREP的所有的API函数。这一点是传统API无法做到的。通过网上查找相关ZeroMQ远程API信息未能找到真好的参考配置的方法,笔者也是通过VREP提供的信息,慢慢摸索,未免出现错误,欢迎大家指正错误。

版本要求

    ZeroMQ远程API有MATLAB的版本要求。版本的最低要求是MATLAB2019b,并且要绑定JeroMQ.(下面也会讲解JeroMQ的绑定)   笔者VREP/Coppliasim4.3版本和MATLAB2019b。

VREP官方给两者远程API的定义:

传统API

        传统的远程API允许从外部应用程序或远程硬件(例如真正的机器人,远程计算机等)控制模拟(或模拟器本身)。CoppeliaSim 传统远程 API 由大约一百个特定函数和一个通用函数组成,可以从 C/C++ 应用程序、Python 脚本、Java 应用程序或 Matlab/Octave 程序调用。
    

ZeroMQ远程API

    ZeroMQ远程API允许从外部应用程序或远程硬件(例如真正的机器人,远程计算机等)控制模拟(或模拟器本身)。它提供了所有API函数,也可以通过CoppeliaSim脚本获得:这包括所有常规API函数(即sim.*类型的函数),但也包括插件提供的所有API函数(例如simOMPL.*,simUI.*,simIK.*等)

ZeroMQ远程API连接配置方法:(MATLAB与VREP/Coppliasim)

1、打开VREP/Coppliasim,Help/User manula。官方手册找到Functionality–>Messaging/interfaces/connectivity–>Renote API –>ZeroMQ remote API。

2、在此页面找到Matlab客户端,得知Matlab客户端需要绑定的JeroMQ,如果还不存在,它会自动安装。(就是Mtlab要配置Zero MQ的话,前提是一点更要绑定JeroMQ)
     点开自带的JeroMQ的下载链接}(GitHub需),进行下载。

3、其中提示我们查看vrep路径中的相关文件-CoppeliaSimEdu/programming/zmqRemoteApi 打开zmqRemoteApi的README文件。其中有下载ZeroMQ插件的下载链接进行下载。
    
4、此阅读文档中还有API库的插件\href下载链接和新版本的zmqRemoteApi的文档(此文档就是CoppeliaSim中自带的zmqRemoteApi文档,我在此是下载的新的,下载链接。
    
5、至此已经有四个大文件已经安装好了,包括 :
    
    (1)vrep自带的zmqRemoteApi文件,将中的CoppeliaSimEdu/programming/zmqRemoteApi/clients的Matlab文件复制到上一级zmqRemoteApi文件中,然后将clients文件删除。(可以下载新的,上面有链接)(文件名zmqRemoteApi-master)
    
    (2)matlab需绑定的JeroMQ文件。(文件名:jeromq-master)
    
    (3)ZeroMQ插件的文件(文件名:simExtZMQ-master)
    
    (4)ZeroMQ—API的库的插件文件(文件名:libPlugin-master)
如图:    MATLAB与VERP/Coppeliasim联合仿真:配置ZeroMQremote API_第1张图片

 


    将这四个文件的路径添加到MATLAB软件中。 至此配置MATLAB与VREP的ZeroMQ配置完成!

运行一个简单的例程

        配置完成后,运行一个简单的代码。

        在vrep自带的zmqRemoteApi/matlab文件中有一个自带的例程。在MAtlab中打开zmqRemoteApi/matlab文件中的simpleTest点M文件。 打开CoppeliaSimEdu/vrep,然后在MATLAB中运行代码,只在MATLAB中电机运行。
        
        运行结果是,CoppeliaSimEdu软件开始仿真,出现多个dummy点,然后dummy点随之消失。 
        
        代码运行成功,即证明ZeroMQ配置成功。MAtlab就可以运用VREP中所有的的API函数了!

你可能感兴趣的:(matlab,开发语言,lua,github)