如何在矩池云上部署 Carla 自动驾驶

181 阅读3分钟

简介

Carla 是一款基于 Python 编写和 UE(虚幻引擎)的开源仿真器,用于模拟自动驾驶车辆在不同场景下的行为和决策。它提供了高度可定制和可扩展的驾驶环境,包括城市、高速公路和农村道路等。Carla 还提供了丰富的 API 和工具,使得研究人员和开发者可以轻松地进行自动驾驶算法的开发和测试。Carla 已经成为自动驾驶领域的重要工具之一,被广泛应用于学术、工业和社区项目中。

Carla 的主要功能有:

  1. 地图编辑器:Carla 提供了一个地图编辑器,可以用于创建和编辑各种类型的道路、建筑和其他场景元素。
  2. 车辆和传感器模拟:Carla 支持多种类型的车辆和传感器模拟,包括激光雷达、相机、GPS 和 IMU 等。
  3. 仿真环境:Carla 提供了多种类型的仿真环境,包括城市、高速公路和农村道路等,可以用于测试和评估自动驾驶算法的性能。
  4. 自动驾驶算法支持:Carla 提供了多种自动驾驶算法的支持,包括基于规则的算法、基于机器学习的算法和强化学习算法等。
  5. 可视化工具:Carla 提供了可视化工具,可以用于实时监测仿真过程中的车辆行为和传感器数据。
  6. API 支持:Carla 提供了 Python API,可以用于自定义仿真环境、车辆和传感器模拟以及自动驾驶算法的开发和测试。

一起来看看如何在矩池云上运行 Carla 吧!

1、租用机器

进入矩池云首页,选择产品服务「GPU」;

carla_1.png

功能选择「Windows」,显卡型号选择为「RTX 5000」,点击租用;

carla_2.png

选择「CARLA Simulator」镜像,点击下单;

carla_3.png

进入租用界面,等待启动;

carla_4.png

启动完成,在「运行中」可找到租用机器

carla_5.png

2、连接机器

在自己的电脑搜索「远程桌面连接」,并打开该程序;

carla_6.png

进入租用界面,复制主机名;

carla_7.png

将主机名粘贴到自己电脑的「远程桌面连接」的对话框,并点击连接

carla_8.png

电脑会弹出用户凭据对话框,具体如下图所示:

carla_9.png

在租用界面点击「复制密码」,并粘贴到凭据对话框;

carla_10.png

电脑会弹出警告,并点击「是」,即可成功远程连接机器

carla_11.png

carla12.png

如在 Mac 上使用,则需下载 Microsoft Remote Desktop 进行连接。

carla_13.png

选择添加 PC ,并根据提示复制 主机名、用户名、密码等信息,进行连接。

carla_14.png

3、使用CARLA

打开桌面文件夹

carla_15.png

双击进入

carla_16.png

可以看到渲染示例

carla_17.png

你可使用鼠标拖动视角,使用「W、A、S、D」按键进行视角的前后、左右平移,使用「Q、E」按键进行视角的上下平移;

carla_18.png

常用键盘操作示意

W            : throttle
S            : brake
AD           : steer
Q            : toggle reverse
Space        : hand-brake
P            : toggle autopilot
Arrow keys   : move camera
PgUp PgDn    : zoom in and out
mouse wheel  : zoom in and out
Tab          : toggle on-board camera
R            : restart level
G            : toggle HUD
C            : change weather/lighting
Enter        : jump
F            : use the force
F11          : toggle fullscreen
Alt+F4       : quit

一些示例脚本

打开 UE4.exe

carla_19.png

进入路径 pythonAPI - examples

carla_20.png

右击空白处,打开powershell ,运行python .\automatic_control.py

carla_21.png

示例效果如下

carla_22.png

自己开发 carla

打开 jupyter notebook (记得要先启动 UE4.exe)

carla_23.png

新建环境为「carla」的笔记本

carla_24.png

我们可以尝试以下几行代码来尝试改变 carla 里面的天气

import carla

client = carla.Client('localhost', 2000)
client.set_timeout(2.0)
world = client.get_world()
weather = carla.WeatherParameters(cloudiness=10.0,
                                  precipitation=10.0,
                                  fog_density=10.0)
world.set_weather(weather)

carla_25.png

可以发现carla里面的天气已经被改变

carla_26.png