CARLA实战 | Windows10 Carla源码详细编译教程

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

今天自动驾驶之心很荣幸邀请到大侠别走啊来分享Windows10 Carla 0.9.12 源码编译教程,如果您有相关工作需要分享,请在文末联系我们!

>>点击进入→自动驾驶之心【仿真测试】技术交流群

论文作者 | 汽车人

编辑 | 自动驾驶之心

1、准备工作

1.1、硬件环境需求

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

1.2、软件环境下载安装

1)CMmake 官方下载链接版本:3.22.6。Windows下Cmake安装教程。
2)Git 官方下载链接版本:2.36.0.windows.1。Windows下Git安装教程
3)Make 官方下载链接,Carla官方Windows Build教程要求必须为:3.81。Windows下Make安装教程。
4)Python3(64bit)官方下载链接版本:3.7.9,Windows下Python3.7.9安装教程
5)7-zip 官方下载链接
确保上述程序安装路径的bin目录必须添加至系统环境变量中。如图1所示为

e54aa951d0d21c5035d4b77bb2bfc4d0.png
图1 CMake 环境变量添加过程

6)Visual Studio 2019 community,Visual Studio 2019 community 安装教程,其中必须安装Windows 8.1 SDK插件,x64 Visual C++ Toolset插件,.NET framework 4.6.2框架。特别注意的是Visual Studio 2019 community 中已经移除Windows 8.1 SDK,可直接安装Windows 10 SDK。

1.3 Python依赖环境配置

从CARLA 0.9.12开始,用户可以选择使用pip3安装CARLA Python API。pip需要20.3或更高版本。要检查您是否有合适的版本,请在CMD中运行以下命令:

pip3 -V

如果Python pip版本过低,可使用后以下命令进行升级。

pip3 install --upgrade pip

安装Python依赖

pip3 install --user setuptools  
pip3 install --user wheel

2、CarlaUE4编译安装

2.1 注册账号

1)github账号注册
2)UnrealEngine 账号注册,登录UnrealEngine官网注册页面注册账号。

2.2 UnrealEngine 账号与github账号链接

1)在UnrealEngine官网登录2.1中注册好的UnrealEngine账号。
2)点击右上角账号信息,点击个人。随即跳转至个人账户设置界面
3)将UnrealEngine与github账号进行绑定链接

2.3 CarlaUE4源码下载

1)在需要安装的盘根目录下创建Carla文件夹
2)2、用Git Bash下载CarlaUE4源码,尽量保持在安装盘符的根目录下,例如D:\CarlaUE4。

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

3)下载完成后,运行以下脚本

Setup.bat  
GenerateProjectFiles.bat

4)编译CarlaUE4引擎

使用Visual Studio 2019打开源文件夹内的UE4.sln文件。

358898ade273b9f68e679a2f8d6f7b35.png

在构建栏中,确保您已选择“Development Editor”、“Win64”和“UnrealBuildTool”选项。

8b68d4e84914fc6b7cd0af9b7c3c788b.png

在解决方案资源管理器中,右键单击UE4并选择构建(生成)。

b7d4563c1614ad997173a7fbc7728433.png

在终端即可显示编译过程

b853086cd7f1756b94b0530fc6bbd78d.png

5)运行测试

编译解决方案后,您可以打开引擎,通过启动可执行的engine\Binaries\Win64\UE4Editor.exe来检查是否正确安装了所有内容。

78878446ba6d7552335bb462af3a72da.png

6)环境变量设置

必须设置环境变量,以便CARLA可以找到Unreal Engine安装文件夹。这样,用户可以选择使用哪个特定版本的Unreal Engine。如果没有指定环境变量,则CARLA将在Windows注册表中搜索Unreal Engine并使用它找到的第一个版本。要设置环境变量:打开Windows控制面板,转到高级系统设置或搜索Windows搜索栏中的高级系统设置。在“高级”面板上,打开“环境变量”。单击“新建”以创建变量。将变量命名为UE4_Root,并选择所需Unreal Engine安装的安装文件夹的路径。

248c960ac9f05b840336a3e905f75363.png

如果安装成功,则虚幻引擎的版本选择器应识别这一点。您可以通过右键单击任何.uproject文件并选择Switch Unreal Engine version来检查此项。您应该看到一个弹出窗口,显示在PATH下的Source Build,其中PATH是您选择的安装路径。如果右键单击.uproject文件时看不到此选择器或“生成Visual Studio项目文件”,则说明虚幻引擎安装出现问题,您可能需要正确地重新安装它。

3、Carla源码编译

3.1 从git仓库克隆Carla源码

在Carla 官方Windows Build教程中提供了carla源码的git下载链接,但是由于git国内不稳定可以使用Ghproxy代理进行下载。

git clone https://ghproxy.com/https://github.com/carla-simulator/carla

下载完成后,进入到carla文件夹,然后切换到对应版本(你想安装的Carla版本号,我这里下载的是0.9.12)分支。

cd carla  
git checkout 0.9.12

3.2下载Carla0.9.12资产包

3.1源码下载完成后,carla根文件夹下会有setup.bat 和generateprojectfiles.bat文件。右键文本打开setup.bat,setup.bat脚本文件中显示会从github中下载Carla0.9.12资产包。由于此资产包10+G,且国内github不稳定,按照原有的setup.bat下载时会终端。因此这里可以采用两种方式进行下载:

1、使用南方科技大学镜像站Carla链接替换setup.bat中的下载链接 原链接:http://carla-assets.s3.amazonaws.com/

替换为:

{CONTENT_ID}.tar.gz
2、直接在南方科技大学镜像站下载Carla0.9.12资产包,然后解压到..\Unreal\CarlaUE4\Content\Carla文件夹下。各个版本对应的CONTENT_ID可在 \Util\ContentVersions.txt中找到。

3.3 Carla编译

使用Visual Stuido 2019 中的X64 Native Tools Command Prompt for VS 2019,打开并进入到carla文件夹下

008e9be592ad200da2264535653d2f63.png

1)编译Python API客户端

Python API客户端提供了对模拟的控制。首次构建CARLA和执行任何更新后,都需要编译Python API客户端。编译客户端后,能够运行脚本来与模拟进行交互。

5d613aa39501cde8b0eb54ed94a434a9.png

make PythonAPI执行时运行的是E:\Carla\carla\Util\BuildTools文件夹下的setup.bash脚本,setup.bash脚本包含了许多依赖包的下载和安装。而setup.bash脚本中依赖包下载和安装脚本又分别位于E:\Carla\carla\Util\InstallersWin中。

6d46208389acd78691d94e0cd9dca964.png

因此当执行make PythonAPI时遇到依赖包下载和安装失败时,可以分别运行各个脚本进行单独安装,注意的是在InstallersWin中运行单独的脚本会直接安装在InstallersWin中,需要复制到E:\Carla\carla\Build文件夹下。
已知install_xercesc.bat中存在错误下载链接错误,原链接下载的是xercesc-3.2.4,而依赖版本为3.2.3.

原链接:set
XERCESC_REPO=https://downloads.apache.org/xerces/c/3/sources/xerces-c-%XERCESC_VERSION%.zip

替换链接:setXERCESC_REPO=https://archive.apache.org/dist/xerces/c/3/sources/
xerces-c-%XERCESC_VERSION%.zip

存在github下载的,可以将源码使用代理下载后解压至E:\Carla\carla\Build下继续执行make PythonAPI,直到make PythonAPI完美执行,如下图所示。

9b51d7582140c54d13cff642fa00e87d.png

2)编译服务端

只要make PythonAPI完美执行后,make launch就可以完美启动carlaUE4的客户端。每次启动服务器或使用虚幻引擎编辑器时运行此命令:

make launch

打开页面如下图所示:

cade71996390e81abaf008f7de3307a9.png 7ae1128504ee909e7f54a4f30cc6dd71.png

至此源码编译工作已完成。

4、客户端配置

CARLA模拟器由一个可扩展的客户端-服务器体系结构组成。服务器负责与模拟本身相关的一切:传感器渲染、物理计算、世界状态及其参与者的更新等等。由于它的目标是获得逼真的结果,因此最适合使用专用GPU运行服务器,尤其是在处理机器学习时。客户端由一组客户端模块组成,这些模块控制现场演员的逻辑并设置世界条件。这是通过利用CARLA API(在Python或C++中)实现的,这是一个在服务器和客户端之间进行中介的层,不断发展以提供新功能。

4.1、Python客户端配置

Pyhton客户端可配置在局域网内的多个终端中,主要通过PythonAPI接口实现多发并发的仿真。因此需要对终端中进行客户端配置。将源码文件夹E:\Carla\carla\PythonAPI\examples复制到局域网任一一台电脑中。

1)安装依赖:在E:\Carla\carla\PythonAPI\examples文件夹下,打开cmd窗口运行

cd PythonAPI\examples  
pip3 install -r requirements.txt

2)运行manual_control.py脚本,运行脚本之前需要将服务端IP改为服务器的IP.。

python manual_control.py

3)Python客户端测试

执行完以上命令后,即可开始就可以出现客户端可视化仿真窗口,如下图所示。

b06eb1403892eb0d4d3a83e6317210bc.png

4.3 、Carla_ros_bridge配置

和PythonAPI一样,Carla_ros_bridge也可以作为客户端调用Carla的服务端。Carla_ros_bridge可以运行在ubuntu下,Carla_ros_bridge配置过程如下

1)下载源码

mkdir -p ~/carla-ros-bridge/src  
cd ~/carla-ros-bridge/src  
git clone --recurse-submodules https://github.com/carla-simulator/ros-bridge.git catkin_ws/src/ros-bridge

2)安装依赖

#升级pip3版本  
pip3 install --upgrade pip  
#安装Python依赖库  
pip3 install carla  
sudo apt install ros-noetic-ackermann-msgs  
sudo apt install ros-noetic-derived-object-msgs

3)编译

cd carla-ros-bridge  
rosdep update  
rosdep install --from-paths src --ignore-src -r  
catkin_make

4)Carla_ros_bridge测试,运行前需要将服务端的IP改为服务器的IP。

cd carla-ros-bridge/
source devel/setup.bah
roslaunch carla_ros_bridge carla_ros_bridge.launch                                                      

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码学习)

27e624b242d3017efe607698a18281da.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

4d85de0ae3eb0ff6edd196b204c55a9d.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

aca98786f4901764969805efa1b5f6d0.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

04ebf03ad49ded7339ee698cc6920333.jpeg

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值