[CARLA系列--01]CARLA 0.9.15 在Windows下的安装教程(一)

Carla是一款开源的自动驾驶仿真器,它基本可以用来帮助训练自动驾驶的所有模块,包括感知系统,Localization, 规划系统等等.Carla这个产品目前已经更新到了最新的0.9.15版本,目前遇到好多人在windows系统上如何安装可编辑版的Carla遇到了好多问题,所以针对在windows上的安装,推出此列教程.

目录

1. 安装包准备:

1.1 操作系统的需求:

1.2 相关软件的需求:

1.3 Visual Studio 2019:

2. Unreal Engine4的安装:

2.1 关联Github账户和UE账号:

2.2 下载UE4的源码:

2.3 编译UE4:


1. 安装包准备:

1.1 操作系统的需求:

  • x64系统:模拟器应在任何64位Windows系统中运行。
  • 165 GB的磁盘空间:CARLA本身将占用约32 GB的空间,相关的主要软件安装(包括虚幻引擎)将占用约133 GB。
  • 适当的GPU:CARLA旨在进行逼真的模拟,因此服务器至少需要6 GB的GPU,但推荐使用8 GB。强烈建议使用专用GPU进行机器学习。
  • 两个TCP端口和良好的互联网连接:默认情况下为2000和2001。确保这些端口没有被防火墙或其他应用程序阻塞。

1.2 相关软件的需求:

CMake从简单的配置文件生成标准的构建文件。建议使用3.15+版本的CMake。

Git是一个版本控制系统,用于管理CARLA存储库。

Make生成可执行文件。必须使用Make 3.81版本,否则构建可能会失败。如果您安装了多个版本的Make,请在构建CARLA时检查您的PATH中是否使用了3.81版本。您可以通过运行make --version来检查您的默认Make版本。

7Zip是一个文件压缩软件。这是为了自动解压缩资产文件,并防止由于大文件被错误或部分地提取而在构建过程中出现错误。

Python3 x64是CARLA中的主要脚本语言。安装x32版本可能会导致冲突,因此强烈建议卸载它。

请确保将上述程序添加到环境变量的路径中。请记住,添加的路径应该对应于程序的bin目录。

1.3 Visual Studio 2019:

从这里获取Visual Studio 2019版本。选择Community以获取免费版本。使用Visual Studio Installer安装三个额外的元素:

Windows 8.1 SDK:在右侧的安装详细信息部分选择它,或者转到个别组件选项卡,在SDK、库和框架标题下查找。

x64 Visual C工具集:在工作负载部分,选择使用C进行桌面开发。这将启用一个用于构建的x64命令提示符。通过按下Windows按钮并搜索x64来检查是否已正确安装。请注意不要打开x86_x64提示符。

.NET Framework 4.6.2:在工作负载部分,选择.NET桌面开发,然后在右侧的安装详细信息面板中选择.NET Framework 4.6.2开发工具。这是构建UE所需的。

2. Unreal Engine4的安装:

从版本0.9.12开始,CARLA使用了修改过的Unreal Engine 4.26分支。这个分支包含了针对CARLA的特定补丁。 请注意,要下载这个Unreal Engine分支,您需要将GitHub账户与Unreal Engine账户关联起来。

2.1 关联Github账户和UE账号:

  1. 注册GitHub账号:导航到GitHub并注册一个帐户。
  2. 打开虚幻引擎帐户控制面板:使用您经过验证的Epic Games帐户登录UnrealEngine.com。要打开您的帐户仪表板,请单击您的用户名,然后从下拉菜单中选择帐户。
  3. 连接GitHub:打开您的帐户仪表板,从侧栏中选择APPS&ACCOUNTS选项卡。选择“帐户”选项卡,然后选择GitHub图标下方的“连接”按钮。
  4. 链接账户:如果您尚未签署虚幻引擎最终用户许可协议,则需要通读其条款并选中复选框,然后选择链接帐户。如果您已退出GitHub帐户,则在单击“链接帐户”按钮后,您将被定向到GitHub进行登录。
  5. 授权:要完成OAuth应用程序授权过程,请单击授权EpicGames按钮。您可以在GitHub关于授权OAuth应用程序的概述中了解有关此过程的更多信息。
  6. 接受电子邮件邀请:GitHub将发送一封电子邮件,邀请您加入GitHub上的@EpicGames组织。您必须在七天内选择此电子邮件中的加入@EpicGames按钮,以完成GitHub和Epic Games帐户链接过程。

在完成上述操作后,你的Github账号的Databoard的左下侧会出现EpicGames/developers的关联Teams。这就表明GIthub账号和UE的账号关联成功:

2.2 下载UE4的源码:

在C盘的根目录下面创建一个名为“Unreal Engine”的文件,然后在使用如下指令去下载UE4的源码:

git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git

下载完成后,文件目录如下图所示,然后依次运行以下指令“Setup.bat”,“GenerateProjectFiles.bat”:

会自动生成UE4.sln这个文件

2.3 编译UE4:

用Visual Studio 2019打开UE4.sln这个文件,然后再依次配置“Solution Configurations”,选择“Development Editor”,配置“Solution Platform”,选择“Win64”:

配置“Startup Projects”,选择“UnrealBuildTool”:

然后在右侧的“Solution Exploer”中的UE4处右击,选择“Build”,大概经过1个小时的时间可以看到Build succeeded:

至此,UE4的可编辑版就正式安装完成!我们可以在“C:\UnrealEngine\Engine\Binaries\Win64”文件夹中找到UE4Editor.exe,双击打开就可以开始UE4之旅了:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/884508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

禾川HCQ1控制器程序编译报错如何解决

1、第一次打开用户程序 2、提示库未安装 3、安装库文件 4、脉冲轴库未安装 5、没有错误 去禾川自动化官网,把可以安装的包和库都安装下,程序编译就没有错误了。 6、下载相关包文件

Go语言sync.WaitGroup与errgroup.Group用法详解

errgroup.Group 和 sync.WaitGroup 的主要区别在于它们的错误处理和协程管理方式。 errgroup.Group 专为并发操作中的错误捕获设计,任意goroutine返回错误时,会立即终止其他goroutine的执行。 而 sync.WaitGroup 主要用于等待多个 goroutine 完成&…

ubuntu20安装opencv3.2记录

系统环境 ubuntu20安装了ros-noetic,所以系统默认装了opencv4.2.0,但是跑fastlivo推荐的是opencv3.2.0,而且海康相机别人写的ros驱动(海康相机ros驱动)也是需要opencv3.2.0,最终还是选择安装多版本的openc…

基于NVIDIA NIM平台实现盲人过马路的demo(一)

前言:利用NVIDIA NIM平台提供的大模型进行编辑,通过llama-3.2-90b-vision-instruct模型进行初步的图片检测 step1: 部署大模型到本地,引用所需要的库 import os import requests import base64 import cv2 import time from datetime import datetimestep2: 观看官方使用文…

MATLAB下的四个模型的IMM例程(CV、CT左转、CT右转、CA四个模型),附源代码可复制

文章目录 基于IMM算法的目标跟踪概述源代码运行结果代码结构与功能1. 初始化2. 仿真参数设置3. 模型参数设置4. 生成量测数据5. IMM算法初始化6. IMM迭代7. 绘图8. 辅助函数总结基于IMM算法的目标跟踪 概述 该MATLAB代码实现了基于交互式多模型(IMM)算法的目标跟踪,旨在估…

Redis-README官方入门文档

文章目录 Redis是什么?什么是Redis社区版?构建Redis修复依赖项或缓存构建选项的构建问题修复构建32位二进制文件的问题分配器单调时钟详细构建运行Redis运行支持TLS的Redis玩转Redis安装Redis代码贡献Redis商标Redis内部结构源代码布局server.hserver.cc…

Netty 组件介绍 - Future Promise

在异步处理时,经常用到这两个接口 netty 中的 Future 继承 jdk 中的 FutuFuture,而Promise 又对 netty Future 进行了扩展。 idk Future 只能同步等待任务结束(或成功或失败)才能得到结果netty Future 可以同步等待任务结束得到结也可以异…

cordova android 内嵌vue页面 启动页之后白屏问题处理

困扰很久的问题 一直都用splash 做延迟加载 但在 一些android机器上还是会有 这短暂的白屏其实就是vue页面尚未完全渲染的间隙 处理方案 在html中添加 <body><div id"splash-screen" style"position: fixed; top: 0; left: 0; width: 100%; height: 1…

ai数字人分身123口播克隆数字人小程序源码_博纳软云

功能配置 一、用户 用户管理小黑屋用户反馈登录设置短信参数 二、作品 视频作品背景音乐库背景音乐分类 三、形象分身 上传记录视频要求参数配置 四、声音克隆 克隆记录参数配置声音要求文案示例 五、AI文案 生成记录创作模型模型分类Al配置 六、充值 充值订单积分套…

Elasticsearch Interval 查询:为什么它们是真正的位置查询,以及如何从 Span 转换

作者&#xff1a;来自 Elastic Mayya Sharipova 解释 span 查询如何成为真正的位置查询以及如何从 span 查询过渡到它们。 长期以来&#xff0c;Span 查询一直是有序和邻近搜索的工具。这些查询对于特定领域&#xff08;例如法律或专利搜索&#xff09;尤其有用。但相对较新的 …

软件测试模型

软件测试模型是在软件开发过程中&#xff0c;用于指导软件测试活动的一系列方法和框架。这些模型帮助测试团队确定何时进行测试、测试什么以及如何测试&#xff0c;从而确保软件的质量和稳定性。 一 V模型 V模型是一种经典的软件测试模型,它由瀑布研发模型演变而来的测试模型…

Tiling与流水线技术小结

文章目录 Tiling技术Loop TilingAI推理中的Tiling 参考 流水线技术指令周期 参考 Tiling技术 Tiling&#xff08;平铺&#xff09;是一种将大的问题或数据集分解为较小的子问题或子数据集的技术&#xff0c;目的是提高数据局部性和缓存利用率&#xff0c;从而提升程序性能。 在…

力扣题目解析--罗马数字转整型

题目 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如&…

Pinia-状态管理

Pinia-状态管理 特点&#xff1a; 1. 轻量和模块化 Pinia 是一个轻量级的状态管理库&#xff0c;支持模块化管理&#xff0c;即可以将应用的状态分成多个 store 以实现更好的组织。使用 Pinia&#xff0c;可以定义多个 store&#xff0c;每个 store 都是一个独立的模块&#x…

openpnp - 在openpnp中单独测试相机

文章目录 openpnp - 在openpnp中单独测试相机概述笔记测试工装相机镜头顶部盖子到目标的距离END openpnp - 在openpnp中单独测试相机 概述 底部相机的位置不合适, 重新做了零件&#xff0c;准备先确定一下相机和吸嘴的距离是多少才合适。 如果在设备上直接实验&#xff0c;那…

网络模型——二层转发原理

网课地址&#xff1a;网络模型_二层转发原理&#xff08;三&#xff09;_哔哩哔哩_bilibili 一、路由交换 网络&#xff1a;用来信息通信&#xff0c;信息共享的平台。 网络节点&#xff08;交换机&#xff0c;路由器&#xff0c;防火墙&#xff0c;AP&#xff09;介质&#…

[watevrCTF 2019]Voting Machine 1-好久不见10

shiiftF12查找字符串&#xff0c;发现flag.text跟踪 from pwn import * i remote("node5.anna.nssctf.cn",22956) address 0x400807 payload ba*(0x28) p64(address) i.sendline(payload) i.interactive()

【Linux】从零开始使用多路转接IO --- select

碌碌无为&#xff0c;则余生太长&#xff1b; 欲有所为&#xff0c;则人生苦短。 --- 中岛敦 《山月记》--- 从零开始认识五种IO模型 1 前言2 认识多路转接select3 多路转接select等待连接4 完善代码5 总结 1 前言 上一篇文章我们讲解了五种IO模型的基本概念&#xff0c;并…

【Java SE 】String 类 详解!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 1. String 的地位 在Java 编程中&#xff0c;字符串的使用是非常频繁的&#xff0c;而字符串的使用有离不开 String类 &#xff0c;在开发和面试中String类也是非常…

2024 Rust现代实用教程Iterator迭代器

文章目录 一、迭代与循环1.循环2.迭代iteration3.区别 二、Intoiterator、Iterator和Iter之间的关系1.Intolterator2.Iterator Trait3. 源码中经常出现的iter 三、获取迭代器的三种方法iter(),iter_mut()和into_iter()1.iter()方法2.iter_mut()方法3.into_iter()方法---尽量写 …