simulink-CoppeliaSim联合仿真

simulink-CoppeliaSim联合仿真
最新回答
遗心遗梦遗幸福

2023-08-17 13:44:04

simulink-CoppeliaSim联合仿真指南

为了成功实现Simulink与CoppeliaSim(原VREP)的联合仿真,需要按照以下步骤进行安装和配置。本指南将详细介绍CoppeliaSim的安装、QT与VS2019的安装、simExtSimulink的编译以及测试过程,并解答可能遇到的问题。

一、CoppeliaSim安装

  1. 下载与版本选择

    访问CoppeliaSim的官方网站下载页面,选择合适的版本。本指南以edu版本为例,选择了4_2_0版本。

    下载链接中的图片展示了不同版本的下载选项,确保选择正确的版本进行下载。

  2. 解决闪退问题

    CoppeliaSim 4_2_0和4_1_0版本可能存在闪退问题。解决方法是在CoppeliaSim的安装目录下的system文件夹下找到usrset.txt文件,在文件末尾加入"allowOldEduRelease = 7775"(不需要加引号,4_1_0版本后续数字为7501)。

  3. 显示旧风格界面

    若希望使用CoppeliaSim的旧风格界面,同样在usrset.txt文件中,将"showOldDlgs"的数值改为true。

二、QT安装

  1. 下载与安装

    从镜像网站或官网下载QT的在线安装器,安装QT 5.15.2版本(或兼容的5.15版本)。

    安装过程中,选择MSVC2019-64/MSVC2019-32作为编译器,以便后续编译准备。

三、VS2019安装

  1. 下载与安装

    由于QT编译需要MSVC编译器,若电脑未安装VS2019,需从历史版本软件中下载并安装VS2019的Build Tools。

    安装时,选择“使用C++的桌面开发”选项,以确保MSVC工具的正确安装。

四、simExtSimulink编译

  1. 下载与解压

    从simExtSimulink的git库下载代码,并将其解压至CoppeliaSim的安装目录下的programming文件夹中。

  2. QT编译

    使用QT打开解压后的“simExtSimulink.pro”工程。

    选择与CoppeliaSim版本相匹配的MSVC编译器(MSVC2019-64/MSVC2019-32)进行release编译。

    编译成功后,将生成的“simExtSimulink.dll”文件拷贝到CoppeliaSim的安装目录下。

  3. MATLAB编译

    将MATLAB的运行目录改到simExtSimulink下。

    在MATLAB中运行“mex gettable.cpp”和“mex settable.cpp”进行编译。

五、测试

  1. 打开场景

    在CoppeliaSim中打开example1.ttt场景并运行。

  2. 运行Simulink程序

    在MATLAB中打开Simulink程序“example1.slx”并运行。

    通过Simulink中的滑块控制CoppeliaSim中的小车运动,并在Simulink中显示小车信息。

六、常见问题解答

  1. CoppeliaSim中运行example1.ttt报错

    若出现“attempt to index a nil value (global 'simulinkTable')”错误,通常是由于simExtSimulink未正确放置到根目录、QT的kit未选择正确的MSVC编译器或QT版本与CoppeliaSim要求不匹配引起的。

    检查并确认simExtSimulink.dll文件已正确放置在CoppeliaSim的安装目录下。

    确认QT的kit选择了正确的MSVC编译器。

    确认QT版本与CoppeliaSim要求相匹配。

  2. MATLAB运行“mex gettable.cpp”不成功

    若MATLAB无法找到编译器,需要安装MinGW64 Compiler编译器。

    按照相关教程安装MinGW64 Compiler后,重新运行“mex gettable.cpp”和“mex settable.cpp”。

通过以上步骤,您应该能够成功实现Simulink与CoppeliaSim的联合仿真。若遇到其他问题,可参考CoppeliaSim和simExtSimulink的官方文档或社区论坛寻求帮助。