MATLAB+Unreal Engine自动驾驶联合仿真
这里假设已经安装好了Unreal Engine(版本4.25)MATLAB2021b 以及Visual Studio® 2017or higher 。MATLAB官方文档给的匹配的UE4版本号是4.23,但是似乎有些插件不支持4.23的版本。
主要步骤简单来说就是 matlab自己做了一个ue4插件 ,你要把插件拷到ue4插件文件夹里 然后通过matlab的simulink打开ue4程序 ,步骤是很简单 但是matlab做的太绕了 坑坑洼洼还真不少。
下面直接开始做了
可以参考官方文档
https://www.mathworks.com/help/releases/R2020a/driving/ug/install-and-configure-support-package-for-customizing-scenes.htmlhttps://www.mathworks.com/help/releases/R2020a/driving/ug/install-and-configure-support-package-for-customizing-scenes.htmlhttps://www.mathworks.com/help/releases/R2020a/driving/ug/install-and-configure-support-package-for-customizing-scenes.html
亦可对照
手把手超详细介绍MATLAB+RoadRunner+Unreal Engine自动驾驶联合仿真 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/335521741我按照这两篇文章做的时候碰到的问题以及解决方法也会在这里写出来
第一步 安装用于自定义场景的支持包
1,先下载matlab里面的支持包
打开MATLAB的Add On/附加功能--->获取附加功能。
搜索 Automated Driving ToolboxInterface for Unreal Engine 4 Projects 并安装
此插件的功能我就不做过多介绍了,可以看官方文档 这一步基本都没问题。
第二步 将matlab自带的ue4 文件和ue4插件包拷贝出来
1,指定包含项目的支持包文件夹的路径。如果以前下载了支持包,请仅指定最新的下载路径,如此处所示。还要指定要在其中复制项目的本地文件夹目标。此代码指定的本地文件夹为 :C:\Loca
supportPackageFolder = fullfile( ...matlabshared.supportpkg.getSupportPackageRoot, ..."toolbox","shared","sim3dprojects","driving"); localFolder = "C:\Local";
看代码和官方注释 这段代码作用是要就创建两个变量 一个变量是ue4插件包的路径 一个是ue4项目的路径
2,将项目从支持包文件夹复制到本地目标文件夹,项目名为 AutoVrtlEnv1
projectFolderName = "AutoVrtlEnv"; projectSupportPackageFolder = fullfile(supportPackageFolder,projectFolderName); projectLocalFolder = fullfile(localFolder,projectFolderName); if ~exist(projectLocalFolder,"dir")copyfile(projectSupportPackageFolder,projectLocalFolder); end
运行完这段代码我们可以看到又多了几路径的变量
并且会提示 找不到 "C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\driving\AutoVrtlEnv" 这个路径
我顺着路径找 在driving 这个目录下 的确没有 AutoVrtlEnv
再分析下这段代码 就是很简单的要将 AutoVrtlEnv这个matlab自带的UE4项目文件夹拷贝到C:\Loca
R2021b下暴力查找
最后在C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\project
下找的了
我们就可以把第二段代码改为:
projectFolderName = "AutoVrtlEnv";
projectSupportPackageFolder ="C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\project";
projectLocalFolder = fullfile(localFolder,projectFolderName);
if ~exist(projectLocalFolder,"dir")
copyfile(projectSupportPackageFolder,projectLocalFolder);
end
(或者直接拷贝过去。。。。。)
3,将UE4插件复制到虚幻编辑器的安装路径里
指定包含虚幻引擎安装的本地文件夹。此代码显示编辑器在 Windows 计算机上的默认安装位置。
ueInstallFolder = "C:\Program Files\Epic Games\UE_4.23";
将插件从支持包复制到Plugins
文件夹中
supportPackageFolder = fullfile( ...matlabshared.supportpkg.getSupportPackageRoot, ..."toolbox","shared","sim3dprojects","driving");mwPluginName = "MathWorksSimulation.uplugin"; mwPluginFolder = fullfile(supportPackageFolder,"PluginResources","UE423"); uePluginFolder = fullfile(ueInstallFolder,"Engine","Plugins"); uePluginDestination = fullfile(uePluginFolder,"Marketplace","MathWorks");cd(uePluginFolder) foundPlugins = dir("**/" + mwPluginName);if ~isempty(foundPlugins)numPlugins = size(foundPlugins,1);msg2 = cell(1,numPlugins);pluginCell = struct2cell(foundPlugins);msg1 = "Plugin(s) already exist here:" + newline + newline;for n = 1:numPluginsmsg2{n} = " " + pluginCell{2,n} + newline;endmsg3 = newline + "Please remove plugin folder(s) and try again.";msg = msg1 + msg2 + msg3;warning(msg); elsecopyfile(mwPluginFolder, uePluginDestination);disp("Successfully copied MathWorksSimulation plugin to UE4 engine plugins!") end
这段代码意思就是我前文提到的 :将matlab写的一个插件拷到UE4编辑器的插件文件夹下
但是还是老问题 文件夹根本找不到
看看代码
第一段
ueInstallFolder = "C:\Program Files\Epic Games\UE_4.23";
创建一个变量 路径是UE4.23 编辑器的路径(我之前是UE4.23但是运行的时候提示插件版本号不匹配就安装了4.25)
那就改成
ueInstallFolder = "C:\Program Files\Epic Games\UE_4.25";
第二段
supportPackageFolder = fullfile( ... matlabshared.supportpkg.getSupportPackageRoot, ... "toolbox","shared","sim3dprojects","driving");
mwPluginName = "MathWorksSimulation.uplugin";
mwPluginFolder = fullfile(supportPackageFolder,"PluginResources","UE423");
uePluginFolder = fullfile(ueInstallFolder,"Engine","Plugins");
uePluginDestination = fullfile(uePluginFolder,"Marketplace","MathWorks");
cd(uePluginFolder) foundPlugins = dir("**/" + mwPluginName);
意思是将 MathWorksSimulation.uplugin这个插件拷贝到 UE4编辑器的Plugins 文件夹下 (用了一大堆字符串拼接)
MathWorksSimulation.uplugin 在C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\plugins\mw_simulation
所以此段代码改为
supportPackageFolder = "C:\ProgramData\MATLAB\SupportPackages\R2021b\toolbox\shared\sim3dprojects\spkg\plugins\mw_simulation";
mwPluginName = "MathWorksSimulation.uplugin";
uePluginFolder = fullfile(ueInstallFolder,"Engine","Plugins");
uePluginDestination = fullfile(uePluginFolder,"Marketplace","MathWorks");
cd(uePluginFolder) foundPlugins = dir("**/" + mwPluginName);
后面代码就是报错提醒和文件拷贝 就不做解释了
运行完后会在
C:\Program Files\Epic Games\UE_4.25\Engine\Plugins\Marketplace\MathWorks
看到这个MathWorksSimulation插件文件夹
在C:\Local
看到Matlab自带的UE4工程 AutoVrtlEnv
到这一步基本就是大功告成了
接下来只要用Simulink打开ue4项目就行
参考文档
使用 Simulink 和 Unreal Editor 自定义场景 - MATLAB & Simulink (mathworks.com)https://www.mathworks.com/help/releases/R2020a/driving/ug/customize-scenes-using-simulink-and-unreal-editor.html
最后效果
MATLAB+Unreal Engine自动驾驶联合仿真相关推荐
- matlab您的安装可能需要执行其他配置步骤_手把手超详细介绍MATLAB+RoadRunner+Unreal Engine自动驾驶联合仿真...
RoadRuner是MathWorks新收购的自动驾驶场景构建工具,Unreal Engine是商业游戏引擎.RoadRunner创建驾驶场景,导入到Unreal Engine,与Simulink联合 ...
- 基于PreSCAN Matlab/Simulink的智能驾驶联合仿真【详细图文】
在自动驾驶竞争日益激烈的趋势下,自动驾驶功能不断更新迭代,但任何功能的商业化推出之前,测试是必然的前提,如软件测试.仿真测试.道路测试,尽管在我国政策的支持情况下(如颁发道路测试牌照),自动驾驶道路测 ...
- matlab、carsim、prescan联合仿真从零开始详细步骤
matlab.carsim.prescan联合仿真详细步骤 在matlab.carsim.prescan联合仿真中,prescan提供测试场景和传感器模型,但prescan也提供车辆动力学2D和3D模 ...
- 设立『自动驾驶虚拟仿真赛道』
§01 虚拟仿真 卓老师您好: 我是全国大学生智能汽车竞赛8-9届参赛学生苏鹏飞,在校期间非常幸运的参加了智能车大赛,学到了太多太多的知识,这也是我毕业面试北汽汽车研究院的核心竞争力. 目前我 ...
- 福特牵手百度启动L4级自动驾驶联合测试,年底“上路”
独打天下的时代已过,跨行业合作成为车企避免淘汰的出路.福特也不例外,与百度的合作尽显其进军中国的"野心". 为加速双方在中国对自动驾驶技术的测试和开发,10月31日,福特汽车与百度 ...
- 基于Matlab/simulink的自动驾驶车道保持adas辅助模型
基于Matlab/simulink的自动驾驶车道保持adas辅助模型 需要版本Matlab2021a ID:6949665214165236乔治在柬埔寨debug
- 自动驾驶虚拟仿真测试介绍(1):是什么
自动驾驶虚拟仿真测试介绍(1):是什么 一.引子 二.自动驾驶汽车的仿真测试的不同手段 三.不同仿真测试手段的选择 " 本系列尝试从是什么.为什么.用什么测.怎么测和谁来测等方面来介绍什么是 ...
- 自动驾驶虚拟仿真测试介绍(7):MIL、SIL、PIL和HIL是个啥
|作者版权所有,未经许可谢绝转载,转载请联系adsimtest@163.com. "本篇介绍下什么是MIL.SIL.PIL和HIL." 一.基于模型的设计 基于模型的设计方法(MB ...
- 自动驾驶虚拟仿真技术
1.自动驾驶仿真技术基本概念: 1) 自动驾驶仿真技术是计算机仿真技术在汽车领域的应用,它比传统ADAS仿真系统研发更为复杂,对系统在解耦和架构上的要求非常高: 2)类似其他通用仿真平台,它必须尽可能 ...
最新文章
- Bhaskar Chowdhury: Kernel build failed ...SPHINX extension error
- 杰夫 · 贝佐斯:事情瞬息万变,需要马上行动
- OA的核心模块在那里?
- Java创建多线程的8种代码方式
- Linux常用指令收集
- android 获取手机SD卡和手机的内部存储
- 玩了十年的射击游戏都是有情怀的,大家都是热爱CFHD的一代
- ASP.NET Core 2.1 : 十一. 如何在后台运行一个任务
- countdownlatch的使用详解(好懂!!)
- linux压缩内核镜像,zImage内核镜像解压过程详解
- 鼠标光标一直在闪烁_硬核鼠标科普,选出适合你的鼠标
- 《计算智能导论》下载
- Linux武侠文字游戏,怀旧的文字游戏,文字武侠手游哪个好玩?
- 工欲擅其事必先利器,磨刀不误砍柴工
- cpu排行计算机专业,cpu性能天梯图,详细教您电脑cpu排行榜
- C++复习炒剩饭(1)心一意
- Android项目中接入网易云信聊天
- VC控件——CTreeCtrl中HitTest的用法
- 音频设备(1)——Android音频设备
- 流式布局java_Java_流式布局、边框布局以及网格布局